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


背景

  • 公司内经常有从其他服务器备份数据库实例的需求
  • 之前的操作一般需要,备份源服务器使用expdp将source导出dump文件.
  • Copy到目标服务器,然后使用imdp将导出的dump文件实现导入.
  • 一般需要有两台机器的系统权限. 比较繁琐一些.
  • 最近看到可以有dblink的方式进行学习与使用,这里进行简单总结

创建dblink

  • DBlink的创建方式有很多种,这里使用最简单的创建语法.
  • 注意下面所以一句SQL 需要复制到一行里面执行操作.
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
  • 验证数据库无问题.

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

  • 第一步需要在本地库创建需要进行恢复的用户和表空间
  • 注意如果需要进行remap的话 建议设置好用户信息
  • 注意以下没一个分号分隔为一行,需要完整执行
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 不导入统计信息 提高导入速度

扩展知识

  • 其实可以在创建一个针对本地sid的dblink 可以实现快速的备份恢复自己已有的数据库实例
  • 其实不需要创建 user和赋权. impdp 的时候会自动进行用户的创建和grant 权限
  • 但是需要创建表空间, impdp没有创建表空间的权限(至少我这个命令没有 )
  • 本地不落盘的备份恢复速度快很多, 6G的数据库25min左右就可以备份恢复完.

个人感悟

  • 关于培训感想
自己从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实现备份文件不落盘的导入其他Oracle数据库实例的方法的更多相关文章

  1. PL/SQLDeveloper导入导出Oracle数据库方法

    前一篇博客介绍了Navicat工具备份Oracle的方法,这篇博客介绍一下使用PL/SQL Developer工具导入导出Oracle数据库的方法. PL/SQL Developer是Oracle数据 ...

  2. DBF导入到Oracle数据库

    今天我遇到了一个需求,是将一个DBF文件导入到Oracle库中,之前一直使用的是公司提供的迁移工具,但是不知道怎么回事今天一直报DBF文件无法访问之类的错误,尝试多次之后,一气之下弃之不用,另寻他法. ...

  3. PL/SQL Developer导入导出Oracle数据库方法

    前一篇博客介绍了Navicat工具备份Oracle的方法.这篇博客介绍一下使用PL/SQL Developer工具导入导出Oracle数据库的方法. PL/SQL Developer是Oracle数据 ...

  4. 通过命令窗口导入导出oracle数据库到dmp文件

    通过命令窗口导入导出oracle数据库到dmp文件 很多时候我们需要备份Oracle的数据库,然后将数据导入其他数据库,因为有大文本字段会导致insert无法完全导出,只能导出为dmp文件,前提是wi ...

  5. 如何将dmp文件导入到oracle数据库中

    如何将dmp文件导入到oracle数据库中 1.首先,我们可以先建立自己的一个用户表空间,创建表空间的格式如下: CREATE TABLESPACE certification(表空间的名字) DAT ...

  6. 数据导入导出Oracle数据库

    临近春节,接到了一个导入数据的任务,在Linux客户端中的数据有50G,大约3亿3千万行: 刚开始很天真,把原始的txt/csv文件用sh脚本转化成了oralce 的insert into 语句,然后 ...

  7. [转]PL/SQLDeveloper导入导出Oracle数据库方法

    原文地址:http://www.2cto.com/database/201405/305452.html 1.Oracle数据库导出步骤 1.1 Tools→Export User Objects.. ...

  8. 导入dmp文件时,需要删除原有ORACLE数据库实例

    导入dmp文件时,对于已存在的数据库实例及表处理方式:删除实例. 1.以管理员身份登录 sqlplus / as sysdba 2.停止实例 shutdown abort; 执行结果:ORACLE i ...

  9. TXT文件导入到ORACLE数据库中

    --创建表 (sqlplus执行) drop table cjw; ),phone ),city ),born ),adressJob ),mail )); ### txt导入到oracle cat ...

  10. .sql文件l通过PLSQL导入到Oracle数据库

    最近从第三方共享到一个数据,对方提供的是.sql文件.如何导入Oracle数据库? 开始想通过navicat for mysql工具--运行SQL文件来导入表---总是出现错误,失败. 后来还是用回P ...

随机推荐

  1. GaussDB(DWS)云原生数仓技术解析

    摘要:本文主要介绍GaussDB(DWS)云原生数仓架构.产品能力,帮助开发者快速了解GaussDB(DWS)云原生数仓相关信息与能力. 本文分享自华为云社区<直播回顾 | GaussDB(DW ...

  2. 解读顶会ICDE’21论文:利用DAEMON算法解决多维时序异常检测问题

    摘要:该论文针对多维时序数据的异常检测问题,提出了基于GAN和AutoEncoder的深度神经网络算法,并取得了当前State of the Art (SOTA)的检测效果.论文是云数据库创新LAB在 ...

  3. PPT 合并形状

    形状格式 -> 插入形状 -> 合并形状 选中的元素,就是要保留的元素. 可以到 https://www.iconfont.cn/ 下载SVG格式插入 PPT中进行使用 合并开状的应用 文 ...

  4. Windows下的Linux子系统(WSL)

    什么是WSLWSL:Windows subsystem for Linux,是用于Windows上的Linux的子系统作用很简单,可以在Windows系统中获取Linux系统环境,并完全直连计算机硬件 ...

  5. 详解 SSL(二):SSL 证书对网站的好处

    在如今谷歌.百度等互联网巨头强制性要求网站 HTTPS 化的情况下, 网站部署 SSL 证书已然成为互联网的发展趋势.而在上一篇< 详解 SSL(一):网址栏的小绿锁有什么意义?>中,我们 ...

  6. Win 10 Rust Installtion in D Disk with VSCode

    (只记录了必须要内容,日后完善!) 1. rust的安装与环境变量: 要提前把下面两个环境变量配置好,这样是为了指定安装路径.否则会默认安装在 C 盘下. CARGO_HOME: D:\Soft\La ...

  7. 理解CAP理论

    1. 理论什么是CAP? cap定理,它的提出是对于一个分布式系统得出的一个观点,是不能同时满足下面三点 一致性 可用性 分区容忍性 CAP理论认为,分布式系统最多只能同时满足其中的两个特性,而无法同 ...

  8. Function--jdk8用法

    Lambda表达式.首先是参数部分,接着是->,可以视为产出,->之后的内容都是方法体. 当只有一个参数时,可以不需要括号(): 正常情况使用()包裹参数,为了保持一致性,也可以使用括号( ...

  9. vue vantUI实现文件(图片、文档、视频、音频)上传(多文件)

    上传文档格式 1 <template> 2 <div> 3 <div class="upload"> 4 <div> 5 <d ...

  10. 图解 HTTP 缓存

    HTTP 的缓存机制,可以说这是前端工程师需要掌握的重要知识点之一.本文将针对 HTTP 缓存整体的流程做一个详细的讲解,争取做到大家读完整篇文章后,对缓存有一个整体的了解. HTTP 缓存分为 2 ...