oracle数据库服务器更换IP地址后,服务端需要修改IP地址的文件包括:
/etc/hosts
$TNS_ADMIN/listener.ora
$TNS_ADMIN/tnsnames.ora
客户端需要修改的文件包括:tnsnames.ora。
最佳实践:
不要在/etc/hosts文件中重复定义主机名,因为hosts文件的解析顺序是从上到下的,重复定义可能出现与期望不一致的结果。
最好的做法是在hosts文件中定义主机名,在listener.ora,tnsnames.ora中使用该主机名
listener.ora文件中的host设置不对时,常见的错误如下
尝试执行sqlplus / as sysdba会出现下述错误:
ORA-01031:insufficientprivileges
执行lsnrctl start时可能出现下述错误:
当host设置的IP地址或者主机不存在时,出现如下错误:
TNS-00515:Connectfailedbecausetargethostorobjectdoesnotexist
当host设置的主机A不是本机,但是主机A上面又安装了oracle数据库,且监听器没有启动起来的时候,且sqlnet.ora中SQLNET.AUTHENTICATION_SERVICES = (NTS)出现下述错误:
TNS-01189:Thelistenercouldnotauthenticatetheuser
当host设置的主机A不是本机,但是主机A上面又安装了oracle数据库,且监听器已经启动起来的时候,出现下述错误:
TNS-01106:ListenerusinglistenernameLISTENERhasalreadybeenstarted