Oracle多租户集群PDB异机数据泵恢复至单机

目录

一、实操数据准备

1.1.获取源库信息

1.2.创建一个新的pdb并插入数据

1.2.1.查看当前环境并删除多余的pdb

[1.2.2.创建名为 DATA_PUMP_PDB 的 PDB](#1.2.2.创建名为 DATA_PUMP_PDB 的 PDB)

[1.2.3.打开 PDB](#1.2.3.打开 PDB)

[1.2.4.切换到 DATA_PUMP_PDB20260615](#1.2.4.切换到 DATA_PUMP_PDB20260615)

1.2.5.查看当前用户及所使用的默认表空间

1.2.6.创建测试表空间

1.2.7.创建业务用户并授权(避免使用sys/system)

1.2.8.创建测试表并插入数据

1.2.9.验证准备数据

二、数据泵导出测试PDB

2.1.创建目录

2.1.1.创建物理目录

2.1.2.在pdb中创建目录对象

2.2.配置TNS连接

2.2.1.获取当前PDB的服务名

2.2.2.配置tnsnames.ora监听

2.2.3.测试tns监听连接是否正常

2.2.4.配置动态监听注册

2.2.4.测试连接

2.3.授予必要条件

2.3.1.授予数据泵角色和目录读写权限

2.4.导出整个PDB

三、准备单机环境

3.1.搭建单机恢复环境

3.2.将备份的文件下载到本地或传输

四、执行备份恢复

4.1.删除历史pdbs

4.2.创建测试用例表空间和临时表空间

4.3.创建空PDB

4.4.在容器中创建表空间

4.5.创建导入用户,分配默认和临时表空间

4.6.进行导入操作

五、验证测试

5.1.测试数据完整性


需求:

需要将集群中特定的PDB通过数据泵的方式恢复至单机部署的数据库中!

一、实操数据准备

1.1.获取源库信息

在RAC环境的任意一个节点上,以 sysdba 身份执行以下查询,并准确记录 返回的DBID和DB_NAME(这是后续恢复的关键)。

bash 复制代码
[oracle@p19c01 ~]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Fri Jun 5 09:17:59 2026
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.


Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

SQL> select dbid,name from v$database;

      DBID NAME
---------- ---------
1583063084 P19C0

SQL>
SQL> desc v$database;

关键信息:

SQL> select dbid,name from v$database;

DBID NAME


1583063084 P19C0

1.2.创建一个新的pdb并插入数据

1.2.1.查看当前环境并删除多余的pdb

查看当前CDB信息

select name,dbid,cdb from v$database;

查看已有的PDB

bash 复制代码
[oracle@p19c01 ~]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Mon Jun 15 11:32:44 2026
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.


Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

SQL>
SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 ORCLPDB                        READ WRITE NO
         4 RMAN_PDB                       MOUNTED
         5 DATA_PUMP_PDB                  READ WRITE NO
SQL>
SQL>
SQL> alter pluggable database rman_pdb close immediate;
alter pluggable database rman_pdb close immediate
*
ERROR at line 1:
ORA-65020: pluggable database RMAN_PDB already closed


SQL> alter pluggable database data_pump_pdb close immediate;

Pluggable database altered.

SQL>
SQL> drop pluggable database rman_pdb including datafiles;

Pluggable database dropped.

SQL>
SQL> drop pluggable database data_pump_pdb including datafiles;

Pluggable database dropped.

SQL>
SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 ORCLPDB                        READ WRITE NO
SQL>

查看当前的实例名和主机名

select instance_name,host_name from v$instance;

1.2.2.创建名为 DATA_PUMP_PDB 的 PDB

创建出一个新 PDB 叫 DATA_PUMP_PDB ,其管理员是 DataPumpUser01 (密码 oracle),所有数据文件存放由ASM自动存储管理来自己进行。

create pluggable database DATA_PUMP_PDB20260615 admin user DataPumpUser01 identified by oracle;

bash 复制代码
SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 ORCLPDB                        READ WRITE NO
SQL>
SQL>
SQL> create pluggable database DATA_PUMP_PDB20260615 admin user DataPumpUser01 identified by oracle;

Pluggable database created.

SQL>
SQL> show pdbs;

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 ORCLPDB                        READ WRITE NO
         4 DATA_PUMP_PDB20260615          MOUNTED
SQL>

1.2.3.打开 PDB

alter session set container=DATA_PUMP_PDB20260615 ;

alter database open;

也可以一步到位:alter pluggable database DATA_PUMP_PDB20260615 open;

1.2.4.切换到 DATA_PUMP_PDB20260615

alter session set container=DATA_PUMP_PDB20260615 ;

在pdb中执行,查看当前pdb的服务名

select name,pdb from v$services where pdb is not null;

1.2.5.查看当前用户及所使用的默认表空间

bash 复制代码
SQL> show user;
USER is "SYS"
SQL>
SQL>
SQL> select username,default_tablespace from dba_users where username='SYS';

USERNAME                                                                                                                         DEFAULT_TABLESPACE
-------------------------------------------------------------------------------------------------------------------------------- ------------------------------
SYS                                                                                                                              SYSTEM

SQL>

显然,在没有指定用户,默认的情况下,我们在切换PDB的时候,默认的用户是sys,默认使用的表空间也是system。

1.2.6.创建测试表空间

创建专门的测试表空间

-- 创建独立的业务表空间

CREATE TABLESPACE business_data DATAFILE SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE 1G;

1.2.7.创建业务用户并授权(避免使用sys/system)

创建并授权

create user app_user identified by appPassword default tablespace business_data temporary tablespace temp quota unlimited on business_data;

授予权限

grant connect,resource to app_user;

grant create sesssion,create table to app_user;

切换到业务用户

connect app_user/appPassword@dataPumpPdb

bash 复制代码
SQL> set linesize 200;
SQL> select username,user_id from dba_users;

USERNAME                                                                                                                            USER_ID
-------------------------------------------------------------------------------------------------------------------------------- ----------
SYS                                                                                                                                       0
SYSTEM                                                                                                                                    9
GSMCATUSER                                                                                                                               62
XS$NULL                                                                                                                          2147483638
DBSNMP                                                                                                                                   57
APPQOSSYS                                                                                                                                58
MDDATA                                                                                                                                   98
SYSBACKUP                                                                                                                        2147483617
REMOTE_SCHEDULER_AGENT                                                                                                                   35
DBSFWUSER                                                                                                                                36
GSMUSER                                                                                                                                  23

USERNAME                                                                                                                            USER_ID
-------------------------------------------------------------------------------------------------------------------------------- ----------
GGSYS                                                                                                                                    63
ANONYMOUS                                                                                                                                66
SYSRAC                                                                                                                           2147483620
CTXSYS                                                                                                                                   86
OJVMSYS                                                                                                                                  84
SI_INFORMTN_SCHEMA                                                                                                                       91
DVSYS                                                                                                                               1279990
DVF                                                                                                                                     102
AUDSYS                                                                                                                                    8
DIP                                                                                                                                      24
ORDPLUGINS                                                                                                                               90

USERNAME                                                                                                                            USER_ID
-------------------------------------------------------------------------------------------------------------------------------- ----------
GSMADMIN_INTERNAL                                                                                                                        22
LBACSYS                                                                                                                                 100
MDSYS                                                                                                                                    92
OLAPSYS                                                                                                                                  95
SYSKM                                                                                                                            2147483619
ORDDATA                                                                                                                                  89
OUTLN                                                                                                                                    13
ORACLE_OCM                                                                                                                               40
SYS$UMF                                                                                                                                  49
XDB                                                                                                                                      65
DATAPUMPUSER01                                                                                                                          105

USERNAME                                                                                                                            USER_ID
-------------------------------------------------------------------------------------------------------------------------------- ----------
SYSDG                                                                                                                            2147483618
ORDSYS                                                                                                                                   88
WMSYS                                                                                                                                    75

36 rows selected.

SQL>
SQL> create user app_user identified by appPassword default tablespace business_data temporary tablespace temp quota unlimited on business_data;

User created.

SQL>
SQL> select username from dba_users where username like '%app';

no rows selected

SQL>
SQL> select username from dba_users where username like 'APP%';

USERNAME
--------------------------------------------------------------------------------------------------------------------------------
APPQOSSYS
APP_USER

SQL>
SQL>
SQL> grant connect,resource to app_user;

Grant succeeded.

SQL>
SQL> grant create session,create table to app_user;

Grant succeeded.

SQL>
SQL> connect app_user/appPassword@dataPumpPdb
Connected.
SQL> show user;
USER is "APP_USER"
SQL>

1.2.8.创建测试表并插入数据

create table data_pump_pdb_testInfo(id number,name varchar2(200));

insert into data_pump_pdb_testInfo values(1,'张三');

insert into data_pump_pdb_testInfo values(2,'李四');

insert into data_pump_pdb_testInfo values(3,'测试将集群中特定的pdb通过数据泵方式恢复至单机环境');

commit;

1.2.9.验证准备数据

select * from data_pump_pdb_testInfo;

bash 复制代码
SQL> CREATE TABLE employees (
    id          NUMBER PRIMARY KEY,
    name        VARCHAR2(100),
    department  VARCHAR2(50),
    salary      NUMBER(10,2),
    hire_date   DATE,
    status      VARCHAR2(20)
);  2    3    4    5    6    7    8

Table created.

SQL>
SQL> BEGIN
FOR i IN 1..1200 LOOP
        INSERT INTO employees (id, name, department, salary, hire_date, status)
        VALUES (
            i,
               'Employee_' || i,
            CASE MOD(i, 5)
                WHEN 0 THEN 'IT'
                WHEN 1 THEN 'HR'
  2    3    4    5    6    7    8    9   10                          WHEN 2 THEN 'Finance'
                   WHEN 3 THEN 'Marketing'
                ELSE 'Sales'
            END,
            ROUND(DBMS_RANDOM.VALUE(30000, 120000), 2),
            SYSDATE - DBMS_RANDOM.VALUE(1, 3650),
            CASE WHEN MOD(i, 10) = 0 THEN 'Inactive' ELSE 'Active' END
        );

        -- 每 1200 条提交一次
        IF MOD(i, 1200) = 0 THEN
            COMMIT;
        END IF;
    END LOOP;
    COMMIT;
END;
/ 11   12   13   14   15   16   17   18   19   20   21   22   23   24   25   26

PL/SQL procedure successfully completed.

SQL>
SQL> select count(*) from employees;

  COUNT(*)
----------
      1200

SQL>

二、数据泵导出测试PDB

2.1.创建目录

2.1.1.创建物理目录

mkdir -p /u01/backup/data_pump_pdb

chown -R oracle:oinstall /u01/backup/data_pump_pdb

chmod 755 /u01/backup/data_pump_pdb

注意:赋权很重要,决定了等一下执行备份任务的时候,能正常的写入备份文件。

2.1.2.在pdb中创建目录对象

在pdb会话中执行

create or replace directory expdp_dir as '/u01/backup/data_pump_pdb';

查看目录是否创建成功

select directory_name,directory_path from dba_directories where directory_name = 'EXPDP_DIR';

bash 复制代码
SQL> create or replace directory expdp_dir as '/u01/backup/data_pump_pdb';

Directory created.

SQL>
SQL> column directory_name format a30;
SQL> column directory_path format a50;
SQL> select directory_name,directory_path from dba_directories where directory_name = 'EXPDP_DIR';

DIRECTORY_NAME                 DIRECTORY_PATH
------------------------------ --------------------------------------------------
EXPDP_DIR                      /u01/backup/data_pump_pdb

SQL>

2.2.配置TNS连接

2.2.1.获取当前PDB的服务名

select name,pdb from v$services where pdb is not null;

2.2.2.配置tnsnames.ora监听

编辑tnsnames.ora文件

dataPumpPdb =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.75.101)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = DATA_PUMP_PDB20260615)

)

)

2.2.3.测试tns监听连接是否正常

tnsping dataPumpPdb

能看到返回结果为ok,即映射配置是ok的。

2.2.4.配置动态监听注册

注意:配置完执行alter system register命令手动触发注册如果没有反应。就等pmon进程自己去注册,一分钟左右。

bash 复制代码
[oracle@p19c01 admin]$ cat listener.ora
# Database Listener Configuration for RAC

# 默认监听器 (1521)
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = p19c01)(PORT = 1521))
    )
  )
# 开启监听日志(方便排错)
LOGGING_LISTENER = ON
LOG_FILE_LISTENER = listener.log
LOG_DIRECTORY_LISTENER = /u01/app/oracle/diag/tnslsnr/single_oracle/listener/alert
[oracle@p19c01 admin]$

2.2.4.测试连接

sqlplus app_user/appPassword@dataPumpPdb

2.3.授予必要条件

2.3.1.授予数据泵角色和目录读写权限

连接准备导出的PDB

alter session set container=DATA_PUMP_PDB20260615

授予用户目录访问权限

grant read,write on directory expdp_dir to app_user;

授予导出所需的角色权限

grant exp_full_database to app_user;

授予用户在SYSTEM表空间的配额为无限制

alter user app_user quota unlimited on system;

bash 复制代码
[oracle@p19c01 admin]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Mon Jun 15 14:29:16 2026
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.


Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 ORCLPDB                        READ WRITE NO
         4 DATA_PUMP_PDB20260615          READ WRITE NO
SQL>
SQL> alter session set container=DATA_PUMP_PDB20260615;

Session altered.

SQL> grant read,write on directory expdp_dir to app_user;

Grant succeeded.

SQL> grant exp_full_database to app_user;

Grant succeeded.

SQL> alter user app_user quota unlimited on system;

User altered.

SQL>

2.4.导出整个PDB

expdp app_user/appPassword@dataPumpPdb directory=EXPDP_DIR dumpfile=pdb_full_%U.dmp logfile=expdp_pdb_full.log full=y parallel=2 cluster=n

注意:

导出整个PDB(full模式) → 适合完整迁移,会包含PDB下的所有schema、表空间、对象。parallel参数根据资源调整,cluster=n确保只在当前节点执行。

parallel参数根据资源调整,cluster=n确保只在当前节点执行。

bash 复制代码
[oracle@p19c01 admin]$ expdp app_user/appPassword@dataPumpPdb directory=EXPDP_DIR dumpfile=pdb_full_%U.dmp logfile=expdp_pdb_full.log full=y parallel=2 cluster=n

Export: Release 19.0.0.0.0 - Production on Mon Jun 15 14:32:13 2026
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.

Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Starting "APP_USER"."SYS_EXPORT_FULL_01":  app_user/********@dataPumpPdb directory=EXPDP_DIR dumpfile=pdb_full_%U.dmp logfile=expdp_pdb_full.log full=y parallel=2 cluster=n
Processing object type DATABASE_EXPORT/PRE_SYSTEM_IMPCALLOUT/MARKER
Processing object type DATABASE_EXPORT/PRE_INSTANCE_IMPCALLOUT/MARKER
Processing object type DATABASE_EXPORT/EARLY_OPTIONS/VIEWS_AS_TABLES/TABLE_DATA
Processing object type DATABASE_EXPORT/NORMAL_OPTIONS/VIEWS_AS_TABLES/TABLE_DATA
Processing object type DATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATA
Processing object type DATABASE_EXPORT/SCHEMA/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type DATABASE_EXPORT/SCHEMA/TABLE/STATISTICS/TABLE_STATISTICS
Processing object type DATABASE_EXPORT/STATISTICS/MARKER
Processing object type DATABASE_EXPORT/TABLESPACE
Processing object type DATABASE_EXPORT/PROFILE
Processing object type DATABASE_EXPORT/SCHEMA/USER
Processing object type DATABASE_EXPORT/RADM_FPTM
Processing object type DATABASE_EXPORT/GRANT/SYSTEM_GRANT/PROC_SYSTEM_GRANT
Processing object type DATABASE_EXPORT/SCHEMA/GRANT/SYSTEM_GRANT
Processing object type DATABASE_EXPORT/SCHEMA/ROLE_GRANT
Processing object type DATABASE_EXPORT/SCHEMA/DEFAULT_ROLE
Processing object type DATABASE_EXPORT/SCHEMA/ON_USER_GRANT
Processing object type DATABASE_EXPORT/SCHEMA/TABLESPACE_QUOTA
Processing object type DATABASE_EXPORT/RESOURCE_COST
Processing object type DATABASE_EXPORT/TRUSTED_DB_LINK
Processing object type DATABASE_EXPORT/DIRECTORY/DIRECTORY
Processing object type DATABASE_EXPORT/DIRECTORY/GRANT/OWNER_GRANT/OBJECT_GRANT
Processing object type DATABASE_EXPORT/SYSTEM_PROCOBJACT/PRE_SYSTEM_ACTIONS/PROCACT_SYSTEM
Processing object type DATABASE_EXPORT/SYSTEM_PROCOBJACT/PROCOBJ
Processing object type DATABASE_EXPORT/NORMAL_OPTIONS/TABLE_DATA
Processing object type DATABASE_EXPORT/SYSTEM_PROCOBJACT/POST_SYSTEM_ACTIONS/PRO                                                                                    CACT_SYSTEM
Processing object type DATABASE_EXPORT/SCHEMA/PROCACT_SCHEMA
Processing object type DATABASE_EXPORT/EARLY_POST_INSTANCE_IMPCALLOUT/MARKER
Processing object type DATABASE_EXPORT/EARLY_OPTIONS/VIEWS_AS_TABLES/TABLE
Processing object type DATABASE_EXPORT/NORMAL_OPTIONS/VIEWS_AS_TABLES/TABLE
Processing object type DATABASE_EXPORT/NORMAL_OPTIONS/TABLE
Processing object type DATABASE_EXPORT/NORMAL_POST_INSTANCE_IMPCALLOUT/MARKER
Processing object type DATABASE_EXPORT/SCHEMA/TABLE/TABLE
Processing object type DATABASE_EXPORT/SCHEMA/TABLE/COMMENT
Processing object type DATABASE_EXPORT/SCHEMA/TABLE/INDEX/INDEX
Processing object type DATABASE_EXPORT/SCHEMA/TABLE/CONSTRAINT/CONSTRAINT
Processing object type DATABASE_EXPORT/FINAL_POST_INSTANCE_IMPCALLOUT/MARKER
Processing object type DATABASE_EXPORT/AUDIT_UNIFIED/AUDIT_POLICY_ENABLE
Processing object type DATABASE_EXPORT/POST_SYSTEM_IMPCALLOUT/MARKER
. . exported "MDSYS"."RDF_PARAM$"                        6.515 KB       3 rows
. . exported "SYS"."KU$_USER_MAPPING_VIEW"               6.078 KB      37 rows
. . exported "APP_USER"."DATA_PUMP_PDB_TESTINFO"         5.593 KB       3 rows
. . exported "APP_USER"."EMPLOYEES"                      63.66 KB    1200 rows
. . exported "SYSTEM"."REDO_DB"                          25.59 KB       1 rows
. . exported "WMSYS"."WM$WORKSPACES_TABLE$"              12.10 KB       1 rows
. . exported "WMSYS"."WM$HINT_TABLE$"                    9.984 KB      97 rows
. . exported "LBACSYS"."OLS$INSTALLATIONS"               6.960 KB       2 rows
. . exported "WMSYS"."WM$WORKSPACE_PRIV_TABLE$"          7.078 KB      11 rows
. . exported "SYS"."DAM_CONFIG_PARAM$"                   6.531 KB      14 rows
. . exported "SYS"."TSDP_SUBPOL$"                        6.328 KB       1 rows
. . exported "WMSYS"."WM$NEXTVER_TABLE$"                 6.375 KB       1 rows
. . exported "LBACSYS"."OLS$PROPS"                       6.234 KB       5 rows
. . exported "WMSYS"."WM$ENV_VARS$"                      6.015 KB       3 rows
. . exported "SYS"."TSDP_PARAMETER$"                     5.953 KB       1 rows
. . exported "SYS"."TSDP_POLICY$"                        5.921 KB       1 rows
. . exported "WMSYS"."WM$VERSION_HIERARCHY_TABLE$"       5.984 KB       1 rows
. . exported "WMSYS"."WM$EVENTS_INFO$"                   5.812 KB      12 rows
. . exported "LBACSYS"."OLS$AUDIT_ACTIONS"               5.757 KB       8 rows
. . exported "LBACSYS"."OLS$DIP_EVENTS"                  5.539 KB       2 rows
. . exported "AUDSYS"."AUD$UNIFIED":"AUD_UNIFIED_P0"     50.95 KB       0 rows
. . exported "SYS"."AUDTAB$TBS$FOR_EXPORT"               5.953 KB       2 rows
. . exported "SYS"."DBA_SENSITIVE_DATA"                      0 KB       0 rows
. . exported "SYS"."DBA_TSDP_POLICY_PROTECTION"              0 KB       0 rows
. . exported "SYS"."FGA_LOG$FOR_EXPORT"                      0 KB       0 rows
. . exported "AUDSYS"."AUD$UNIFIED":"SYS_P221"           100.1 KB      96 rows
. . exported "SYS"."NACL$_ACE_EXP"                           0 KB       0 rows
. . exported "AUDSYS"."AUD$UNIFIED":"SYS_P248"           52.35 KB       3 rows
. . exported "LBACSYS"."OLS$AUDIT"                           0 KB       0 rows
. . exported "LBACSYS"."OLS$COMPARTMENTS"                    0 KB       0 rows
. . exported "LBACSYS"."OLS$DIP_DEBUG"                       0 KB       0 rows
. . exported "LBACSYS"."OLS$GROUPS"                          0 KB       0 rows
. . exported "LBACSYS"."OLS$LAB"                             0 KB       0 rows
. . exported "LBACSYS"."OLS$LEVELS"                          0 KB       0 rows
. . exported "LBACSYS"."OLS$POL"                             0 KB       0 rows
. . exported "LBACSYS"."OLS$POLICY_ADMIN"                    0 KB       0 rows
. . exported "LBACSYS"."OLS$POLS"                            0 KB       0 rows
. . exported "LBACSYS"."OLS$POLT"                            0 KB       0 rows
. . exported "LBACSYS"."OLS$PROFILE"                         0 KB       0 rows
. . exported "LBACSYS"."OLS$PROFILES"                        0 KB       0 rows
. . exported "LBACSYS"."OLS$PROG"                            0 KB       0 rows
. . exported "LBACSYS"."OLS$SESSINFO"                        0 KB       0 rows
. . exported "LBACSYS"."OLS$USER"                            0 KB       0 rows
. . exported "LBACSYS"."OLS$USER_COMPARTMENTS"               0 KB       0 rows
. . exported "LBACSYS"."OLS$USER_GROUPS"                     0 KB       0 rows
. . exported "LBACSYS"."OLS$USER_LEVELS"                     0 KB       0 rows
. . exported "SYS"."AUD$"                                23.47 KB       0 rows
. . exported "SYS"."DAM_CLEANUP_EVENTS$"                 7.187 KB       0 rows
. . exported "SYS"."DAM_CLEANUP_JOBS$"                   7.171 KB       0 rows
. . exported "SYS"."TSDP_ASSOCIATION$"                       0 KB       0 rows
. . exported "SYS"."TSDP_CONDITION$"                         0 KB       0 rows
. . exported "SYS"."TSDP_FEATURE_POLICY$"                    0 KB       0 rows
. . exported "SYS"."TSDP_PROTECTION$"                        0 KB       0 rows
. . exported "SYS"."TSDP_SENSITIVE_DATA$"                    0 KB       0 rows
. . exported "SYS"."TSDP_SENSITIVE_TYPE$"                    0 KB       0 rows
. . exported "SYS"."TSDP_SOURCE$"                            0 KB       0 rows
. . exported "SYSTEM"."REDO_LOG"                             0 KB       0 rows
. . exported "WMSYS"."WM$BATCH_COMPRESSIBLE_TABLES$"         0 KB       0 rows
. . exported "WMSYS"."WM$CONSTRAINTS_TABLE$"                 0 KB       0 rows
. . exported "WMSYS"."WM$CONS_COLUMNS$"                      0 KB       0 rows
. . exported "WMSYS"."WM$LOCKROWS_INFO$"                     0 KB       0 rows
. . exported "WMSYS"."WM$MODIFIED_TABLES$"                   0 KB       0 rows
. . exported "WMSYS"."WM$MP_GRAPH_WORKSPACES_TABLE$"         0 KB       0 rows
. . exported "WMSYS"."WM$MP_PARENT_WORKSPACES_TABLE$"        0 KB       0 rows
. . exported "WMSYS"."WM$NESTED_COLUMNS_TABLE$"              0 KB       0 rows
. . exported "WMSYS"."WM$RESOLVE_WORKSPACES_TABLE$"          0 KB       0 rows
. . exported "WMSYS"."WM$RIC_LOCKING_TABLE$"                 0 KB       0 rows
. . exported "WMSYS"."WM$RIC_TABLE$"                         0 KB       0 rows
. . exported "WMSYS"."WM$RIC_TRIGGERS_TABLE$"                0 KB       0 rows
. . exported "WMSYS"."WM$UDTRIG_DISPATCH_PROCS$"             0 KB       0 rows
. . exported "WMSYS"."WM$UDTRIG_INFO$"                       0 KB       0 rows
. . exported "WMSYS"."WM$VERSION_TABLE$"                     0 KB       0 rows
. . exported "WMSYS"."WM$VT_ERRORS_TABLE$"                   0 KB       0 rows
. . exported "WMSYS"."WM$WORKSPACE_SAVEPOINTS_TABLE$"        0 KB       0 rows
. . exported "SYS"."NACL$_HOST_EXP"                      6.914 KB       1 rows
. . exported "SYS"."NACL$_WALLET_EXP"                        0 KB       0 rows
. . exported "SYS"."SQL$TEXT_DATAPUMP"                       0 KB       0 rows
. . exported "SYS"."SQL$_DATAPUMP"                           0 KB       0 rows
. . exported "SYS"."SQLOBJ$AUXDATA_DATAPUMP"                 0 KB       0 rows
. . exported "SYS"."SQLOBJ$DATA_DATAPUMP"                    0 KB       0 rows
. . exported "SYS"."SQLOBJ$PLAN_DATAPUMP"                    0 KB       0 rows
. . exported "SYS"."SQLOBJ$_DATAPUMP"                        0 KB       0 rows
. . exported "SYSTEM"."SCHEDULER_JOB_ARGS"                   0 KB       0 rows
. . exported "SYSTEM"."SCHEDULER_PROGRAM_ARGS"               0 KB       0 rows
. . exported "WMSYS"."WM$EXP_MAP"                        7.718 KB       3 rows
. . exported "WMSYS"."WM$METADATA_MAP"                       0 KB       0 rows
Master table "APP_USER"."SYS_EXPORT_FULL_01" successfully loaded/unloaded
******************************************************************************
Dump file set for APP_USER.SYS_EXPORT_FULL_01 is:
  /u01/backup/data_pump_pdb/pdb_full_01.dmp
  /u01/backup/data_pump_pdb/pdb_full_02.dmp
Job "APP_USER"."SYS_EXPORT_FULL_01" successfully completed at Mon Jun 15 14:38:25 2026 elapsed 0 00:06:05

[oracle@p19c01 admin]$

三、准备单机环境

3.1.搭建单机恢复环境

省略。Oracle19c单机部署(本地)附网盘资源_本地部署oracle-CSDN博客

3.2.将备份的文件下载到本地或传输

准备接收的目录

mkdir -p /u01/backup/data_pump_pdb/

chown -R oracle:oinstall /u01/backup/data_pump_pdb/

也可以通过scp传输,这里因为选用scp传输的方式

scp 选项 源文件 目标主机:目标路径

传输 PDB 备份文件到目标主机

scp /u01/backup/data_pump_pdb/* oracle@192.168.75.155:/u01/backup/data_pump_pdb/

验证传输数据

四、执行备份恢复

4.1.删除历史pdbs

ALTER PLUGGABLE DATABASE DATA_PUMP_PDB CLOSE IMMEDIATE;

DROP PLUGGABLE DATABASE DATA_PUMP_PDB INCLUDING DATAFILES;

4.2.创建测试用例表空间和临时表空间

查看当前有哪些表空间

select name from v$tablespace;

select tablespace_name from dba_tablespaces order by tablespace_name;

创建表空间

CREATE TABLESPACE DATA_PUMP_PDB_tablespace DATAFILE SIZE 50M

AUTOEXTEND ON

NEXT 64M MAXSIZE 2G

EXTENT MANAGEMENT LOCAL;

创建临时表空间

bash 复制代码
SQL> CREATE TEMPORARY TABLESPACE temp_default
  TEMPFILE '/u01/oradata/temp_default.dbf' SIZE 1G
  AUTOEXTEND ON NEXT 200M MAXSIZE 10G;  2    3

Tablespace created.

SQL>
SQL> ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp_default;

Database altered.

SQL>

4.3.创建空PDB

CREATE PLUGGABLE DATABASE DATA_PUMP_PDB

ADMIN USER pdbadmin IDENTIFIED BY pdbpass

ROLES=(dba)

DEFAULT TABLESPACE DATA_PUMP_PDB_tablespace

CREATE_FILE_DEST='/u01/oradata/DATA_PUMP_PDB';

4.4.在容器中创建表空间

bash 复制代码
SQL> SHOW PDBS;

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 ORCLPDB                        MOUNTED
         5 DATA_PUMP_PDB                  MOUNTED
SQL>
SQL>
SQL> alter session set container=DATA_PUMP_PDB;

Session altered.

SQL>
SQL> show con_name;

CON_NAME
------------------------------
DATA_PUMP_PDB
SQL>
SQL> alter database open;

Database altered.

SQL>
SQL> select name from v$tablespace;

NAME
------------------------------
DATA_PUMP_PDB_TABLESPACE
SYSTEM
SYSAUX
UNDOTBS1
TEMP

SQL> CREATE TABLESPACE DATA DATAFILE SIZE 50M
AUTOEXTEND  ON
NEXT 64M MAXSIZE 32766M
EXTENT MANAGEMENT LOCAL;
  2    3    4
Tablespace created.

SQL>
SQL> select name from v$tablespace;

NAME
------------------------------
DATA_PUMP_PDB_TABLESPACE
DATA
SYSTEM
SYSAUX
UNDOTBS1
TEMP

6 rows selected.

SQL>

4.5.创建导入用户,分配默认和临时表空间

查看源端用户详细权限

-- 查看用户拥有的系统权限

SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE = 'app_user';

-- 查看用户拥有的角色权限

SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE = 'app_user';

-- 查看用户是否是DBA

SELECT GRANTED_ROLE FROM DBA_ROLE_PRIVS WHERE GRANTEE = 'app_user' AND GRANTED_ROLE = 'DBA';

授权

bash 复制代码
SQL> CREATE OR REPLACE DIRECTORY impdir AS '/u01/backup/data_pump_pdb/';

Directory created.

SQL>
SQL> select tablespace_name,status,contents from dba_tablespaces;

TABLESPACE_NAME                STATUS    CONTENTS
------------------------------ --------- ---------------------
SYSTEM                         ONLINE    PERMANENT
SYSAUX                         ONLINE    PERMANENT
UNDOTBS1                       ONLINE    UNDO
TEMP                           ONLINE    TEMPORARY
BUSINESS_DATA                  ONLINE    PERMANENT

SQL> GRANT WRITE,READ ON DIRECTORY impdir TO app_user;

Grant succeeded.

SQL> grant dba to app_user;

Grant succeeded.

SQL> show con_name;

CON_NAME
------------------------------
DATA_PUMP_PDB20260615
SQL>
SQL> SELECT directory_name, directory_path FROM dba_directories WHERE directory_name = 'IMPDIR';

DIRECTORY_NAME
--------------------------------------------------------------------------------
DIRECTORY_PATH
--------------------------------------------------------------------------------
IMPDIR
/u01/backup/data_pump_pdb/


SQL>

4.6.进行导入操作

impdp app_user/appPassword@dataPumpPdb directory=impdir dumpfile=pdb_full_%U.dump logfile=expdb_pdb_full.log full=y parallel=2 exclude=user

bash 复制代码
[oracle@single_oracle backup]$ impdp app_user/appPassword@dataPumpPdb directory=impdir dumpfile=pdb_full_01.dmp,pdb_full_02.dmp logfile=expdb_pdb_full_new.log full=y

Import: Release 19.0.0.0.0 - Production on Mon Jun 15 15:59:56 2026
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.

Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Master table "APP_USER"."SYS_IMPORT_FULL_01" successfully loaded/unloaded
Starting "APP_USER"."SYS_IMPORT_FULL_01":  app_user/********@dataPumpPdb directory=impdir dumpfile=pdb_full_01.dmp,pdb_full_02.dmp logfile=expdb_pdb_full_new.log full=y
Processing object type DATABASE_EXPORT/PRE_SYSTEM_IMPCALLOUT/MARKER
Processing object type DATABASE_EXPORT/PRE_INSTANCE_IMPCALLOUT/MARKER
Processing object type DATABASE_EXPORT/TABLESPACE
ORA-31684: Object type TABLESPACE:"UNDOTBS1" already exists

ORA-31684: Object type TABLESPACE:"TEMP" already exists

ORA-31684: Object type TABLESPACE:"BUSINESS_DATA" already exists

Processing object type DATABASE_EXPORT/PROFILE
Processing object type DATABASE_EXPORT/SCHEMA/USER
ORA-31684: Object type USER:"APP_USER" already exists

Processing object type DATABASE_EXPORT/RADM_FPTM
Processing object type DATABASE_EXPORT/GRANT/SYSTEM_GRANT/PROC_SYSTEM_GRANT
ORA-39083: Object type PROC_SYSTEM_GRANT failed to create with error:
ORA-04031: unable to allocate 4096 bytes of shared memory ("java pool","java/lang/ref/Reference$Lock","JOXLE^4b2b34cc",":SGAClass")

Failing sql is:
BEGIN
DECLARE
   TJP SYS.DBMS_JVM_EXP_PERMS.TEMP_JAVA_POLICY;
   CURSOR C1 IS SELECT KIND,GRANTEE,TYPE_SCHEMA,TYPE_NAME,
                       NAME,ACTION,ENABLED FROM TEMP_JAVA_PRIVS;
BEGIN
   OPEN C1;
   FETCH C1 BULK COLLECT INTO TJP;
   CLOSE C1;
   SYS.DBMS_JVM_EXP_PERMS.IMPORT_JVM_PERMS(TJP);
   EXECUTE IMMEDIATE('DROP TABLE TEMP_JAVA_PRIVS');
END;COMMIT; END;

Processing object type DATABASE_EXPORT/SCHEMA/GRANT/SYSTEM_GRANT
Processing object type DATABASE_EXPORT/SCHEMA/ROLE_GRANT
Processing object type DATABASE_EXPORT/SCHEMA/DEFAULT_ROLE
Processing object type DATABASE_EXPORT/SCHEMA/ON_USER_GRANT
Processing object type DATABASE_EXPORT/SCHEMA/TABLESPACE_QUOTA
Processing object type DATABASE_EXPORT/RESOURCE_COST
Processing object type DATABASE_EXPORT/TRUSTED_DB_LINK
Processing object type DATABASE_EXPORT/DIRECTORY/DIRECTORY
Processing object type DATABASE_EXPORT/DIRECTORY/GRANT/OWNER_GRANT/OBJECT_GRANT
Processing object type DATABASE_EXPORT/SYSTEM_PROCOBJACT/PRE_SYSTEM_ACTIONS/PROCACT_SYSTEM
>>> Cannot set an SCN larger than the current SCN. If a Streams Capture configuration was imported then the Apply that processes the captured messages needs to be dropped and recreated. See My Oracle Support article number 1380295.1.
Processing object type DATABASE_EXPORT/SYSTEM_PROCOBJACT/PROCOBJ
Processing object type DATABASE_EXPORT/SYSTEM_PROCOBJACT/POST_SYSTEM_ACTIONS/PROCACT_SYSTEM
Processing object type DATABASE_EXPORT/SCHEMA/PROCACT_SCHEMA
Processing object type DATABASE_EXPORT/EARLY_OPTIONS/VIEWS_AS_TABLES/TABLE
Processing object type DATABASE_EXPORT/EARLY_OPTIONS/VIEWS_AS_TABLES/TABLE_DATA
. . imported "SYS"."KU$_EXPORT_USER_MAP"                 6.078 KB      37 rows
Processing object type DATABASE_EXPORT/EARLY_POST_INSTANCE_IMPCALLOUT/MARKER
Processing object type DATABASE_EXPORT/NORMAL_OPTIONS/TABLE
Processing object type DATABASE_EXPORT/NORMAL_OPTIONS/TABLE_DATA
. . imported "SYSTEM"."REDO_DB_TMP"                      25.59 KB       1 rows
. . imported "WMSYS"."E$WORKSPACES_TABLE$"               12.10 KB       1 rows
. . imported "WMSYS"."E$HINT_TABLE$"                     9.984 KB      97 rows
. . imported "WMSYS"."E$WORKSPACE_PRIV_TABLE$"           7.078 KB      11 rows
. . imported "SYS"."AMGT$DP$DAM_CONFIG_PARAM$"           6.531 KB      14 rows
. . imported "SYS"."DP$TSDP_SUBPOL$"                     6.328 KB       1 rows
. . imported "WMSYS"."E$NEXTVER_TABLE$"                  6.375 KB       1 rows
. . imported "WMSYS"."E$ENV_VARS$"                       6.015 KB       3 rows
. . imported "SYS"."DP$TSDP_PARAMETER$"                  5.953 KB       1 rows
. . imported "SYS"."DP$TSDP_POLICY$"                     5.921 KB       1 rows
. . imported "WMSYS"."E$VERSION_HIERARCHY_TABLE$"        5.984 KB       1 rows
. . imported "WMSYS"."E$EVENTS_INFO$"                    5.812 KB      12 rows
. . imported "AUDSYS"."AMGT$DP$AUD$UNIFIED":"AUD_UNIFIED_P0"  50.95 KB       0 rows
. . imported "AUDSYS"."AMGT$DP$AUD$UNIFIED":"SYS_P221"   100.1 KB      96 rows
. . imported "AUDSYS"."AMGT$DP$AUD$UNIFIED":"SYS_P248"   52.35 KB       3 rows
. . imported "LBACSYS"."OLS_DP$OLS$AUDIT"                    0 KB       0 rows
. . imported "LBACSYS"."OLS_DP$OLS$COMPARTMENTS"             0 KB       0 rows
. . imported "LBACSYS"."OLS_DP$OLS$GROUPS"                   0 KB       0 rows
. . imported "LBACSYS"."OLS_DP$OLS$LAB"                      0 KB       0 rows
. . imported "LBACSYS"."OLS_DP$OLS$LEVELS"                   0 KB       0 rows
. . imported "LBACSYS"."OLS_DP$OLS$POL"                      0 KB       0 rows
. . imported "LBACSYS"."OLS_DP$OLS$POLS"                     0 KB       0 rows
. . imported "LBACSYS"."OLS_DP$OLS$POLT"                     0 KB       0 rows
. . imported "LBACSYS"."OLS_DP$OLS$PROFILE"                  0 KB       0 rows
. . imported "LBACSYS"."OLS_DP$OLS$PROG"                     0 KB       0 rows
. . imported "LBACSYS"."OLS_DP$OLS$USER"                     0 KB       0 rows
. . imported "SYS"."AMGT$DP$AUD$"                        23.47 KB       0 rows
. . imported "SYS"."AMGT$DP$DAM_CLEANUP_EVENTS$"         7.187 KB       0 rows
. . imported "SYS"."AMGT$DP$DAM_CLEANUP_JOBS$"           7.171 KB       0 rows
. . imported "SYS"."DP$TSDP_ASSOCIATION$"                    0 KB       0 rows
. . imported "SYS"."DP$TSDP_CONDITION$"                      0 KB       0 rows
. . imported "SYS"."DP$TSDP_FEATURE_POLICY$"                 0 KB       0 rows
. . imported "SYS"."DP$TSDP_PROTECTION$"                     0 KB       0 rows
. . imported "SYS"."DP$TSDP_SENSITIVE_DATA$"                 0 KB       0 rows
. . imported "SYS"."DP$TSDP_SENSITIVE_TYPE$"                 0 KB       0 rows
. . imported "SYS"."DP$TSDP_SOURCE$"                         0 KB       0 rows
. . imported "SYSTEM"."REDO_LOG_TMP"                         0 KB       0 rows
. . imported "WMSYS"."E$BATCH_COMPRESSIBLE_TABLES$"          0 KB       0 rows
. . imported "WMSYS"."E$CONSTRAINTS_TABLE$"                  0 KB       0 rows
. . imported "WMSYS"."E$CONS_COLUMNS$"                       0 KB       0 rows
. . imported "WMSYS"."E$LOCKROWS_INFO$"                      0 KB       0 rows
. . imported "WMSYS"."E$MODIFIED_TABLES$"                    0 KB       0 rows
. . imported "WMSYS"."E$MP_GRAPH_WORKSPACES_TABLE$"          0 KB       0 rows
. . imported "WMSYS"."E$MP_PARENT_WORKSPACES_TABLE$"         0 KB       0 rows
. . imported "WMSYS"."E$NESTED_COLUMNS_TABLE$"               0 KB       0 rows
. . imported "WMSYS"."E$RESOLVE_WORKSPACES_TABLE$"           0 KB       0 rows
. . imported "WMSYS"."E$RIC_LOCKING_TABLE$"                  0 KB       0 rows
. . imported "WMSYS"."E$RIC_TABLE$"                          0 KB       0 rows
. . imported "WMSYS"."E$RIC_TRIGGERS_TABLE$"                 0 KB       0 rows
. . imported "WMSYS"."E$UDTRIG_DISPATCH_PROCS$"              0 KB       0 rows
. . imported "WMSYS"."E$UDTRIG_INFO$"                        0 KB       0 rows
. . imported "WMSYS"."E$VERSION_TABLE$"                      0 KB       0 rows
. . imported "WMSYS"."E$VT_ERRORS_TABLE$"                    0 KB       0 rows
. . imported "WMSYS"."E$WORKSPACE_SAVEPOINTS_TABLE$"         0 KB       0 rows
Processing object type DATABASE_EXPORT/NORMAL_OPTIONS/VIEWS_AS_TABLES/TABLE
Processing object type DATABASE_EXPORT/NORMAL_OPTIONS/VIEWS_AS_TABLES/TABLE_DATA
. . imported "MDSYS"."RDF_PARAM$TBL"                     6.515 KB       3 rows
. . imported "SYS"."AMGT$DP$AUDTAB$TBS$FOR_EXPORT"       5.953 KB       2 rows
. . imported "SYS"."DP$DBA_SENSITIVE_DATA"                   0 KB       0 rows
. . imported "SYS"."DP$DBA_TSDP_POLICY_PROTECTION"           0 KB       0 rows
. . imported "SYS"."AMGT$DP$FGA_LOG$FOR_EXPORT"              0 KB       0 rows
. . imported "SYS"."NACL$_ACE_IMP"                           0 KB       0 rows
. . imported "SYS"."NACL$_HOST_IMP"                      6.914 KB       1 rows
. . imported "SYS"."NACL$_WALLET_IMP"                        0 KB       0 rows
. . imported "SYS"."DATAPUMP$SQL$TEXT"                       0 KB       0 rows
. . imported "SYS"."DATAPUMP$SQL$"                           0 KB       0 rows
. . imported "SYS"."DATAPUMP$SQLOBJ$AUXDATA"                 0 KB       0 rows
. . imported "SYS"."DATAPUMP$SQLOBJ$DATA"                    0 KB       0 rows
. . imported "SYS"."DATAPUMP$SQLOBJ$PLAN"                    0 KB       0 rows
. . imported "SYS"."DATAPUMP$SQLOBJ$"                        0 KB       0 rows
. . imported "SYSTEM"."SCHEDULER_JOB_ARGS_TMP"               0 KB       0 rows
. . imported "SYSTEM"."SCHEDULER_PROGRAM_ARGS_TMP"           0 KB       0 rows
. . imported "WMSYS"."E$EXP_MAP"                         7.718 KB       3 rows
. . imported "WMSYS"."E$METADATA_MAP"                        0 KB       0 rows
Processing object type DATABASE_EXPORT/NORMAL_POST_INSTANCE_IMPCALLOUT/MARKER
Processing object type DATABASE_EXPORT/SCHEMA/TABLE/TABLE
Processing object type DATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATA
. . imported "APP_USER"."DATA_PUMP_PDB_TESTINFO"         5.593 KB       3 rows
. . imported "APP_USER"."EMPLOYEES"                      63.66 KB    1200 rows
Processing object type DATABASE_EXPORT/SCHEMA/TABLE/CONSTRAINT/CONSTRAINT
Processing object type DATABASE_EXPORT/SCHEMA/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type DATABASE_EXPORT/SCHEMA/TABLE/STATISTICS/TABLE_STATISTICS
Processing object type DATABASE_EXPORT/STATISTICS/MARKER

UDI-04031: operation generated ORACLE error 4031
ORA-04031: unable to allocate 40 bytes of shared memory ("shared pool","SELECT job_id FROM sys.v_$da...","SQLA","tmp")
ORA-06512: at "SYS.DBMS_DATAPUMP", line 4747
ORA-06512: at "SYS.DBMS_DATAPUMP", line 4571
ORA-06512: at "SYS.KUPC$QUE_INT", line 1810
ORA-06512: at "SYS.KUPV$FT_INT", line 3417
ORA-06512: at "SYS.KUPV$FT_INT", line 3372
ORA-06512: at "SYS.KUPC$QUE_INT", line 617
ORA-25254: time-out in LISTEN while waiting for a message
ORA-06512: at "SYS.DBMS_AQ", line 1163
ORA-06512: at "SYS.KUPC$QUE_INT"
[oracle@single_oracle backup]$

五、验证测试

5.1.测试数据完整性

bash 复制代码
[oracle@single_oracle data_pump_pdb]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Mon Jun 15 16:08:19 2026
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.


Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 ORCLPDB                        MOUNTED
         4 DATA_PUMP_PDB                  READ WRITE NO
SQL>
SQL> alter session set container=DATA_PUMP_PDB;

Session altered.

SQL> EXEC DBMS_STATS.GATHER_TABLE_STATS('APP_USER', 'EMPLOYEES');

PL/SQL procedure successfully completed.

SQL> EXEC DBMS_STATS.GATHER_TABLE_STATS('APP_USER', 'DATA_PUMP_PDB_TESTINFO');

PL/SQL procedure successfully completed.

SQL> 
SQL> set linesize 200;
SQL> column name format a50;
SQL> select * from DATA_PUMP_PDB_TESTINFO;

        ID NAME
---------- --------------------------------------------------
         1 张三
         2 李四
         3 测试将集群中特定的pdb通过数据泵方式恢复至单机环境

SQL> select count(*) from EMPLOYEES;

  COUNT(*)
----------
      1200

SQL>