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. Qt中检查槽函数connect是否正确

    环境:VS2017+Qt插件 一般情况下VS+QT环境下运行的QT程序输出信息需要在调试模式的输出栏可以看到,由于太多信息所以导致查看不方便(当然也可以在筛选选项中筛选信息). 有更方便查看输出信息的 ...

  2. JavaCV 视频滤镜(LOGO、滚动字幕、画中画、NxN宫格)

    其实,在JavaCV中除了FFmpegFrameGrabber和FFmpegFrameRecorder之外,还有一个重要的类,那就是FFmpegFrameFilter. FFmpegFrameFilt ...

  3. SpringBoot开发秘籍 - 集成Graphql Query

    概述 REST作为一种现代网络应用非常流行的软件架构风格受到广大WEB开发者的喜爱,在目前软件架构设计模式中随处可见REST的身影,但是随着REST的流行与发展,它的一个最大的缺点开始暴露出来: 在很 ...

  4. Day14_80_反射机制+IO+Propreties动态创建对象

    反射机制+IO+Propreties动态创建对象 * 使用Properties文件,在文件中通过<key value>的形式保存一下类名,然后通过IO 获取该类名,再然后利用反射机制得到该 ...

  5. Jenkins 项目类型及配置项

    0. 简介 1. Freestyle project 1)General 2)源码管理 3)构建触发器 4)构建环境 5)构建 6)构建后操作 2. Maven 项目 1)所有配置项 2)Build ...

  6. SpringCloud(三)Hystrix断路器

    Hystrix断路器 概述 分布式系统面临的问题 复杂分布式体系结构中的应用程序有数十个依赖关系,每个依赖关系在某些时候将不可避免地失败 服务雪崩 多个微服务之间调用的时候,假设微服务A调用微服务B和 ...

  7. 软件篇-04-OMPL和FCL用于SLAM轨迹规划

    使用OMPL内置的infoRRTstar算法模块和FCL碰撞检测库实现当前点和目标点的轨迹规划, 参考文章:https://www.cnblogs.com/shhu1993/p/7062099.htm ...

  8. Git 常用命令总结,将会持续更新

    平常在windows电脑上使用Git Extensions 工具比较多,大部分的常用指令都可以通过点点点就可以完成.在mac电脑上的话使用sourcetree工具.但有时候也会直接通过git命令,很多 ...

  9. hdu4494

    题意:       给你一些任务,每个任务有自己的开始时间和需要多久能干完,还有就是每个任务都需要一些人,这些人有最多五个种类,各种类之间的人不能相互替换,但是某些工人干完这个活后如果可以在另一个任务 ...

  10. hdu1261 JAVA

    题意: 一个A和两个B一共可以组成三种字符串:"ABB","BAB","BBA".给定若干字母和它们相应的个数,计算一共可以组成多少个不同的 ...