小编给大家分享一下oradebug怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
oradebug是个sql*plus命令行工具,有sysdba的权限就可以登入,用于追踪进程的详细信息并生成trace文件
sqlplus / as sysdba
SQL> oradebug help
expdp很慢,增加metrics和trace参数还是看不出问题,通过10046 level 8获取等待事件,使用oradebug抓取expdp进程的这些详细信息并写入到trace文件
1、timed_statistics必须为true,11.2.0.0开始默认为true
ALTER SYSTEM SET timed_statistics = TRUE SCOPE = memory;
2、 执行一个expdp导出,增加了trace默认会生成一个trace文件
expdp system/123456 directory=DATA_PUMP_DIR dumpfile=dump123 logfile=dump123.log schemas=hr METRICS=Y TRACE=480300
3、查看expdp的dw进程的进程号spid
CONNECT / as sysdba
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 v$session s, v$process p, dba_datapump_sessions d
where p.addr=s.paddr and s.saddr=d.saddr and s.program like '%DW%';
4、假如上面查询结果p.spid为123,10046 trace level 8其中的8表示跟踪等待事件。
oradebug setospid 123
oradebug unlimit
oradebug event 10046 trace name context forever, level 8
oradebug tracefile_name
oradebug event 10046 trace name context off
oradebug文件dump过程的信息
alter system dump logfile '你要dump的日志:可以是redolog也可以是archivelog';
oradebug setmypid
oradebug tracefile_name;
oradebug系统hang住原因分析
oradebug setmypid
oradebug unlimit
oradebug hanganalyze 3
oradebug tracefile_name
获取某进程的状态信息
oradebug setospid 22180
oradebug dump processstate 10
oradebug tracefile_name
---oradebug dump选项的信息
DUMP <dump_name> <lvl>
---查看dump_name
SQL> oradebug dumplist
--lvl,如果为了获取全面一点的信息,可以使用Level 10
以上是“oradebug怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。