中国DBA联盟(ACDU)成员,目前从事DBA及程序编程(Web\java\Python)工作,主要服务于生产制造 现拥有 Oracle 11g OCP/OCM、Mysql、Oceanbase(OBCA)认证 分布式TBase\TDSQL数据库、国产达梦数据库以及红帽子认证 从业8年DBA工作,在数据库领域有丰富的经验 B站主播Oracle、Mysql、PG实战课程,请搜索:jeames007 微信:jem_db QQ:2243967774
复制
作者:IT邦德
简介:
你可以使用表空间传输技术在不同数据库之间复制表空间集合
1. 目标端创建 directory
$ mkdir -p /home/oracle/tsdir --oracle用户下 SYS@PROD>create directory tsdir as '/home/oracle/tsdir'; SYS@PROD>grant all on directory tsdir to public;
复制
2 在源库上建立测试表空间
SYS@PROD> col file_name for a60 SYS@PROD> select tablespace_name,file_name from dba_data_files;
复制
SYS@PROD> create tablespace tbs1 datafile '/u01/app/oracle/oradata/PROD/tbs1.dfb' size 10M;
复制
3 检查自包含
#什么叫自包含? 当前表空间中的对象不依赖该表空间之外的对象 例如:有 TEST 表空间,里面有个表叫 T1,如果在 T1 上建个索引叫 T1_idx,而这个索引建在 USERS表空间上, 由于 T1_idx 索引是依赖 T1 表的,那么,TEST 表空间是自包含的,可以迁移,但会甩掉 T1_idx 索引, USERS 表空间不是自包含的,不符合迁移条件。
复制
4 表空间只读
SYS@PROD> alter tablespace tbs1 read only; SYS@PROD> select tablespace_name,status from dba_tablespaces;
复制
5 expdp 导出表空间
$ mkdir -p /home/oracle/tsdir --oracle用户下 SYS@PROD>create directory tsdir as '/home/oracle/tsdir'; SYS@PROD>grant all on directory tsdir to public; SYS@PROD> col directory_name for a25 SYS@PROD> col DIRECTORY_PATH for a80 SYS@PROD> select directory_name,directory_path from dba_directories;
复制
$ expdp system/oracle directory=tsdir dumpfile=expdp_tbs1.dmp transport_tablespaces=tbs1
复制
6 scp 到目标端
$ scp /home/oracle/tsdir/expdp_tbs1.dmp 192.168.6.112:/home/oracle/tsdir/ $ scp /u01/app/oracle/oradata/PROD/tbs1.dfb 192.168.6.112:/u01/app/oracle/oradata/PROD/
复制
7.目标端创建对应用戶
SYS@PROD> grant connect,resource to damon identified by oracle;
复制
8.目标端 EMREP导入
impdp system/oracle directory=tsdir dumpfile=expdp_tbs1.dmp TRANSPORT_DATAFILES=/u01/app/oracle/oradata/PROD/tbs1.dfb
复制
SYS@PROD> select tablespace_name,status from dba_tablespaces;
复制
9.两端readwirte
#目标库执行 SYS@PROD> alter tablespace tbs1 read write; SYS@PROD> select tablespace_name,status from dba_tablespaces;
复制
#源库执行 SYS@PROD> alter tablespace tbs1 read write; SYS@PROD> select tablespace_name,status from dba_tablespaces;
复制
本文如有错误或不完善的地方请大家多多指正,
留言微信:jem_db 或 QQ:2243967774 皆可,您的批评指正是我写作的最大动力!
最后修改时间:2021-08-05 07:17:37
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【专家有话说第五期】在不同年龄段,DBA应该怎样规划自己的职业发展?
墨天轮编辑部
1327次阅读
2025-03-13 11:40:53
Oracle RAC ASM 磁盘组满了,无法扩容怎么在线处理?
Lucifer三思而后行
800次阅读
2025-03-17 11:33:53
Oracle+Deepseek+Dify 实现数据库数据实时分析
bicewow
728次阅读
2025-03-06 09:41:49
2月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
469次阅读
2025-03-13 14:38:19
Oracle 如何修改 db_unique_name?强迫症福音!
Lucifer三思而后行
365次阅读
2025-03-12 21:27:56
Oracle DataGuard高可用性解决方案详解
孙莹
317次阅读
2025-03-26 23:27:33
Oracle分区和执行计划相关的几个问题
听见风的声音
310次阅读
2025-03-07 08:51:42
数据库管理-第299期 数据库是否需要定期重启(20250306)
胖头鱼的鱼缸
252次阅读
2025-03-06 09:09:35
切换Oracle归档路径后,不能正常删除原归档路径上的归档文件
dbaking
250次阅读
2025-03-19 14:41:51
风口浪尖!诚通证券扩容采购Oracle 793万...
Roger的数据库专栏
245次阅读
2025-03-24 09:42:53