码迷,mamicode.com
首页 > 数据库 > 详细

/var/tmp/.oracle 和 oracle listener (监听)的一点理解

时间:2015-04-01 19:46:33      阅读:231      评论:0      收藏:0      [点我收藏+]

标签:

 

关于 /var/tmp/.oracle 的作用測试

~---查看 /var/tmp 的权限

[root@lixora var]# ll
total 164
。。。
drwxrwxrwt  3 root root 4096 Oct 31 13:16 tmp

 

[root@lixora .oracle]# ll
total 0
srwxrwxrwx 1 oracle10g oinstall 0 Oct 31 14:11 s#12569.1
srwxrwxrwx 1 oracle10g oinstall 0 Oct 31 14:11 s#12569.2
srwxrwxrwx 1 oracle10g oinstall 0 Oct 31 14:11 sEXTPROC0

 

-----改动/var/tmp 的权限

[root@lixora var]# chmod 444 tmp
[root@lixora var]# ll
。。。
dr--r--r--  3 root root 4096 Oct 31 13:16 tmp
。。。

 

-----尝试启动监听

[oracle10g@lixora ~]$ lsnrctl start

LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 31-OCT-2014 14:13:31

Copyright (c) 1991, 2005, Oracle.  All rights reserved.

Starting /u02/app/oracle/product/10.2.0/db_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 10.2.0.1.0 - Production
System parameter file is /u02/app/oracle/product/10.2.0/db_1/network/admin/listener.ora
Log messages written to /u02/app/oracle/product/10.2.0/db_1/network/log/listener.log
Error listening on: (ADDRESS=(PROTOCOL=ipc)(PARTIAL=yes)(QUEUESIZE=1))
No longer listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=lixora)(PORT=1521)))
TNS-12557: TNS:protocol adapter not loadable
 TNS-12560: TNS:protocol adapter error
  TNS-00527: Protocol Adapter not loadable


Listener failed to start. See the error message(s) above...

 

 

 

----再次改动 /var/tmp 的权限

[root@lixora var]# chmod 777 tmp
[root@lixora var]# ll
。。。
drwxrwxrwx  3 root root 4096 Oct 31 13:16 tmp
。。。

 

再次去启动监听,能够正常启动

关于错误

ORA-12557: TNS:protocol adapter not loadable
Cause: On some platforms (such as OS/2) protocol adapters are loaded at run-time. If the shared library (or DLL) for the protocol adapter is missing or one of its supporting libraries is missing then this error is returned.
Action: For further details, turn on tracing and reexecute the operation. The trace file will include the name of the shared library (or DLL) that could not be loaded.

1. Make sure the %ORACLE_HOME%/bin directory is in your PATH.
2. Make sure the protocol is typed/specified correctly in your tnsnames.ora file or whatever source you‘re using to resolve servicenames.
3. TCP is the default protocol and is installed by default. Ifyou‘re using something different (like SPX) make sure you installed the protocol adapter.
4. Make sure TOAD is using the correct oracle home if you have multiple homes installed

 

貌似也没有涉及到相关的错误描写叙述啊!可是究竟 /var/tmp/.oracle 下的文件是啥呢? 依据文件的描写叙述:

[root@lixora .oracle]# ll
total 0
srwxrwxrwx 1 oracle10g oinstall 0 Oct 31 14:08 s#12538.1
srwxrwxrwx 1 oracle10g oinstall 0 Oct 31 14:08 s#12538.2
srwxrwxrwx 1 oracle10g oinstall 0 Oct 31 14:08 sEXTPROC0
[root@lixora .oracle]# ps -ef|grep 12538
54322    12538     1  0 14:08 ?        00:00:00 /u02/app/oracle/product/10.2.0/db_1/bin/tnslsnr LISTENER -inherit

这些文件均是 socket 文件, 且s#12368.1 中的12568 为进程号,经查证是 监听的进程号

那么这些scoket 是用来干嘛的呢?

ODM find:

The hidden directory  ‘/var/tmp/.oracle‘ (or /tmp/.oracle on some platforms) or its content was removed while instances & the CRS stack were up and running. Typically this directory contains a number of "special" socket files that are used by local clients to connect via the IPC protocol (sqlnet) to various Oracle processes including the TNS listener, the CSS, CRS & EVM daemons or even  database or ASM instances. These files are created when the "listening" process starts. 

 

就是说:这些socket 文被用作 本地client使用进程间通信协议(ipc)和不同的oracle的进程通信,而这些进程包含:tns 监听,css ,crs,evm 守护进程;甚至数据库和asm 实例。这些socket 由‘主动监听’的进程创建。在这里oracle tns listener 创建这些socket 文件主要使用用作pmon 和 tnslsnr  通信从报错信息里就能够看出问题:

Error listening on: (ADDRESS=(PROTOCOL=ipc)(PARTIAL=yes)(QUEUESIZE=1))

 

 

不知道以上分析是否确切,不当之处请拍砖:-)

 

 

 

 

 

 

 

 

 

 

/var/tmp/.oracle 和 oracle listener (监听)的一点理解

标签:

原文地址:http://www.cnblogs.com/gcczhongduan/p/4384466.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!