2.2 升级前的准备工作
在开始迁移前,应该备份现有的数据库和数据库软件。这样在由于某种原因而造成迁移失败或不能将数据库或软件还原到较早版本的情况下,能还原备份并重新创建数据库。
应该开发并测试脚本,通过这些脚本可评估升级之后的数据库性能和功能。评估可能包括特定数据库操作的性能或处于大量用户加载情况下的数据库整体性能。
在生产数据库上执行升级过程前,应在测试数据库上尝试升级,从而可以识别任何遗漏的组成部分(如操作系统补丁),并度量升级所需的时间。
Oracle Database 12c包含升级前信息工具(Pre-Upgrade Information Tool),称为preupgrd.sql。此工具包含在目录$ORACLE_HOME/rdbms/admin的安装文件中。将此脚本复制到旧数据库能访问的某个位置,用SYSDBA权限连接到旧数据库,从SQL*Plus会话运行此工具,如下:
SQL> @preupgrd.sql
该脚本生成文件preupgrade.log,其中包含脚本的输出。其他两个脚本由升级预备脚本创建:preupgrade_fixups.sql和postupgrade_fixups.sql。顾名思义,脚本包含命令,用于在升级启动前修复与现有数据库相关的问题,或修复只能在升级完成后予以修复的问题。无法通过脚本修复的问题在日志文件中标记为*** USER ACTION REQUIRED ***。
Pre-Upgrade Information Tool标识数据库中的无效对象。无效SYS或SYSTEM对象的列表存储在REGISTRY$SYS_INV_OBJS中,非SYS和非SYSTEM对象的列表存储在REGISTRY$NONSYS_INV_OBJS中。典型的无效对象包括受损的索引和触发器,或由于缺少对象或语法问题无法编译的其他PL/SQL函数和过程。