首页 > 系统相关 >48.TNS-12518、TNS-00517和 Linux Error:32:Broken pipe

48.TNS-12518、TNS-00517和 Linux Error:32:Broken pipe

时间:2022-12-28 16:58:24浏览次数:52  
标签:12518 TNS 48 listener ORACLE oracle HOME log

现象:

  使用sqlplus 登录oracle时出现如下报错: 

ERROR:
ORA-12537:TNS:connection closed

  查看监听日志:  log.xml

TNS-12547: TNS:lost contact
TNS-12560: TNS:protocol adapter error
TNS-00517: Lost contact
TNS-12518: TNS:listener could not hand off client connection
Linux Error: 32: Broken pipe

解决:

  $ORACLE_HOME/bin/oracle文件的权限问题已经属主,属组问题导致的。

故障总结: 

  如果可执行文件$ORACLE_HOME/bin/oracle的属主或权限设定出了问题,那么可能会造成很多问题。例如:无法登陆到数据库、ora-600错误、“TNS-12518: TNS:listener could not hand off client connection”、“Linux Error: 32: Broken pipe”、“ORA-12537: TNS:connection closed”、访问ASM磁盘出错等。解决办法很简单,可以在grid用户下运行setasmgidwrap命令重新配置$ORACLE_HOME/bin/oracle可执行文件的权限和属主或者直接将oracle文件的权限修改为6751。$ORACLE_HOME/bin/oracle可执行文件正确属主应该是oracle:asmadmin,并且权限必须有s共享才可以

 

:在UNIX/LINUX环境中,oracle数据库启动后存在许多后台进程和前台进程,虽然相关进程产生一些trace文件也是常有的事情,但是真正是什么决定了oracle相关进程的属性呢?

:通常来说,oracle的后台进程的调用是依赖于$ORACLE_HOME/bin/oracle这个二进制文件,但它从远端连入而分配的服务器进程(server process)相关属主的属性则是继承自listener进程,而listener进程的属主属性同样是进程自其启动的用户(分oracle用户和grid用户)$ORACLE_HOME/bin/oracle的属主属性。

其他原因:

启动ORACLE监听的时候 报错 Linux Error: 32: Broken pipe

原因:原来/home/oracle/product/9.2.0.1.0/network/log/listener.log 文件超过2G,监听就会断掉。

解决办法:清空日志文件

              [oracle@localhost oracle]$ cd $ORACLE_HOME/network/log

              [oracle@chicago log]$ cat listener.log

有个命令可以对这个写日志进行关闭

LSNRCTL> set log_status off

要继续写日志,只需要

LSNRCTL> set log_status on

也可以在 listener.ora 文件里面添加一项

LOGGING_LISTENER = OFF

添加了这个之后无论你怎么重启监听,都不会写日志了

  

  

标签:12518,TNS,48,listener,ORACLE,oracle,HOME,log
From: https://www.cnblogs.com/zmc60/p/17010484.html

相关文章