使用版本:Oracle11.2.0.3
当打开虚拟机安装变更管理模块时,结果却发生了TC安装名场面-安装报错,图1所示。查看安装日志发现是数据库异常,如图2所示。这可是个好机会,难得在虚拟机可以遇到数据库异常的问题,当然是要保存快照然后修复再重现记录。
图1
图2
看到是数据库异常后随即连接数据库,测试startup和shutdown,发现数据库已经是startup但是shutdown报错,图3所示。接着查看数据库日志,发现是UNDO表空间损坏,如图4所示。还好不是用户表空间损坏,只是UNDO表空间损坏,那么问题就简单多了,解决方法有两个,通过备份(逻辑备份或物理备份都可以)恢复或者做一个UNDO表空间并更改控制文件。显然,虚拟机是不会有备份的存在的,而且对于实际情况来说,生产环境也是要尽量保留用户数据,因此采用重新创建UNDO表空间的方式处理。
图3
图4
通过shutdown abort关闭数据库,图5所示。
图5
修改pfile文件使用当前的数据库配置,如图6所示。
图6
通过pfile启动数据库,图7所示。
图7
创建新的表空间,如图8所示。
图8
修改pfile使用新创建的表空间,如图9所示。
图9
将init.ora文件另存到%ORACLE_BASE% product\11.2.0\dbhome_1\database,命名为inittc.ora,如图10所示。
图10
删除undotbs1并重新生成spfile,如图11所示。
图11
至此大功告成,再次重启数据库后重新安装变更模块成功!