2025年impdp 导入表(impdp导入表空间到另一个表空间)

impdp 导入表(impdp导入表空间到另一个表空间)p p div img src http img blog itpub net blog 2024 03 26 1f1b9e9c35ac jpeg x oss process style bb div div div

大家好,我是讯享网,很高兴认识大家。



 <p></p><div><img src="http://img.blog.itpub.net/blog/2024/03/26/1f1b9e9c35ace1a4.jpeg?x-oss-process=style/bb"/></div><div><span style="outline: 0px;max-width: 100%;letter-spacing: 0px;color: rgb(136, 136, 136);visibility: visible;font-size: 12px;box-sizing: border-box !important;overflow-wrap: break-word !important;">作者 | JiekeXu<br/></span></div><div><span style="outline: 0px;max-width: 100%;letter-spacing: 0px;color: rgb(136, 136, 136);visibility: visible;font-size: 12px;box-sizing: border-box !important;overflow-wrap: break-word !important;">来源 |公众号 JiekeXu DBA之路(ID: JiekeXu_IT)<br/></span></div><div><span style="outline: 0px;max-width: 100%;letter-spacing: 0px;color: rgb(136, 136, 136);visibility: visible;font-size: 12px;box-sizing: border-box !important;overflow-wrap: break-word !important;">如需转载请联系授权 |&nbsp;(个人微信 ID:<span style="outline: 0px;max-width: 100%;letter-spacing: 0px;font-family: "Helvetica Neue", Helvetica, "Hiragino Sans GB", "Microsoft YaHei", Arial, sans-serif;visibility: visible;">JiekeXu_DBA</span>)</span></div><p></p><p></p><div><br/><strong><span style="font-size: 12px;">为啥开头就放一个作者来源及授权申明和公众号呢?是因为这两天抄袭被吵的沸沸扬扬,相信每个博主也都遇到过被爬取文章的情况,当你的作品,文章被人拿去标原创,去售卖真的会被恶心到,以前写文章的时候发现有的博主读完你的文章然后自己实验一遍发出去,虽然也有点无耻,但勉强能接受。以前还有培训机构把我翻译的 051、052、053 OCP 资料拿去给学员当教材了,我也没去管,后来各个网站直接爬取我的文章,看到的比较多,也没法去找到本人,我也就懒得去管了,但想着也是恶心,昨晚上我还发现有个叫“<strong><span style="font-size: 12px;">XX运维</span></strong>”的网站,直接爬取墨天轮很多博主的文章一字不改的发过去了,我发现很多博主的文章都在里面,虽然阅读量为零但还是感觉恶心人,而且这种爬虫的网站也不在少数,所以说,国内知识版权意识还是很薄弱,大佬们辛辛苦苦出本书,写的文章,巡检脚本,几天就给你整很多盗版的,看看国外就没这样的事儿。没办法,我只能在开头和结尾加申明了。<br/><br/>目&nbsp;&nbsp;&nbsp;&nbsp; 录<br/>&nbsp;&nbsp;&nbsp; 前 言<br/>&nbsp;&nbsp;&nbsp; 1、大表信息<br/>&nbsp;&nbsp;&nbsp; 2、正常导出大表<br/>&nbsp;&nbsp;&nbsp; 3、利用分片导出 lob 大表<br/>&nbsp;&nbsp;&nbsp; 4、目标库分别导入 dmp<br/>&nbsp;&nbsp;&nbsp; 5、数据泵其他用法<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 数据泵常用导入导出语句<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 导出部分数据<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 使用 attach 参数查看导入进度<br/>&nbsp;&nbsp;&nbsp; 6、导入导出中常用 SQL 语句<br/>&nbsp;&nbsp;&nbsp; 7、数据泵使用**实践<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 数据泵组件<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 19c 数据泵新特性<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 数据泵**实践</span></strong></div><p></p><p style="text-align: left;"><span style="font-size: 14px;">有些时候为了缩短数据泵导入导出的时间,一般会选择将大表和其他表分开导出,尤其是遇到大表有 lob 字段的,导出时间会更慢。这样则需要分开导出大表和其他表,而单独导出大表也会很慢,可以利用 rowid 分片技术将大表分开来同时导出,提高导出效率。另外,数据泵常用的导出导入命令及**实践也值得参考学习。</span></p><p style="text-align: left;"><span style="font-size: 14px;">表记录只有  条,但是只有 1.8G 大小,有两个 CLOB 字段,查看 Lob 大小有 13.71G 大小。</span></p><pre><br/></pre><p></p><div></div><p></p><pre>2、正常导出大表</pre><pre><br/></pre><p></p><div></div><p></p><pre>3、利用分片导出&nbsp;lob&nbsp;大表</pre><pre><br/></pre><p></p><div></div><p></p><p style="text-align: left;"><span style="font-size: 14px;">查看日志,大概每个 tableid 均需要 22 分钟左右,如不用 rowid 分片则需要一个多小时才能导出 01:16:03 。</span></p><p></p><div></div><p></p><pre>4、目标库分别导入&nbsp;dmp</pre><p style="text-align: left;"><span style="font-size: 14px;">导入时是挨个 dmp 执行串行导入,每个 dmp 都会锁表,第一个 dmp 导入完成后表锁释放,接着导入第二个,实际上也不是特别快。</span></p><pre><br/></pre><p></p><div></div><p></p><p style="text-align: left;"><span style="font-size: 12px;">注意:Oracle 12c 以后的 impdp 的 TRANSFORM 参数已经扩展为包括 DISABLE_ARCHIVE_LOGGING 选项。该选项的默认值为 “N”,不会影响日志行为。将该选项设置为 “Y”,这将会使表和索引在导入前将日指属性设置为 NOLOGGING,从而导入期间减少相关日志的产生,导入后再将日志属性重置为 LOGGING。如果目标库有 ADG、OGG 等其他复制软件在数据库级别开启了 <strong>force logging</strong>,那么“TRANSFORM=DISABLE_ARCHIVE_LOGGING:Y” 参数将会无效,也会生成大量归档日志。</span></p><p style="text-align: left;"><span style="font-size: 14px;">查看如下日志,导入最短 7 分钟,第二个 dmp 则需要 14 分钟,最后一个最长时间则需要 54 分钟,由此可见是串行导入的,这块并没有缩短时间。</span></p><pre><br/></pre><p></p><div></div><p></p><pre>5、数据泵其他用法</pre><pre><br/></pre><p></p><div></div><p></p><pre>数据泵常用导入导出语句</pre><pre><br/></pre><p></p><div></div><p></p><pre>导出部分数据</pre><p style="text-align: left;"><span style="font-size: 14px;">对一个数据量在 TB 

讯享网

级别的生产库做全库迁移费时又费力,但创建测试环境时,我们往往并不需要用到所有的数据,只需要使用部分数据进行功能性测试即可。对此,数据泵提供了两种方式用于导出部分数据,一种方式是 QUERY,即按条件导出,类似于查询语句中的 where。例如,导出业务用户下每张表的前 5000 行数据,命令如下:

讯享网 
 
   
    

另一种方式是 SAMPLE,即数据抽样百分比。针对全库、用户和表三种模式,我们可以在导出时使用此参数来进行设置,使用方法示例如下。导出 SCOTT 用户下每张表 20% 的数据,命令如下:
导出 SCOTT 用户下每张表格 20% 的数据,命令如下:


讯享网导出&nbsp;SCOTT&nbsp;用户下的所有表,但只对大表&nbsp;emp&nbsp;抽取&nbsp;20%&nbsp;的数据,命令如下:

讯享网使用&nbsp;attach&nbsp;参数查看导入进度
 
 
   
    
讯享网 
 
   
    

参考 Oracle 公益课堂 B 站视频;

https://www.bilibili.com/video/BV1264y1b7a8

exp/imp EXPDP/IMPDP 的基本概念

EXPDP 和 IMPDP 叫做数据泵(Oracle Data Pump),是 ORACLE 10G 开始出现的导入导出工具,相对于数据泵 EXP 和 IMP 叫做传统导入导出工具(the original Export and Import utilities),一般来说,ORACLE 建议使用数据泵,因为他支持 ORACLE10G 之后的所有新特性,而传统导入导出工具不支持。这两种类型的导入导出工具都支持跨操作系统平台和跨 ORACLE 版本。

exp/imp EXPDP/IMPDP的主要区别

1)EXPDP/IMPDP 数据泵是服务端的工具,它只能在服务端使用而不能在客户端使用,也不能在 DG 库上使用

2)exp/imp 可以在服务端和客户端使用,也可以在只读的 DG 库上使用

使用传统导入导出工具的情况:

1、 需要导入由 EXP 生成的文件

2、 需要导出将会由 IMP 导入的文件,例如从 ORACLE 10G 导出数据,接着要导入到更低版本的数据库中。

ORACLE 数据泵技术可以非常高速的在两个库之间转移数据和元数据。这种技术只在 ORACLE10.1 和之后的版本可用。

数据泵由三部分组成:

1、 命令行客户端(expdp 和 impdp)

2、 DBMS_DATAPUMP 包 (也就是 Data Pump API)

3、 DBMS_METADATA 包 (也就是 Metadata API)

命令行客户端与传统的 exp 和 imp 非常相似,但它是通过使用 DBMS_DATAPUMP 包提供的过程执行导入导出命名。所有的数据泵执行过程都是在服务器端进行的,这意味着所有的非授权用户,需要让 DBA 创建一个DIRECTORY 来读写数据泵文件。对于授权用户,有一个默认的 DIRECTORY 可以用。DBMS_DATAPUMP 和DBMS_METADATA 包可以独立于 expdp、impdp 而独立使用,就像 ORACLE 的其他包一样。

导入导出传输模式

1)exp 导出分为表模式,用户模式,完全模式。分别对应导出表,导出整个用户下的对象,导出整个库下的所有对象

2)EXPDP 导出分为表模式、用户模式、数据库模式、可传输表空间模式

源库和目标库

1) 源库是指提供数据来源的数据库

2) 目标库是指需要将数据导入的数据库


讯享网

METRICS
Report additional job information to the import log file [NO].

向导入日志文件[NO]报告额外的作业信息。

LOGTIME
Specifies that messages displayed during import operations be timestamped.
Valid keyword values are: ALL, [NONE], LOGFILE and STATUS.

指定导入操作期间显示的消息的时间戳。有效的关键字值包括:ALL、[NONE]、LOGFILE 和 STATUS。

要想预估导出文件的大小,可以使用“ESTIMATE_ONLY=Y”选项运行 EXPDP。导入 Oracle 12c 及以上版本时,建议搭配“TRANSFORM=DISABLE_ARCHIVE_LOGGING:Y”参数,在归档模式下不生成归档日志。

对于数据泵,建议大家记住“expdp/impdp -help”命令。其中几个关键的参数用法如下。

·CLUSTER:RAC中默认为Y,利用集群资源并行工作,建议关闭(CLUSTER=N)。

·CONTENT:导出内容,默认为ALL,可以选择元数据[METADATA_ONLY]或仅数据[DATA_ONLY]。

·INCLUDE:导出/导入时指定的对象。

·EXCLUDE:与INCLUDE互斥,导出/导入时排除的对象。

·NETWORK_LINK:远端数据库DBLINK连接。

·PARFILE:参数文件,避免在不同的操作系统下,因转义字符的不同而带来影响。

·QUERY:特定对象筛选条件,类似于select中的where条件。

·SAMPLE:数据抽样比,一般用于搭建测试环境。

·SQLFILE:对导入内容生成SQL文本语句。

·REMAP_SCHEMA/REMAP_TABLE/REMAP_TABLESPACE:用于重定向目标端导入对象。

·COMPRESSION:导出文件压缩,空间紧张时可以使用此参数,可以选择所有内容[ALL]、元数据[METADATA_ONLY]或仅数据[DATA_ONLY]。

·PARTITION_OPTIONS:用于迁移分区表,NONE表示与源端保持一致,DEPARTITION表示将每个分区表和子分区表作为一个独立的表创建,并使用表和分区(子分区)名字的组合作为自己的名字,MERGE表示将所有分区合并到一个表。

确认字符集是否一致,需要保证源库上的字符集和目标库上的字符集一样,否则 expdp/impdp (exp/imp) 容易报告错误,并且丟数据。

 
 
   
    

全文完,希望可以帮到正在阅读的你,如果觉得此文对你有帮助,可以分享给你身边的朋友,同事,你关心谁就分享给谁,一起学习共同进步~~~

欢迎关注我公众号【JiekeXu DBA之路】,第一时间一起学习新知识!以下三个地址可以找到我,其他地址均属于盗版侵权爬取我的文章,而且代码格式、图片等均有错乱,不方便阅读,欢迎来我公众号或者墨天轮地址关注我,第一时间收获最新消息。


————————————————————————————
公众号:JiekeXu DBA之路
CSDN :https://blog.csdn.net/JiekeXu
墨天轮:https://www.modb.pro/u/4347
腾讯云:https://cloud.tencent.com/developer/user/
————————————————————————————









讯享网OGG|Oracle&nbsp;GoldenGate&nbsp;基础2022&nbsp;年公众号历史文章合集整理
讯享网OGG|Oracle&nbsp;数据迁移后比对一致性
Linux 环境搭建 MySQL8.0.28 主从同步环境


小讯
上一篇 2025-06-11 23:47
下一篇 2025-05-26 18:45

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/143180.html