浪潮ERP系统分析oracle.key文件在oracle启动时的作用

浪潮ERP系统分析oracle.key文件在oracle启动时的作用

数 据 库: Ora 10g
软件版本: 软件模块:
问题描述:
   分析oracle.key文件在oracle启动时的作用.
产生原因: 分析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<lang>.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<lang>.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.

原创文章,转载请注明: 转载自浪潮888博客

本文链接地址: 浪潮ERP系统分析oracle.key文件在oracle启动时的作用

文章的脚注信息由WordPress的wp-posturl插件自动生成



This entry was posted in 浪潮文档. Bookmark the permalink.

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>