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 ...
随机推荐
- 实例讲解FusionInsight MRS RTD 实时决策引擎在医保行业应用
摘要: 通过引入FusionInsight RTD实时决策系统,实现医保费用事前预防.事中控制.事后审核的全流程管理 本文分享自华为云社区<FusionInsight MRS RTD 实时决策引 ...
- 如何使用参数化查询提高Cypher查询的性能
摘要:在DBMS中,参数化查询被视为一种有效预防SQL注入攻击的手段. 本文分享自华为云社区<使用参数化查询提高Cypher查询的性能:以华为云图引擎GES为例>,作者: 蜉蝣与海. 在D ...
- M-SQL:超强的多任务表示学习方法
摘要:本篇文章将硬核讲解M-SQL:一种将自然语言转换为SQL语句的多任务表示学习方法的相关论文. 本文分享自华为云社区<[云驻共创]M-SQL,一种超强的多任务表示学习方法,你值得拥有> ...
- 云图说|分布式事务管理DTM:“买买买”背后的小帮手
摘要:分布式事务管理DTM通过提供高性能.高可靠.低侵入等核心价值,可以更好的帮助企业应对微服务场景带来的一致性问题. 本文分享自华为云社区<[云图说]第224期 分布式事务管理DTM,&quo ...
- Hive查看表/分区更新时间
1.查看分区 hive> show partitions table_name; 2.查看分区更新时间 获取hdfs路径 hive> desc formatted table_name; ...
- 还在用 Excel 和 SQL?火山引擎 VeDI 这款产品帮你更快处理数据
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,并进入官方交流群 对大多数职场打工人来说,看数据.用数据一直是项有"门槛"的工作. 特别是在企业业务快速发展的背景下,为 ...
- kubernetes实战(三十一):Prometheus监控Windows主机
1. 基本说明 使用Prometheus监控Windows主机和Linux主机并无太大区别,都是使用社区的Exporter进行采集数据,之后暴露一个接口,可以让Prometheus采集到主机的数据. ...
- Caused by: java.lang.ClassNotFoundException: javax.servlet.Filter
Caused by: java.lang.NoClassDefFoundError: javax/servlet/Filter at java.lang.Class.getDeclaredMethod ...
- Kubernetes(K8S) 拉取镜像 ImagePullBackOff pull access denied
K8S 拉取阿里云镜像 第一次用时,没注意 授权,所以在 kubectl apply 后一直出现 ImagePullBackOff [root@k8smaster ~]# kubectl appl ...
- SpringBoot Docker 发布到 阿里仓库
1. 创建仓库 管理里面,可以查看详细的信息 设置登录密码 2. 接下来,将本地镜像推到阿里 : SpringBoot Docker 发布 docker commit 这部分可以不操作 docker ...