Oracle 数据泵_oracle数据泵-程序员宅基地

技术标签: Oracle 一些干过的实施  

一、介绍

        数据泵(expdp,impdp)是Oracle 10g时引入的新技术,兼容了之前的数据导出导入工具(exp,imp)大部分功能,并进一步完善,提供了很多新功能以满足复杂的业务需求。区别于传统的exp,imp工具,数据泵相关命令需在数据库服务端执行。

        数据泵属于逻辑迁移,可跨操作系统版本,跨数据库版本。高版本兼容低版本,高版本向低版本导数据,导出时需添加低版本的版本号。

二、使用

环境:

操作系统版本+数据库版本 +数据库字符集

redhat 5.6+Oracle 10.2.0.5 +AMERICAN_AMERICA.ZHS16GBK

windows2008+Oracle11.2.0.4+SIMPLIFIED CHINESE_CHINA.ZHS16GBK

导数据之间的数据库字符集必须一致,否则可能出现乱码。

字符集查询命令

select userenv('language') from dual;

2.1 导出导入目录创建

--创建导出目录

create directory expdp as '/home/oracle/expdp';

--创建导入目录

create directory impdp as 'D:\impdp';

--查询创建的目录

set pagesize 200

set line 200

col DIRECTORY_PATH for a60

col OWNER for a10

select * from dba_directories;

--授权导数据用户(只是适用于导本用户下的对象,导出其他用户对象需有dba权限,用户有dba权限可跳过此步)

grant read,write on directory expdp to syd;

grant read,write on directory impdp to scott;

2.2 按表导出导入

--导出

expdp syd/oracle dumpfile=expdp_test_20200811.dmp directory=expdp tables=syd.test logfile=expdp_test_20200811.log exclude=statistics

--导入(与源端用户,表空间相同时)

impdp syd/oracle dumpfile=expdp_test_20200811.dmp directory=impdp logfile=expdp_test_20200811.log

--导入(与源端用户,表空间不同时)

impdp scott/oracle dumpfile=expdp_test_20200811.dmp directory=impdp remap_schema=syd:scott remap_tablespace=syd:users logfile=expdp_test_20200811.log

2.3 按用户导出导入

--导出

expdp syd/oracle dumpfile=expdp_sydt%U_20200811.dmp directory=expdp schemas=syd parallel=2 logfile=expdp_syd_20200811.log exclude=statistics

--导入(与源端用户,表空间相同时)

impdp syd/oracle dumpfile=expdp_sydt%U_20200811.dmp directory=impdp parallel=2 logfile=impdp_syd_20200811.log

--导入(与源端用户,表空间不同时)

impdp scott/oracle dumpfile=expdp_sydt%U_20200811.dmp directory=impdp remap_schema=syd:scott remap_tablespace=syd:users parallel=2 logfile=impdp_syd_20200811.log

2.4 只导表结构

导出语句中添加content=metadata_only参数即可

--按表导出

expdp syd/oracle dumpfile=expdp_test_20200811.dmp directory=expdp tables=syd.test logfile=expdp_test_20200811.log content=metadata_only exclude=statistics

--按照用户导出

expdp syd/oracle dumpfile=expdp_sydt%U_20200811.dmp directory=expdp schemas=syd parallel=2 logfile=expdp_syd_20200811.log content=metadata_only exclude=statistics

--按表导入

impdp syd/oracle dumpfile=expdp_test_20200811.dmp directory=impdp logfile=expdp_test_20200811.log

--按用户导入

impdp syd/oracle dumpfile=expdp_sydt%U_20200811.dmp directory=impdp parallel=2 logfile=impdp_syd_20200811.log

2.5 高版本向低版本数据库导数据

 

 

导出语句中添加version=10.2.0.5参数即可(低版本数据库的版本号)

--导出

expdp scott/oracle dumpfile=expdp_emp_20200811.dmp directory=impdp tables=scott.emp logfile=expdp_emp_20200811.log version=10.2.0.5 exclude=statistics

--导入

impdp scott/oracle dumpfile=EXPDP_EMP_20200811.DMP directory=expdp logfile=impdp_emp_20200811.log

2.6 收集统计信息

数据库sys管理员用户运行(数据量大的表或用户需收集统计信息,否则可能影响sql执行效率)

收集表和索引统计信息

exec dbms_stats.gather_table_stats(ownname => 'SYD',tabname => 'TEST',estimate_percent => 10,method_opt=> 'for all indexed columns',cascade=>TRUE);

收集用户的统计信息

exec dbms_stats.gather_schema_stats(ownname=>'SYD',estimate_percent=>10,degree=>8,cascade=>true,granularity=>'ALL');

三、其他

        此外数据泵还有其他很多参数,需要用时直接添加至语句中即可。生产环境遇到exp或其他迁移工具满足不了需求时,不妨尝试搜索下数据泵,说不定就有某个参数可以满足你的需求。

--指定过滤条件 
include,exclude,query

--跨数据库链方式导出
network_link

--导入时跳过追加清空等 
table_exists_action=skip,append,truncate,replace

--参数文件
参数太多,转换符太多时可在参数文件中编写,导出时调用参数文件。

。。。。。。。。

。。。。。。。。

。。。。。。。。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/songyundong1993/article/details/107985699

智能推荐

TortoiseGit解决TortoiseGitPlink要求输入密码-程序员宅基地

文章浏览阅读3.2k次,点赞4次,收藏10次。解决TortoiseGitPlink要求输入密码_tortoisegitplink

什么是大端存储和小端存储-程序员宅基地

文章浏览阅读4.7k次,点赞2次,收藏5次。详细了解大端和小端的存储_大端存储和小端存储

【共读】企业信息安全建设与运维指南(一)_信息安全运营服务实施指南研究-程序员宅基地

文章浏览阅读6.3k次,点赞5次,收藏49次。一、从零开始建设企业信息安全系统:企业信息安全体系分为:信息安全技术体系和信息安全管理体系 信息安全技术体系: 两个层面: 1.需建设安全相关基础设施和系统,以具备解决相关安全问题的能力。 2.需具备安全运营能力,只有正确部署和使用设备,才能真正保障信息安全。 信息安全管理体系: 两个层面: 1.具备信息安全相关的制度、规范、流程及策略。 2.具..._信息安全运营服务实施指南研究

python遍历文件夹轻松拷贝所有固定格式的文件_python遍历所有文件复制指定文件?tn=02003390_71_hao_pg-程序员宅基地

文章浏览阅读455次。import osimport shutil def select_file(dir, dir_out): # dir为查询文件路径,dir_out为拷贝路径 if os.path.isfile(dir): if(dir[-4:] == '.bmp' or '.jpg' or 'png'): #拷贝所有以上格式的文件,也可以修改为其他格式 filename = dir.split('\\')[-1] # 提取文件名称 s_python遍历所有文件复制指定文件?tn=02003390_71_hao_pg

Win cuda11+cudnn11网盘下载_win11 cudatookit安装包 百度云-程序员宅基地

文章浏览阅读5.1k次,点赞17次,收藏10次。https://pan.baidu.com/s/1IV_lBCeFFM712xx_iXnhqQ 提取码:0pr5_win11 cudatookit安装包 百度云

springboot集成thymeleaf时css js加载不出来的问题_springboot thymeleaf 不显示css js-程序员宅基地

文章浏览阅读2.1k次。springboot项目的css 和js默认位置是在static中,所以如果没有另外的修改的话,直接创建一个static文件夹,把css和js放入即可。这里放一个实例<!DOCTYPE html><html><head> <meta charset="utf-8"> <title>儿童随访记录表</title> <!-- 引入 echarts.js --> <script src="ht._springboot thymeleaf 不显示css js

随便推点

【教程】CDQ套CDQ——四维偏序问题【转载】-程序员宅基地

文章浏览阅读128次。转自前言 上一篇文章已经介绍了简单的CDQ分治,包括经典的二维偏序和三维偏序问题,还有带修改和查询的二维/三维偏序问题。本文讲介绍多重CDQ分治的嵌套,即多维偏序问题。四维偏序问题给定N(N<=20000)个有序四元组(a,b,c,d),求对于每一个四元组(a,b,c,d),有多少个四元组(a2,b2,c2,d2)满足a2<a &..._cdq处理四维偏序

Unity两个相机设置_unity设置两个摄像机-程序员宅基地

文章浏览阅读571次,点赞8次,收藏10次。Culling Mask:bg(将背景图片的layer设置为bg,层级在最后面,比如这里设置为9,背景图片一般放在2DObject-sprite里)main Camera:用来照物体的,CameraUI:用来照背景的。_unity设置两个摄像机

瑞_VMware虚拟机安装Linux纯净版(含卸载,图文超详细)_虚拟机安装linuxqq和卸载的图片-程序员宅基地

文章浏览阅读3.7k次,点赞90次,收藏24次。VMware虚拟机安装Linux纯净版(含卸载,图文超详细)_虚拟机安装linuxqq和卸载的图片

即时通讯开发平台AnyChat的开发流程及应用_axchat的使用过程-程序员宅基地

文章浏览阅读1.1k次。AnyChat开发流程指南下面列出AnyChatPlatform Core SDK基本开发流程,适用于开发视频会议系统、语音视频聊天系统、远程教育平台以及即时通讯平台(IM)等。 一、初始化该部分是首先要完成的,用于设置SDK的一些行为,包括设置对应的回调函数、设置SDK组件路径、设置是否产生日志文件等,通常初始化AnyChat SDK的代码如下(C++): 01.// 打_axchat的使用过程

计算机毕设Python+Vue疫情期间学生作业线上管理系统(程序+LW+部署)_在线作业管理系统测试用例-程序员宅基地

文章浏览阅读190次。项目运行环境配置:Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:SSM + mybatis + Maven + Vue 等等组成,B/S模式 + Maven管理等等。环境需要1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。2.IDE环境:IDEA,Eclipse,Myeclipse都可以。_在线作业管理系统测试用例

Unicode与FFFE(记一个蛋疼的项目)-程序员宅基地

文章浏览阅读758次。好久没更新博客了。近期忙着一个项目, 还要应付各种考试就顾不上博客了。今天遇到了一个蛋疼的问题, 通过BLE4.0与蓝牙外设通信。按照客户给的协议文档发送的数据, 可是外设不能正确识别。折腾了一下午。最后问了客户才知道... 数据头fffe, 他们在外设里面已经做规定了。 所以不须要发送。真是蛋疼。也怪自..._unicode fffe

推荐文章

热门文章

相关标签