[20140513]ORACLE_HOME环境变量结尾的斜杠

[20140513]ORACLE_HOME环境变量结尾的斜杠.txt

--上午再次遇到环境变量结尾的斜杠问题,实际上我第一次遇到也感觉很奇怪。
--自己还做了一次跟踪,很难定位问题。

--正好看了链接http://www.xifenfei.com/5197.html,自己做一次测试:

$ export ORACLE_HOME=/u01/app/oracle11g/product/11.2.0/db_2/

--启动数据库:
SYS@test> startup
ORACLE instance started.

Total System Global Area 1603411968 bytes
Fixed Size                  2228784 bytes
Variable Size            1006636496 bytes
Database Buffers          587202560 bytes
Redo Buffers                7344128 bytes
Database mounted.
Database opened.


--实际上以后如何进入都不会有任何问题。但是如果修改环境变量export ORACLE_HOME=/u01/app/oracle11g/product/11.2.0/db_2,问题就来了。
export ORACLE_HOME=/u01/app/oracle11g/product/11.2.0/db_2

$ sqlplus sys as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Tue May 13 15:59:11 2014
Copyright (c) 1982, 2011, Oracle.  All rights reserved.
Enter password:
Connected to an idle instance.

--可以发现连接的idle instance。问题实际上oracle本地认证通过IPC,而ipc是直接访问共享内存段的。

$ export ORACLE_HOME=/u01/app/oracle11g/product/11.2.0/db_2/
SYS@test> oradebug setmypid
Statement processed.
SYS@test> oradebug ipc
Information written to trace file.

*** 2014-05-13 16:01:44.033
Processing Oradebug command 'ipc'
Dump of unix-generic skgm context
areaflags            000000f7
realmflags           0000001f
mapsize              00000800
protectsize          00001000
lcmsize              00001000
seglen               00200000
largestsize  0000000080000000
smallestsize 0000000001000000
stacklimit       0x7fbe07e9b0
stackdir                   -1
mode                      640
magic                acc01ade
Handle:          0x2a970040b0 `/u01/app/oracle11g/product/11.2.0/db_2/test'
Dump of unix-generic realm handle `/u01/app/oracle11g/product/11.2.0/db_2/test', flags = 00000000

--注意看看handle = `/u01/app/oracle11g/product/11.2.0/db_2/test'
--如果关闭数据库,将环境变量修改回来,再转储IPC看看。

$ export ORACLE_HOME=/u01/app/oracle11g/product/11.2.0/db_2

SYS@test> startup
ORACLE instance started.

Total System Global Area 1603411968 bytes
Fixed Size                  2228784 bytes
Variable Size            1006636496 bytes
Database Buffers          587202560 bytes
Redo Buffers                7344128 bytes
Database mounted.
Database opened.
SYS@test> oradebug setmypid
Statement processed.
SYS@test> ora
ORACLE             Oracle.            ora_cpu            ora_hash           oradebug           oradiag_oracle11g
SYS@test> oradebug ipc
Information written to trace file.


*** 2014-05-13 16:06:52.443
Processing Oradebug command 'ipc'
Dump of unix-generic skgm context
areaflags            000000f7
realmflags           0000001f
mapsize              00000800
protectsize          00001000
lcmsize              00001000
seglen               00200000
largestsize  0000000080000000
smallestsize 0000000001000000
stacklimit       0x7fbe07e9b0
stackdir                   -1
mode                      640
magic                acc01ade
Handle:          0x2a970040b0 `/u01/app/oracle11g/product/11.2.0/db_2test'
Dump of unix-generic realm handle `/u01/app/oracle11g/product/11.2.0/db_2test', flags = 00000000

--注意看看handle = `/u01/app/oracle11g/product/11.2.0/db_2test',可以发现db2test对比上面没有斜杠。
--说明oracle数据库的内存段是通过ORACLE_HOME和ORACLE_SID结合起来识别的,只要ORACLE_HOME或者ORACLE_SID
--不一样就不能通过IPC访问实例的内存段,也就不能登录数据库.

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/267265/viewspace-1160328/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/267265/viewspace-1160328/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值