oracle常见的一些问题及解决方案

1. OracleOraDb10g_home1TNSListener服务启动后又停止


2010-07-14 13:21
OracleOraDb10g_home1TNSListener服务启动后又停止 
错误描述:本地计算机上的OracleOraDb10g_home1TNSListener服务启动后又停止了。一些服务自动停止,如果它们没有什么可做的,例如 "性能日志和警报 "服务。

出错原因:由于本地的IP地址是自动获取的,每次获取的IP地址基本不同,而安装10g是,默认的把当时的IP地址写在了监听配置文件%ORACLE_HOME%\db_1\NETWORK\ADMIN\listener.ora

解决办法:%ORACLE_HOME%\db_1\NETWORK\ADMIN\listener.ora把这这文件里的内容改下 HOST=你的计算机名字,重启下便可。

 

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


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

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


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

4. ORA-00600:internal error code,arguments:[num],[?],[?],[?],[?] 

产生原因:这种错误通常为ORACLE的内部错误,只对OSS和ORACLE开发有用。ORA-600的错误经常伴随跟踪文件的状态转储(系统状态和进程状态),系统状态存储将包括ORACLE RDBMS持有的当前对象的信息,进程状态转储则将显示特殊进程持有的对象,当进程符合了某错误条件时,经常是由于一些信息取自它持有的一个块,如果我们知道这些错误进程持有的块,就容易跟踪问题的来源。 

  解决方法:一般来说出现这个错误我们本身是无法解决的,只有从提高系统本身各方面来解决这个内部问题,如增加硬件设备,调整系统性能,使用OPS(当然OPS从某种意义上说并不是一种好的解决方式)等。ORA-600错误的第一个变量用于标记代码中错误的位置(代码中的每个部分的第一变量都不一样),从第二个到第五个变量显示附加信息,告诉OSS代码在哪里出现了错误

5. ORA-12560 协议适配器错误:


有关ORA-12560: TNS:协议适配器错误 的问题

①.检查Terminal Service, 远程桌面是不是起因 
②.环境变量set oracle_sid=需要的服务名 
③.listener.ora, tnsnames.ora等内机器名或者IP地址是否正确 
④.netstat –a检查端口是否被占用 
⑤.检查注册表HKEY_LOCAL_MACHINE\Software\Oracle\Home0新增字符串USE_SHARED_SOCKET=TRUE, 重新启动服务

6. ORA-28595: Invalid DLL Path   调用外部DLL出错

原因:A setting in Oracle's LISTENER.ORA file on the server hosting the RDBMS is missing.

解决办法:

(1).Locate the active LISTENER.ORA file on the server. By default, it will be on the Oracle RDBMS drive in the path ..\ora92\network\admin.
(2).Inspect the file and locate all entries associated with "SID_DESC". Each such entry should have the following option associated with it:

        (ENVS = "EXTPROC_DLLS=ANY")
(3).Add the above line to any entry where it is missing.
(4).Restart the Oracle Listener Service (or reboot the server which will in turn restart Oracle).

例子:

The example LISTENER.ORA file below shows a valid configuration for the server named "WOODY" (using TCP/IP on Port 1521) with the correct ENVS entries highlighted:


# LISTENER.ORA Network Configuration File: C:\oracle\ora92\network\admin\listener.ora
# Generated by Oracle configuration tools.

LISTENER =
(DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
      )
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = woody)(PORT = 1521))
      )
    )
)

SID_LIST_LISTENER =
(SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = C:\oracle\ora92)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ANY")
    )
    (SID_DESC =
      (GLOBAL_DBNAME = WOODY)
      (ORACLE_HOME = C:\oracle\ora92)
      (SID_NAME = WOODY)
      (ENVS = "EXTPROC_DLLS=ANY")
    )

7. 在控制面板中启动服务,出现以下错误
服务:在本地计算机 无法启动 OracleOraDb10g_home1TNSListener 服务。
错误3:系统找不到指定的路径


查看属性发现,OracleOraDb10g_home1TNSListener 服务的可执行文件的路径为空。

解决办法:

开始-->运行REGEDIT -->进入注册表找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleOraDb10g_home1TNSListener
发现ImagePath关键值没有了,新建一个名为ImagePath的可扩充字符串值,编辑字符串的数值数据为:Oracle安装路径\BIN\TNSLSNR

8. 错误描述:本地计算机上的OracleOraDb10g_home1TNSListener服务启动后又停止了。一些服务自动停止,如果它们没有什么可做的,例如 "性能日志和警报 "服务。

解决办法:%ORACLE_HOME%\db_1\NETWORK\ADMIN\listener.ora把这这文件里的内容改下 HOST=你的计算机名字。
 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhangyingchengqi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值