Oracle使用SQL传输表空间

源环境:RHEL 6.4 + Oracle 11.2.0.4
目的环境:RHEL 6.4 + Oracle 11.2.0.4 DG双机
要求:使用SQL传输表空间DBS_D_JINGYU从源环境到目的环境。

1.创建目录

--源数据库
create directory src_dpump_dir as '/tmp';
create directory src_dbf_dir as '/oradata/data/SHITAN/datafile';
--目的数据库
create directory dest_dpump_dir as '/tmp';
create directory dest_dbf_dir as '/u01/oradata01/CHICAGO/datafile';

2.检查表空间自身的一致性

exec dbms_tts.transport_set_check('DBS_D_JINGYU',TRUE);
select * from transport_set_violations;
--确定表空间设为只读
alter tablespace DBS_D_JINGYU read only;

3.expdp导出表空间的元数据

expdp system/oracle dumpfile=EXPDP_META_SRC.DMP directory=src_dpump_dir transport_tablespaces=DBS_D_JINGYU

--成功导出,部分日志信息如下:
******************************************************************************
Dump file set for SYSTEM.SYS_EXPORT_TRANSPORTABLE_01 is:
  /tmp/EXPDP_META_SRC.DMP
******************************************************************************
Datafiles required for transportable tablespace DBS_D_JINGYU:
  /oradata/data/SHITAN/datafile/o1_mf_dbs_d_ji_cb0dbxt0_.dbf
Job "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01" successfully completed at Thu Jan 21 16:22:50 2016 elapsed 0 00:01:15

4.转储文件和数据文件复制到目的数据库服务器

--创建源到目的数据库的数据链
create public database link dest34 connect to system identified by oracle using 'destDB';
select * from dual@dest34;
--复制数据库文件
begin 
    dbms_file_transfer.put_file
    ('src_dbf_dir','o1_mf_dbs_d_ji_cb0dbxt0_.dbf',
    'dest_dbf_dir','o1_mf_dbs_d_ji_cb0dbxt0_.dbf',  
    'dest34');
end;
/
--复制转储文件
begin 
    dbms_file_transfer.put_file
    ('src_dpump_dir','EXPDP_META_SRC.DMP',
    'dest_dpump_dir','EXPDP_META_SRC.DMP',  
    'dest34');
end;
/

5.在目的数据库上,impdp导入表空间

--需要先创建用户jingyu并赋权
create user jingyu identified by jingyu ;
grant dba to jingyu;
--导入表空间
impdp system/oracle dumpfile=EXPDP_META_SRC.DMP directory=dest_dpump_dir transport_datafiles=/u01/oradata01/CHICAGO/datafile/o1_mf_dbs_d_ji_cb0dbxt0_.dbf
--更改用户jingyu的默认表空间和临时表空间(可选,建议操作)
create temporary tablespace temp_jingyu tempfile size 30M autoextend off;
alter user jingyu TEMPORARY TABLESPACE temp_jingyu
  DEFAULT TABLESPACE dbs_d_jingyu
  QUOTA UNLIMITED ON dbs_d_jingyu;

6.表空间设为读写(源数据库和目的数据库)

--分别检查表空间状态
select TABLESPACE_NAME, STATUS from dba_tablespaces;
--设置表空间为读写状态
alter tablespace DBS_D_JINGYU read write;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值