暂无图片
分享
smiling
2020-05-13
impdp 非常慢
暂无图片 5M

19.6.0.0.0 的库中导入数据非常慢,sga 190g
redo 大小2g 共8组

怎么排查原因,有什么办法改善呢?

收藏
分享
5条回答
默认
最新
Kun

看一下数据库等待事件呢

暂无图片 评论
暂无图片 有用 0
打赏 0
smiling

等待事件.jpg

暂无图片 评论
暂无图片 有用 0
打赏 0
zouxiang

你应该进入到impdp里面,看看当前卡在那一步对象上。

暂无图片 评论
暂无图片 有用 0
打赏 0
你好我是李白

wait for unread message on broadcast channel,你是用network_link参数导入的吧?我用network_link导入,基本前一个小时都是卡在wait for unread message on broadcast channel,等到开始导入数据时,速度才会变快,如果需要开trace,可以参考:

数据泵三种trace方法(方法来自墨天轮):
(1)在expdp/imdp命令中添加参数METRICS=Y TRACE=480300 (或者 480301 捕获SQL trace) 并重新运行expdp/impdp

(2) sql_trace
对DataPump Master (DM) 和 Worker (DW)进程启用level 12的10046 trace
– 版本>= 11g and < 12c
SQL> alter system set events ‘sql_trace{process: pname=dw | pname=dm} level=12’;

---- 在发生ORA-1555 或停止impdp 处理后,停止 sql trace 收集。
alter system set events ‘sql_trace{process: pname=dw | pname=dm} off’;
– 版本= 12c
SQL> alter system set events ‘sql_trace {process: pname=dw | process: pname=dm} level=12’;
然后用参数METRICS = Y加入命令行启动expdp/impdp
SQL> alter system set events ‘sql_trace {process: pname=dw | process: pname=dm} off’;

(3)追踪进程 10046
set lines 350 pages 400 numwidth 7
col program for a38
col username for a10
col spid for a7
select to_char(sysdate, ‘YYYY-MM-DD HH24:MI:SS’) “DATE”,
s.program,
s.sid,
s.status,
s.username,
d.job_name,
p.spid,
s.serial#,
p.pid
from vsessions,vsession s, vprocess p, dba_datapump_sessions d
where p.addr = s.paddr
and s.saddr = d.saddr
and (UPPER(s.program) LIKE ‘%DM0%’ or UPPER(s.program) LIKE ‘%DW0%’);

–确认Data Pump Worker SID 和 SERIAL#(例如. 对于 DM 和DW 进程), 以level 12跟踪 Master/Worker 进程 (bind和wait信息):
SQL> exec sys.dbms_system.set_ev (SID, SERIAL#, 10046, 12, ‘’);

–结束跟踪
SQL> exec sys.dbms_system.set_ev (SID, SERIAL#, 10046, 0, ‘’);

SQL> select * from v$diag_info WHERE name=‘Default Trace File’;

暂无图片 评论
暂无图片 有用 0
打赏 0
smiling
问题已关闭: 问题已经得到解决
暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
Oracle的事务和锁有什么关系?
回答 1
已采纳
Oracle中可以使用多种机制来确保数据的完整性,如约束、触发器、事务和锁等。事务和锁的关系非常紧密。事务包含一系列的操作,这些操作要么全部成功,要么全部失败,通过事务机制管理多个事务,保证事务的一致
存储过程中,如果where条件是动态增加的,如何实现
回答 1
setserveroutputon;declaremonvarchar2(4);vsqlvarchar2(20);v1varchar2(200);vsql2varchar2(1000);beginse
请教oracle11g开启ssl的配置方法,感谢[抱拳]
回答 4
后边解决了么?
oracle中,查询的sql语句,返回量太大,会不走索引,怎么优化?
回答 5
已采纳
如果一定要返回很多数据,则可以加hint开并行查询、做分页显示等来提高查询速度。
oracle库里面设定多久切一次归档的那个参数是什么?
回答 3
已采纳
日志满了就切换。或者altersystemcheckpoint。
Oracle大表分区改造
回答 2
已采纳
可以使用在线重定义的方式,参考我之前回答的这个问题https://www.modb.pro/issue/10548
oracle expdp导出数据为啥会引起数据块的改变?
回答 2
已采纳
您好,数据泵在导出过程中,DATADUMP创建并使用了一个名为SYSEXPORTSCHEMA01的对象,此对象就是DATADUMP导出过程中所用的JOB名字,如果在执行这个命令时如果没有指定导出的JO
Oracle 判断出该字段中是否含有特殊字符的语句怎么写?
回答 2
SELECTFROMtablenameWHEREREGEXPLIKE(columnname,'[^[:alnum:]]')
ORA-07445 [kslgetl] 引起的宕机
回答 7
已采纳
这是BUG导致的,注意到你的数据库版本是11.2.0.1OracleDatabase11gEnterpriseEditionRelease11.2.0.1.064bitProduction强烈建议你升
历史的sql_id如何查询
回答 3
已采纳
如果这个语句查询很快的话,历史的视图是大概率找不到这个sqlid的,历史视图并不是记录所有执行过的语句