暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

【译】如何升级单个PDB

原创 smiling 2022-05-25
623

原文链接:https://dohdatabase.com/2021/01/07/how-to-upgrade-a-single-pdb/

AutoUpgrade 现在支持拔插升级。你从较低版本的 CDB 中拔出 PDB,然后将其插入到较高版本的 CDB 中。插入升级后,PDB最终可以以正常的READ WRITE模式打开。

AutoUpgrade升级概念,支持自动升级21.1.1版本

当涉及到多租户的升级时,我非常喜欢unplug-plug的升级。 这个概念有很多好处:

  • 与仅包含一个 PDB 的 CDB 相比,使用unplug-plug升级单个 PDB 的速度要快得多。当您进行unplug-plug升级时,数据库只需要升级 PDB。相比之下,CDB首先升级CDBROOT,然后升级PDBSEED和任何用户的PDB。
  • 不必为 CDB 中的所有 PDB 安排停机时间,只有你要升级的 PDB 需要停机时间。
  • 将它与可刷新的 PDB结合起来,你仍然可以拥有一个非常好的备用选项。你可以查看之前的博客文章,了解如何使用可刷新的 PDB。

自动升级和拔插升级

从版本 21开始,AutoUpgrade 可以执行拔插升级。较新版本的 AutoUpgrade 也可以升级到较旧的数据库版本,因此如果 AutoUpgrade 版本与您要升级到的 Oracle 数据库版本不匹配,请不要担心。

为了执行拔出升级必须满足一些要求,因此我建议您查看文档。

您必须自己创建目标 CDB。AutoUpgrade 不会为您执行此操作,这是设计使然。首先,创建一个CDB需要很多信息,可以通过多种不同方式完成(ASM?哪些组件?RAC?)。您需要一个很长的配置文件来提供所有这些信息。此外,创建 CDB 需要时间,如果 AutoUpgrade 必须在维护窗口内执行此操作,则会大大延长。

在拔插升级过程中,AutoUpgrade还允许您更改pdb的名称,您可以决定是否要重用拔插的数据文件或复制数据文件。

如何升级
想象一下以下 AutoUpgrade 配置文件:

upg1.sid=CDB1
upg1.target_cdb=CDB2
upg1.pdbs=hr,logistics
upg1.source_home=/u01/app/oracle/product/12.2.0.1
upg1.target_home=/u01/app/oracle/product/19
upg1.target_pdb_name.hr=people

AutoUpgrade将从CDB1中拔下 PDB hr和logistics并将它们插入CDB2。此外,它在插入CDB2时会将hr的名称更改为people。最后,您必须指定两个 CDB 的 Oracle Home,以便 AutoUpgrade 可以正确设置环境并连接到数据库。

如果你使用lsj命令来查看进度,它实际上看起来就像只升级了一个pdb:

upg> lsj
+----+-------+---------+---------+-------+--------------+--------+------------------+
|Job#|DB_NAME|    STAGE|OPERATION| STATUS|    START_TIME| UPDATED|           MESSAGE|
+----+-------+---------+---------+-------+--------------+--------+------------------+
| 100|   CDB1|DBUPGRADE|EXECUTING|RUNNING|20/12/22 15:25|15:29:03|13%Upgraded PEOPLE|
+----+-------+---------+---------+-------+--------------+--------+------------------+
Total jobs 1

但是如果你查看status -job 100的细节,你会发现两个pdb是并行升级的:

upg> status -job 100

... (removed a lot of information)

Details:
[Upgrading] is [0%] completed for [cdb1-people] 
                 +---------+-------------+
                 |CONTAINER|   PERCENTAGE|
                 +---------+-------------+
                 |   PEOPLE|UPGRADE [13%]|
                 |LOGISTICS|UPGRADE [13%]|
                 +---------+-------------+

升级完成后,就可以使用pdb了。 我建议您检查数据库是否以READ WRITE模式打开,而不是以restricted模式。 最后,保存状态,这样pdb和CDB一起自动启动:

SQL> select name, open_mode, restricted from v$pdbs where name in ('PEOPLE', 'LOGISTICS');
SQL> --Verify open_mode=read write and restricted=no
SQL> alter pluggable database people save state;
SQL> alter pluggable database logistics save state;
提醒

通过拔插升级,您不能使用闪回数据库作为您的后备计划。它不能跨插件操作工作。您必须:

  • 指示 AutoUpgrade 在插入更高版本的 CDB 之前复制未插入的数据文件。这样,你仍然拥有未插入的旧数据文件,只需在较低版本的 CDB 中重新创建 PDB。但是你要有额外的停机时间,因为您需要复制数据文件。
  • 使用可刷新 PDB 在更高版本的目标 CDB 中构建 PDB 的副本。当需要升级时,请执行最后一次刷新并升级可刷新的 PDB。
    以上两个选项都需要额外的磁盘空间来保存数据库的副本。

当然,你也可以使用常规备份作为后备。

如果是有以下情况:

  • 你的目标 CDB 有Standby Database?
    目前,如果目标 CDB 有Standby Database,请不要使用 AutoUpgrade 进行拔插升级。使用Standby Database进行插件操作是一项棘手的操作,至少在你想要重用数据文件时是这样。我们仍在试图弄清楚如何在自动升级中实现它。

话虽如此,这绝对是可行的。您可以在以下 MOS 说明中了解更多信息:

  1. Reusing the Source Standby Database Files When Plugging a PDB into the Primary
  2. Database of a Data Guard Configuration (Doc ID 2273829.1)
    aking Use Deferred PDB Recovery and the STANDBYS=NONE Feature with Oracle Multitenant (Doc ID 1916648.1)
  • 您正在使用TDE表空间加密?
    目前,如果PDB中的任何表空间使用了TDE tablespace Encryption加密,不要使用AutoUpgrade执行unplug-plug升级。 我们正在努力使AutoUpgrade能够更好地与TDE密钥库交互,所以请留意即将推出的版本

如果目标CDB中启用了“TDE Tablespace Encryption”,仍然可以使用“AutoUpgrade”。 PDB将作为未加密的PDB插入。

结论

自版本 21 起,AutoUpgrade 支持进行拔插升级。它包括用于重命名 PDB 和使用拔出数据文件副本的有用功能。

延伸阅读

  • Understanding Unplug-Plug Upgrades with AutoUpgrade – Oracle Database 21c Upgrade Guide
  • About Refreshable Clone PDBs – Oracle Database 19c Administrator’s Guide
  • Upgrading in the cloud – VM DB Systems – 12.2.0.1 PDB to 19c – blog post
  • New Version of AutoUpgrade – blog post
  • AutoUpgrade Tool (Doc ID 2485457.1) – My Oracle Support
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论