【TechTarget中国原创】问:我有一个Oracle 8i数据库的备份(不确定是第几版),想把该备份恢复到Oracle 10g Server(10.1.0.3.0)数据库中。我在10g上用数据库助手创建了一个新的数据库,准备好了所有数据文件和redo日志文件,然后重新创建控制文件,进行使用备份控制文件恢复数据库的操作。然而,当我打开数据库时,我遇到错误“ORA-01092:ORACLE instance terminated. Disconnection forced.(Oracle实例被终止,强制断开连接)”。我跟踪了日志文件,发现另外两个错误“ORA-00704: bootstrap process failure”和“ORA-39700:database must be opened with UPGRADE option”。我不知道为什么必须打开升级选项以及怎样打开它?非常感谢您的帮助。
答:Oracle数据库二进制文件和库文件都是10g版本的,而你备份的数据库内部仍然是8i版本的。Oracle数据库发现了这一点,并且不允许你打开数据库,除非你完成了升级过程。这一点非常容易做到。请按照以下步骤操作:
修改初始化参数文件,设置“COMPATIBLE”参数至少为“9.2.0”。
执行startup upgrade
创建名为“SYSAUX”的表空间,大小必须至少达到500MB。
执行命令
@?/rdbms/admin/catupgrd
shutdown immediate
startup
以上过程叫做手动升级。这里有完整文档。
要进行以上升级步骤,你的数据库必须是Oracle 8.1.7版本的。如果你的数据库是8.1.5版本或者8.1.6版本,你需要在升级到10g版本之前,先把数据库升级到8.1.7版本,9.0.1版本或者9.2.0版本。