12.2 Rman 跨平台传输 PDB 到目的 CDB

KB121961

上次更新时间

Nov 30, 2025

服务

Generation 1 - Exadata Cloud at Customer (First Generation Cloud Machine), Oracle Cloud Infrastructure - Database Service, Oracle Database - Enterprise Edition, Oracle Database Exadata Express Cloud Service


第一个对此文章评级

适用于

All Users

概要

Goal

注意:在下面的图像和/或文档内容中,所使用的用户信息和环境数据表示来自Oracle示例模式,随Oracle数据库产品一起提供的公共文档或其他培训材料的虚拟数据。 与实际环境的任何相似之处,纯属巧合,绝不以任何方式提供。

为了本文档的目的,以下虚拟环境用作描述过程的示例:

Database names: SRC122, DEST122
Pluggable database name: PDB1
New container database name: DEST_DB

********



使用 Rman,Pluggable database (PDBs) 可以被传送到不同平台并插入到目标的 CDB 中,连同 PDB 的备份,Rman 也会 copy 必要的元数据(metadata) 到目标CDB 端。源 CDB 和目标 CDB 必须是相同的字节序(Endian).

下面的步骤展示了如何从 Solaris(Big Endian) 迁移一个关闭的 PDB 到 AIX (Big Endian) 平台。

SQL> select name,open_mode,platform_name from v$database;

Source:

NAME      OPEN_MODE     PLATFORM_NAME
--------- ------------- ------------------------
SRC122    READ WRITE    Solaris[tm] OE (64-bit)

Destination:

NAME      OPEN_MODE    PLATFORM_NAME
--------- ------------ ---------------------------
DEST122   READ WRITE   AIX-Based Systems (64-bit) 

Solution

解决方案

1. 关闭源 PDB:

SQL> alter pluggable database PDB1 close immediate;

2. 备份源 PDB:

RMAN> backup for transport
2> unplug into '<path>/backup/PDB1_Metadata.xml'
3> format '<path>/backup/PDB1_BKP_%U'
4> pluggable database PDB1;

3. 用 SCP 传送备份集合和 PDB 元数据(metadata)到目标端:

4. 在目标端使用 dbms_pdb.check_plug_compatibility 检测是否可以 pluggin:

set serveroutput on
declare
c boolean;
begin
c:=dbms_pdb.check_plug_compatibility('<path>/backup/PDB1_Metadata.xml','PDB1');
if (c) then dbms_output.put_line('True');
else dbms_output.put_line('False');
end if;
end;
/

5. 在目标端还原 (Restore) PDB:

RMAN> restore using '<path>/backup/PDB1_Metadata.xml'
2> foreign pluggable database PDB1
3> format '<path>/oradata/DEST_DB/%U'
4> from backupset '<path>/backup/PDB1_BKP_02s9sj0u_1_1';

6. 在目标端打开 PDB1:

SQL> alter pluggable database PDB1 open;

备注:本文档涵盖了使用一致性备份进行PDB的跨平台迁移策略.为减少停机时间,迁移工作也可以采用归档情况下的非一致性备份,这种情况的备份是PDB 在open read write 情况下,采用 FOR TRANSPORT 以及 ALLOW INCONSISTENT进行的PDB level0的备份,然后,在pdb 关闭情况下通过 FROM SCN 和 UNPLUG INTO (12.2新的关键字) 进行的level 1的备份,同时也要得到PDB的元数据.

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐