以下的文章主要是介绍几种更为快捷的方法来Oracle常见问题诊断方法,以下就是Oracle常见问题诊断方法具体方案的描述,希望在你今后的学习中会有所帮助,以下就是文章的详细内容介绍,望大家借鉴。
1 TNS-12154 Error 或ORA-12154
特征:SQL*NET没有找到连接串或别名
原因1:(1)没有找到TNSNAMES.ORA文件,该文件的缺省路径为:
Windows95/98client SQL*Net2.x-ORAWIN95NETWORKADMIN Net8-ORAWIN95NET80admin Net8i-OracleORA81NETWORKADMIN WindowsNTclient SQL*Net2.x-ORANTNETWORKADMIN Net8-ORANTNET80ADMIN Net8i-OracleORA81NETWORKADMIN UNIXClient $Oracle_HOME/NETWORK/ADMIN or/etc or/var/opt/Oracle
在客户端设置TNS_ADMIN
在注册表 HKEY_LOCAL_MACHINESoftwareOracle 设置TNS_ADMIN. TNS_ADMIN 指向TNSNAMES.ORA文件的位置
措施:按上述说明检查文件位置
原因2:(2)Oracle常见问题出现的原因是TNSNAMES.ORA文件中内容格式不对
措施:检查文件格式,标准格式如下:
DEV1.WORLD= (DESCRIPTION=(ADDRESS_LIST= (ADDRESS=(PROTOCOL=TCP)(Host=145.45.78.56)(Port=1521))) (CONNECT_DATA=(SID=ORCL)))
原因3: (3) TNSNAMES.ORA与SQLNET.ORA不一致
措施: SQLNET.ORA格式如下:
TRACE_LEVEL_CLIENT=OFF SQLNET.AUTHENTICATION_SERVICES=(NONE) NAMES.DIRECTORY_PATH=(TNSNAMES) AUTOMATIC_IPC=OFF
因为没有NAMES.DEFAULT_DOMAIN=world,所以DEV1.WORLD连接串不能连接,可以在TNSNAMES.ORA中增加
DEV1= (DESCRIPTION=(ADDRESS_LIST= (ADDRESS=(PROTOCOL=TCP)(Host=145.45.78.56)(Port=1521))) (CONNECT_DATA=(SID=ORCL)))
此时可连接。
2 NL-00462 Error 或ORA-00462
特征:监听器无法启动
原因:LISTENER.ORA文件内容错误,例如,括号不匹配、参数名错误等、多余的空格等。
措施:重新编辑文件
3 NL-00405 Error 或ORA-00405
特征:LISTENER.ORA文件不可读或找不到
原因:LISTENER.ORA文件内容错误,例如,括号不匹配、参数名错误等、多余的空格等。
措施:确保文件位置在缺省目录下$Oracle_HOME/network/admin,或设置环境变量TNS_ADMIN指向这个文件所在位置。
4 TNS-01155 Error 或ORA-01155
特征:LISTENER.ORA文件中SID_LIST_LISTENER变量赋值不对
原因:LISTENER.ORA文件内容错误,SID_LIST_LISTENER变量赋值不对。
措施:确保文件中赋值正确,$Oracle_HOME/network/admin/samples目录下有样例文件,可供参考。
5 TNS-12537 、TNS-12560、TNS-00507 Error
特征:LISTENER.ORA文件中引用了一个无效的协议适配程序
原因:LISTENER.ORA文件中PROCOTOL变量赋值不对。
措施:确保文件中赋值正确,一般用TCP协议,$Oracle_HOME/network/admin/samples目录下有样例文件,可供参考。用adapters tnslsnr检查协议程序
6 TNS-12203 Error
特征:不能与目标连接
原因:监听器是否启动;别名是否配置
措施:检查监听器是否启动,例如lsnrctl status;检查TNSNAMES.ORA的别名配置
7 TNS-12533 Error
特征:不能与目标连接
原因:非法的address参数,
措施:检查TNSNAMES.ORA的ADDRESS参数。