/var/tmp/.oracle 和 oracle listener (监听)的一点理解
2015-04-01 17:15
316 查看
关于 /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
。。。
再次去启动监听,能够正常启动
关于错误
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 的权限
[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. |
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 (监听)的一点理解
- /var/tmp/目录无.oracle导致listener启动失败
- Oracle数据库案例整理-Oracle系统运行时故障-目录/var/tmp/.oracle不存在导致监听数据库失败
- 关于 oracle 11g listener.ora 中 IP=first 的一点理解
- Oracle 监听(Listener) 中 services 说明
- Oracle的监听(listener)到底是什么
- 关于一次oracle sqlplus可登陆,但监听起不来的解决。由于listener.log文件超过4G
- 转载(总结)Oracle启动监听报错:The listener supports no services解决
- [转]通过Net Manager 配置Oracle 11g本地监听服务(listener service)
- Oracle 监听(Listener) 中 services 说明
- oracle LISTENER 未监听到oracle实例问题解决:
- Oracle 监听(Listener) 中 services 说明
- Oracle LISTENER监听文件参数详解及Lsnrctl命令综述
- Oracle 监听(Listener) 中 services 说明
- 为什么我oracle服务器的监听程序,访问的是oracle客户端的listener.ora?
- Oracle 监听(Listener) 中 services 说明
- linux(suse)oracle服务器,改变网络后,不能通过监听启动,ora-12514错误,修改listener.ora后,出现ora-01034 ora-27101
- 关于oracle的timestamp类型的一点理解
- oracle 监听服务OracleOraDb11g_home1TNSListener打开后立马停止错误
- (总结)Oracle启动监听报错:The listener supports no services解决