Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >[Oracle数据库迁移]使用expdp/impdp进行迁移

[Oracle数据库迁移]使用expdp/impdp进行迁移

作者头像
bsbforever
发布于 2020-08-19 06:59:25
发布于 2020-08-19 06:59:25
2.1K00
代码可运行
举报
运行总次数:0
代码可运行

这期内容为使用expdp/impdp进行迁移的一般步骤

分为如下五个部分:

  1. 源库环境确认
  2. 目标端操作
  3. 源库端导出数据
  4. 目标端导入数据
  5. 事后检查

1.源库环境确认

1.1 查看数据库用户

SQL>select * from dba_users;

代码语言:javascript
代码运行次数:0
运行
复制

1.2 查看数据库角色

SQL>select * from dba_roles;

1.3 查看数据库表空间

SQL>select * from dba_tablespaces;

1.4 查看物化视图

SQL>select * from dba_mviews;

1.5 查看物化视图日志

SQL>select * from dba_mview_logs;

1.6 查看job及scheduler

SQL>select * from dba_jobs; SQL>select * from dba_scheduler_jobs;

1.7 查看dblink

SQL>select * from dba_db_links;

1.8 查看其他数据库有无关联

这里查看环境中其他数据库的dblink是否和该数据库有关联


2. 目标端操作

2.1 建立表空间

SQL>CREATE SMALLFILE TABLESPACE "EMAPTBS" DATAFILE SIZE 25G LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO; SQL>ALTER TABLESPACE "EMAPTBS" ADD DATAFILE SIZE 25G;

具体查看:

[Oracle 数据库日常操作] 表空间的日常运维命令

2.2 建立角色

没有需要建立的角色

2.3 建立用户和权限

SQL>create user emap identified by emap default tablespace emaptbs ; SQL>create user emaptest identified by emaptest default tablespace emaptbs; SQL>grant connect,resource to emap; SQL>grant connect,resource to emaptest; SQL>grant select on v_$session to emap; SQL>grant select on v_$session to emaptest; SQL>grant unlimited tablespace to emap; SQL>grant unlimited tablespace to emaptest;

2.4 建立dblink(只需建立public用户的)

create public database link MESASSY connect to username IDENTIFIED BY password using '(description=(address=(protocol=TCP) (host=10.65.1.113)(port=1521))(connect_data=(SERVICE_NAME = MESASSY)))';


3. 源库端导出数据

这里使用sys账号进行

3.1 查看数据库目录信息

SQL>select * from dba_directories;

3.2 建立新的目录用于存放导出文件

SQL>CREATE OR REPLACE DIRECTORY dump_dir AS '/oradata/dump';

3.3 导出emap/emaptest用户数据

导出前锁定emap/emaptest账号

SQL>alter user emap acccount lock; SQL>alter user emaptest account lock;

注意oracle 11.2.0.1 之后空表如没有数据则会不导出

请事先找出这些表

新建parfile:expdp_emap.txt

userid='sys/ase_sys_1 as sysdba' job_name=job_emp_emptest_exp directory=dump_dir filesize=15G dumpfile=expdp_emap_%U.dmp logfile=emp_emptest_expdp.log schemas=emap,emaptest parallel=4 content=all

3.4 导出数据

expdp parfile=expdp_emap.txt


4. 目标端导入数据

4.1 查看数据库目录信息

SQL>select * from dba_directories


4.2 建立新的目录用于存放导出文件

SQL>CREATE OR REPLACE DIRECTORY dump_dir AS '/oradata/dump/';

4.3 拷贝expdp文件至该目录

scp expdp_emp_0* oracle@10.65.202.201:/oradata/dump/

4.4 导入emap/emaptest用户数据

新建parfile:impdp_emap.txt

userid='sys/ase_password as sysdba' job_name=job_emp_emptest_imp directory=dump_dir dumpfile=expdp_emap_%U.dmp logfile=emp_emptest_impdp.log schemas=emap,emaptest parallel=4 content=all

导入数据

impdp parfile=exp_emap.txt


5. 事后检查

5.1 检查对象是否迁移完成

参见Python脚本

[Python程序]数据库迁移比对小工具

5.2 检查对象是否失效

检查如下对象是否失效

  • 物化视图
  • Job及scheduler
  • Procedure
  • Package等等

5.2 新环境参数检查

检查如下参数是否和源库一致或设置合理(不保证全面)

  • sga
  • pga
  • PROCESSES
  • SESSIONS
  • case_sensitive
  • deffer_creation_segement
  • open_cursor
  • job_queue_processes
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-09-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 宅必备 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Oracle数据库的expdp、impdp导入导出命令详解
create directory dpdata as '/u01/app/oracle/oracledata/dump';
Lcry
2022/11/29
6.9K0
Oracle-数据泵expdp/impdp实操
因数据库版本为11.2(大于Oracle10g)初步确定使用数据泵的方式从198导出后导入197数据库
小小工匠
2021/08/16
1.3K0
Oracle expdp/impdp导出导入命令及数据库备份
EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用。
用户5640963
2019/07/27
4K0
数据泵IMPDP 导入工具的使用
数据的导入导出时数据库经常处理的作业之一,Oracle 提供了IMP和IMPDP以及SQL*Loader等工具来完成数据的导入工作,其中IMP服务于早期的9i之前的版本,在10g及后续版本,Oracle 提供了数据泵高速导入工具,本文主要介绍IMPDP的使用方法,关于高速导出工具请参照:数据泵EXPDP 导出工具的使用。SQL*Loader请参照:SQL*Loader使用方法。
Leshami
2018/08/07
1.6K0
expdp和impdp的实践
导入导出我们经常用的是exp/imp命令,确实比较方便,但也有局限,例如需要导入导出的表空间名相同、schema名需要相同。
bisal
2019/01/29
8560
expdp 如何导出某用户下一部分表
很多时候,作为 DBA 运维人员都会遇到一些奇葩的需求和奇怪的问题,最近一段时间也遇到了几个奇葩的导出数据的需求,这里做一个简单的归纳总结,以防后期遇到同样的需求时不知所措。
JiekeXu之路
2022/01/04
1.8K0
expdp 如何导出某用户下一部分表
Oracle数据逻辑迁移综合实战篇
本次需求: 指定用户表结构迁移,所有表需要数据(因为此用户下的数据规模是10T的级别,所以想完全迁移不现实,最终确定为大表迁移部分数据,小表迁移全部数据)。 至于大表和小表的界定,研发侧不能提供,需要DBA自行评估划分。
Alfred Zhao
2019/05/24
8880
expdp/impdp 参数说明,中英对照
任意可以使用expdp/impdp的环境,都可以通过help=y看到帮助文档。 1.expdp参数说明 2.impdp参数说明 3.expdp参数说明(中文) 4.impdp参数说明(中文) 1.expdp参数说明 [oracle@OEL-ASM ~]$ expdp help=y Export: Release 11.2.0.3.0 - Production on Thu Sep 4 11:43:39 2014 Copyright (c) 1982, 2011, Oracle and/or its af
Alfred Zhao
2019/05/24
1.5K0
expdp / impdp 用法详解[通俗易懂]
EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用。 EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用。 IMP只适用于EXP导出的文件,不适用于EXPDP导出文件;IMPDP只适用于EXPDP导出的文件,而不适用于EXP导出文件。
全栈程序员站长
2022/08/02
12.2K0
expdp / impdp 用法详解[通俗易懂]
oracle11g数据库导入导出方法教程[通俗易懂]
①:传统方式——exp(导出)和(imp)导入: ②:数据泵方式——expdp导出和(impdp)导入; ③:第三方工具——PL/sql Developer; 一、什么是数据库导入导出? oracle11g数据库的导入/导出,就是我们通常所说的oracle数据的还原/备份。 数据库导入:把.dmp 格式文件从本地导入到数据库服务器中(本地oracle测试数据库中); 数据库导出:把数据库服务器中的数据(本地oracle测试数据库中的数据),导出到本地生成.dmp格式文件。 .dmp 格式文件:就是oracle数据的文件格式(比如视频是.mp4 格式,音乐是.mp3 格式); 二、二者优缺点描述: 1.exp/imp: 优点:代码书写简单易懂,从本地即可直接导入,不用在服务器中操作,降低难度,减少服务器上的操作也就 保证了服务器上数据文件的安全性。 缺点:这种导入导出的速度相对较慢,合适数据库数据较少的时候。如果文件超过几个G,大众性能的电 脑,至少需要4~5个小时左右。 2.expdp/impdp: 优点:导入导出速度相对较快,几个G的数据文件一般在1~2小时左右。 缺点:代码相对不易理解,要想实现导入导出的操作,必须在服务器上创建逻辑目录(不是真正的目录)。我们 都知道数据库服务器的重要性,所以在上面的操作必须慎重。所以这种方式一般由专业的程序人员来完 成(不一定是DBA(数据库管理员)来干,中小公司可能没有DBA)。 3.PL/sql Develpoer: 优点:封装了导入导出命令,无需每次都手动输入命令。方便快捷,提高效率。 缺点:长时间应用会对其产生依赖,降低对代码执行原理的理解。 三、特别强调: 目标数据库:数据即将导入的数据库(一般是项目上正式数据库); 源数据库:数据导出的数据库(一般是项目上的测试数据库); 1.目标数据库要与源数据库有着名称相同的表空间。 2.目标数据在进行导入时,用户名尽量相同(这样保证用户的权限级别相同)。 3.目标数据库每次在进行数据导入前,应做好数据备份,以防数据丢失。 4.使用数据泵时,一定要现在服务器端建立可用的逻辑目录,并检查是否可用。 5.弄清是导入导出到相同版本还是不同版本(oracle10g版本与oracle11g版本)。 6.目标数据导入前,弄清楚是数据覆盖(替换),还是仅插入新数据或替换部分数据表。 7.确定目标数据库磁盘空间是否足够容纳新数据,是否需要扩充表空间。 8.导入导出时注意字符集是否相同,一般Oracle数据库的字符集只有一个,并且固定,一般不改变。 9.导出格式介绍:    Dmp格式:.dmp是二进制文件,可跨平台,还能包含权限,效率好;    Sql格式:.sql格式的文件,可用文本编辑器查看,通用性比较好,效率不如第一种, 适合小数据量导入导出。尤其注意的是表中不能有大字段 (blob,clob,long),如果有,会报错;    Pde格式:.pde格式的文件,.pde为PL/SQL Developer自有的文件格式,只能用PL/SQL Developer工具 导入导出,不能用文本编辑器查看; 10.确定操作者的账号权限。 四、二者的导入导出方法: 1、传统方法: 通用命令:exp(imp) username/password@SERVICENAME:1521 file=”e:\temp.dmp” full = y; 数据库导出举例:
全栈程序员站长
2022/06/26
2.1K0
oracle11g数据库导入导出方法教程[通俗易懂]
Oracle常用运维命令整理
建库(一般习惯配置gdbname与sid名一样,sys密码与system密码一样,以方便记忆)
小明互联网技术分享社区
2021/05/14
1.6K0
Oracle数据库逻辑迁移之数据泵的注意事项
思考: 对于DBA而言,常用物理方式的迁移,物理迁移的优势不必多说,使用这种方式不必担心对象前后不一致的情况,而这往往也解决了不懂业务的DBA最头疼的问题。
星哥玩云
2022/08/16
7890
Oracle数据库逻辑迁移之数据泵的注意事项
环境:数据迁移,版本 11.2.0.4 -> 12.2.0.1 思考: 对于DBA而言,常用物理方式的迁移,物理迁移的优势不必多说,使用这种方式不必担心对象前后不一致的情况,而这往往也解决了不懂业务的DBA最头疼的问题。 对于开发而言,常用逻辑方式的迁移,比如传统的exp/imp或者现在的expdp/impdp,优势是简单方便,不需要了解过多的数据库运维知识。 实际上,在某些数据库升级的场景下,针对业务数据量不大,停机时间充裕的迁移专项来说,也可以考虑采用数据泵逻辑迁移的方式。 那么数据泵的导出导入究竟需要注意哪些事项呢?本文宗旨是通过构建一个简单的例子来说明。
Alfred Zhao
2022/05/06
6810
expdp|impdp及exp|imp指令介绍
expdp介绍 EXPDP命令行选项 1. ATTACH 该选项用于在客户会话与已存在导出作用之间建立关联.语法如下 ATTACH=[schema_name.]job_name Schema_name用于指定方案名,job_name用于指定导出作业名.注意,如果使用ATTACH选项,在命令行除了连接字符串和ATTACH选项外,不能指定任何其他选项,示例如下: Expdp scott/tiger ATTACH=scott.export_job 2. CONTENT 该选项用于指定要导出的内容.默认值为ALL
用户1257215
2018/01/30
2.6K0
expdp|impdp及exp|imp指令介绍
Oracle 利用数据泵导入导出数据
(backup_path为路径名称,可自命名(必须是已存在路径),E:\app\tws\oradata\orcl为源数据库路径)
星尘的一个朋友
2020/11/25
1.4K0
OGG迁移大库注意要点之impdp导入产生大量归档
最近在某银行进行OGG迁移时,遇到一个超过1T的数据库,由于开始没有注意到一些细节,导致在导入过程中出现了一些问题。现在将这些问题总结记录下来,防止之后再发生类似问题。
数据和云
2021/10/13
1K0
Oracle 数据泵详解附案例
一、EXPDP和IMPDP使用说明 Oracle Database 10g引入了最新的数据泵(Data Dump)技术,数据泵导出导入(EXPDP和IMPDP)的作用 1)实现逻辑备份和逻辑恢复. 2)在数据库用户之间移动对象. 3)在数据库之间移动对象 4)实现表空间搬移. 二、数据泵导出导入与传统导出导入的区别 在10g之前,传统的导出和导入分别使用EXP工具和IMP工具,从10g开始,不仅保留了原有的EXP和IMP工具,还提供了数据泵导出导入工具EXPDP和IMPDP.使用EXPDP和IMPDP时应该
用户1257215
2018/01/30
1.7K0
Oracle 数据泵详解附案例
【迁移】单实例环境使用数据泵(Data Pump)数据迁移
生产上遇到Oracle 11g单实例跨平台迁移情况,以下为迁移过程,有不完善的地方欢迎提出改进
甚至熊熊
2021/04/19
1.5K0
【迁移】单实例环境使用数据泵(Data Pump)数据迁移
使用DataPump迁移非CDB到CDB数据库
Oralce 12c中的多租户数据库的启用,使得原来分布于多台服务器或者一台服务器上运行N多实例的情形需要进行整合。那就是将之前的N多非CDB数据库整合到CDB,原来的数据库将作为CDB数据库下一个PDB容器,各个PDB之间也可以通过快速dblink实现交互。常用的方法包括导出导入,DBMS_PDB包方式,以及GoldenGate复制方式等。本文主要描述使用DataPump方式实现迁移。
Leshami
2018/08/13
8220
使用DataPump迁移非CDB到CDB数据库
使用expdp(非本地)远程导出数据
前段时间,需要从异地一个测试数据库中将测试数据(一张表)导入本地库,表数据量大约500万,字段160多个,开始用了exp/imp方式,速度奇慢,不能忍,于是转而使用expdp/impdp方式。
bisal
2019/01/29
2.4K0
相关推荐
Oracle数据库的expdp、impdp导入导出命令详解
更多 >
交个朋友
加入[数据] 腾讯云技术交流站
获取数据实战干货 共享技术经验心得
加入数据技术工作实战群
获取实战干货 交流技术经验
加入[数据库] 腾讯云官方技术交流站
数据库问题秒解答 分享实践经验
换一批
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档