{"id":286,"date":"2012-01-14T21:05:34","date_gmt":"2012-01-14T13:05:34","guid":{"rendered":"http:\/\/www.royalwzy.com\/?p=286"},"modified":"2014-01-15T15:21:27","modified_gmt":"2014-01-15T07:21:27","slug":"oracle%e4%b8%ad%e5%b7%a5%e5%85%b7%e7%9a%84%e4%bd%bf%e7%94%a806-oradebug","status":"publish","type":"post","link":"http:\/\/www.royalwzy.com\/?p=286","title":{"rendered":"ORACLE\u4e2d\u5de5\u5177\u7684\u4f7f\u752806&#8211;ORADEBUG"},"content":{"rendered":"<div>oradebug\u5de5\u5177\u7684\u4f7f\u7528:<\/p>\n<div>\n<ol>\n<li>oradebug\u4e3b\u8981\u662f\u7ed9oracle\u652f\u6301\u4eba\u5458\u4f7f\u7528\u7684,\u4ece8i\u5f00\u59cb,\u5b83\u662f\u4e2asql*plus\u547d\u4ee4\u884c\u5de5\u5177,\u6709sysdba\u7684\u6743\u9650\u5c31\u53ef\u4ee5\u4f7f\u7528,\u65e0\u9700\u7279\u522b\u8bbe\u7f6e,\u4e3b\u8981\u7528\u9014\u4e3a:\n<ol>\n<li>\u8ffd\u8e2a\u8fdb\u7a0b,\u81ea\u5df1\u7684\u6216\u8005\u662f\u5916\u90e8\u7684;<\/li>\n<li>\u786e\u5b9a\u8fdb\u7a0b\u5199\u5165\u54ea\u4e2atrc\u6587\u4ef6;<\/li>\n<li>\u8f6c\u50a8:\u6570\u636e\u6587\u4ef6\u5934,\u5185\u90e8oracle\u7ed3\u6784\u7b49;<\/li>\n<li>\u6682\u65f6\u6302\u8d77\u8fdb\u7a0b;<\/li>\n<li>\u786e\u5b9a\u5b9e\u4f8b\u4f7f\u7528\u4e86\u54ea\u4e9b\u5171\u4eab\u5185\u5b58\u5757\u548c\u4fe1\u53f7\u91cf;<\/li>\n<li>\u627e\u51faRAC\u5b9e\u4f8b\u4f7f\u7528\u4e86\u54ea\u4e9b\u4e92\u8054\u5730\u5740\u548c\u534f\u8bae;<\/li>\n<li>\u4fee\u6539SGA\u4e2d\u7684\u6570\u636e\u7ed3\u6784;<\/li>\n<\/ol>\n<\/li>\n<li>oradebug\u4f7f\u7528\u6b65\u9aa4:\n<ol>\n<li>\u542f\u52a8sql*plus\u5e76\u4ee5sysdba\u8eab\u4efd\u767b\u5165;<\/li>\n<li>\u8fde\u63a5\u5230\u4e00\u4e2a\u8fdb\u7a0b;<\/li>\n<li>\u8bbe\u7f6e\u4e00\u4e2a\u4e8b\u4ef6\u6216\u8005\u8fdb\u884c\u8bca\u65ad\u8f6c\u50a8;<\/li>\n<li>\u67e5\u770btrc\u6587\u4ef6\u540d;<\/li>\n<li>\u4e0e\u8fde\u63a5\u5230\u7684\u8fdb\u7a0b\u65ad\u5f00;<\/li>\n<\/ol>\n<\/li>\n<li>oradebug\u7684\u8bed\u6cd5;<\/li>\n<li>\u8fde\u63a5\u5230\u4e00\u4e2a\u8fdb\u7a0b\u7684\u65b9\u6cd5:\n<ol>\n<li>oradebug setmypid:\u8fde\u63a5\u5230\u5f53\u524d\u7684\u8fdb\u7a0b:<\/li>\n<li>oradebug setorapid pid:\u6839\u636epid,\u8fde\u63a5\u5230\u5176\u5b83\u8fdb\u7a0b(v$process.pid);<\/li>\n<li>oradebug setospid spid:\u6839\u636espid,\u8fde\u63a5\u5230\u5176\u5b83\u8fdb\u7a0b(v$process.spid);<\/li>\n<\/ol>\n<\/li>\n<li>\u67e5\u770b\u5171\u4eab\u4fe1\u606f\u5185\u5b58\u65b9\u6cd5:ipcs [-m|-s|-q],\u9ed8\u8ba4\u4f1a\u5217\u51fa\u5171\u4eab\u5185\u5b58,\u4fe1\u53f7\u91cf,\u961f\u5217\u4fe1\u606f;\n<ol>\n<li>\u6e05\u9664\u547d\u4ee4\u662fipcrm [-m|-s|-q] id;<\/li>\n<li>\u53c2\u6570:\n<ol>\n<li>-m:\u5217\u51fa\u5171\u4eab\u5185\u5b58\u4fe1\u606f;<\/li>\n<li>-s:\u5217\u51fa\u5171\u4eab\u4fe1\u53f7\u91cf\u4fe1\u606f;<\/li>\n<li>-q:\u5217\u51fa\u5171\u4eab\u961f\u5217\u4fe1\u606f;<\/li>\n<\/ol>\n<\/li>\n<li>\u4f8b\u5b50;<\/li>\n<\/ol>\n<\/li>\n<li>\u5982\u679c\u4e00\u4e2a\u7a0b\u5e8f\u6302\u8d77,\u90a3\u4e48\u7a0b\u5e8f\u8c03\u7528\u6808\u5c31\u53ef\u4ee5\u663e\u793a\u5b83\u5728\u8c03\u7528\u8def\u5f84\u4e2d\u7684\u54ea\u4e00\u6b65\u6302\u8d77\u7684:oradebug short_stack; \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0<img decoding=\"async\" alt=\"\" src=\"en-resource:\/\/resourcemap\/54ca0b7a75857c188b56b662f34b34fe\" \/><\/li>\n<li>\u6587\u4ef6\u8f6c\u50a8:\n<ol>\n<li>\u53ef\u4ee5\u8f6c\u50a8\u7684\u7c7b\u578b:oradebug dmplist;<\/li>\n<li>\u8f6c\u50a8\u63a7\u5236\u6587\u4ef6:oradebug dump controlf 10;<\/li>\n<li>\u5b9e\u73b010046\u4e8b\u4ef6,\u4f8b\u5b50;<\/li>\n<li>oradebug dump events\u7684\u7ea7\u522b\u548c\u8303\u56f4:\n<ol>\n<li>level 1,\u4f1a\u8bdd\u7ea7\u522b,\u5bf9\u5e94alter session\u547d\u4ee4;<\/li>\n<li>level 2,\u8fdb\u7a0b\u7ea7\u522b,\u5bf9\u5e94oradebug event\u547d\u4ee4;<\/li>\n<li>level 4,\u5b9e\u4f8b\u7ea7\u522b,\u5bf9\u5e94alter system\u547d\u4ee4;<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>oradebug\u5bf9\u4e8e\u89e3\u51b3\u95ee\u9898\u548c\u8bca\u65ad\u6027\u80fd\u662f\u5fc5\u4e0d\u53ef\u5c11\u7684\u5de5\u5177;<\/li>\n<\/ol>\n<\/div>\n<div><\/div>\n<div><\/div>\n<div>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; oradebug\u8bed\u6cd5\u00a0&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/div>\n<div>sqlplus \/ as sysdba<\/div>\n<div>SQL&gt; oradebug help<br \/>\nHELP\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 [command]\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Describe one or all commands<br \/>\nSETMYPID\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Debug current process<br \/>\nSETOSPID\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;ospid&gt;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Set OS pid of process to debug<br \/>\nSETORAPID\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;orapid&gt; [&#8216;force&#8217;]\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Set Oracle pid of process to debug<br \/>\nSETORAPNAME\u00a0\u00a0\u00a0 &lt;orapname&gt;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Set Oracle process name to debug<br \/>\nSHORT_STACK\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Get abridged OS stack<br \/>\nCURRENT_SQL\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Get current SQL<br \/>\nDUMP\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;dump_name&gt; &lt;lvl&gt; [addr]\u00a0 Invoke named dump<br \/>\nDUMPSGA\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 [bytes]\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Dump fixed SGA<br \/>\nDUMPLIST\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Print a list of available dumps<br \/>\nEVENT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;text&gt;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Set trace event in process<br \/>\nSESSION_EVENT\u00a0 &lt;text&gt;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Set trace event in session<br \/>\nDUMPVAR\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;p|s|uga&gt; &lt;name&gt; [level]\u00a0 Print\/dump a fixed PGA\/SGA\/UGA variable<br \/>\nDUMPTYPE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;address&gt; &lt;type&gt; &lt;count&gt;\u00a0 Print\/dump an address with type info<br \/>\nSETVAR\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;p|s|uga&gt; &lt;name&gt; &lt;value&gt;\u00a0 Modify a fixed PGA\/SGA\/UGA variable<br \/>\nPEEK\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;addr&gt; &lt;len&gt; [level]\u00a0\u00a0\u00a0\u00a0\u00a0 Print\/Dump memory<br \/>\nPOKE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;addr&gt; &lt;len&gt; &lt;value&gt;\u00a0\u00a0\u00a0\u00a0\u00a0 Modify memory<br \/>\nWAKEUP\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;orapid&gt;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Wake up Oracle process<br \/>\nSUSPEND\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Suspend execution<br \/>\nRESUME\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Resume execution<br \/>\nFLUSH\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Flush pending writes to trace file<br \/>\nCLOSE_TRACE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Close trace file<br \/>\nTRACEFILE_NAME\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Get name of trace file<br \/>\nLKDEBUG\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Invoke global enqueue service debugger<br \/>\nNSDBX\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Invoke CGS name-service debugger<br \/>\n-G\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;Inst-List | def | all&gt;\u00a0\u00a0 Parallel oradebug command prefix<br \/>\n-R\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;Inst-List | def | all&gt;\u00a0\u00a0 Parallel oradebug prefix (return output<br \/>\nSETINST\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;instance# .. | all&gt;\u00a0\u00a0\u00a0\u00a0\u00a0 Set instance list in double quotes<br \/>\nSGATOFILE\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;SGA dump dir&gt;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Dump SGA to file; dirname in double quotes<br \/>\nDMPCOWSGA\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;SGA dump dir&gt; Dump &amp; map SGA as COW; dirname in double quotes<br \/>\nMAPCOWSGA\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;SGA dump dir&gt;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Map SGA as COW; dirname in double quotes<br \/>\nHANGANALYZE\u00a0\u00a0\u00a0 [level] [syslevel]\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Analyze system hang<br \/>\nFFBEGIN\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Flash Freeze the Instance<br \/>\nFFDEREGISTER\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 FF deregister instance from cluster<br \/>\nFFTERMINST\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Call exit and terminate instance<br \/>\nFFRESUMEINST\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Resume the flash frozen instance<br \/>\nFFSTATUS\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Flash freeze status of instance<br \/>\nSKDSTTPCS\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;ifname&gt;\u00a0 &lt;ofname&gt;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Helps translate PCs to names<br \/>\nWATCH\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;address&gt; &lt;len&gt; &lt;self|exist|all|target&gt;\u00a0 Watch a region of memory<br \/>\nDELETE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;local|global|target&gt; watchpoint &lt;id&gt;\u00a0\u00a0\u00a0 Delete a watchpoint<br \/>\nSHOW\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;local|global|target&gt; watchpoints\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Show\u00a0 watchpoints<br \/>\nDIRECT_ACCESS\u00a0 &lt;set\/enable\/disable command | select query&gt; Fixed table access<br \/>\nCORE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Dump core without crashing process<br \/>\nIPC\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Dump ipc information<br \/>\nUNLIMIT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Unlimit the size of the trace file<br \/>\nPROCSTAT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Dump process statistics<br \/>\nCALL\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 [-t count] &lt;func&gt; [arg1]&#8230;[argn]\u00a0 Invoke function with arguments<\/div>\n<div>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; oradebug\u8bed\u6cd5\u00a0&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/div>\n<div><\/div>\n<div><\/div>\n<div>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; \u67e5\u770b\u5171\u4eab\u4fe1\u606f\u5185\u5b58\u7684\u4f8b\u5b50\u00a0&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/div>\n<div>&#8212; 1.\u751f\u6210\u4fe1\u606f\u5230trace\u6587\u4ef6;<\/div>\n<div>1.\u64cd\u4f5c\u7cfb\u7edf\u5c42\u9762\u67e5\u770b\u4fe1\u606f:host ipcs -m | grep ora<br \/>\n2.\u8bbe\u7f6e\u8fdb\u7a0b\u4e3a\u5f53\u524d\u8fdb\u7a0b:oradebug setmypid<br \/>\n3.\u5bfc\u51fa\u4fe1\u606f\u5230trace\u6587\u4ef6:oradebug ipc<br \/>\n4.\u67e5\u770btrace\u6587\u4ef6\u7684\u8def\u5f84:oradebug tracefile_name<\/div>\n<div><img decoding=\"async\" alt=\"\" src=\"en-resource:\/\/resourcemap\/3e8dafc903918e96d0c602c464951f0b\" \/><\/div>\n<div>\n<div><\/div>\n<div>&#8212; 2.\u67e5\u770b\u76f8\u5e94\u7684trace\u6587\u4ef6;<\/div>\n<div>Processing Oradebug command &#8216;ipc&#8217;<br \/>\nDump of unix-generic skgm context<br \/>\nareaflags\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 000000f7<br \/>\nrealmflags\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0000001f<br \/>\nmapsize\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 00000800<br \/>\nprotectsize\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 00001000<br \/>\nlcmsize\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 00001000<br \/>\nseglen\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 00400000<br \/>\nlargestsize\u00a0 00000000ffffffff<br \/>\nsmallestsize 0000000000400000<br \/>\nstacklimit\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0xbdc6af20<br \/>\nstackdir\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 -1<br \/>\nmode\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 640<br \/>\nmagic\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 acc01ade<br \/>\nHandle:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0xf66058 `\/u01\/app\/oracle\/product\/11.2.0\/db_1ORCL&#8217;<br \/>\nDump of unix-generic realm handle `\/u01\/app\/oracle\/product\/11.2.0\/db_1ORCL&#8217;, flags = 00<br \/>\n000000<br \/>\nArea #0 `Fixed Size&#8217; containing Subareas 0-0<br \/>\nTotal size 0000000000149294 Minimum Subarea size 00000000<br \/>\nArea\u00a0 Subarea\u00a0\u00a0\u00a0 Shmid\u00a0\u00a0\u00a0\u00a0\u00a0 Stable Addr\u00a0\u00a0\u00a0\u00a0\u00a0 Actual Addr<br \/>\n0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0 196608 0x00000020000000 0x00000020000000<br \/>\nSubarea size\u00a0\u00a0\u00a0\u00a0 Segment size<br \/>\n000000000014a000 0000000000800000<br \/>\nArea #1 `Variable Size&#8217; containing Subareas 4-4<br \/>\nTotal size 0000000032400000 Minimum Subarea size 00400000<br \/>\nArea\u00a0 Subarea\u00a0\u00a0\u00a0 Shmid\u00a0\u00a0\u00a0\u00a0\u00a0 Stable Addr\u00a0\u00a0\u00a0\u00a0\u00a0 Actual Addr<br \/>\n1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 4\u00a0\u00a0 229377 0x00000020800000 0x00000020800000<br \/>\nSubarea size\u00a0\u00a0\u00a0\u00a0 Segment size<br \/>\n0000000032400000 0000000032400000<br \/>\nArea #2 `Redo Buffers&#8217; containing Subareas 1-1<br \/>\nTotal size 00000000004e3000 Minimum Subarea size 00000000<br \/>\nArea\u00a0 Subarea\u00a0\u00a0\u00a0 Shmid\u00a0\u00a0\u00a0\u00a0\u00a0 Stable Addr\u00a0\u00a0\u00a0\u00a0\u00a0 Actual Addr<br \/>\n2\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1\u00a0\u00a0 196608 0x0000002014a000 0x0000002014a000<br \/>\nSubarea size\u00a0\u00a0\u00a0\u00a0 Segment size<br \/>\n00000000004e3000 0000000000800000<br \/>\nArea #3 `Base Allocator Control&#8217; containing Subareas 3-3<br \/>\nTotal size 0000000000002000 Minimum Subarea size 00000000<br \/>\nArea\u00a0 Subarea\u00a0\u00a0\u00a0 Shmid\u00a0\u00a0\u00a0\u00a0\u00a0 Stable Addr\u00a0\u00a0\u00a0\u00a0\u00a0 Actual Addr<br \/>\n3\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 3\u00a0\u00a0 196608 0x000000207fe000 0x000000207fe000<br \/>\nSubarea size\u00a0\u00a0\u00a0\u00a0 Segment size<br \/>\n0000000000002000 0000000000800000<br \/>\nArea #4 `Slab Allocator Control&#8217; containing Subareas 2-2<br \/>\nTotal size 00000000001d1000 Minimum Subarea size 00000000<br \/>\nArea\u00a0 Subarea\u00a0\u00a0\u00a0 Shmid\u00a0\u00a0\u00a0\u00a0\u00a0 Stable Addr\u00a0\u00a0\u00a0\u00a0\u00a0 Actual Addr<br \/>\n4\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2\u00a0\u00a0 196608 0x0000002062d000 0x0000002062d000<br \/>\nSubarea size\u00a0\u00a0\u00a0\u00a0 Segment size<br \/>\n00000000001d1000 0000000000800000<br \/>\nArea #5 `skgm overhead&#8217; containing Subareas 5-5<br \/>\nTotal size 0000000000002000 Minimum Subarea size 00000000<br \/>\nArea\u00a0 Subarea\u00a0\u00a0\u00a0 Shmid\u00a0\u00a0\u00a0\u00a0\u00a0 Stable Addr\u00a0\u00a0\u00a0\u00a0\u00a0 Actual Addr<br \/>\n5\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 5\u00a0\u00a0 262146 0x00000052c00000 0x00000052c00000<br \/>\nSubarea size\u00a0\u00a0\u00a0\u00a0 Segment size<br \/>\n0000000000002000 0000000000400000<br \/>\nDump of Linux-specific skgm context<br \/>\nsharedmmu 00000001<br \/>\nshareddec\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0<br \/>\nused region\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0: start 0000000012000000 length 0000000000400000<br \/>\nused region\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1: start 0000000020000000 length 0000000033000000<br \/>\nused region\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2: start 00000000af800000 length 0000000010800000<br \/>\nMaximum processes:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = 1000<br \/>\nNumber of semaphores per set:\u00a0\u00a0\u00a0 = 125<br \/>\nSemaphores key overhead per set: = 4<br \/>\nUser Semaphores per set:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = 121<br \/>\nNumber of semaphore sets:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = 9<br \/>\nSemaphore identifiers:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = 9<br \/>\nSemaphore List=<br \/>\n491520<br \/>\n524289<br \/>\n557058<br \/>\n589827<br \/>\n622596<br \/>\n655365<br \/>\n688134<br \/>\n720903<br \/>\n753672<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8211; system semaphore information &#8212;&#8212;&#8212;&#8212;-<br \/>\n&#8212;&#8212; Shared Memory Segments &#8212;&#8212;&#8211;<br \/>\nkey\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 shmid\u00a0\u00a0\u00a0\u00a0\u00a0 owner\u00a0\u00a0\u00a0\u00a0\u00a0 perms\u00a0\u00a0\u00a0\u00a0\u00a0 bytes\u00a0\u00a0\u00a0\u00a0\u00a0 nattch\u00a0\u00a0\u00a0\u00a0 status<br \/>\n0x00000000 196608\u00a0\u00a0\u00a0\u00a0 oracle\u00a0\u00a0\u00a0 640\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 4096\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0<br \/>\n0x00000000 229377\u00a0\u00a0\u00a0\u00a0 oracle\u00a0\u00a0\u00a0 640\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 4096\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0<br \/>\n0x671360a4 262146\u00a0\u00a0\u00a0\u00a0 oracle\u00a0\u00a0\u00a0 640\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 4096\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0<br \/>\n&#8212;&#8212; Semaphore Arrays &#8212;&#8212;&#8211;<br \/>\nkey\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 semid\u00a0\u00a0\u00a0\u00a0\u00a0 owner\u00a0\u00a0\u00a0\u00a0\u00a0 perms\u00a0\u00a0\u00a0\u00a0\u00a0 nsems<br \/>\n0x4c1391ac 491520\u00a0\u00a0\u00a0\u00a0 oracle\u00a0\u00a0\u00a0 640\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 125<br \/>\n0x4c1391ad 524289\u00a0\u00a0\u00a0\u00a0 oracle\u00a0\u00a0\u00a0 640\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 125<br \/>\n0x4c1391ae 557058\u00a0\u00a0\u00a0\u00a0 oracle\u00a0\u00a0\u00a0 640\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 125<br \/>\n0x4c1391af 589827\u00a0\u00a0\u00a0\u00a0 oracle\u00a0\u00a0\u00a0 640\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 125<br \/>\n0x4c1391b0 622596\u00a0\u00a0\u00a0\u00a0 oracle\u00a0\u00a0\u00a0 640\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 125<br \/>\n0x4c1391b1 655365\u00a0\u00a0\u00a0\u00a0 oracle\u00a0\u00a0\u00a0 640\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 125<br \/>\n0x4c1391b2 688134\u00a0\u00a0\u00a0\u00a0 oracle\u00a0\u00a0\u00a0 640\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 125<br \/>\n0x4c1391b3 720903\u00a0\u00a0\u00a0\u00a0 oracle\u00a0\u00a0\u00a0 640\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 125<br \/>\n0x4c1391b4 753672\u00a0\u00a0\u00a0\u00a0 oracle\u00a0\u00a0\u00a0 640\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 125<br \/>\n&#8212;&#8212; Message Queues &#8212;&#8212;&#8211;<br \/>\nkey\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 msqid\u00a0\u00a0\u00a0\u00a0\u00a0 owner\u00a0\u00a0\u00a0\u00a0\u00a0 perms\u00a0\u00a0\u00a0\u00a0\u00a0 used-bytes\u00a0\u00a0 messages<\/div>\n<div>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; \u67e5\u770b\u5171\u4eab\u4fe1\u606f\u5185\u5b58\u7684\u4f8b\u5b50\u00a0&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/div>\n<\/div>\n<div><\/div>\n<div><\/div>\n<div>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; oradebug\u5b9e\u73b010046\u4e8b\u4ef6\u00a0&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/div>\n<div>&#8212; 1.\u8bbe\u7f6e\u67d0\u4e2a\u8fdb\u7a0b;<\/div>\n<div>session 1:<\/div>\n<div>sqlplus \/ as sysdba<\/div>\n<div>conn hr\/hr<\/div>\n<div>SELECT pid, spid FROM v$process WHERE addr = (SELECT paddr FROM v$session WHERE sid = (SELECT sid FROM v$mystat WHERE rownum = 1));<\/div>\n<div>&#8212; 29 22505;<\/div>\n<div><\/div>\n<div>session 2:<\/div>\n<div>sqlplus \/ as sysdba<\/div>\n<div>oradebug setorapid 29;<\/div>\n<div><\/div>\n<div>&#8212; 2.\u8bbe\u7f6etrace\u6587\u4ef6\u7684\u5927\u5c0f:oradebug unlimit;<\/div>\n<div>&#8212; 3.\u6253\u5f0010046\u4e8b\u4ef6:oradebug event 10046 trace name context forever, level 12;<\/div>\n<div>&#8212; 4.\u6267\u884c\u67e5\u8be2:SELECT COUNT(*) FROM hr.employees;(\u5728session 1\u4e2d)<\/div>\n<div>&#8212; 5.\u67e5\u770btrace\u6587\u4ef6\u7684\u4f4d\u7f6e:oradebug tracefile_name;<\/div>\n<div>&#8212; 6.\u5173\u95ed10046\u4e8b\u4ef6:oradebug event 10046 trace name context off;<\/div>\n<div>&#8212; 6.\u67e5\u770btrace\u6587\u4ef6,\u4f7f\u7528tkprof\u5de5\u5177\u683c\u5f0f\u5316;<\/div>\n<div>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; oradebug\u5b9e\u73b010046\u4e8b\u4ef6\u00a0&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>oradebug\u5de5\u5177\u7684\u4f7f\u7528: oradebug\u4e3b\u8981\u662f\u7ed9oracle\u652f\u6301\u4eba\u5458\u4f7f\u7528\u7684,\u4ece8i\u5f00\u59cb,\u5b83\u662f\u4e2asql*p [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[34,2],"class_list":["post-286","post","type-post","status-publish","format-standard","hentry","category-oracle","tag-oracle","tag-oracle_basics"],"_links":{"self":[{"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=\/wp\/v2\/posts\/286","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=286"}],"version-history":[{"count":0,"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=\/wp\/v2\/posts\/286\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=286"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=286"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=286"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}