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 ...
随机推荐
- 教你VUE中的filters过滤器2种用法
摘要:Vue.js 允许我们自定义过滤器,可被用于一些常见的文本格式化. 本文分享自华为云社区<VUE中的filters过滤器用法>,作者:小小张自由--张有博. 前言 Vue.js 允许 ...
- 从 ByteHouse 网关,看如何进一步提升 OLAP 引擎性能
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 随着数字化转型的加速,企业面临着海量数据收集.处理和分析挑战.ClickHouse因其分析速度快.高性能的特点 ...
- 一文快速了解火山引擎 A/B 测试平台
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 一. 概述 A/B Testing 作为因果推断的「黄金标准」,是效果评估的利器. 火山引擎 A/B 测试(Dat ...
- Kubernetes(K8S) Deployment 拉取阿里云镜像部署
Docker Image 推到阿里云仓库,可以看 SpringBoot Docker 发布到 阿里仓库 1. 阿里镜像仓库加了授权,所以 K8S 拉之前要做下授权处理 [root@k8smaster ...
- Go--较复杂的结构类型
一.List List是一种有序的集合,可以包含任意数量的元素.与数组相比,list的长度可以动态调整,可以随时添加或删除元素,类似于切片 在go中,List是一个双向链表的实现. 实例 packag ...
- BP 供应商创建与修改
1业务场景 BP中,供应商和客户的创建发生了很大变化,之前的BAPI无法使用,本文档采用新的方法创建供应商. 2创建 2.1业务伙伴 2.2添加BP角色 2.3维护银行数据 2.4维护类别税号数据 2 ...
- 【JAVA基础】加密算法
加密算法 MD5三次加密 package com.cy.store.service.impl; import com.cy.store.entity.User; import com.cy.store ...
- 数据探索之道:查询Web API数据中的JSON字符串列
前言 在当今数据驱动的时代,对数据进行探索和分析变得愈发关键.Web API作为广泛应用的数据源,提供了丰富的信息和资源.然而,面对包含JSON字符串列的Web API数据时,我们常常遇到一个挑战:如 ...
- 解决MySQL在连接时警告:WARN: Establishing SSL connection without server's identity verificatio
起因: 程序在启动时,连接MySQL数据库,发出警告️: Establishing SSL connection without server's identity verification is n ...
- Codeforces Round #619 (Div. 2) A-D
比赛链接:Here 1301A. Three Strings 题意: 给三个相同长的字符串 \(a,b,c\) ,对于每个位置 \(i\) ,你必须做一次操作:交换 \(a_i\) 和 \(c_ ...