数据库
首页 > 数据库> > DBLink实现备份文件不落盘的导入其他Oracle数据库实例的方法

DBLink实现备份文件不落盘的导入其他Oracle数据库实例的方法

作者:互联网

DBLink实现备份文件不落盘的导入其他Oracle数据库实例的方法


背景


create public database link linkToSource  
connect to system identified by passwordOnSourece 
using '//sourceip:1521/sourcesid'
创建dblink的方式有很多,感觉这种方式最简单.
也可以修改tnsname, 但是可能会影响已有的系统

DBlink的简单验证

SQL> alter session set container=ora19cpdb01;
Session altered.
SQL> select count(1) from YourSourceDBname.YourBizTable@linkToSource;
  COUNT(1)
----------
       169

进行数据库的不落盘恢复操作

create tablespace SchemasInLocal datafile '/path/to/your/datafile.dbf' 
size 1024m autoextend on next 1024m ; 
create user SchemasInLocal default tablespace SchemasInLocal
identified by LocalPassword;
grant dba,resource,connect to SchemasInLocal;

进行数据库的不落盘恢复操作

impdp system/LocalPassword@127.0.0.1/LocalSid directory=Localdir 
logfile=impdpFromRemote.txt network_link=LinkToSourece schemas=SchemasInSource 
remap_schema=SchemasInSource:SchemasInLocal remap_tablespace=SchemasInSource:SchemasInLocal 
exclude=statistics

备份效果为:

# 文件大小
Total estimation using BLOCKS method: 6.295 GB
# 执行时间
Job "SYSTEM"."SYS_IMPORT_SCHEMA_01" completed with 1 error(s) 
at Tue Jan xx xxxxx 2022 elapsed 0 00:46:59
# 6G多的数据库大约耗时 45分钟左右完成.

进行数据库的不落盘恢复操作

1. directory 是本地路径,用于存放导入日志
2. logfile 指定本地路径下的导入日志名称
3. network_link 指定本地创建的指向source源端的dblink
4. schemas 指定需要从source源端 恢复的数据库实例编号
5. remap_xxxx 进行remap 更换数据库实例的编号和表空间
6. exclude 不导入统计信息 提高导入速度

扩展知识


个人感悟

自己从2008年开始工作就接触了Oracle数据库.
最开始使用imp/exp的备份恢复方式.
在Oracle11g时才使用了impdp/expdp数据泵的模式
最开始记得有11.2.0.1的deferred_segment_creation的bug导致空表导出失败
但是一直使用create tablespace, create user, grant privileges的方式建初始用户
今天才发现原来可以不使用user和grant权限,impdp会自动进行相应的创建.
所以感觉培训是非常重要的, 尤其是原厂的培训. 自己的人理解终归是不全面的
无法实现快速和正确的的技术传播. 
希望公司以后能够加强原厂技术培训. 知识无价

标签:dblink,创建,数据库,SchemasInLocal,备份文件,DBLink,导入,不落盘,备份
来源: https://www.cnblogs.com/jinanxiaolaohu/p/15790082.html