oracle 8i 装到 windows xp,系统启动时报错,oradb80.exe 启动失败。
以前查到是 xp和 oracle 8i系统兼容的问题,数据库是装在 别人电脑上,所以眼不见心不烦。 现在 自己机子上跑 ,发现的确无法忍受。 没办法,查资料。
Microsoft的帮助文档也有这方面的介绍 http://support.microsoft.com/kb/841180 .
这一段常和微软的帮助文档打交道,感觉文档说得简洁,但是实际操作 往往要涉及更多。上面提供两种方案。
1。批处理
相对而言批处理,比较简单,比较致命的是,系统必须登陆之后,这个批处理才能执行。
这个处理可以参看微软提供的帮助。 下面转抄一下。
Oracle 数据库服务启动行为更改为运行 Oracle 数据库, 计算机上手动类型, 然后手动启动 Oracle 数据库服务。 要这样做, 请按照下列步骤操作:
1. | 为手动更改 Oracle 数据库服务的启动类型。 要这样做, 请按照下列步骤操作:
| ||||||||||||
2. | 更改是对 Oracle 数据库实例设置启动这样 Oracle 数据库服务启动时不自动不启动的数据库实例。 要这样, 请按照下列步骤操作。 警告 如果注册表编辑器使用不当, 可能会严重问题, 可能需要以重新安装操作系统。 Microsoft 无法保证您能解决因注册表编辑器使用不当而导致问题。 需要您自担风险使用注册表编辑器。
| ||||||||||||
3. | 使用 StartupOracleORCL.sql 名称创建以下批处理文件: | ||||||||||||
4. | 使用 Orastart.bat 在同一文件夹位置步骤 3 中创建 StartupOracleORCL.sql 批处理文件名称创建以下 Windows 批处理文件: 注意 您必须替换 Oracle < FullServiceName > 分别与 Oracle 数据库服务名称和 SID 对 Oracle 数据库服务, 和 < Oracle SID > | ||||||||||||
5. | 在命令提示符处运行 Orastart.bat 文件。 注意 您可能发现的数据库实例启动成功。 |
2。通过使用 Windows 资源工具包工具是 Oracle 服务启动自动化
这个建立 花了我比较长的时间。 先把微软的帮助 贴一下,在讲一下,要注意的东西
要通过服务实用程序 (Srvany.exe), 用作服务安装工具 (Instsrv.exe) 和应用程序自动化的
Oracle 服务启动请按照下列步骤操作。
1. | 下载并安装 Windows 资源工具包工具。 Download the Rktools.exe package now. (http://www.microsoft.com/downloads/details.aspx?FamilyID=9d467a69-57ff-4ae7-96ee-b18c4790cffd&DisplayLang=en) |
2. | 创建根是驱动器 C 上名为 OracleStartup 文件夹 |
3. | C:/OracleStartup 文件夹中创建一个文本文件, 名为 OracleStartup.reg 且包含下列信息: |
4. | 双击 C:/OracleStartup/Oracle.reg 文本文件将信息导入注册表。 |
5. | C:/OracleStartup 文件夹中创建一个文本文件, 名为 OracleStartup.cmd 且包含下列信息: |
6. | 创建包含下列信息, C:/OracleStartup/OracleStartup.sql 文本文件: 注意 : 启动参数必须包括对 Init.ora 文件完全限定路径。 要点 : C:/OracleStartup/OracleStartup.cmd 文件包含用户凭据以明文形式。 因此, 限制对该文件及对 Oracle 服务启动帐户仅向管理员访问。 您可能能够避免包括 C:/OracleStartup/OracleStartup.cmd 文件中的用户凭据通过配置 " Oracle 服务器对于 Windows 身份。 有关如何配置 Oracle for Windows 身份验证, 获取笔记: 60634.1) WIN 从 OracleCorporation (: 安装 O/S 验证。 有关如何联系 OracleCorporation, 请访问以下网站:
http://www.oracle.com/
(http://www.oracle.com/)
|
7. | 作为服务启动 OracleStartup 通过 InstSrv.exe 和 SrvAny.exe 资源工具包工具和通过使用下列命令: " C:/ProgramFiles/Microsoft Files/Resource Kit/instsrv.exe " OracleStartup " C:/ProgramFiles/Microsoft Files/Resource Kit/SRVAny.exe " sc config " OracleServiceORCL " start= demand 退出 |
8. | 重新启动 Windows。 |
第一步操作应该没有问题。
第二步要注意,如果你去查看注册表(在导入之后),会发现在HKEY_LOCAL_MACHINE/SYSTEM 下面有两个
CurrentControlSet,而恰恰第一个是不起作用的(具体原因不知) ,查看第二个CurrentControlSet,可以发现
注册的东西 已经在里面了。
第三步创建sql脚本 和cmd 执行文件 没有什么难度,唯一要注意的就是 路径,以及脚本中 的svrmgr的具体名字,比如 我的8i 就是 svrmgr30.exe(开始还折腾了半天)
第四步服务注册。 这一步很重要,我看着说明操作的,不过一直不顺利。 实际操作应该是这样
1。 安装第一步下载的 工具包。
2。 将srvany.exe注册到服务项 : 因为安装的路径是没有设进系统path的,所以先定位到 工具包的文件夹下,
比如我安装完是 c:/program Files/windows Resource Kits/tools ( 注意这个路径是有空格的,所以上面的
步骤 要用双引号)。
命令行执行 : instsrv srvany "c:/program Files/windows Resource Kits/tools/srvany.exe"
会提示注册成功
接下来,注册OracleStartup启动, 注意 这个服务名要和第二步操作的 注册表服务项名字一致 即
“OracleStartup”。
命令行执行 instsrv OracleStartup "c:/program Files/windows Resource Kits/tools/srvany.exe"
接下来的 sc config OracleServiceORCL start= demand 只是要改变 OracleServiceORCL 的启动类型而已,
(这里有一个关键 等号后面要留一个空格)
将 OracleStart<SID>这个服务设为手动,将 刚刚注册的 OracleStartup 改为自动。
注册服务完成。