21c pdb的数据泵导入导出测试

来源:这里教程网 时间:2026-03-03 18:31:40 作者:

 

1 、使用前,创建逻辑目录directory

[oracle@was1 ~]$  mkdir -p /home/oracle/dumpdir/dumppdb1/

2 、 切换到pdb1 进数据库将其创建成逻辑目录:

SQL> show pdbs

 

    CON_ID CON_NAME                    OPEN MODE  RESTRICTED

---------- ------------------------------ ---------- ----------

        2 PDB$SEED                 READ ONLY  NO

        3 PDB1                        READ WRITE NO

        4 PDB2                        READ WRITE NO

SQL> alter session set container = pdb1;

Session altered.

SQL> show pdbs

    CON_ID CON_NAME                    OPEN MODE  RESTRICTED

---------- ------------------------------ ---------- ----------

        3 PDB1                        READ WRITE NO

SQL> create directory dumppdb1 as '/home/oracle/dumpdir/dumppdb1/';

Directory created.

3 、通过查询 dba_directories 可以看到新建 directory 的信息:

SQL> select * from dba_directories where DIRECTORY_NAME = 'DUMPPDB1';

 

OWNER     DIRECTORY_NAME                    DIRECTORY_PATH                     ORIGIN_CON_ID

---------- ---------------------------------------- ---------------------------------------- -------------

SYS     DUMPPDB1                              /home/oracle/dumpdir/dumppdb1/                3

 

4 、 单独创建一个dba权限的数据泵用户

 

SQL> create user jerry identified by oracle;

User created.

SQL> grant dba to dump_pdb1_user;

Grant succeeded.

SQL> grant read,write on directory DUMPPDB1 to dump_pdb1_user;

Grant succeeded.

 

可插拔数据库,在一个容器 cdb 中以多租户的形式同时存在多个数据库 pdb 。在为 pdb 做数据泵导入导出时和传统的数据库

有少许不同:需要为 pdb 添加 tansnames

5、将PDB1添加tnsnames,确保tnsping OK

 [oracle@was1 admin]$ vi tnsnames.ora

orcl =

  (DESCRIPTION =

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

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = orcl)

    )

  )

 

pdb1 =

  (DESCRIPTION =

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

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = pdb1)

    )

  )

 

[oracle@was1 admin]$ tnsping pdb1

TNS Ping Utility for Linux: Version 21.0.0.0.0 - Production on 04-JAN-2023 16:55:52

Copyright (c) 1997, 2021, Oracle.  All rights reserved.

Used parameter files:

/ora21c/app/homes/OraDB21Home1/network/admin/sqlnet.ora

Used TNSNAMES adapter to resolve the alias

Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.210.10)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = pdb1)))

OK (0 msec)

 

 

6、准备环境,创建表空间、用户以及表:

SQL>create tablespace test datafile '/data/21c/oradata/ORA21C/F0564D828AC16531E0530AD2A8C085F9/datafile/test01.dbf' size 20M;

 

SQL> create user jerry identified by oracle default tablespace test;

User created.

SQL> grant dba to jerry;

Grant succeeded.

SQL> create user scott identified by oracle

User created.

SQL> grant dba to scott;

Grant succeeded.

 

 

jerryy 用户下创建两张表:

SQL> select owner,table_name,tablespace_name from dba_tables where tablespace_name='TEST';

 

OWNER     TABLE_NAME                  TABLESPACE_NAME

---------- ------------------------------ ------------------------------

JERRY        EMP                                 TEST

JERRY        DEPT                               TEST

 

7、tables模式导出

[oracle@was1 ~]$ expdp system/oracle@pdb1 directory=DUMPPDB1 dumpfile=jerry_table_emp.dump logfile=jerry_table_dump.log  tables=jerry.emp

Export: Release 21.0.0.0.0 - Production on Wed Jan 4 17:11:02 2023

Version 21.3.0.0.0

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

Connected to: Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production

Starting "SYSTEM"."SYS_EXPORT_TABLE_01":  system/********@pdb1 directory=DUMPPDB1 dumpfile=jerry_table_emp.dump logfile=jerry_table_dump.log tables=jerry.emp

Processing object type TABLE_EXPORT/TABLE/TABLE_DATA

Processing object type TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS

Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS

Processing object type TABLE_EXPORT/TABLE/STATISTICS/MARKER

Processing object type TABLE_EXPORT/TABLE/TABLE

Processing object type TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT

. . exported "JERRY"."EMP"                               8.125 KB      14 rows

Master table "SYSTEM"."SYS_EXPORT_TABLE_01" successfully loaded/unloaded

******************************************************************************

Dump file set for SYSTEM.SYS_EXPORT_TABLE_01 is:

  /home/oracle/dumpdir/dumppdb1/jerry_table_emp.dump

Job "SYSTEM"."SYS_EXPORT_TABLE_01" successfully completed at Wed Jan 4 17:11:38 2023 elapsed 0 00:00:29

 

8、tables模式导入

test 表空间 jerry 用户下的 emp 表导入到 users 表空间的 scott 用户下

先查看 USERS 表空间下的表:

SQL> select owner,table_name,tablespace_name from dba_tables where tablespace_name='USERS';                                 

 

OWNER     TABLE_NAME                  TABLESPACE_NAME

---------- ------------------------------ ------------------------------

TEST    TAB1                              USERS

 

执行导入:

[oracle@was1 dumppdb1]$ impdp scott/oracle@pdb1 directory=DUMPPDB1 dumpfile=jerry_table_emp.dump nologfile=y  tables=jerry.emp remap_schema=jerry:scott remap_tablespace=test:users;

 

Import: Release 21.0.0.0.0 - Production on Wed Jan 4 18:00:11 2023

Version 21.3.0.0.0

 

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

 

Connected to: Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production

Master table "SCOTT"."SYS_IMPORT_TABLE_01" successfully loaded/unloaded

Starting "SCOTT"."SYS_IMPORT_TABLE_01":  scott/********@pdb1 directory=DUMPPDB1 dumpfile=jerry_table_emp.dump nologfile=y tables=jerry.emp remap_schema=jerry:scott remap_tablespace=test:users

Processing object type TABLE_EXPORT/TABLE/TABLE

Processing object type TABLE_EXPORT/TABLE/TABLE_DATA

. . imported "SCOTT"."EMP"                               8.125 KB      14 rows

Processing object type TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT

Processing object type TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS

Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS

Processing object type TABLE_EXPORT/TABLE/STATISTICS/MARKER

Job "SCOTT"."SYS_IMPORT_TABLE_01" successfully completed at Wed Jan 4 18:00:16 2023 elapsed 0 00:00:03

 

查看导入情况:

SQL> select owner,table_name,tablespace_name from dba_tables where tablespace_name='USERS';

 

OWNER     TABLE_NAME         TABLESPACE_NAME

---------- -------------------- --------------------

TEST    TAB1              USERS

SCOTT       EMP                USERS

 

9、schemas 模式导入导出:

远端导出:

[oracle@was1 dumppdb1]$ expdp system/oracle@pdb1 directory=DUMPPDB1 dumpfile=jerry.dump nologfile=y schemas=jerry;

 

目标端导入:

impdp system/oracle@pdb1 directory=DUMPPDB1 dumpfile=jerry.dump nologfile=y schemas=jerry;

 

相关推荐