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

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

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

[[email protected] var]# ll

total 164

。。。

drwxrwxrwt  3 root root 4096 Oct 31 13:16 tmp

[[email protected] .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 的权限

[[email protected] var]# chmod 444 tmp

[[email protected] var]# ll

。。。

dr--r--r--  3 root root 4096 Oct 31 13:16 tmp

。。。

-----尝试启动监听

[[email protected] ~]$ 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 的权限

[[email protected] var]# chmod 777 tmp

[[email protected] 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 下的文件是啥呢? 根据文件的描述:

[[email protected] .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

[[email protected] .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 文被用作 本地客户端使用进程间通信协议(ipc)和不同的oracle的进程通信,而这些进程包括:tns 监听,css ,crs,evm 守护进程;甚至数据库和asm 实例。这些socket 由‘主动监听’的进程创建。在这里oracle tns listener 创建这些socket 文件主要使用用作pmon 和 tnslsnr  通信从报错信息里就可以看出问题:

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

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

时间: 2024-10-07 03:07:19

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

ORACLE之手动注册监听listener。alter system set local_listener="XXX"

记录下刚刚做的一个为一个数据库(t02)配置多个监听(listener)的实验,过程有点小曲折. (1)新增两个测试的监听,listener.ora的配置内容(可纯手动编辑该文件或使用netca)如下: (LISTENER为系统原有:L1.L2为测试用新增的监听) [sql] view plaincopy # listener.ora Network Configuration File: D:\oracle\product\10.2.0\db_1\network\admin\listener.

如何绕过oracle listener 监听的密码设置

 如何绕过oracle 监听的密码设置: 1.找到监听进程pid ,并将它kill 掉 ps -ef|grep tns [[email protected] admin]$ ps -ef|grep tns root         9     2  0 Jul11 ?        00:00:00 [netns] oracle   29668     1  0 10:12 ?        00:00:00 /oracle/bin/tnslsnr LISTENER -inherit ora

win7 安装oracle 10g 未生成监听文件 导致配置监听时无法保存

最近这两天一直在为安装 的oracle 配置监听无法保存 再找各种解决方案,最后自己居然自己配置出来了. 因为缺少监听文件,拷贝别人的放到自己的目录下C:\oracle\product\10.2.0\client_1\NETWORK\ADMIN   listener.ora.tnsnames.ora和 sqlnet.ora 1.修改 tnsnames.ora  中的 # tnsnames.ora Network Configuration File:  c:\oracle\product\10.

关于Oracle报“ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务”错误

关于Oracle报“ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务”错误原因:listener.ora中没有指定监听服务器名. 如下是解决思路: 尝试1.通过重启服务的方式启动数据库,再次连接仍无法连接服务器. 尝试2.既然第一种方法不能解决问题,那就第二种方法.考虑监听listener.ora 步骤如下: 在oracle服务器Oracle安装目录(我的在C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN下,每个人的不一样,根据自己的情况

Linux Oracle 11g, lsnrctl start 监听服务启动失败解决办法

[本文谢绝转载原文来自http://990487026.blog.51cto.com] 报错的现象: [[email protected] ~]$ lsnrctl start LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 29-AUG-2016 10:38:59 Copyright (c) 1991, 2009, Oracle.  All rights reserved. Starting /opt/oracle/app/produc

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

Win7旗舰版安装Oracle11g后,数据库可以正常使用,重启系统,再次连接数据库,提示: ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务 解决方法: 1.打开listener.ora文件(\product\11.2.0\dbhome_1\NETWORK\ADMIN\). 2.增加以下红色标识的一段文字. SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = CLRExtProc) (ORACLE_HOME =

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

最近在装ORACLE的时候爆出了一个问题, Oracle 11g ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务 以前装ORACLE好多遍了网上搜了好多方法还是解决不了,最后通过自己的摸索找到了一个不显眼的原因, 打开Oracle - OraDb11g_home1/配置和移植工具/  下面的Net Manager,配置好服务名后,打开监听程序右上角选择数据库服务 一开始的数据库服务中配置是有问题的,一般一开始这个目录是空的需要自己手动添加更改,如下图一开始我的Net Ma

Oracle Net Manager 测试监听服务

前几天因为工作需要,安装了Oracle 11g,但怎么都监听不了本机.打开 PL/SQL Devloper 也登陆不了.随删除之. 今天有时间,又把Oracle 安装上了,想着怎么才能监听.经过操作,现在成功,下面是 过程: 1. 安装完ORACLE 后,进入 配置与移植工具,选择 Net Manager 2. 配置监听程序和服务命名. 我使用的协议为 TCP/IP. 主机 :127.0.0.1 .端口 : 1521. 3. 打开 CMD,输入 sqlplus.exe sys/manager a

ORACLE清理、截断监听日志文件(listener.log)

在ORACLE数据库中,如果不对监听日志文件(listener.log)进行截断,那么监听日志文件(listener.log)会变得越来越大,想必不少人听说过关于"LISTENER.LOG日志大小不能超过2GB,超过会导致LISTENER监听器无法处理新的连接",当然这个不是真理,不会绝对出现,只是发生在老旧的32bit Linux或Unix系统下面,真实的原因是一些32bit OS自带的文件系统不支持2GB以上的文件,导致监听服务进程(tnslsnr)append write日志文件

怎样绕过oracle listener 监听的password设置

 怎样绕过oracle 监听的password设置: 1.找到监听进程pid ,并将它kill 掉 ps -ef|grep tns [[email protected] admin]$ ps -ef|grep tns root         9     2  0 Jul11 ?        00:00:00 [netns] oracle   29668     1  0 10:12 ?        00:00:00 /oracle/bin/tnslsnr LISTENER -inher