使用 DBUA 升级数据库到 Database 12c 版本2(12.2)的完整核对清单 (Doc ID 2364820.1、2189854.1)

0    754    1

Tags:

👉 本文共约15542个字,系统预计阅读时间或需59分钟。

目录

使用 DBUA 升级数据库到 Database 12c 版本2(12.2)的完整核对清单 (Doc ID 2364820.1)

适用于:

Oracle Database - Enterprise Edition - 版本 11.2.0.3 到 12.2.0.1 [发行版 11.2 到 12.2]
Oracle Database Exadata Cloud Machine - 版本 N/A 和更高版本
Oracle Cloud Infrastructure - Database Service - 版本 N/A 和更高版本
Oracle Database Cloud Exadata Service - 版本 N/A 和更高版本
Oracle Database Cloud Schema Service - 版本 N/A 和更高版本
本文档所含信息适用于所有平台

用途

本文旨在提供使用 DBUA 从 12c 前数据库升级到 12.2.0.1 的指南。

适用范围

数据库管理人员/技术支持

详细信息

Database Upgrade Assistant (DBUA)

  • Database Upgrade Assistant (DBUA) 交互式的协助您一步一步升级,配置新的 12.2 数据库。是推荐的升级数据库主要版本或者补丁集的方式。

  • 它会自动执行为了升级数据库所需的所有步骤,会对数据库的某些特定领域做出推荐,您可以根据推荐做相应的配置修改。

  • DBUA 也支持升级 Oracle Real Application Clusters (Oracle RAC) 数据库。在 Oracle RAC 环境下, DBUA 升级集群中的所有节点上的数据库以及配置文件。

  • DBUA 需要在新安装的数据库 12c 软件的 ORACLE_HOME 下运行。在 windows 环境下,需要使用 administrator 用户或者软件的属主用户来执行 DBUA。

  • DBUA 会执行 Pre-Upgrade Tool,它会自动修正一些升级需要的配置参数。比如 Pre-Upgrade Tool 可以修改初始化参数成升级需要的值。Pre-Upgrade Tool 也会列出需要在升级前就手工解决的问题列表。

  • 它会对数据库的某些特定领域做出推荐,根据推荐做相应的配置修改可以让升级过程更加简单/人性化。

  • 当解决了所有预升级推荐/错误/警告后开始升级,DBUA 会显示升级源库各个组件的进展。

  • 和之前版本的 DBUA 相比,12c 的 DBUA 限制了对隐藏参数的设置。因为除了为了升级而由 Oracle 技术支持推荐的隐含参数外,Oracle 不推荐使用其它的隐藏参数。
    要检查数据库中已设置的隐藏参数,可以使用 AS SYSDBA 权限执行下面的命令:
    SELECT name,description from SYS.V$PARAMETER WHERE name LIKE '_%' ESCAPE '\';

  • DBUA 会在数据库真正升级之前检查一些项目;这些检查也可以手工去做来减少升级的停机时间。

  • DBUA 提供下面的一些选项:

    - 升级 timezone。12.2.0.1 默认的 timezone 版本是 26。

    - 在升级前收集数据字典的统计信息。

    - 把用户表空间设置为只读。

    - 在升级前做 RMAN 备份。

    - 可以恢复数据库备份来回退升级。

    - 可以在升级前或升级后执行自定义的脚本。

    - 显示 alert log 和 DBUA log的路径。

    - 可以把已存在的 listener 升级到最新的 12c Home 下或者在 12.2 目标库 HOME 下创建一个新的 listener。

  • 从 Oracle Database 12c release 2 (12.2) 开始,升级数据库可以不禁用 Oracle Database Vault。不过,如果在升级前禁用了 Oracle Database Vault,那么升级后需要手工启用它。

升级路径/12.2 兼容性矩阵

DBUA 只能对一些支持的版本进行直接升级。

可以直接升级到 12.2 的版本:

源数据库目标数据库
11.2.0.3 或者更高版本12.2.0.x
12.1.0.x (12.1.0.1 - 12.1.0.2)12.2.0.x

间接升级到 12.2:

源数据库升级路径目标数据库
7.3.3 (或更低版本)7.3.4 --> 9.2.0.8 --> 11.2.0.3 或更高版本12.2.0.x
8.0.5 (或更低版本)8.0.6 --> 9.2.0.8 --> 11.2.0.3 或更高版本12.2.0.x
8.1.7(或更低版本)8.1.7 --> 9.2.0.8 --> 11.2.0.3 或更高版本12.2.0.x
9.0.1.3(或更低版本)9.0.1.3 --> 9.2.0.8 --> 11.2.0.3 或更高版本12.2.0.x
9.2.0.7(或更低版本)9.2.0.7 --> 11.2.0.3 或更高版本12.2.0.x
10.2.0.4 (或更低版本)10.2.0.4 --> 11.2.0.3 或更高版本12.2.0.x
11.1.0.611.1.0.6 --> 11.2.0.3 或更高版本12.2.0.x
11.2.0.111.2.0.1 --> 11.2.0.3 或更高版本12.2.0.x

需要及推荐在源库上完成的

  • 在升级前确保所有 oracle 提供的组件和对象都是有效的。

  • 在开始升级或者降级前,Oracle 推荐您先升级源数据库和目标数据库到最新的 Oracle bundle patch 或者 patch set update (BP 或者 PSU)。

  • 确保在 sys 和 system schema 下没有重复存在的对象。对于 1) 和 2),参照:

    Doc Id 556610.1 - Script to Collect DB Upgrade/Migrate Diagnostic Information (dbupgdiag.sql)

    dbupgdiag.sql 是可以在升级前或者升级后对数据库的状态进行诊断并提供用户友好的输出结果的一些 SQL 语句;它会创建一个名为 db_upgdiag_.log 的输出文件。

  • 确保升级前拥有一个可用的源数据库的备份。

  • 禁用所有自定义的 before/after DDL 类型的触发器,完成升级后再启用它们。

  • 在升级前检查数据库的升级/降级兼容性矩阵。

  • 推荐在升级前启用 archive log 模式,这样 DBUA 在升级过程中可以创建/更新 archive log。

  • 如果使用 DBUA 升级的是 RAC 数据库,那么必须保持 CLUSTER_DATABASE 设置成 true。

  • 在升级前确保运行了 pre-upgrade 工具。 检查并且实施 preupgrade log 给出的建议。

  • 在升级前原数据库上的物化视图应该被停掉
    Doc ID 1406586.1 - How to Handle Materialized Views When You Upgrade or Clone a Database

  • 禁止掉客户的计划作业以及 cron job。

推荐/需要在目标库上完成的

  • 先检查您的硬件平台/操作系统是否兼容 12.2 版本。
  • 下载安装 12c 版本2 (12.2.0.1) 软件到一个新的 ORACLE_HOME 并确认没有编译错误。
  • 如果有补丁集(PatchSet)或者最新的 Critical Patch Update(PSU/CPU)的话,下载并安装它们。
  • 确保设置 ORACLE_HOME, PATH, LD_LIBRARY_PATH, LIBPATH 等指向到 12.2 目标库 HOME。

对于Oracle Spatial组件:

升级前在源库上执行下面的语句:

如果有返回任何结果,那么需要在升级前对目标Oracle HOME打下面的补丁。

链接 : https://updates.oracle.com/Orion/Download/process_form/p25293022_122010_Generic.zip?file_id=95607293&aru=21422588
文件名 : p25293022_122010_Generic.zip

如果不打这个补丁会导致升级的post upgrade步骤的utlrp.sql执行缓慢。

在 Windows 上需要对 Oracle Home 做的准备及前提条件

在 Microsoft Windows 平台上升级数据库之前,必须满足以下这些前提条件。基于安全的考虑,为不同的 Oracle Home 配置的不同的 Microsoft Windows 用户,不允许共享同一个 Oracle Base。

  • 数据库升级对于源数据库和目标数据库的 ORACLE_HOME 使用相同的 Windows 用户是支持的。
  • 数据库升级对于源数据库使用 Windows 自带账户是支持的。Oracle Database 12c 之前的版本 (release 11.2 或者之前的版本) 在 Windows 上只支持使用 Windows 自带的用户来作为 Oracle Home 用户。
  • Oracle home 用户可能无法访问在它自己的 Oracle Base 和 Oracle home 之外的文件。如果出现这样的情况,那么在升级时选择不同的 Oracle Base,可能会出现 Oracle 数据库服务无法访问旧 Oracle Base 的情况。使用 DBUA 升级,需要确保 Oracle Home 用户可以访问它自己的 Oracle Base 和 Oracle Home 之外的文件。

升级前步骤

FILE|TERMINAL - 使用 FILE 选项把脚本输出定向到一个文件。使用 TERMINAL 选项把脚本输出打印到屏幕上。如果没有指定,那么默认是 FILE 选项。
TEXT - 使用这个选项来指定输出文件是 Text 格式的。使用 XML 选项则输出为 XML 格式。如果不指定,默认是 Text。
DIR - Log 会创建在指定的目录里。如果不指定那么会创建 log 到默认的路径:如果定义了 ORACLE_BASE 环境变量,那么日志创建在 $ORACLE_BASE/cfgtoollogs//preupgrade/ 否则会创建在 $ORACLE_HOME/cfgtoollogs/db_name/preupgrade/。

比如

源 Oracle Home : /u01/app/oracle/product/12.1.0.1/dbgome_1

目标 Oracle Home : /u01/app/oracle/product/12.2.0.1/dbhome_1

检查 preupgrade.log 文件并且实施推荐。

最新的12.2的 preupgrade 工具可以从下面的文档找到:

How to Download and Run Oracle's Database Pre-Upgrade Utility (Doc ID 884522.1)

检查源库中失效的组件及对象:

如果发现了任何无效组件或者对象,则执行下面的操作以使数据库中的无效对象变为有效:

收集优化器统计信息来减少数据库停机时间

Oracle 强烈推荐升级前收集统计信息。Oracle 推荐使用 DBMS_STATS.GATHER_DICTIONARY_STATS 来收集统计信息,比如,执行下面的 SQL:

确认升级前物化视图刷新都已经完成

用下面的语句检查当前是否有物化视图正在刷新。在升级数据库前,我们需要确认所有的物化视图都已经完成了刷新。

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!
使用 DBUA 升级数据库到 Database 12c 版本2(12.2)的完整核对清单 (Doc ID 2364820.1、2189854.1)后续精彩内容已被小麦苗无情隐藏,请输入验证码解锁本站所有文章!
验证码:
请先关注本站微信公众号,然后回复“验证码”,获取验证码。在微信里搜索“DB宝”或者“www_xmmup_com”或者微信扫描右侧二维码都可以关注本站微信公众号。

标签:

Avatar photo

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复

嘿,我是小麦,需要帮助随时找我哦。
  • 18509239930
  • 个人微信

  • DB宝
  • 个人邮箱
  • 点击加入QQ群
  • 个人微店

  • 回到顶部