解决方法:
1、用tnsping <service_name>检测 base(数据库)别名是否可正确解析,如报“TNS- 03505:无法解析名称”,则此database别名有冲突,需更改。
2、手工改动tnsnames.ora后,在oracle client中修改主机名(“对象”--“将数据库添加到树”--“从本地的……”,然后把错误主机名删除或从树中移除)
3、重新打开plSQL,用正确的database别名登陆,即恢复正常
4、如仍有问题,不登陆进入plSQL界面,进入"tools”--"Preferences"--"Oracle"--"Connection",把"home”(oracle主目录名)里的数据清空,应用后,重新启动plSQL即可。
附录:在做以上更改后oracle自带的sqlPLUS,可能会出现不能正常登陆远程服务器的情况;因为其访问的是database下的 tnsnames.ora文件,目录与client的不一样,默认为 X(盘符):\oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora
解决方法:只需将client下tnsnames.ora中定义的主机字符串(service_name)的命令行复制到database 下的tnsnames.ora内,然后保存就可以了。