oracle key的含义,分析oracle.key文件在oracle启动时的作用.

前几天,我从一个帖子中看到,oracle.key这个文件很重要,之前我是不知道有此文件的,此文件在E:\oracle\product\10.2.0\db_1\BIN\中,oracle.key中的内容如

下:SOFTWARE\ORACLE\KEY_OraDb10g_home1

为了验证oracle.key 文件在oracle启动时的作用,我做了如下试验:

第一步:

Microsoft Windows XP [版本 5.1.2600]

(C) 版权所有 1985-2001 Microsoft Corp.

C:\Documents and Settings\Administrator>sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on 星期日 4月 19 07:00:09 2009

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

连接到:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options

SQL> alter database open;

alter database open

*

第 1 行出现错误:

ORA-01531: 实例已打开数据库

SQL> shutdown immediate;

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

SQL> exit

从 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options 断开

第二步:

改oracle.key文件的内容如下:SOFTWARE\ORACLE\KEY_OraDb10g_home111 ,也就是在最后追加了11

第三步:

C:\Documents and Settings\Administrator>sqlplus / as sysdba

Error 6 initializing SQL*Plus

Message file sp1.msb not found

SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory

C:\Documents and Settings\Administrator>sqlplus /nolog

Error 6 initializing SQL*Plus

Message file sp1.msb not found

SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory

C:\Documents and Settings\Administrator>

第四步:

从windows 计算机管理-服务里,先关闭oracleservice+oracle_sid,再启动oracleservice+oracle_sid,

结果2秒之内,oracleservice+oracle_sid就启动成功了,熟悉windows下启动oracle的人知道,这明显是oracle的假启动.

从windows 计算机管理-事件查看器中,找不到跟此次启动有用的信息,无用信息倒是有(OracleServiceORACLE 服务成功发送一个 开始 控件;OracleServiceORACLE 服务处于 正在运行 状态。)

从E:\oracle\product\10.2.0\admin\oracle\bdump\alert_oracle.log中,没有记录此次启动(指的是从计算机管理-服务里启动oracle,也就是假启动的这次)的信息.

试验结论:

我感觉从sqlplus / as sysdba 敲回车后,系统是如下处理的:

( 从windows 计算机管理-服务里,启动oracleservice+oracle_sid 过程,因为对windows服务对oracle的封装过程不是很了解.暂不讨论此种方法启动oracle的步骤.)

1.读取sqlplus所在目录(此目录是在windows的环境变量里有记录的),

2.找到此目录下oracle.key文件,从此文件中获得oracle环境变量在注册表中的存储位置.

3.访问注册表的此存储位置,获得oracle的环境变量信息.

4.进入sqlplus.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值