Datapump的几个参数

Datapump有些参数并没有公开,但是在实际情况下,这些参数还是比较有用处的,在此总结几个参数.

[@more@]

1.metrics=y
这个是隐藏参数。功能是显示导出来多少个对象,这些对象花了多少时间,这些对象主要指的是定义(导入时,建index花了多少时间,有参考价值),不显示导表数据时间。如果能够把导每张表花了多少时间显示出来,还是很有参考价值的.可能以后的版本会做到这点,这也可能为什么这个是隐藏参数的原因.下面是加了此参数,显示的信息:
Processing object type SCHEMA_EXPORT/USER
Completed 1 USER objects in 0 seconds
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
Completed 11 SYSTEM_GRANT objects in 1 seconds
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Completed 12 ROLE_GRANT objects in 0 seconds
...
如是没有指定metrics刚得到如下的输出.
Processing object type SCHEMA_EXPORT/USER
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
Processing object type SCHEMA_EXPORT/ROLE_GRANT
...
导入时,加上此参数,可以显示建索引时间,好像也只能显示建index的总时间,不能细分到建一张表所有索引花了多少时间,但这些信息也可以推算出导表的数据总时间:
. . imported "TEST"."TAB1" 1.353 GB 21119184 rows
. . imported "TEST"."TAB2" 1.133 GB 28507192 rows
Processing object type TABLE_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT
Completed 18 OBJECT_GRANT objects in 0 seconds
Processing object type TABLE_EXPORT/TABLE/INDEX/INDEX
Completed 2 INDEX objects in 330 seconds
....
从这里可以把导表的时间算成:总的impdp时间-330秒.

2.parallel参数。
这个参数是控制导数据时的进程总和,包括pump worker process,以及worker process衍生的并发进程。以前错误的认为parallel就是work process的数量.
设置这个参数的原则是:
初始值设置成2*CPU数量。
导出时,要指定dump文件数量不能小于parallel,写dump文件各进程是互斥的,方便起见,加上通配符%U,比较省事。
导入时,进程读文件,是不互拆的,所以如果parallel>dump文件数量,在一次导数据中,cpu=8,dump文件数=8,把parallel从16加大到32,导大表的速度还是很明显的.导小表,则不明显。

3,access_method.
这个是隐藏参数,data pump可以direct path,external path,network, datafile copy来访问数据.最常见的是前面两种,默认情况下,data pump可以自动选择模式,但从上次碰到的一次案例来看,当表有long/long raw(表最后字段)+parallel的话,可能会碰到性能问题,此时要指定access_method=direct_path.

4,status=时间(单位秒)
一般情况下,如查要查看当前data pump的工作状态,另一开一个窗口,然后用attach=job_name,去查看。其实可以在一开始执行命令时指定status,这样在同一个屏幕就会每隔一定的时间(由status指定)来显示data pump的进度。感觉个还是比较实用。顺便说一下,关于输出到屏幕上信息,有些项是不对的。
Job: SYS_IMPORT_FULL_01
Operation: IMPORT
Mode: FULL
State: EXECUTING
Bytes Processed: 2,671,229,656
Percent Done: 100
Current Parallelism: 1
Job Error Count: 0
Dump File: /home/oracle/backup/abc.dmp
这里的"Percent Done:"一直都是100,是不准确的,有点误导人,要看“Bytes Processed”。

5,keep_master,
隐藏参数,通常情况下,当导入/导出完后,系统控制表(如上面的SYS_IMPORT_FULL_01)会自动删除,但如果有时想保留下来,刚可以用上这个参数。

6,trace
也是隐藏参数,用于跟踪相应的进程,生成的trace文件在user_dump_dest/d下面是trace跟踪的等级:
-- Summary of Data Pump trace levels:
-- ==================================

Trace DM DW ORA Lines
level trc trc trc in
(hex) file file file trace Purpose
------- ---- ---- ---- ------ -----------------------------------------------
10300 x x x SHDW: To trace the Shadow process (API) (expdp/impdp)
20300 x x x KUPV: To trace Fixed table
40300 x x x 'div' To trace Process services
80300 x KUPM: To trace Master Control Process (MCP) (DM)
100300 x x KUPF: To trace File Manager
200300 x x x KUPC: To trace Queue services
400300 x KUPW: To trace Worker process(es) (DW)
800300 x KUPD: To trace Data Package
1000300 x META: To trace Metadata Package
--- +
1FF0300 x x x 'all' To trace all components (full tracing)

关于这个参数,没测试。如果要跟踪,可以用常规的方法,从dba_datapump_sessions与v$process关联,找到相应的spid,然后用oradebug来跟踪。
另一点,当指定了sqlfile+trace=2时,刚相应的sqlfile生成xml格式.

参考文档:286496.1

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/45188/viewspace-1024177/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/45188/viewspace-1024177/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值