当前位置:首页 > PHP教程 > PHP总结归纳

Oracle数据库TNS常见错误的解决办法

1、ora-12541:tns:没有监听器 原因:没有启动监听器或者监听器损坏。若是前者,使用命令net start oracleorahome10gtnslistener(名字可能有出入)即可;如果是后者,则使用net configuration assistant工具向导之监听程序配置增加一个监听器即可(基本不用写任何

  1、ora-12541:tns:没有监听器

  原因:没有启动监听器或者监听器损坏。若是前者,使用命令net start oracleorahome10gtnslistener(名字可能有出入)即可;如果是后者,则使用“net configuration assistant”工具向导之“监听程序配置”增加一个监听器即可(基本不用写任何信息,一路ok。在添加之前可能需要把所有的监听器先删!)

  2、ora-12500:tns:监听程序无法启动专用服务器进程或ora-12560:tns:协议适配器错误

  原因:oracle的数据库服务没有启动。使用命令net start oracleserviceoradb(oradb为数据库名字)即可。如果仍没有解决,请继续向下看。

  3、如果数据库服务启动失败,则很有可能是其注册表项值损坏,最好的做法是以下两步:

  1)oradim -delete -sid oradb 删除数据库服务项

  2)oradim -new -sid oradb 新增数据库服务项

  注:这个过程中如果出错,,就重启计算机!

  4、ora-12154:tns:能解析服务名

  原因:oracle的网络服务名没有正确配置。请使用“net8 configuration assistant”工具向导之“本地网络服务名配置”配置tns即可。如果仍没有解决,请继续向下看。

  5、ora-1034 :tns:oracle不可用

  原因:oracle的数据库服务正确启动,但是数据库没有打开!

  使用命令:

  1)svrmgrl 启动服务管理器

  2)connect internal 以internal身份登陆

  3)startup 打开数据库

  6、ora-12560:tns:协议适配器错误(顽固性的)

  原因:未知。

  解决:必杀技--打开“windows任务管理器”,杀死oracle.exe及oradim.exe进程,书写自己的ora_startup.bat,执行之!

  ps:

  1、ora_startup.bat:

  net start oracleorahome81tnslistener

  net start oracleserviceoradb

  svrmgrl 一般情况下不用,不过有时少不了它的,具体步骤见第5步。

  2、ora_shutdown.bat:

  net stop oracleorahome81tnslistener

  net stop oracleserviceoradb

  3、oracle相关服务名请参见“管理工具”之“服务”中以oracle开头的服务名

  1、tns-12154 error 或ora-12154

  特征:sql*net没有找到连接串或别名

  原因1:(1)没有找到tnsnames.ora文件,该文件的缺省路径为:

  windows 95/98 client

  sql*net 2.x - orawin95networkadmin

  net8 - orawin95net80admin

  net8i - oracleora81networkadmin

  windows nt client

  sql*net 2.x - orantnetworkadmin

  net8 - orantnet80admin

  net8i - oracleora81networkadmin

  unix client

  $oracle_home/network/admin

  or /etc

  or /var/opt/oracle

  . 在客户端设置tns_admin

  在注册表 hkey_local_machinesoftwareoracle 设置tns_admin. tns_admin 指向tnsnames.ora文件的位置

  措施:按上述说明检查文件位置

  原因2:(2)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文件内容错误,例如,括号不匹配、参数名错误等、多余的空格等。

.syntaxhighlighter{padding-top:20px;padding-bottom:20px;}
【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:)!