问题:
当一个特殊的oracle错误发生时,你想要创建一个自动的错误转储文件。
解决方案:
你可以创建错误转储信息来诊断各种数据库里的问题,通过在hanganalyze 或systemstate命令中指定错误号。例如,诊断死锁的原因经常是个很棘手的问题。在数据库遇到ORA-00060: Deadlock detected 错误时,你就要数据库转储一个跟踪文件。要这么做,则要给hanganalyze或systemstate命令指定事件号60:
SQL> alter session set events '60 trace name hanganalyze level 4';
Session altered.
SQL> alter session set events '60 trace name systemstate level 266';
Session altered.
SQL>
当数据库下次遇到ORA-00060错误时,两命令都会触发自动转储诊断数据。在RAC环境,你可以使用相同的技术。例如,你可以执行下面的命令来生成自动hanganalyze转储信息:
SQL> alter session set events '60 trace name hanganalyze_global level 4';
这个alter session语句会任何实例中调用hanganalyze命令,只要数据库遇到ORA-00060错误。
工作原理:
给某个错误设置事件号会确保:当指定的错误下次发生时,Oracle会帮你自动地转储这些错误信息。
当一个特殊的oracle错误发生时,你想要创建一个自动的错误转储文件。
解决方案:
你可以创建错误转储信息来诊断各种数据库里的问题,通过在hanganalyze 或systemstate命令中指定错误号。例如,诊断死锁的原因经常是个很棘手的问题。在数据库遇到ORA-00060: Deadlock detected 错误时,你就要数据库转储一个跟踪文件。要这么做,则要给hanganalyze或systemstate命令指定事件号60:
SQL> alter session set events '60 trace name hanganalyze level 4';
Session altered.
SQL> alter session set events '60 trace name systemstate level 266';
Session altered.
SQL>
当数据库下次遇到ORA-00060错误时,两命令都会触发自动转储诊断数据。在RAC环境,你可以使用相同的技术。例如,你可以执行下面的命令来生成自动hanganalyze转储信息:
SQL> alter session set events '60 trace name hanganalyze_global level 4';
这个alter session语句会任何实例中调用hanganalyze命令,只要数据库遇到ORA-00060错误。
工作原理:
给某个错误设置事件号会确保:当指定的错误下次发生时,Oracle会帮你自动地转储这些错误信息。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/27795363/viewspace-745522/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/27795363/viewspace-745522/