前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Oracle使用SQL传输表空间

Oracle使用SQL传输表空间

作者头像
Alfred Zhao
发布2022-05-06 14:36:16
3750
发布2022-05-06 14:36:16
举报

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

1.创建目录

代码语言:javascript
复制
 ``` --源数据库 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.检查表空间自身的一致性

代码语言:javascript
复制
 ``` exec dbms_tts.transport_set_check('DBS_D_JINGYU',TRUE); select * from transport_set_violations; --确定表空间设为只读 alter tablespace DBS_D_JINGYU read only; ``` 

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

代码语言:javascript
复制
 ``` expdp system/oracle dumpfile=EXPDP_META_SRC.DMP directory=src_dpump_dir transport_tablespaces=DBS_D_JINGYU 

--成功导出,部分日志信息如下:


代码语言:javascript
复制
Dump file set for SYSTEM.SYS_EXPORT_TRANSPORTABLE_01 is:
 /tmp/EXPDP_META_SRC.DMP

代码语言:javascript
复制
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.转储文件和数据文件复制到目的数据库服务器

代码语言:javascript
复制
--创建源到目的数据库的数据链
 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导入表空间

代码语言:javascript
复制
--需要先创建用户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.表空间设为读写(源数据库和目的数据库)

代码语言:javascript
复制
--分别检查表空间状态
 select TABLESPACE_NAME, STATUS from dba_tablespaces;
 --设置表空间为读写状态
 alter tablespace DBS_D_JINGYU read write;
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-01-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.创建目录
  • 2.检查表空间自身的一致性
  • 3.expdp导出表空间的元数据
  • 4.转储文件和数据文件复制到目的数据库服务器
  • 5.在目的数据库上,impdp导入表空间
  • 6.表空间设为读写(源数据库和目的数据库)
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档