
• 这些脚本必须从新的 12c $ORACLE_HOME/rdbms/admin 复制到需要被升级的 $ORACLE_HOME/rdbms/
admin 目录。
• 必须从要升级的数据库环境运行 preupgrd.sql。
• 该工具生成修复脚本和日志文件,它们位于 $ORACLE_BASE/cfgtoollogs/$ORACLE_SID/preupgrade。
◦ 生成的 preupgrade_fixups.sql 脚本是为了解决源数据库中可以使用 SQL*Plus 修复的问题。
◦ 生成的 postupgrade_fixups.sql 脚本是为了解决可在数据库升级之后修复的问题。
◦ 生成的日志文件 preupgrade.log,其中包含 Pre-Upgrade Information Tool 的输出。
• Pre-Upgrade Information Tool 会显示建议,但并不自动执行建议以确保您可以完全控制修复脚本的运行方式和
时间。
• 并行升级是 Oracle Database 12cR1 中引入的新功能,可以并行运行升级脚本和进程。
• 并行升级旨在充分利用 CPU 能力,从而减少升级所需时间。
• 并行运行会将各 SQL 文件分解为单独(独立)组件。
如果一个 SQL 文件是独立的,那么它就可以与另一个 SQL 文件一起并行运行。
这种情况并不适用于所有 SQL 脚本,因为一些 SQL 脚本依赖于其他脚本并会调用其他实用程序。
在这种情况下,Oracle 确保调用下一个脚本或进行引用之前满足这些相关性。
• 将升级过程分为不同阶段的目的是为了并行升级。
阶段就是 Oracle 升级如何并行加载 sql 文件。
必须先完成一个阶段,然后才能进入下一个阶段。
• 默认情况下,升级以并行度 4 运行。
即使在单 CPU 下将该数字设置为 4 也观察到了性能提升。
升级过程可以获取更多 CPU 周期来完成工作,即使只有一个处理器/CPU 也是如此。
catctl.pl
• Oracle Database 12cR1 中引入了新的升级实用程序 (catctl.pl)。
• 它并行加载数据字典和组件,从而减少了整体升级时间。
• 它使得不需要按照特定顺序升级的组件可以同时升级,即并行升级。
• 可以重新运行,以防发生故障(以及上一次失败的阶段)
• catuppst.sql脚本作为升级的一部分运行,除非升级过程中返回错误。 检查日志文件中的“Rem BEGIN
catuppst.sql”以验证升级过程中是否运行了catuppst.sql。
如果catuppst.sql没有运行,那么继续运行catuppst.sql。
如果您自己运行catupgrd.sql,则catuppst.sql不会作为升级过程的一部分运行。 必须在catupgrd.sql完成后运
行catuppst.sql脚本。
• 下面是对 catctl.pl 脚本可用的一些参数:
◦ -n : 指定用于并行操作的进程数量。默认值为 4。最大值为 8。对于串行模式,请将其设置为 0。
◦ -u : 用户名(提示输入口令)
◦ -d : 包含要运行的文件的目录
◦ -t : 用于阶段日志记录的表名称
◦ -l : 用于存放 spool 日志文件的目录
◦ -s : 用于初始化会话的 SQL 脚本
◦ -e : 在运行脚本时关闭命令回显
◦ -p : 重新启动阶段(重新运行时跳过成功的阶段)
◦ -i : 创建 spool 日志文件时使用的标识符
◦ -y : 仅显示阶段
文档 1602865.1 https://support.oracle.com/epmos/faces/DocumentDisplay?_a...
第2页 共4页 2025/2/10 8:45
评论