1.问题描述

用数据泵进行pdb的迁入迁出,模拟测试将其他库的数据导入到19cpdb中

2.环境介绍

source:12.2.0.1.0

target:19.0.0.0.0

3.源端制造数据

创建表空间

  1. create tablespace ODPS
  2. logging datafile '/u01/app/oracle/oradata/PROD/ODPS.dbf'
  3. size 500m autoextend on
  4. next 50m maxsize 20480m extent management local;

创建用户

  1. create user global identified by global
  2. default tablespace ODPS
  3. temporary tablespace temp profile default;

授权用户

  1. grant connect,resource to global;
  2. grant dba to global;

建表

  1. conn global/global
  2.  
  3. create table DXP_QGM_TEST_THREE
  4. (
  5. ID NUMBER(4) PRIMARY KEY,
  6. DOM_DATETIME VARCHAR(255),
  7. DOM_ID NUMBER(10),DOM_STRING VARCHAR2(255)
  8. );
  9.  
  10. insert into DXP_QGM_TEST_THREE (ID, DOM_DATETIME,DOM_ID,DOM_STRING) select rownum as ID,to_char(sysdate + rownum / 24 / 3600, 'yyyy-mm-dd hh24:mi:ss') as DOM_DATETIME,
  11. trunc(dbms_random.value(0, 100)) as DOM_ID, dbms_random.string('x', 20) DOM_STRING from dual connect by level <= 1000;

4.导出数据

  1. SYS@PROD> select * from directories;
  2. DATA_PUMP_DIR:/u01/app/oracle/admin/PROD/dpdump/
  3.  
  4. expdp "'sys/oracle as sysdba'" schemas=global dumpfile=global20210528.dmp DIRECTORY=DATA_PUMP_DIR logfile=global20210528.log compression=all parallel=4;

5.target创建pdb

  1. SQL> !mkdir -p $ORACLE_BASE/oradata/CDB2/pdb4
  2.  
  3. SQL> create pluggable database pdb4 admin user pdbadmin identified by Welcome1 roles =(connect)
  4. create_file_dest='/u01/app/oracle/oradata/CDB2/pdb4'; 2
  5.  
  6. Pluggable database created.
  7.  
  8. SQL> show pdbs
  9.  
  10. CON_ID CON_NAME OPEN MODE RESTRICTED
  11. ---------- ------------------------------ ---------- ----------
  12. 2 PDB$SEED READ ONLY NO
  13. 3 PDB1 MOUNTED
  14. 4 PDB2 MOUNTED
  15. 5 PDB3 MOUNTED
  16. 6 PDB4 MOUNTED
  17. SQL> alter pluggable database pdb4 open;
  18.  
  19. Pluggable database altered.
  20.  
  21. SQL> show pdbs
  22.  
  23. CON_ID CON_NAME OPEN MODE RESTRICTED
  24. ---------- ------------------------------ ---------- ----------
  25. 2 PDB$SEED READ ONLY NO
  26. 3 PDB1 MOUNTED
  27. 4 PDB2 MOUNTED
  28. 5 PDB3 MOUNTED
  29. 6 PDB4 READ WRITE NO

配置tnsname.ora,添加pdb4的tns解析字符串

  1. [oracle@rac1 ~]$ vim $ORACLE_HOME/network/admin/tnsnames.ora

PDB4 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = rac1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = PDB4)
)
)

确保能够被解析

[oracle@rac1 ~]$ tnsping pdb4

TNS Ping Utility for Linux: Version 19.0.0.0.0 - Production on 29-MAY-2021 09:14:02

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

Used parameter files:

Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = rac1)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = PDB4)))
OK (0 msec)

6.恢复dump文件

  1. 切换为pdb4

  1. SQL> alter session set container=pdb4;
  2.  
  3. Session altered.

查询数据字典

  1. select * from dba_directories;
  2.  
  3. DATA_PUMP_DIR
  4. /u01/app/oracle/admin/cdb2/dpdump/C36EAB45FFE40BA4E0530BA3A8C0F174

创建表空间

  1. create tablespace pdb4_odps
  2. datafile '/u01/app/oracle/oradata/CDB2/pdb4/CDB2/C36EAB45FFE40BA4E0530BA3A8C0F174/datafile/pdb4_odps.dbf'
  3. size 1024m
  4. autoextend on
  5. next 50m maxsize 20480m
  6. extent management local;

创建用户并指定表空间

  1. create user wangyong identified by wangyong default tablespace pdb4_odps;

给用户授权

  1. grant connect,resource,dba to wangyong;
  2. grant read,write on directory DATA_PUMP_DIR to wangyong;

将dump文件传输到pdb的DATA_PUMP_DIR目录中

  1. [oracle@enmoedu1 dpdump]$ scp global20210528.* oracle@rac1:/u01/app/oracle/admin/cdb2/dpdump/C36EAB45FFE40BA4E0530BA3A8C0F174
  2. oracle@rac1's password:
  3. global20210528.dmp 100% 120KB 120.0KB/s 00:00
  4. global20210528.log 100% 1572 1.5KB/s 00:00

impdp恢复数据,恢复界面要查看当前的实例名是否是pdb下的cdb

  1. [oracle@rac1 ~]$ echo $ORACLE_SID
  2. test
  3. [oracle@rac1 ~]$ export ORACLE_SID=cdb2

前面已经加入了pdb4的tns解析,所以在导入的时候@pdb4就可以指定导入所需要的pdb中了

  1. [oracle@rac1 ~]$ impdp "'sys/Welcome1@pdb4 as sysdba'" directory=DATA_PUMP_DIR dumpfile=global20210528.dmp logfile=global20210528.log version='12.2.0.1.0' remap_tablespace=ODPS:pdb4_odps remap_schema=global:wangyong
  2.  
  3. Import: Release 19.0.0.0.0 - Production on Sat May 29 09:43:11 2021
  4. Version 19.3.0.0.0
  5.  
  6. Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.
  7.  
  8. Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
  9. Master table "SYS"."SYS_IMPORT_FULL_01" successfully loaded/unloaded
  10. Starting "SYS"."SYS_IMPORT_FULL_01": "sys/********@pdb4 AS SYSDBA" directory=DATA_PUMP_DIR dumpfile=global20210528.dmp logfile=global20210528.log version=12.2.0.1.0 remap_tablespace=ODPS:pdb4_odps remap_schema=global:wangyong
  11. Processing object type SCHEMA_EXPORT/USER
  12. ORA-31684: Object type USER:"WANGYONG" already exists
  13.  
  14. Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
  15. Processing object type SCHEMA_EXPORT/ROLE_GRANT
  16. Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
  17. Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
  18. Processing object type SCHEMA_EXPORT/TABLE/TABLE
  19. Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
  20. . . imported "WANGYONG"."DXP_QGM_TEST_THREE" 23.35 KB 1000 rows
  21. . . imported "WANGYONG"."T1" 4.789 KB 1 rows
  22. Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
  23. Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
  24. Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
  25. Processing object type SCHEMA_EXPORT/STATISTICS/MARKER
  26. Job "SYS"."SYS_IMPORT_FULL_01" completed with 1 error(s) at Sat May 29 09:43:28 2021 elapsed 0 00:00:16

7.验证数据

  1. SQL> show con_name
  2.  
  3. CON_NAME
  4. ------------------------------
  5. PDB4
  6. SQL> alter session set container=cdb$root;
  7.  
  8. Session altered.
  9.  
  10. SQL> conn wangyong/wangyong@pdb4
  11. Connected.
  12. SQL> desc t1;
  13. Name Null? Type
  14. ----------------------------------------- -------- ----------------------------
  15. ID NUMBER(38)
  16. NAME VARCHAR2(39)
  17.  
  18. SQL> select count(*) from DXP_QGM_TEST_THREE;
  19.  
  20. COUNT(*)
  21. ----------
  22. 1000

19c PDB数据泵迁入的更多相关文章

  1. Oracle 12c pdb的数据泵导入导出

    12c推出了可插拔数据库,在一个容器cdb中以多租户的形式同时存在多个数据库pdb.在为pdb做数据泵导入导出时和传统的数据库有少许不同.           1,需要为pdb添加tansnames ...

  2. Oracle 12c 如何在 PDB 中添加 SCOTT 模式(数据泵方式)

    Oracle 12c 建库后,没有 scott 模式,本篇使用数据泵方式,在12c版本之前数据库中 expdp 导出 scott 模式,并连接 12c 的 pdb 进行 impdp 导入. 目录 1. ...

  3. Oracle12c中数据泵新特性之功能增强(expdp, impdp)

    Oracle的数据泵功能在10g中被引进.本文对数据泵在12c中的增强做一个概览. 1.   禁用日志选项(DISABLE_ARCHIVE_LOGGING) Impdp的TRANSFORM参数已经扩展 ...

  4. Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)

    <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)> <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)> 目的:指导项 ...

  5. Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)

    <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)> <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)> 目的:指导项 ...

  6. 数据泵Expdp和Impdp

    一.数据泵导入导出技术 1.结构 2.目录对象 二.EXPDP参数 1.attach 2.content 3.directory 4.dumpfile 5.estimate 6.estimate_on ...

  7. Oracle数据泵(Data Dump)错误汇集

    Oracle数据泵(Data Dump)使用过程当中经常会遇到一些奇奇怪怪的错误案例,下面总结一些自己使用数据泵(Data Dump)过程当中遇到的问题以及解决方法.都是在使用过程中遇到的问题,以后陆 ...

  8. oracle表分区、表分析及oracle数据泵文件导入导出开心版

    1.先说oracle表分区是什么吧,这样吧我们来举个桃子,栗子太小,我们就不举了,我们来举个桃子. 你有500万份文件,你要把他存在磁盘上,好嘛,我们就一个文件夹,500万分文件在那儿杵着,我们想找到 ...

  9. 数据泵如何生成导出文件的DDL脚本

    在使用exp/imp时,生成对应dumpfile文件的DDL脚本非常容易,在使用命令imp时,添加参数show, show=y表示展示imp导入的时候,输出相关DDL语句(不包括insert语句),而 ...

随机推荐

  1. 曾侯乙编钟引发的遐想之Java设计模式:状态模式

    目录 示例 简单例子 改进代码 状态模式 定义 意图 主要解决问题 何时使用 优缺点 曾侯乙编钟 状态模式-命令模式-策略模式 示例 一个类对外提供了多个行为,同时该类对象有多种状态,不同状态下对外的 ...

  2. 机器学习03-sklearn.LinearRegression 源码学习

    在上次的代码重写中使用了sklearn.LinearRegression 类进行了线性回归之后猜测其使用的是常用的梯度下降+反向传播算法实现,所以今天来学习它的源码实现.但是在看到源码的一瞬间突然有种 ...

  3. Typora 主题推荐

    Typora 修改代码块高亮样式可以参考:点击这里 下面推荐按几款比较好看的主题样式 1.cobalt主题 2.Drake主题 3.fluent主题 4.gitbook主题 5.techo主题 6.U ...

  4. Weekly Contest 184

    1408. String Matching in an Array Given an array of string words. Return all strings in words which ...

  5. 【推荐】Excel在线转其他格式(json/sql/xml...)

    https://tableconvert.com/?output=asp 文件导入功能不好用,直接粘贴表格内容(加表头),然后无敌好用!可转化各种格式. 看看这个SQL语句,感动了

  6. 常用的STL

    map      容器和数组一样,不过比较活用,相当于直接离散化数组 map<int ,int>mp 一维int map<string ,string>mp 一维 str ma ...

  7. 反病毒攻防研究第006篇:简单木马分析与防范part2

    一.前言 一般来说,木马是既有客户端也有服务器端的.上次讨论的不过是一种特殊情况,毕竟不是人人都懂得DOS命令,因此现在木马的客户端也都是做成非常直观的界面形式,方便操作.本篇文章会从客户端与服务器端 ...

  8. 用户模式下的线程同步的分析(Windows核心编程)

    线程同步 同一进程或者同一线程可以生成许多不同的子线程来完成规定的任务,但是多个线程同时运行的情况下可能需要对某个资源进行读写访问,比如以下这个情况:创建两个线程对同一资源进行访问,最后打印出这个资源 ...

  9. 线程操作与进程挂起(Windows核心编程)

    0x01 线程挂起与切换 对于挂起进程,挂起线程则比较简单,利用 ResumeThread 与 SuspendThread 即可,当线挂起时线程用户状态下的一切操作都会暂停 #include < ...

  10. 【jQuery】精细学习记录

    [jQuery]精细学习记录 基础 基本语法: $(选择器).action(回调函数); $/jQuery //jQuery核心函数 $(选择器) //获得的jQuery对象 jQuery核心 - j ...