/var/tmp/.oracle 和 oracle listener (监听)的一点理解
关于 /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))
不知道以上分析是否确切,不当之处请拍砖:-)
相关文章
- Oracle之外键(Foreign Key)使用方法具体解释(二)- 级联删除(DELETE CASCADE)
- Oracle数据库软件标准版的一个限制:仅仅能用一个rman channel
- oracle通过plsql导入dmp数据文件
- Oracle数据库:oracle数据表格dmp,sql,pde格式导入与导出,视图、序列、索引等对象的导出,oracle完结,后续开启mysql的学习
- Oracle数据库:oracle事务处理语言TCL,commit,rollback,savepoint语句
- Oracle数据库:oracle内连接inner join on,多表查询各种自链接、内连接、外连接的练习示例
- Oracle数据库:oracle多表查询,等值连接,非等值连接,自连接的sql语句和规则
- Oracle数据库:oracle函数,单行函数,多行函数,upper,lower,initcap,字符串函数
- Oracle数据库:oracle启动,oracle客户端工具plsql安装教程和使用方法
- Oracle数据库:oracle 11g安装教程,已安装好的oracle各个文件夹的作用,oracle用户权限怎么样
- Oracle官方并发教程之Guarded Blocks
- mybatis+Oracle 批量插入数据,有数据做更新操作
- 不安装oracle客户端,用plsql连接oracle
- 【Oracle】ORACLE SQL Developer不支持JAVA版本
- Oracle-未能加载文件或程序集“oracle.dataaccess”或它的某一个依赖项。试图加载格式不正确的程序。
- jdbc调用 oracle 存储过程操作
- oracle强制索引失效
- oracle函数 chartorowid(c1)
- 关于Oracle GoldenGate中Extract的checkpoint的理解 转载
- 本地oracle数据库忘记用户名密码解决方案
- [Oracle 工程师手记] Windows 环境下,获取与 oracle 相关 registry 的小技巧
- [Oracle]PDB Clone 方法
- [Oracle]OpenVMS 运行 Oracle 时的推荐值
- oracle 切换ORACLE_SID cat /u02/oracle/product/11.2.0/network/admin/tnsnames.ora cd /u02/oracle/product/11.2.0/dbs
- 【云和恩墨大讲堂】从执行计划洞察ORACLE优化器的“小聪明”
- Oracle 数据表的管理
- Oracle 基础系列之1.2 oracle的基本使用
- Mybatis+Oracle搭配insert空值报错之myBatis+mysql驱动+oracle驱动的源码分析
- MyBatis+Oracle时出现的错误: Method oracle/jdbc/driver/OracleResultSetImpl.isClosed()Z is abstract