oracle數據庫服務器更換IP地址後,服務端須要修改IP地址的文件包括:sql
/etc/hosts
$TNS_ADMIN/listener.ora
$TNS_ADMIN/tnsnames.ora
客戶端須要修改的文件包括:tnsnames.ora。數據庫
最佳實踐:服務器
不要在/etc/hosts文件中重複定義主機名,由於hosts文件的解析順序是從上到下的,重複定義可能出現與指望不一致的結果。
最好的作法是在hosts文件中定義主機名,在listener.ora,tnsnames.ora中使用該主機名
oracle
listener.ora文件中的host設置不對時,常見的錯誤以下
嘗試執行sqlplus / as sysdba會出現下述錯誤:spa
ORA-01031:insufficientprivileges
執行lsnrctl start時可能出現下述錯誤:
當host設置的IP地址或者主機不存在時,出現以下錯誤:ci
TNS-00515:Connectfailedbecausetargethostorobjectdoesnotexist get
當host設置的主機A不是本機,可是主機A上面又安裝了oracle數據庫,且監聽器沒有啓動起來的時候,且sqlnet.ora中SQLNET.AUTHENTICATION_SERVICES = (NTS)出現下述錯誤:object
TNS-01189:ThelistenercouldnotauthenticatetheuserList
當host設置的主機A不是本機,可是主機A上面又安裝了oracle數據庫,且監聽器已經啓動起來的時候,出現下述錯誤:數據
TNS-01106:ListenerusinglistenernameLISTENERhasalreadybeenstarted