网站首页/技术开发列表/内容

Oracle数据库设置出错信息处理办法

技术开发2024-04-12阅读

【导读】本文介绍了Oracle数据库Oracle9i Net Service配置方法出现的误信息后的解决方法。

Oracle客户端网络配置:

l 在Oralce产品安装完成后,为了与数据库服务器进行连接或者是两台数据库之间进行数据复制,则必须进行网络连接配置。

l Oracle9i Net Service配置方法:

Oracle9i Net Service的连接配置可以使用数据库实例ORACLE_SID,或者是使用Oracle9i的参数 SERVICE_NAMES。配置Oracle9i客户端与Oracle9i服务器端的连接,也是生成Oracle9i Net Service客户端网络配置文件tnsnames.ora,也可以编辑这个文件。

tnsnames.ora文件在Window与Unix下的存储目录:

Window NT/2000: D:/oracle/ora90/network/admin/tnsnames.ora

UNIX:/home/app/oracle/product/9.0.1/network/admin/tnsnames.ora

如果tnsnames.ora文件配置不正确,则错误信息会记录在连接日志信息文件中,其错误信息内容为:

The error strutct:

Nr err code:0

Ns main err code:12560

TNS -12560:TNS: 协议适配器出现错误

ns secondary err code:0

nt main err code:530

tns-00530:协议适配器错误

nt secondary err code:2

nt OS err code:0

在配置Oracle9i的连接配置中,其服务器端需要配置监听程序进程配置文件listener.ora,如果服务器端监听进程没有启动,则出现以下错误信息:

ERROR:ORA-12651:TNS:没有监听器

该信息说明所要连接的服务器没有启动监听进程Listener(该进程为Oracle服务器上操作系统进程,监听进程没有启动时,服务器可以正常进行,但是客户端不能与服务器产生连接。这时可以在服务器使用操作系统命令lsnrctl正常起启动监听进程)具体方法如下:

C:>lsnrctl start

停止监听方法:

C:>lsnrctl stop

修改计算机名后则需要修改监听进程中的HOST,否则监听程序会出现以下错误:

Tns-12545:因目标主机或者对象不存在,连接失败

Tns-12560:tns:协议适配器错误

Tns-00515: 因目标主机或者对象不存在,连接失败

Error:1001:unknow error

在Window NT/2000中,使用服务列表启动listener.ora服务时也会出现同样的错误信息:

(对话框)进行意外中止

这时,可以修改listener.ora中的下一列信息中HOST处的主机名:

(ADDRESS=(PROTOCOL=TCP)(HOST=SUN4500)(PORT=1521))

该名称必须与实际符合,重新启动监听程序即可。附:在listener.ora文件中,HOST处允许使用IP地址,这样修改机器名后就不会引起监听程序启动失败。

此外在服务器与listener.ora文件统一目录中还有一个文件即:tnsnames.ora文件,此文件是用于两个服务器之间的连接配置,即Oracel分布式环境中的网络配置该文件的目录如下:

Window NT/2000 D:\oracel\ora90\network\admin\tnsnames.ora

UNIX: /home/app/oracle/product/9.0.1/network/admin/tnsnames.ora

在服务器中,tnsnames.ora默认是使用服务器名进行配置的,所以如果修改了机器名,则该文件同时需要修改,否则出现如下错误:

Error:ORA:-12545:因目标主机和对象不存在,连接失败

错误代码ORA-12545表示网络连接串(即tnsnames.ora文件中的HOST处)中使用的机器名和IP地址不存在,重新修改和重新连接即可。

Oracle9i Net Service的向导工具进行配置:

选择此选项以创建、修改、删除或重命名监听程序。监听程序是服务器中接收和响应客户机对数据库的连接请求的进程。使用配置有相同协议地址的连接描述符的客户机可以向监听程序发送连接请求。

Oracle9i net Manager:

可以定义简单名称来表示服务的位置,例如一个数据库,这些简单名称映射为连接描述符。他们包含服务的网络标识和位置。

错误信息ORA-12560表示,在操作系统中找不到所定义的实例,在Oracle9i中,如果出现了此类错误,一般来说出错原因有两个,一是实例名被错误的修改,二是Oracle的服务没有正常启动。

相关阅读