我正在设置VM以尝试复制我们的生产环境,以便我可以进行部署测试。 VM VMWare服务器运行 Windows Server 2003 , Oracle 10g 。我通过tnsnames连接标识符连接到oracle。
我把它拿起并运行一次,复制了VM文件,并认为一切都很好。但是现在我遇到了一些问题,试图让oracle在我做的备份上运行。话虽这么说,我完全有可能对这个或工作虚拟机做了一些改变,我要么没有注意到或忘记了,所以我认为这不一定是虚拟化问题。
我不是神谕,我们没有太多的dba,所以我在这里的小溪上。这是我的问题:
有关可能导致此问题的任何想法?关于我接下来可以尝试的任何提示?
更新:本着stackoverflow的精神,让我们保持这个打开以防万一有人来点以后寻找建议但在我的情况下完全卸载/安装oracle并重新导入数据库是最方便的解决方案。
答案 0 :(得分: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。”
答案 1 :(得分:1)
在VM(在我的情况下是Virtual PC)下的Windows Server 2003 R2中运行Oracle 10g(10.2,我认为)时,我也遇到了奇怪的问题。无论出于何种原因,在我打开一个本地Oracle管理工具之前,Oracle永远不会完成数据库的启动。我相信它是数据库配置助手。
如果我为现有数据库选择了configure选项,则DB将成功启动。从那时起,我会告诉我的VM保存并退出而不是关闭图像。
我从来没有弄清楚是什么原因引起了这个问题......
答案 2 :(得分:1)
Windows上的Oracle有点奇怪。
oracle_home不仅需要正确设置/选择,oracle的版本需要相同,窗口注册表中的oracle条目才有效。如果它们都不正确,您将无法使用sqlplus“/ as sysdba”连接到数据库。
除此之外,请转到保存数据库的alert.log的位置。查看警报日志文件,查看数据库启动过程中的位置以及是否完全启动。如果它没有完全打开,那么它需要打开。
由于您无法以sysdba身份登录数据库,这将是一个挑战。解决sysdba登录问题,以便您可以在本地以sysdba身份登录实例,然后就可以解决使数据库联机的问题。最好的办法是在原始服务器上安装新vm的确切版本oracle,在vm上的prod服务器上创建相同的oracle服务,干净地关闭prod服务器,从prod复制所有数据库文件服务器到你的vm到它们存在的确切位置,不要忘记spfile。在各自的计算机上启动服务,看看它是否有效。产品不应受到影响,因此应该重新启动。在虚拟机上,查看警报日志中的错误并进行更正。
如果所有其他方法都失败,请使用Rman将您的产品复制到vm,这应该可行。