0

我正在设置一个虚拟机来尝试复制我们的生产环境,以便进行部署测试。VM 是运行Windows Server 2003Oracle 10g的VMWare 服务器。我通过 tnsnames 连接标识符连接到 oracle。

我启动并运行了一次,复制了 VM 文件,并认为一切都很好。但是现在我在尝试让 oracle 在我制作的备份上运行时遇到了一些问题。话虽如此,我完全有可能对这个或我没有注意到或忘记的工作 VM 进行了一些更改,因此我认为这不一定是虚拟化问题。

我不是预言家,而且我们没有太多的 dba,所以我有点在这条小溪上。这是我的问题:

  • 当我启动机器时,我可以执行 lsnrctl services 并看到包含我的应用程序数据库的服务有 1 个实例正在运行。当我尝试通过 sqlplus 连接时,我得到 ORA-01033:Oracle 初始化或关机正在进行中
  • 如果我等待一段时间,我看到服务从 lsnrctl 服务列表中消失,显然我无法连接 sqlplus (ORA-12514)
  • 如果我转到 Windows 服务管理 mmc 控制台,我可以看到应该容纳该 oracle 实例的 Windows 服务确实仍在运行。
  • 我可以重新启动windows服务。此时我可以再次在 lsnrctl 服务下看到它,但再次尝试通过 sqlplus 连接到它会导致 ORA-01033。一段时间后,它关闭并消失。
  • 在任何时候尝试 sqlplus "/ as sysdba" 都会导致 ORA-12560: TNS:protocol adapter error
  • 没有任何用处被写入 Windows 事件日志

关于什么可能导致这种情况的任何想法?关于下一步我可以尝试什么的任何提示?

更新: 本着 stackoverflow 的精神,让我们保持打开状态,以防有人后来寻求建议,但在我的情况下,完全卸载/安装 oracle 并重新导入数据库是最方便的解决方案。

4

3 回答 3

1

创建控制文件后是否运行了“alter database open”?

请参阅http://www.dba-oracle.com/t_ora_01033_initialization_shutdown_progress.htm

或者你有一个损坏的文件?

http://basmv.blogspot.com/2007/10/oracle-ora-01033-error.html

人们似乎已经解决了许多与您类似的问题。只需谷歌“ORA-01033”。

于 2009-03-10T18:15:16.123 回答
1

在虚拟机(在我的情况下为虚拟 PC)下的 Windows Server 2003 R2 中运行 Oracle 10g(我认为是 10.2)时,我也遇到了奇怪的问题。无论出于何种原因,在我打开本地 Oracle 管理工具之一之前,Oracle 永远不会完成启动数据库。我相信它是数据库配置助手。

如果我为现有数据库选择配置选项,数据库将成功启动。从那时起,我会告诉我的虚拟机保存并退出,而不是关闭映像。

我从一开始就没有弄清楚是什么导致了这个问题......

于 2009-03-10T18:41:20.430 回答
1

Windows 上的 Oracle 有点奇怪。

不仅 oracle_home 需要正确设置/选择,oracle 的版本需要相同,并且窗口注册表中的 oracle 条目是有效的。如果它们不正确,您将无法使用 sqlplus "/ as sysdba" 连接到数据库。

除此之外,转到保存数据库的 alert.log 的位置。查看警报日志文件,查看数据库是否在启动过程中的位置,以及它是否已完全启动。如果它没有完全打开,那么它需要打开。

由于您无法以 sysdba 身份登录数据库,这将是一个挑战。解决 sysdba 登录问题,以便您可以在本地以 sysdba 身份登录实例,然后您可以解决使数据库联机的问题。最好的办法是在新 vm 上安装与原始服务器上完全相同的 oracle 版本,在 vm 上创建与 prod 服务器上相同的 oracle 服务,干净地关闭 prod 服务器,从 prod 复制所有数据库文件服务器到您的 vm 到它们存在的确切位置,不要忘记 spfile。在他们各自的机器上启动服务,看看它是否有效。Prod 不应该受到影响,因此它应该重新启动正常。在 vm 上查看警报日志以查找错误并更正它们。

如果一切都失败了,请使用 Rman 将您的产品复制到 vm,这应该可以。

于 2009-03-11T16:18:47.237 回答