1.问题描述

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

2.环境介绍

source:12.2.0.1.0

target:19.0.0.0.0

3.源端制造数据

创建表空间

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

创建用户

create user global identified by global
default tablespace ODPS
temporary tablespace temp profile default;

授权用户

grant connect,resource to global;
grant dba to global;

建表

conn global/global

create table DXP_QGM_TEST_THREE
(
ID NUMBER(4) PRIMARY KEY,
DOM_DATETIME VARCHAR(255),
DOM_ID NUMBER(10),DOM_STRING VARCHAR2(255)
); 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,
trunc(dbms_random.value(0, 100)) as DOM_ID, dbms_random.string('x', 20) DOM_STRING from dual connect by level <= 1000;

4.导出数据

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

5.target创建pdb

SQL> !mkdir -p $ORACLE_BASE/oradata/CDB2/pdb4

SQL> create pluggable database pdb4 admin user pdbadmin identified by Welcome1 roles =(connect)
create_file_dest='/u01/app/oracle/oradata/CDB2/pdb4'; 2 Pluggable database created. SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB1 MOUNTED
4 PDB2 MOUNTED
5 PDB3 MOUNTED
6 PDB4 MOUNTED
SQL> alter pluggable database pdb4 open; Pluggable database altered. SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB1 MOUNTED
4 PDB2 MOUNTED
5 PDB3 MOUNTED
6 PDB4 READ WRITE NO

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

[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文件

切换为pdb4

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

查询数据字典

select * from dba_directories;

DATA_PUMP_DIR
/u01/app/oracle/admin/cdb2/dpdump/C36EAB45FFE40BA4E0530BA3A8C0F174

创建表空间

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

创建用户并指定表空间

create user wangyong identified by wangyong default tablespace pdb4_odps; 

给用户授权

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

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

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

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

[oracle@rac1 ~]$ echo $ORACLE_SID
test
[oracle@rac1 ~]$ export ORACLE_SID=cdb2

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

[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

Import: Release 19.0.0.0.0 - Production on Sat May 29 09:43:11 2021
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 "SYS"."SYS_IMPORT_FULL_01" successfully loaded/unloaded
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
Processing object type SCHEMA_EXPORT/USER
ORA-31684: Object type USER:"WANGYONG" already exists Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/TABLE/TABLE
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
. . imported "WANGYONG"."DXP_QGM_TEST_THREE" 23.35 KB 1000 rows
. . imported "WANGYONG"."T1" 4.789 KB 1 rows
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
Processing object type SCHEMA_EXPORT/STATISTICS/MARKER
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.验证数据

SQL> show con_name

CON_NAME
------------------------------
PDB4
SQL> alter session set container=cdb$root; Session altered. SQL> conn wangyong/wangyong@pdb4
Connected.
SQL> desc t1;
Name Null? Type
----------------------------------------- -------- ----------------------------
ID NUMBER(38)
NAME VARCHAR2(39) SQL> select count(*) from DXP_QGM_TEST_THREE; COUNT(*)
----------
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. Spring Boot demo系列(四):Spring Web+Validation

    2021.2.24 更新 1 概述 本文主要讲述了如何使用Hibernate Validator以及@Valid/@Validate注解. 2 校验 对于一个普通的Spring Boot应用,经常可以 ...

  2. JavaFX获取屏幕尺寸

    1 awt Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); double width = screenSize. ...

  3. S-Trees UVA - 712

      A Strange Tree (S-tree) over the variable set Xn = {x1,x2,...,xn} is a binary tree representing a ...

  4. Day17_99_IO_FileReader文件字符输入流

    FileReader文件字符输入流 * 继承结构 Java.lang.Object - java.io.Reader; 抽象类 java.io.InputStreamReader; <转换流: ...

  5. 软件篇-05-融合ORB_SLAM2和IMU闭环控制SLAM底盘运动轨迹

      前面我们已经得到了当前底盘在世界坐标系中的位姿,这个位姿是通过融合ORB_SLAM2位姿和IMU积分得到的,在当前位姿已知的case下,给SLAM小车设置一个goal,我这里是通过上位机设置,然后 ...

  6. 软件篇-03-基于ORB_SLAM2手写SLAM稠密地图构建实现

    本文使用的方法不是从内部修改ORBSLAM2源码以获取稠密点云,而是先从ZED2 sdk获取以摄像头坐标系为描述的三维点云/作为点云地图的一个子集,然后融合IMU与ORB_SLAM2进行实时定位,通过 ...

  7. 【缓存池】转-Mysql参数innodb_buffer_pool_size

    转自:https://blog.csdn.net/kk185800961/article/details/79378313/ 以下考虑主要为 Innodb 引擎 [ innodb_buffer_poo ...

  8. UVA10125和集

    题意:       给你一个集合,让你从里面找到4个元素,使得a+b+c=d,并且找到最大的d. 思路:       我们可以吧问题拆开,使得a+b=d-c,这样就能O(n^2)枚举a+b记录出现的和 ...

  9. [CTF]Brainfuck/Ook!编码

    [CTF]Brainfuck/Ook!编码 ---------------------  作者:adversity`  来源:CSDN  原文:https://blog.csdn.net/qq_408 ...

  10. Mybatis-Plus02 CRUD

    先将快速开始01看完,再看这个文档 配置日志 我们所有的sql现在都是不可见的,我们希望知道它是怎么执行的,所以我们就必须看日志,开发的时候打开,上线的时候关闭 在application.proper ...