Oracle   发布时间:2022-05-17  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了数据泵:19c PDB数据泵迁入大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

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; 

@R_99_10589@

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/

create table DXP_QGM_test_THREE
(
id number(4) PRIMary KEY,DOM_datetiR_127_11845@E VARCHAR(255),DOM_id number(10),DOM_StriNG VARCHAR2()
);

insert into DXP_QGM_test_THREE (ID,DOM_datetiR_127_11845@E,DOM_ID,DOM_StriNG) SELEct rownum as ID,TO_CHAR(sysdate + rownum / 24 / 3600,yyyy-mm-dd hh24:mi:ss') as DOM_datetiR_127_11845@E,trunc(DBMS_random.value(0,1)">100)) as DOM_ID,DBMS_random.String(x',1)">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'" scheR_127_11845@as=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
---------- ------------------------------ ---------- ----------
      PDB$SEED              READ ONLY  NO
     3 PDB1               MOUNTED
      PDB2               MOUNTED
     5 PDB3               MOUNTED
     6 PDB4               MOUNTED
sql> alter pluggable database pdb4 open;

Pluggable database altered.

sql>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.

查询数据字典

 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;

@R_99_10589@并指定表空间

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@rac1s password: 
global20210528.dmp                                                               100%  120KB 120.0KB/s   00:00    
global20210528.log                                                               100% 1572     1.5KB/s   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_scheR_127_11845@a=:wangyong

import: Release 19.0.0.0.0 - Production on Sat May 29 09:43:11 2021
Version 19.3.0

copyright (C) 1982,1)">2019,Oracle and/or its affiliates.  All rights reserved.

Connected to: Oracle Database 19c Enterprise Edition Release 0 - Production
Master table SYS".SYS_import_FulL_01" successfully loaded/unloaded
StarTing ":  sys/********@pdb4 AS SYSDBA12.2.0.1.0 remap_tablespace=ODPS:pdb4_odps remap_scheR_127_11845@a=:wangyong 
Processing object type scheR_127_11845@A_EXPORT/USER
ORA-31684: Object type USER:WANGYONG" already exists

Processing SYstem_GRANT
Processing RolE_GRANT
Processing DEFAulT_RolE
Processing object type scheR_127_11845@A_EXPORT/PRE_scheR_127_11845@A/PROCACT_scheR_127_11845@A
Processing object type scheR_127_11845@A_EXPORT/table/table
Processing table_DATA
. . imported DXP_QGM_test_THREE"             23.35 KB    1000 rows
. . imported T1"                             4.789 KB       1 rows
Processing object type scheR_127_11845@A_EXPORT/table/CONSTraiNT/CONSTraiNT
Processing object type scheR_127_11845@A_EXPORT/table/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type scheR_127_11845@A_EXPORT/table/STATISTICS/table_STATISTICS
Processing object type scheR_127_11845@A_EXPORT/STATISTICS/@H_752_18@mARKER
Job " completed with 1 error(s) at Sat May 28 2021 elapsed 0 16

 

7.验证数据

sql> show con_name

CON_name
------------------------------
PDB4
sql> alter session 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(*)  DXP_QGM_test_THREE;

  COUNT(*)
----------
      1000

 

大佬总结

以上是大佬教程为你收集整理的数据泵:19c PDB数据泵迁入全部内容,希望文章能够帮你解决数据泵:19c PDB数据泵迁入所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: