oracle监听模块异常

一、oracle监听异常

  1、检查oracle数据库是否启动:ps -ef | grep ora
  2、检查oracle数据库监听程序是否启动:ps -ef | grep LISTEN
  3、检查Oracle DB监听器是否正常:lsnrctl status
    如未启动,输入:lsnrctl start启动监听器;netstat -ntlp 查看1521端口是否启动
  4、进入sqlplus界面:sqlplus /nolog; conn / as sysdba;然后startup启动数据库实例和数据库

  备注:

    有的时候会在lsnrctl start的时候出现监听已启动,但是lsnrctl stop又关不掉,可能是开启的监听进程脱离了oracle主进程的管制,使用ps -ef | grep 'LISTEN'找到监听进程,杀掉oracle的监听进程,到 $ORACLE_HOME(oracle安装目录)找Oracle主目录(一般就dbname1,只有一个文件夹),找到lsnrctl批处理文件执行./lsnrctl start

二、oracle实例名异常

  1、表象

    ERROR at line 1:
    ORA-01034: ORACLE not available
    Process ID: 0
    Session ID: 0 Serial number: 0

  2、解决方案

    确认当前实例名
      export ORACLE_SID=xxxx --设置
      echo $ORACLE_SID --查看

    查看监听状态
      lsnrctl status

三、其他情况

  ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务

    http://blog.sina.com.cn/s/blog_6f7b73770101b6l5.html

  ORA-01031:insufficient privileges

    一般是监听配置的权限不对,要么从sqlnet.ora里面改改加权限;要么换成有权限的用户即可,比如su oracle。

    https://blog.csdn.net/li951383937/article/details/54097908 

    https://blog.csdn.net/huoyin/article/details/45544709

  ORA-12162: TNS:net service name is incorrectly 

    一般是环境变量里面没有ORACLE_HOME和ORACLE_SID环境变量,设置一下就好

    http://blog.itpub.net/519536/viewspace-672034/

  三个配置文件tnsname.ora、listener.ora和sqlnet.ora

    http://blog.itpub.net/17203031/viewspace-1066563/

   oracle 监听启动、停止、查看命令

    https://blog.csdn.net/zwj1030711290/article/details/64129387

猜你喜欢

转载自www.cnblogs.com/chendeming/p/9163066.html
今日推荐