DBLink实现备份文件不落盘的导入其他Oracle数据库实例的方法
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数据库实例的方法的更多相关文章
- PL/SQLDeveloper导入导出Oracle数据库方法
前一篇博客介绍了Navicat工具备份Oracle的方法,这篇博客介绍一下使用PL/SQL Developer工具导入导出Oracle数据库的方法. PL/SQL Developer是Oracle数据 ...
- DBF导入到Oracle数据库
今天我遇到了一个需求,是将一个DBF文件导入到Oracle库中,之前一直使用的是公司提供的迁移工具,但是不知道怎么回事今天一直报DBF文件无法访问之类的错误,尝试多次之后,一气之下弃之不用,另寻他法. ...
- PL/SQL Developer导入导出Oracle数据库方法
前一篇博客介绍了Navicat工具备份Oracle的方法.这篇博客介绍一下使用PL/SQL Developer工具导入导出Oracle数据库的方法. PL/SQL Developer是Oracle数据 ...
- 通过命令窗口导入导出oracle数据库到dmp文件
通过命令窗口导入导出oracle数据库到dmp文件 很多时候我们需要备份Oracle的数据库,然后将数据导入其他数据库,因为有大文本字段会导致insert无法完全导出,只能导出为dmp文件,前提是wi ...
- 如何将dmp文件导入到oracle数据库中
如何将dmp文件导入到oracle数据库中 1.首先,我们可以先建立自己的一个用户表空间,创建表空间的格式如下: CREATE TABLESPACE certification(表空间的名字) DAT ...
- 数据导入导出Oracle数据库
临近春节,接到了一个导入数据的任务,在Linux客户端中的数据有50G,大约3亿3千万行: 刚开始很天真,把原始的txt/csv文件用sh脚本转化成了oralce 的insert into 语句,然后 ...
- [转]PL/SQLDeveloper导入导出Oracle数据库方法
原文地址:http://www.2cto.com/database/201405/305452.html 1.Oracle数据库导出步骤 1.1 Tools→Export User Objects.. ...
- 导入dmp文件时,需要删除原有ORACLE数据库实例
导入dmp文件时,对于已存在的数据库实例及表处理方式:删除实例. 1.以管理员身份登录 sqlplus / as sysdba 2.停止实例 shutdown abort; 执行结果:ORACLE i ...
- TXT文件导入到ORACLE数据库中
--创建表 (sqlplus执行) drop table cjw; ),phone ),city ),born ),adressJob ),mail )); ### txt导入到oracle cat ...
- .sql文件l通过PLSQL导入到Oracle数据库
最近从第三方共享到一个数据,对方提供的是.sql文件.如何导入Oracle数据库? 开始想通过navicat for mysql工具--运行SQL文件来导入表---总是出现错误,失败. 后来还是用回P ...
随机推荐
- 常见的6种MySQL约束
摘要:一篇文章带你彻底了解MySQL各种约束 MySQL约束 <1> 概念 是一种限制,它是对表的行和列的数据做出约束,确保表中数据的完整性和唯一性. <2> 使用场景 创建表 ...
- TypeScript里string和String,真不是仅仅是大小写的区别
摘要:通常来说,string表示原生类型,而String表示对象. 本文分享自华为云社区<TypeScript里string和String的区别>,作者:gentle_zhou . 背景 ...
- 高性能 Jsonpath 框架,Snack3 3.2.54 发布(支持 kotlin data 类反序化)
Snack3,一个高性能的 JsonPath 框架 借鉴了 Javascript 所有变量由 var 申明,及 Xml dom 一切都是 Node 的设计.其下一切数据都以ONode表示,ONode也 ...
- 模板层之标签 自定义模板语法 模板的继承与导入 搭建测试环境 ORM常用关键字
目录 模板层之标签 自定义模板语法 快速浏览 前期准备 自定义过滤器 自定义标签 自定义inclusion_tag 模板的继承与导入 快速浏览 引入 模板的继承 划定子板可修改的区域 block 在模 ...
- Mysql--日期,时间相关
一.日期,时间戳格式转换 在数据库中,时间的存储格式一般为时间戳,但这样对于使用人员不太方便,故在查询时可以先转换格式 1.1.FROM_UNIXTIME() 将时间戳转换为日期格式 > sel ...
- Markdown 文档测试--demo
Editor.md hhh 换行TEST 1 2 3 a b q d HEAD TEST Smart Test ... -- 目录 (Table of Contents) [TOCM] 目录 Edit ...
- Codeforces Round #716 (Div. 2) A ~ D 个人题解
补题链接:Here 1514A. Perfectly Imperfect Array 题意:给定长度为 \(n\) 的 \(a\) 序列,请问是否存在子序列积不存在平方根 思路:子序列的话,一个元素也 ...
- Dubbo 泛化调用在vivo统一配置系统的应用
作者:vivo 互联网服务器团队- Wang Fei.LinYupan Dubbo泛化调用特性可以在不依赖服务接口API包的场景中发起远程调用, 这种特性特别适合框架集成和网关类应用开发. 本文结合在 ...
- AXI Channel
AXI Channel axi与ahb不同就是分为不同的channel write address channel - 表明一个transaction基本的属性,包含本次传输的地址\类型\大小(多少字 ...
- JS - Array - 在数组的指定下标添加或替换元素 。 也可删除指定下标的元素
一,首先介绍下 js Array对象 中的 splice 方法 . ( splice在英文中是剪接的意思 ) 1,定义和用法 splice() 方法用于插入.删除或替换数组的元素. 注意:这种方法会改 ...