2025年impdp导入dmp文件指定表空间(impdp导入语句)

impdp导入dmp文件指定表空间(impdp导入语句)svg xmlns http www w3 org 2000 svg style display none svg

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



 <svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path> </svg> <p></p> 

讯享网

关于文件我们用的还是比较多的,文件是作为导入和导出表使用的文件格式。

  • FileZilla
  • SecureCRT

其中,主要用于查看生成的文件与日志文件;主要用于执行shell脚本。

文件导出用的比较多的一般是三种:导出整个数据库实例下的所有数据、导出指定用户的所有表、导出指定表。

相关参数以及导出示例:


  1. 指定转储文件和日志文件所在的目录。
讯享网

用于指定目录对象名称。需要注意,目录对象是使用语句建立的对象,而不是目录。

 
   

  1. 该选项用于指定要导出的内容。默认值为。
讯享网

当设置为时,将导出对象定义及其所有数据。为时,只导出对象数据,为时,只导出对象定义。

 
讯享网

  1. 用于指定转储文件的名称,默认名称为。
 

用于指定目录对象名,用于指定转储文件名。需要注意,如果不指定,导出工具会自动使用选项指定的目录对象。

讯享网
 

2、授权

讯享网

–查看目录及权限

 

3、执行导出

讯享网

连接到:
With the Partitioning, OLAP and Data Mining options
启动 “ZFTANG”.“SYS_EXPORT_SCHEMA_01”: zftang/@fgisdb sch
ory=dir_dp dumpfile =expdp_test1.dmp logfile=expdp_test1.log; */


1、必须放在前面,如果将其放置最后,会提示:

  • : 操作无效
  • : 无法打开日志文件。
  • : 目录名 ; 无效
    2、在导出过程中, 创建并使用了一个名为的对象,此对象就是导出过程中所用的名字,如果在执行这个命令时如果没有指定导出的名字那么就会产生一个默认的名字,如果在导出过程中指定名字就为以指定名字出现。
 

3、导出语句后面不要有分号,否则如上的导出语句中的表名为‘my_job1;’,而不是my_job1。因此导致执行该命令时一直提示找不到job表。

5.1 按表模式导出:

讯享网

5.2 按查询条件导出

 

5.3 按表空间导出

讯享网

5.4 导出方案

 

5.5 导出整个数据库

讯享网

6.1 按表导入

p_street_area.dmp文件中的表,此文件是以gwm用户按schemas=gwm导出的:

 

6.2 按用户导入(可以将用户信息直接导入,即如果用户信息不存在的情况下也可以直接导入)

讯享网

6.3 不通过expdp的步骤生成dmp文件而直接导入的方法

 

6.4 更换表空间

采用参数

讯享网
 
   
  • 和是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用。
  • 和是服务端的工具程序,他们只能在服务端使用,不能在客户端使用。
  • 只适用于导出的文件,不适用于导出文件;只适用于导出的文件,而不适用于导出文件。
  • 或命令时,可暂不指出用户名/密码@实例名 as 身份,然后根据提示再输入,如:
讯享网

导入过程中碰到的两个问题:


讯享网

8.1中文字符集转换

  • KUP-11007: 列REASON_CODE 的值太大 (实际值: 21, 最大值: 20)
  • KUP-11009:

这里涉及到了字符集转换的问题,中文在GBK字符集中占2位,但在UTF-8字符集中占3位,所以在GBK中保存小于20个字符的情况下,导入到了UTF-8的库中,就可能因为需要额外的字符空间导致超出字段长度定义,报了ORA-12899的错误。

8.2 主外键关联

  • ORA-31693:
  • ORA-29913:
  • ORA-02291:

由于有些表之间是存在主外键关联的,expdp导出的时候选择了data_only仅导出数据,impdp导入的时候会因未插入主键记录而插入外键记录,出现ORA-02291的错误,对于这种情况可以选择先禁止主外键关联,导入后再恢复关联。
操作顺序:

  1. 导入前,执行如下SQL找到需要禁止的外键关联
 
   
  1. 执行(a)的结果SQL。
  2. 导入后,执行如下SQL找到需要恢复的外键关联
讯享网

参数不会验证已存储的数据,但未来再插入的记录则会遵循主外键关联的关系。

  • 使用10g以上版本提供的expdp/impdp数据泵导入导出工具,较以往的exp/imp工具,无论是在参数的可选择性上,还是速度和压缩比上,都有了不小的改进,提供更为方便快速的数据导入导出方法给我们。
  • 导入导出可能碰到最多的问题,字符集转换算是其中之一,要明确导入导出数据对字符集的依赖程度,才能确保数据导入导出的正确。
  • 对于有主外键关联的数据,如果选择data_only仅导出数据,那么可在导入前禁止约束,这样导入过程不会受到主外键关联的影响,导入后可以恢复约束,保证约束的正确。
 

1、ORACLE数据库中的外键约束名都在表user_constraints中可以查到。其中表示是外键约束。
2、启用外键约束的命令为:
3、禁用外键约束的命令为:
4、然后再用SQL查出数据库中所以外键的约束名:


讯享网

一、ipspkgextstus 表定期清理

ipspkgextstus表清理超过半年的数据,清理方式为
①替换表名ipspkgextstus为ipspkgextstusbak
②truncate表ipspkgextstus
③将ipspkgextstusbak表中部分数据复原至ipspkgextstus(建议半年),
复原范围为,红字部分按实际情况替换
④ipspkgextstusbak表保留但不备份。
实现步骤:





 

程序名称: 重建IPSPKGEXTSTUS,通过导出导入DMP形式

讯享网

SecureCRT操作界面如下:
这里写图片描述
根据expdp语句中设置的directory参数,查询相应数据表,即可查看到相应的服务器地址。

 

这里写图片描述
根据服务器地址,在FileZilla工具中即可查看到相应位置的dmp与log文件。
FileZilla操作界面如下:
这里写图片描述
在此可查看到生成的dmp与log文件。



生成的log日志文件如下图所示:
这里写图片描述
log日志文件主要记录了当前数据库的版本信息,执行的dmp语句及执行相关情况。
通过查看log日志,可知该导出dmp文件无错误提示。


另外,可通过查询数据记录条数进行大致校验。从日志记录中可以看到涉及的数据记录数为97760条。统计对应的数据表记录数结果如下:
这里写图片描述
错误处理:
UDE-00014:invalid value for parameter,’query’.
expdp clms01/clms01



DUMPFILE=IPSPKGEXTSTUS_NEXT_HALF_YEAR.dmp directory=ORABAK TABLES=IPSPKGEXTSTUS LOGFILE=IPSPKGEXTSTUS_EXP_NEXT_HALF_YEAR.LOG
CONTENT=DATA_ONLY EXCLUDE=STATISTICS QUERY=‘WHERE exists (select 1 from
onlnsrvflwtab where ipspkgextstus.FLWID=onlnsrvflwtab.FLWID and onlnsrvflwtab.crttm &gt;“2017-06-30 00:00:00”)’
这里写图片描述
expdp clms01/clms01 DUMPFILE=IPSPKGEXTSTUS_NEXT_HALF_YEAR.dmp directory=ORABAK TABLES=IPSPKGEXTSTUS LOGFILE=IPSPKGEXTSTUS_EXP_NEXT_HALF_YEAR.LOG
CONTENT=DATA_ONLY EXCLUDE=STATISTICS QUERY=IPSPKGEXTSTUS:‘WHERE exists (select 1
from onlnsrvflwtab where ipspkgextstus.FLWID=onlnsrvflwtab.FLWID and onlnsrvflwtab.crttm &gt;“2017-06-30 00:00:00”)’
继续出现问题:
这里写图片描述
Query条件写得有问题。特殊字符均需转译!
expdp clms01/clms01 DUMPFILE=IPSPKGEXTSTUS_NEXT_HALF_YEAR.dmp directory=ORABAK TABLES=IPSPKGEXTSTUS LOGFILE=IPSPKGEXTSTUS_EXP_NEXT_HALF_YEAR.LOG
CONTENT=DATA_ONLY EXCLUDE=STATISTICS QUERY=IPSPKGEXTSTUS:“WHERE exists (select 1 from onlnsrvflwtab where ipspkgextstus.FLWID=onlnsrvflwtab.FLWID and onlnsrvflwtab.crttm &gt;‘2017-06-30 00:00:00’)”
这里写图片描述
执行之后,还是有问题。继续努力!
ORA-31693、ORA-00904
  继续尝试修改
expdp clms01/clms01 DUMPFILE=IPSPKGEXTSTUS_NEXT_HALF_YEAR.dmp
directory=ORABAK TABLES=IPSPKGEXTSTUS
LOGFILE=IPSPKGEXTSTUS_EXP_NEXT_HALF_YEAR.LOG CONTENT=DATA_ONLY
EXCLUDE=STATISTICS QUERY=IPSPKGEXTSTUS:“WHERE exists (select 1 from onlnsrvflwtab
where flwid=onlnsrvflwtab.flwid and onlnsrvflwtab.crttm &gt;‘2017-06-30 00:00:00’)”
这里写图片描述
select count() from ipspkgextstus a where exists(select 1 from onlnsrvflwtab o where a.flwid=o.flwid and o.crttm &gt;‘2017-06-30 00:00:00’)
这里写图片描述
  通过与相应的sql语句统计结果相比,可知以上expdp语句并不对。Query参数条件并未执行。继续尝试修改!
  取消使用exists,取而代之使用in。
expdp clms01/clms01 DUMPFILE=IPSPKGEXTSTUS_NEXT_HALF_YEAR.dmp
directory=ORABAK TABLES=IPSPKGEXTSTUS
LOGFILE=IPSPKGEXTSTUS_EXP_NEXT_HALF_YEAR.LOG CONTENT=DATA_ONLY
EXCLUDE=STATISTICS QUERY=IPSPKGEXTSTUS:“WHERE flwid IN (select flwid from
onlnsrvflwtab where crttm &gt;‘2017-06-30 00:00:00’)”
这里写图片描述
  Binggo正常了,继续进行导入dmp文件操作。
impdp clms01/clms01 directory=ORABAK dumpfile=IPSPKGEXTSTUS_NEXT_HALF_YEAR.dmp
LOGFILE=IPSPKGEXTSTUS_IMP_NEXT_HALF_YEAR.LOG CONTENT=DATA_ONLY
tables=IPSPKGEXTSTUS table_exists_action=truncate
这里写图片描述
  重新查表核对记录数。
这里写图片描述
  结果一致,实现操作。
二、cmbonlnsrvparm 表清理
cmbonlnsrvparm表清理超过半年的数据,清理方式为①删除onlnsrvndparmreltab表外键②替换表名cmbonlnsrvparm为cmbonlnsrvparmbak③truncate表cmbonlnsrvparm④将cmbonlnsrvparmbak表中的部分数据复原至cmbonlnsrvparm(建议一年),复原范围为select a.


















from cmbonlnsrvparm a where exists(select 1 from onlnsrvflwtab o,onlnsrvndparmreltab r where a.parmid=r.parmid and o.flwid = r.flwid and o.crttm &gt;‘2017-01-01 00:00:00’),红字部分按实际情况替换⑤cmbonlnsrvparmbak表保留但不备份。
查看onlnsrvndparmreltab表外键sql语句:
select u.* from user_constraints u where u.table_name=‘ONLNSRVNDPARMRELTAB’;
这里写图片描述
  由于constraint_type=‘R’表示是外键约束,可以看到该表外键已被删除。
实现步骤:
1.select u.* from user_constraints u where
u.table_name=‘ONLNSRVNDPARMRELTAB’;
2.expdp cmbonlnsrvparm.dmp
3.expdp cmbonlnsrvparm _one_year.dmp
4.impdp cmbonlnsrvparm table_exists_action=truncate
这里写图片描述
  执行后的校验方法是查看处理日志、对比处理的数据条数。

































讯享网

程序名称: 重建IPSPKGEXTSTUS,通过导出DMP形式

导出IPSPKGEXTSTUS全量

 

导出IPSPKGEXTSTUS半年

讯享网
 

程序名称: 重建IPSPKGEXTSTUS,通过导入DMP形式

导入IPSPKGEXTSTUS半年

讯享网

1.导出scott用户下的emp,dept两张表

 

2.从scott用户中把表dept和emp导入到system用户中

讯享网


小讯
上一篇 2025-05-26 21:52
下一篇 2025-05-29 09:00

相关推荐

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