{"id":419,"date":"2014-04-15T14:49:01","date_gmt":"2014-04-15T06:49:01","guid":{"rendered":"http:\/\/www.royalwzy.com\/?p=419"},"modified":"2014-08-15T14:57:30","modified_gmt":"2014-08-15T06:57:30","slug":"%e8%b0%83%e4%bc%98%e5%ae%9e%e8%b7%b501-oracle%e5%b8%b8%e8%a7%81%e7%9a%84%e7%ad%89%e5%be%85%e4%ba%8b%e4%bb%b6%e5%8f%8a%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88","status":"publish","type":"post","link":"http:\/\/www.royalwzy.com\/?p=419","title":{"rendered":"\u8c03\u4f18\u5b9e\u8df501&#8211;Oracle\u5e38\u89c1\u7684\u7b49\u5f85\u4e8b\u4ef6\u53ca\u89e3\u51b3\u65b9\u6848"},"content":{"rendered":"<div>\n<div>Oracle\u5e38\u89c1\u7684\u7b49\u5f85\u4e8b\u4ef6\u53ca\u89e3\u51b3\u65b9\u6848<\/div>\n<div>\n<ol>\n<li>\u7b49\u5f85\u4e8b\u4ef6\u7684\u76f8\u5173\u77e5\u8bc6:\n<ol>\n<li>\u7b49\u5f85\u4e8b\u4ef6\u4e3b\u8981\u53ef\u4ee5\u5206\u4e3a\u4e24\u7c7b,\u5373\u7a7a\u95f2(IDLE)\u7b49\u5f85\u4e8b\u4ef6\u548c\u975e\u7a7a\u95f2(NON-IDLE)\u7b49\u5f85\u4e8b\u4ef6;\n<ol>\n<li>\u7a7a\u95f2\u7b49\u5f85\u4e8b\u4ef6\u6307ORACLE\u6b63\u7b49\u5f85\u67d0\u79cd\u5de5\u4f5c,\u5728\u8bca\u65ad\u548c\u4f18\u5316\u6570\u636e\u5e93\u7684\u65f6\u5019,\u4e0d\u7528\u8fc7\u591a\u6ce8\u610f\u8fd9\u90e8\u5206\u4e8b\u4ef6;<\/li>\n<li>\u975e\u7a7a\u95f2\u7b49\u5f85\u4e8b\u4ef6\u4e13\u95e8\u9488\u5bf9ORACLE\u7684\u6d3b\u52a8,\u6307\u6570\u636e\u5e93\u4efb\u52a1\u6216\u5e94\u7528\u8fd0\u884c\u8fc7\u7a0b\u4e2d\u53d1\u751f\u7684\u7b49\u5f85,\u8fd9\u4e9b\u7b49\u5f85\u4e8b\u4ef6\u662f\u5728\u8c03\u6574\u6570\u636e\u5e93\u7684\u65f6\u5019\u9700\u8981\u5173\u6ce8\u4e0e\u7814\u7a76\u7684;<\/li>\n<li>\u5728Oracle 10g\u4e2d\u7684\u7b49\u5f85\u4e8b\u4ef6\u6709872\u4e2a,11gR2\u4e2d\u7b49\u5f85\u4e8b\u4ef61152\u4e2a;\u53ef\u4ee5\u901a\u8fc7v$event_name\u89c6\u56fe\u6765\u67e5\u770b\u7b49\u5f85\u4e8b\u4ef6\u7684\u76f8\u5173\u4fe1\u606f;<\/li>\n<\/ol>\n<\/li>\n<li>\u67e5\u770b\u7b49\u5f85\u4e8b\u4ef6\u7684\u603b\u4e2a\u6570:SELECT COUNT(*) FROM v$event_name;<\/li>\n<li>\u67e5\u770b\u7b49\u5f85\u4e8b\u4ef6\u6bcf\u4e2a\u5206\u7c7b\u7684\u5206\u5e03:SELECT wait_class#, wait_class_id, wait_class, COUNT(*) FROM v$event_name GROUP BY wait_class#, wait_class_id, wait_class ORDER BY wait_class#; \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 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0<img decoding=\"async\" alt=\"\" src=\"file:\/\/\/C:\/Users\/ADMINI~1\/AppData\/Local\/Temp\/enhtmlclip\/Image(288).png\" \/><\/li>\n<li>\u76f8\u5173\u7684\u89c6\u56fe:\n<ol>\n<li>V$SESSION:\u8fde\u63a5\u5230\u6570\u636e\u5e93\u7684\u4f1a\u8bdd\u4fe1\u606f;<\/li>\n<li>V$SESSION_WAIT:\u5f53\u524d\u4f1a\u8bdd\u6b63\u5728\u7b49\u5f85\u7684\u8d44\u6e90,\u6b64\u89c6\u56fe\u5df2\u7ecf\u4e0ev$session\u89c6\u56fe\u5408\u5e76\u4e86;<\/li>\n<li>V$SESSION_WAIT_HISTORY:\u662f\u5bf9V$SESSION_WAIT\u7684\u7b80\u5355\u589e\u5f3a,\u8bb0\u5f55\u6d3b\u52a8SESSION\u7684\u6700\u8fd110\u6b21\u7b49\u5f85;<\/li>\n<li>V$SYSTEM_EVENT:\u7531\u4e8eV$SESSION\u8bb0\u5f55\u7684\u662f\u52a8\u6001\u4fe1\u606f,\u548cSESSION\u7684\u751f\u547d\u5468\u671f\u76f8\u5173,\u800c\u5e76\u4e0d\u8bb0\u5f55\u5386\u53f2\u4fe1\u606f,\u6240\u4ee5ORACLE\u63d0\u4f9b\u89c6\u56feV$SYSTEM_EVENT\u6765\u8bb0\u5f55\u6570\u636e\u5e93\u81ea\u542f\u52a8\u4ee5\u6765\u6240\u6709\u7b49\u5f85\u4e8b\u4ef6\u7684\u6c47\u603b\u4fe1\u606f;\u901a\u8fc7\u8fd9\u4e2a\u89c6\u56fe,\u7528\u6237\u53ef\u4ee5\u8fc5\u901f\u83b7\u5f97\u6570\u636e\u5e93\u8fd0\u884c\u7684\u603b\u4f53\u6982\u51b5;<\/li>\n<li>V$SQL:\u67e5\u770b\u67d0\u4e2asession\u6b63\u5728\u6267\u884c\u7684sql\u8bed\u53e5(SELECT t1.sid, t2.sql_text FROM v$session t1 INNER JOIN v$sql t2 ON t1.sql_id = t2.sql_id;SELECT t1.sid, t2.sql_text FROM v$session t1 INNER JOIN v$sql t2 ON t1.sql_address = t2.address;);<\/li>\n<li>V$ACTIVE_SESSION_HISTORY:\u662fASH\u7684\u6838\u5fc3,\u7528\u4ee5\u8bb0\u5f55\u6d3b\u52a8SESSION\u7684\u5386\u53f2\u7b49\u5f85\u4fe1\u606f,\u6bcf\u79d2\u91c7\u6837\u4e00\u6b21,\u8fd9\u90e8\u5206\u5185\u5bb9\u8bb0\u5f55\u5728\u5185\u5b58\u4e2d,\u8bb0\u5f55\u4e00\u4e2a\u5c0f\u65f6\u7684\u5185\u5bb9;<\/li>\n<li>DBA_HIST_ACTIVE_SESS_HISTORY:\u901a\u8fc7\u8fd9\u4e2a\u89c6\u56fe\u8fdb\u884cASH\u5386\u53f2\u6570\u636e\u7684\u8bbf\u95ee;<\/li>\n<\/ol>\n<\/li>\n<li>\u53ef\u4ee5\u4ecev$event_name\u89c6\u56fe\u4e2d\u67e5\u770b\u7b49\u5f85\u4e8b\u4ef6\u7684\u7c7b\u578b(SELECT NAME, parameter1, parameter2, parameter3 FROM v$event_name;),v$session\u4e2dP1-3\u8868\u793a\u7b49\u5f85\u7684\u8d44\u6e90\u662f\u4ec0\u4e48;<\/li>\n<\/ol>\n<\/li>\n<li><span style=\"color: #e30000;\">buffer busy waits:<\/span>\n<ol>\n<li>\u4ece\u672c\u8d28\u4e0a\u8bb2,\u8fd9\u4e2a\u7b49\u5f85\u4e8b\u4ef6\u7684\u4ea7\u751f\u4ec5\u8bf4\u660e\u4e86\u4e00\u4e2a\u4f1a\u8bdd\u5728\u7b49\u5f85\u4e00\u4e2aBuffer(\u6570\u636e\u5757),\u4f46\u662f\u5bfc\u81f4\u8fd9\u4e2a\u73b0\u8c61\u7684\u539f\u56e0\u5374\u6709\u5f88\u591a\u79cd,\u5e38\u89c1\u7684\u4e24\u79cd\u662f:\n<ol>\n<li>\u5f53\u4e00\u4e2a\u4f1a\u8bdd\u8bd5\u56fe\u4fee\u6539\u4e00\u4e2a\u6570\u636e\u5757,\u4f46\u8fd9\u4e2a\u6570\u636e\u5757\u6b63\u5728\u88ab\u53e6\u4e00\u4e2a\u4f1a\u8bdd\u4fee\u6539\u65f6;<\/li>\n<li>\u5f53\u4e00\u4e2a\u4f1a\u8bdd\u9700\u8981\u8bfb\u53d6\u4e00\u4e2a\u6570\u636e\u5757,\u4f46\u8fd9\u4e2a\u6570\u636e\u5757\u6b63\u5728\u88ab\u53e6\u4e00\u4e2a\u4f1a\u8bdd\u8bfb\u53d6\u5230\u5185\u5b58\u4e2d\u65f6;<\/li>\n<\/ol>\n<\/li>\n<li>Oracle\u64cd\u4f5c\u7684\u6700\u5c0f\u5355\u4f4d\u662f\u5757(Block),\u5373\u4f7f\u4f60\u8981\u4fee\u6539\u4e00\u6761\u8bb0\u5f55,\u4e5f\u9700\u8981\u5bf9\u8fd9\u6761\u8bb0\u5f55\u6240\u5728\u7684\u8fd9\u4e2a\u6570\u636e\u5757\u505a\u64cd\u4f5c;\u5f53\u4f60\u5bf9\u8fd9\u4e2a\u6570\u636e\u5757\u505a\u4fee\u6539\u65f6,\u5176\u4ed6\u7684\u4f1a\u8bdd\u5c06\u88ab\u963b\u6b62\u5bf9\u8fd9\u4e2a\u6570\u636e\u5757\u4e0a\u7684\u6570\u636e\u505a\u4fee\u6539(\u5373\u4f7f\u5176\u4ed6\u7528\u6237\u4fee\u6539\u7684\u4e0d\u662f\u5f53\u524d\u7528\u6237\u4fee\u6539\u7684\u6570\u636e),\u4f46\u662f\u53ef\u4ee5\u4ee5\u4e00\u81f4\u6027\u7684\u65b9\u5f0f\u8bfb\u53d6\u8fd9\u4e2a\u6570\u636e\u5757(\u4f7f\u7528UNDO\u6784\u5efaCR\u5757);\u5f53\u524d\u7684\u7528\u6237\u4fee\u6539\u5b8c\u8fd9\u4e2a\u6570\u636e\u5757\u540e,\u5c06\u4f1a\u7acb\u5373\u91ca\u653e\u6389\u52a0\u5728\u8fd9\u4e2a\u6570\u636e\u5757\u4e0a\u7684\u6392\u4ed6\u9501,\u8fd9\u6837\u53e6\u4e00\u4e2a\u4f1a\u8bdd\u5c31\u53ef\u4ee5\u7ee7\u7eed\u4fee\u6539\u5b83;\u4fee\u6539\u64cd\u4f5c\u662f\u4e00\u4e2a\u975e\u5e38\u77ed\u6682\u7684\u65f6\u95f4,\u8fd9\u79cd\u52a0\u9501\u7684\u673a\u5236\u6211\u4eec\u53ebLatch;<\/li>\n<li>\u5f53\u4e00\u4e2a\u4f1a\u8bdd\u4fee\u6539\u4e00\u4e2a\u6570\u636e\u5757\u65f6,\u662f\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\u6765\u5b8c\u6210\u7684:\n<ol>\n<li>\u4ee5\u6392\u4ed6\u7684\u65b9\u5f0f\u83b7\u5f97\u8fd9\u4e2a\u6570\u636e\u5757(Latch);<\/li>\n<li>\u4fee\u6539\u8fd9\u4e2a\u6570\u636e\u5757;<\/li>\n<li>\u91ca\u653eLatch;<\/li>\n<\/ol>\n<\/li>\n<li>Buffer busy waits\u7b49\u5f85\u4e8b\u4ef6\u5e38\u89c1\u4e8e\u6570\u636e\u5e93\u4e2d\u5b58\u5728\u7684\u70ed\u5feb\u7684\u65f6\u5019,\u5f53\u591a\u4e2a\u7528\u6237\u9891\u7e41\u5730\u8bfb\u53d6\u6216\u8005\u4fee\u6539\u540c\u6837\u7684\u6570\u636e\u5757\u65f6,\u8fd9\u4e2a\u7b49\u5f85\u4e8b\u4ef6\u5c31\u4f1a\u4ea7\u751f;\u5982\u679c\u7b49\u5f85\u7684\u65f6\u95f4\u5f88\u957f,\u6211\u4eec\u5728AWR\u6216\u8005statspack\u62a5\u544a\u4e2d\u5c31\u53ef\u4ee5\u770b\u5230;<\/li>\n<li>\u89e3\u51b3\u529e\u6cd5:\n<ol>\n<li>\u5982\u679c\u7b49\u5f85\u5904\u4e8e\u5b57\u6bb5\u5934\u90e8,\u5e94\u589e\u52a0\u81ea\u7531\u5217(freelist)\u7684\u7ec4\u6570,\u6216\u8005\u589e\u52a0pctused\u5230pctfree\u4e4b\u95f4\u7684\u8ddd\u79bb;<\/li>\n<li>\u5982\u679c\u7b49\u5f85\u5904\u4e8e\u56de\u9000\u6bb5(undo)\u5934\u90e8\u5757,\u53ef\u4ee5\u901a\u8fc7\u589e\u52a0\u56de\u6eda\u6bb5(rollback segment)\u6765\u89e3\u51b3\u7f13\u51b2\u533a\u7684\u95ee\u9898;<\/li>\n<li>\u5982\u679c\u7b49\u5f85\u5904\u4e8e\u56de\u9000\u6bb5(undo)\u975e\u5934\u90e8\u5757\u4e0a,\u5c31\u9700\u8981\u964d\u4f4e\u9a71\u52a8\u4e00\u81f4\u8bfb\u53d6\u7684\u8868\u4e2d\u7684\u6570\u636e\u5bc6\u5ea6,\u6216\u8005\u589e\u5927DB_CACHE_SIZE;<\/li>\n<li>\u5982\u679c\u7b49\u5f85\u5904\u4e8e\u6570\u636e\u5757,\u53ef\u4ee5\u5c06\u6570\u636e\u79fb\u5230\u53e6\u4e00\u6570\u636e\u5757\u4ee5\u907f\u5f00\u8fd9\u4e2a&#8221;\u70ed&#8221;\u6570\u636e\u5757,\u589e\u52a0\u8868\u4e2d\u7684\u81ea\u7531\u5217\u8868\u6216\u4f7f\u7528LMT\u8868\u7a7a\u95f4;<\/li>\n<li>\u5982\u679c\u7b49\u5f85\u5904\u4e8e\u7d22\u5f15\u5757,\u5e94\u8be5\u91cd\u5efa\u7d22\u5f15,\u5206\u5272\u7d22\u5f15\u6216\u4f7f\u7528\u53cd\u5411\u952e\u7d22\u5f15;<\/li>\n<\/ol>\n<\/li>\n<li>\u7b49\u5f85\u4e8b\u4ef6\u7684\u53c2\u6570:\n<ol>\n<li>File#:\u7b49\u5f85\u8bbf\u95ee\u6570\u636e\u5757\u6240\u5728\u7684\u6587\u4ef6id\u53f7;<\/li>\n<li>Blocks:\u7b49\u5f85\u8bbf\u95ee\u7684\u6570\u636e\u5757\u53f7;<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li><span style=\"color: #e30000;\">db file\u00a0scattered\u00a0read:<\/span>\n<ol>\n<li>\u8fd9\u662f\u4e00\u4e2a\u7528\u6237\u64cd\u4f5c\u5f15\u8d77\u7684\u7b49\u5f85\u4e8b\u4ef6,\u5f53\u7528\u6237\u53d1\u51fa\u6bcf\u6b21I\/O\u9700\u8981\u8bfb\u53d6\u591a\u4e2a\u6570\u636e\u5757\u8fd9\u6837\u7684SQL\u64cd\u4f5c\u65f6,\u4f1a\u4ea7\u751f\u8fd9\u4e2a\u7b49\u5f85\u4e8b\u4ef6,\u6700\u5e38\u89c1\u7684\u4e24\u79cd\u60c5\u51b5\u662f:\n<ol>\n<li>\u5168\u8868\u626b\u63cf(FTS: Full Table Scan);<\/li>\n<li>\u7d22\u5f15\u5feb\u901f\u626b\u63cf(IFFS: index fast full scan);<\/li>\n<\/ol>\n<\/li>\n<li>\u8fd9\u4e2a\u540d\u79f0\u4e2d\u7684scattered(\u79bb\u6563),\u53ef\u80fd\u4f1a\u5bfc\u81f4\u5f88\u591a\u4eba\u8ba4\u4e3a\u5b83\u662f\u4ee5scattered\u7684\u65b9\u5f0f\u6765\u8bfb\u53d6\u6570\u636e\u5757\u7684,\u5176\u5b9e\u6070\u6070\u76f8\u53cd,\u5f53\u53d1\u751f\u8fd9\u79cd\u7b49\u5f85\u4e8b\u4ef6\u65f6,SQL\u7684\u64cd\u4f5c\u90fd\u662f\u987a\u5e8f\u5730\u8bfb\u53d6\u6570\u636e\u5757\u7684,\u6bd4\u5982FTS\u6216\u8005IFFS\u65b9\u5f0f(\u5982\u679c\u5ffd\u7565\u9700\u8981\u8bfb\u53d6\u7684\u6570\u636e\u5757\u5df2\u7ecf\u5b58\u5728\u5185\u5b58\u4e2d\u7684\u60c5\u51b5);<\/li>\n<li>\u8fd9\u91cc\u7684scattered\u6307\u7684\u662f\u8bfb\u53d6\u7684\u6570\u636e\u5757\u5728\u5185\u5b58\u4e2d\u7684\u5b58\u653e\u65b9\u5f0f,\u5b83\u4eec\u88ab\u8bfb\u53d6\u5230\u5185\u5b58\u4e2d\u540e,\u662f\u4ee5\u5206\u6563\u7684\u65b9\u5f0f\u5b58\u5728\u5728\u5185\u5b58\u4e2d,\u800c\u4e0d\u662f\u8fde\u7eed\u7684;<\/li>\n<li>\u7b49\u5f85\u4e8b\u4ef6\u7684\u53c2\u6570:\n<ol>\n<li>File#: \u8981\u8bfb\u53d6\u7684\u6570\u636e\u5757\u6240\u5728\u6570\u636e\u6587\u4ef6\u7684\u6587\u4ef6\u53f7;<\/li>\n<li>Block#: \u8981\u8bfb\u53d6\u7684\u8d77\u59cb\u6570\u636e\u5757\u53f7;<\/li>\n<li>Blocks:\u9700\u8981\u8bfb\u53d6\u7684\u6570\u636e\u5757\u6570\u76ee;<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li><span style=\"color: #e30000;\">db file\u00a0sequential\u00a0read:<\/span>\n<ol>\n<li>\u5f53Oracle\u9700\u8981\u6bcf\u6b21I\/O\u53ea\u8bfb\u53d6\u5355\u4e2a\u6570\u636e\u5757\u8fd9\u6837\u7684\u64cd\u4f5c\u65f6,\u4f1a\u4ea7\u751f\u8fd9\u4e2a\u7b49\u5f85\u4e8b\u4ef6,\u6700\u5e38\u89c1\u7684\u60c5\u51b5:\n<ol>\n<li>\u7d22\u5f15\u7684\u8bbf\u95ee(\u9664IFFS\u5916\u7684\u65b9\u5f0f);<\/li>\n<li>\u56de\u6eda\u64cd\u4f5c;<\/li>\n<li>\u4ee5ROWID\u7684\u65b9\u5f0f\u8bbf\u95ee\u8868\u4e2d\u7684\u6570\u636e;<\/li>\n<li>\u91cd\u5efa\u63a7\u5236\u6587\u4ef6;<\/li>\n<li>\u5bf9\u6587\u4ef6\u5934\u505aDUMP\u7b49;<\/li>\n<\/ol>\n<\/li>\n<li>\u8fd9\u91cc\u7684sequential\u4e5f\u5e76\u975e\u6307\u7684\u662fOracle\u6309\u987a\u5e8f\u7684\u65b9\u5f0f\u6765\u8bbf\u95ee\u6570\u636e,\u548cdb file scattered read\u4e00\u6837,\u5b83\u6307\u7684\u662f\u8bfb\u53d6\u7684\u6570\u636e\u5757\u5728\u5185\u5b58\u4e2d\u662f\u4ee5\u8fde\u7eed\u7684\u65b9\u5f0f\u5b58\u653e\u7684;<\/li>\n<li>\u7b49\u5f85\u4e8b\u4ef6\u7684\u53c2\u6570:\n<ol>\n<li>File#:\u8981\u8bfb\u53d6\u7684\u6570\u636e\u5757\u9501\u5728\u6570\u636e\u6587\u4ef6\u7684\u6587\u4ef6\u53f7;<\/li>\n<li>Block#:\u8981\u8bfb\u53d6\u7684\u8d77\u59cb\u6570\u636e\u5757\u53f7;<\/li>\n<li>Blocks:\u8981\u8bfb\u53d6\u7684\u6570\u636e\u5757\u6570\u76ee(\u8fd9\u91cc\u5e94\u8be5\u7b49\u4e8e1);<\/li>\n<\/ol>\n<\/li>\n<li>\u67e5\u627e\u70ed\u70b9\u5feb\u7684\u65b9\u6cd5:SELECT owner, segment_name, segment_type FROM dba_extents WHERE file_id = &amp;file_id AND &amp;block_id BETWEEN block_id AND block_id + &amp;blocks &#8211; 1;<\/li>\n<\/ol>\n<\/li>\n<li>buffer latch:\n<ol>\n<li>\u5185\u5b58\u4e2d\u6570\u636e\u5757\u7684\u5b58\u653e\u4f4d\u7f6e\u662f\u8bb0\u5f55\u5728\u4e00\u4e2ahash\u5217\u8868(cache buffer chains)\u5f53\u4e2d\u7684;\u5f53\u4e00\u4e2a\u4f1a\u8bdd\u9700\u8981\u8bbf\u95ee\u67d0\u4e2a\u6570\u636e\u5757\u65f6,\u5b83\u9996\u5148\u8981\u641c\u7d22\u8fd9\u4e2ahash\u5217\u8868,\u4ece\u5217\u8868\u4e2d\u83b7\u5f97\u6570\u636e\u5757\u7684\u5730\u5740,\u7136\u540e\u901a\u8fc7\u8fd9\u4e2a\u5730\u5740\u53bb\u8bbf\u95ee\u9700\u8981\u7684\u6570\u636e\u5757,\u8fd9\u4e2a\u5217\u8868Oracle\u4f1a\u4f7f\u7528\u4e00\u4e2alatch\u6765\u4fdd\u62a4\u5b83\u7684\u5b8c\u6574\u6027;\u5f53\u4e00\u4e2a\u4f1a\u8bdd\u9700\u8981\u8bbf\u95ee\u8fd9\u4e2a\u5217\u8868\u65f6,\u9700\u8981\u83b7\u53d6\u4e00\u4e2aLatch,\u53ea\u6709\u8fd9\u6837,\u624d\u80fd\u4fdd\u8bc1\u8fd9\u4e2a\u5217\u8868\u5728\u8fd9\u4e2a\u4f1a\u8bdd\u7684\u6d4f\u89c8\u5f53\u4e2d\u4e0d\u4f1a\u53d1\u751f\u53d8\u5316;<\/li>\n<li>\u4ea7\u751fbuffer latch\u7684\u7b49\u5f85\u4e8b\u4ef6\u7684\u4e3b\u8981\u539f\u56e0\u662f:\n<ol>\n<li>Buffer chains\u592a\u957f,\u5bfc\u81f4\u4f1a\u8bdd\u641c\u7d22\u8fd9\u4e2a\u5217\u8868\u82b1\u8d39\u7684\u65f6\u95f4\u592a\u957f,\u4f7f\u5176\u4ed6\u7684\u4f1a\u8bdd\u5904\u4e8e\u7b49\u5f85\u72b6\u6001;<\/li>\n<li>\u540c\u6837\u7684\u6570\u636e\u5757\u88ab\u9891\u7e41\u8bbf\u95ee,\u5c31\u662f\u6211\u4eec\u901a\u5e38\u8bf4\u7684\u70ed\u5feb\u95ee\u9898;<\/li>\n<\/ol>\n<\/li>\n<li>\u89e3\u51b3\u529e\u6cd5:\u4ea7\u751fbuffer chains\u592a\u957f,\u6211\u4eec\u53ef\u4ee5\u4f7f\u7528\u591a\u4e2abuffer pool\u7684\u65b9\u5f0f\u6765\u521b\u5efa\u66f4\u591a\u7684buffer chains,\u6216\u8005\u4f7f\u7528\u53c2\u6570DB_BLOCK_LRU_LATCHES\u6765\u589e\u52a0latch\u7684\u6570\u91cf,\u4ee5\u4fbf\u4e8e\u66f4\u591a\u7684\u4f1a\u8bdd\u53ef\u4ee5\u83b7\u5f97latch,\u8fd9\u4e24\u79cd\u65b9\u6cd5\u53ef\u4ee5\u540c\u65f6\u4f7f\u7528;<\/li>\n<li>\u7b49\u5f85\u4e8b\u4ef6\u7684\u53c2\u6570:\n<ol>\n<li>Latch addr:\u4f1a\u8bdd\u7533\u8bf7\u7684latch\u5728SGA\u4e2d\u7684\u865a\u62df\u5730\u5740,\u901a\u8fc7\u4ee5\u4e0b\u7684SQL\u8bed\u53e5\u53ef\u4ee5\u6839\u636e\u8fd9\u4e2a\u5730\u5740\u627e\u5230\u5b83\u5bf9\u5e94\u7684Latch\u540d\u79f0(SELECT * FROM v$latch a, v$latchname b WHERE a.addr = &lt;latch addr&gt; AND a.latch# = b.latch#;);<\/li>\n<li>chain#:buffer chains hash\u5217\u8868\u4e2d\u7684\u7d22\u5f15\u503c,\u5f53\u8fd9\u4e2a\u53c2\u6570\u7684\u503c\u7b49\u4e8e0xfffffff\u65f6,\u8bf4\u660e\u5f53\u524d\u7684\u4f1a\u8bdd\u6b63\u5728\u7b49\u5f85\u4e00\u4e2aLRU latch;<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>control file parallel write:\n<ol>\n<li>\u5f53\u6570\u636e\u5e93\u4e2d\u6709\u591a\u4e2a\u63a7\u5236\u6587\u4ef6\u7684\u62f7\u8d1d\u65f6,Oracle\u9700\u8981\u4fdd\u8bc1\u4fe1\u606f\u540c\u6b65\u5730\u5199\u5230\u5404\u4e2a\u63a7\u5236\u6587\u4ef6\u5f53\u4e2d,\u8fd9\u662f\u4e00\u4e2a\u5e76\u884c\u7684\u7269\u7406\u64cd\u4f5c\u8fc7\u7a0b,\u56e0\u4e3a\u79f0\u4e3a\u63a7\u5236\u6587\u4ef6\u5e76\u884c\u5199,\u5f53\u53d1\u751f\u8fd9\u6837\u7684\u64cd\u4f5c\u65f6,\u5c31\u4f1a\u4ea7\u751fcontrol file parallel write\u7b49\u5f85\u4e8b\u4ef6;<\/li>\n<li>\u63a7\u5236\u6587\u4ef6\u9891\u7e41\u5199\u5165\u7684\u4e3b\u8981\u539f\u56e0:\n<ol>\n<li>\u65e5\u5fd7\u5207\u6362\u592a\u8fc7\u9891\u7e41,\u5bfc\u81f4\u63a7\u5236\u6587\u4ef6\u4fe1\u606f\u76f8\u5e94\u5730\u9700\u8981\u9891\u7e41\u66f4\u65b0;<\/li>\n<li>\u7cfb\u7edfI\/O\u51fa\u73b0\u74f6\u9888,\u5bfc\u81f4\u6240\u6709I\/O\u51fa\u73b0\u7b49\u5f85;<\/li>\n<\/ol>\n<\/li>\n<li>\u89e3\u51b3\u529e\u6cd5:\n<ol>\n<li>\u5f53\u7cfb\u7edf\u51fa\u73b0\u65e5\u5fd7\u5207\u6362\u8fc7\u4e8e\u9891\u7e41\u7684\u60c5\u5f62\u65f6,\u53ef\u4ee5\u8003\u8651\u9002\u5f53\u5730\u589e\u5927\u65e5\u5fd7\u6587\u4ef6\u7684\u5927\u5c0f\u6765\u964d\u4f4e\u65e5\u5fd7\u5207\u6362\u9891\u7387;<\/li>\n<li>\u5f53\u7cfb\u7edf\u51fa\u73b0\u5927\u91cf\u7684control file parallel write \u7b49\u5f85\u4e8b\u4ef6\u65f6,\u53ef\u4ee5\u901a\u8fc7\u6bd4\u5982\u964d\u4f4e\u63a7\u5236\u6587\u4ef6\u7684\u62f7\u8d1d\u6570\u91cf,\u5c06\u63a7\u5236\u6587\u4ef6\u7684\u62f7\u8d1d\u5b58\u653e\u5728\u4e0d\u540c\u7684\u7269\u7406\u78c1\u76d8\u4e0a\u7684\u65b9\u5f0f\u6765\u7f13\u89e3I\/O\u4e89\u7528;<\/li>\n<\/ol>\n<\/li>\n<li>\u7b49\u5f85\u4e8b\u4ef6\u7684\u53c2\u6570:\n<ol>\n<li>Files:Oracle\u8981\u5199\u5165\u7684\u63a7\u5236\u6587\u4ef6\u4e2a\u6570;<\/li>\n<li>Blocks:\u5199\u5165\u63a7\u5236\u6587\u4ef6\u7684\u6570\u636e\u5757\u6570\u76ee;<\/li>\n<li>Requests:\u5199\u5165\u63a7\u5236\u8bf7\u6c42\u7684I\/O\u6b21\u6570;<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>control file sequential read:\n<ol>\n<li>\u5f53\u6570\u636e\u5e93\u9700\u8981\u8bfb\u53d6\u63a7\u5236\u6587\u4ef6\u4e0a\u7684\u4fe1\u606f\u65f6,\u4f1a\u51fa\u73b0\u8fd9\u4e2a\u7b49\u5f85\u4e8b\u4ef6,\u56e0\u4e3a\u63a7\u5236\u6587\u4ef6\u7684\u4fe1\u606f\u662f\u987a\u5e8f\u5199\u7684,\u6240\u4ee5\u8bfb\u53d6\u7684\u65f6\u5019\u4e5f\u662f\u987a\u5e8f\u7684,\u56e0\u6b64\u79f0\u4e3a\u63a7\u5236\u6587\u4ef6\u987a\u5e8f\u8bfb;<\/li>\n<li>\u63a7\u5236\u6587\u4ef6\u9891\u7e41\u8bfb\u53d6\u7684\u4e3b\u8981\u539f\u56e0:\n<ol>\n<li>\u5907\u4efd\u63a7\u5236\u6587\u4ef6;<\/li>\n<li>RAC\u73af\u5883\u4e0b\u4e0d\u540c\u5b9e\u4f8b\u4e4b\u95f4\u63a7\u5236\u6587\u4ef6\u7684\u4fe1\u606f\u5171\u4eab;<\/li>\n<li>\u8bfb\u53d6\u63a7\u5236\u6587\u4ef6\u7684\u6587\u4ef6\u5934\u4fe1\u606f;<\/li>\n<li>\u8bfb\u53d6\u63a7\u5236\u6587\u4ef6\u5176\u4ed6\u4fe1\u606f;<\/li>\n<\/ol>\n<\/li>\n<li>\u7b49\u5f85\u4e8b\u4ef6\u7684\u53c2\u6570:\n<ol>\n<li>File#:\u8981\u8bfb\u53d6\u4fe1\u606f\u7684\u63a7\u5236\u6587\u4ef6\u7684\u6587\u4ef6\u53f7;<\/li>\n<li>Block#:\u8bfb\u53d6\u63a7\u5236\u6587\u4ef6\u4fe1\u606f\u7684\u8d77\u59cb\u6570\u636e\u5757\u53f7;<\/li>\n<li>Blocks:\u9700\u8981\u8bfb\u53d6\u7684\u63a7\u5236\u6587\u4ef6\u6570\u636e\u5757\u6570\u76ee;<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>db file parallel read:\n<ol>\n<li>\u8fd9\u662f\u4e00\u4e2a\u5f88\u5bb9\u6613\u5f15\u8d77\u8bef\u5bfc\u7684\u7b49\u5f85\u4e8b\u4ef6,\u5b9e\u9645\u4e0a\u8fd9\u4e2a\u7b49\u5f85\u4e8b\u4ef6\u548c\u5e76\u884c\u64cd\u4f5c(\u6bd4\u5982\u5e76\u884c\u67e5\u8be2,\u5e76\u884cDML)\u6ca1\u6709\u5173\u7cfb;\u8fd9\u4e2a\u4e8b\u4ef6\u53d1\u751f\u5728\u6570\u636e\u5e93\u6062\u590d\u7684\u65f6\u5019,\u5f53\u6709\u4e00\u4e9b\u6570\u636e\u5757\u9700\u8981\u6062\u590d\u7684\u65f6\u5019,Oracle\u4f1a\u4ee5\u5e76\u884c\u7684\u65b9\u5f0f\u628a\u4ed6\u4eec\u4ece\u6570\u636e\u6587\u4ef6\u4e2d\u8bfb\u5165\u5230\u5185\u5b58\u4e2d\u8fdb\u884c\u6062\u590d\u64cd\u4f5c;<\/li>\n<li>\u7b49\u5f85\u4e8b\u4ef6\u7684\u53c2\u6570:\n<ol>\n<li>Files:\u64cd\u4f5c\u9700\u8981\u8bfb\u53d6\u7684\u6587\u4ef6\u4e2a\u6570;<\/li>\n<li>Blocks:\u64cd\u4f5c\u9700\u8981\u8bfb\u53d6\u7684\u6570\u636e\u5757\u4e2a\u6570;<\/li>\n<li>Requests:\u64cd\u4f5c\u9700\u8981\u6267\u884c\u7684I\/O\u6b21\u6570;<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li><span style=\"color: #e30000;\">db file parallel write:<\/span>\n<ol>\n<li>\u8fd9\u662f\u4e00\u4e2a\u540e\u53f0\u7b49\u5f85\u4e8b\u4ef6,\u5b83\u540c\u6837\u548c\u7528\u6237\u7684\u5e76\u884c\u64cd\u4f5c\u6ca1\u6709\u5173\u7cfb,\u5b83\u662f\u7531\u540e\u53f0\u8fdb\u7a0bDBWR\u4ea7\u751f\u7684,\u5f53\u540e\u53f0\u8fdb\u7a0bDBWR\u60f3\u78c1\u76d8\u4e0a\u5199\u5165\u810f\u6570\u636e\u65f6,\u4f1a\u53d1\u751f\u8fd9\u4e2a\u7b49\u5f85;<\/li>\n<li>DBWR\u4f1a\u6279\u91cf\u5730\u5c06\u810f\u6570\u636e\u5e76\u884c\u5730\u5199\u5165\u5230\u78c1\u76d8\u4e0a\u76f8\u5e94\u7684\u6570\u636e\u6587\u4ef6\u4e2d,\u5728\u8fd9\u4e2a\u6279\u6b21\u4f5c\u4e1a\u5b8c\u6210\u4e4b\u524d,DBWR\u5c06\u51fa\u73b0\u8fd9\u4e2a\u7b49\u5f85\u4e8b\u4ef6;\u5982\u679c\u4ec5\u4ec5\u662f\u8fd9\u4e00\u4e2a\u7b49\u5f85\u4e8b\u4ef6,\u5bf9\u7528\u6237\u7684\u64cd\u4f5c\u5e76\u6ca1\u6709\u592a\u5927\u7684\u5f71\u54cd,\u5f53\u4f34\u968f\u7740\u51fa\u73b0free buffer waits\u7b49\u5f85\u4e8b\u4ef6\u65f6,\u8bf4\u660e\u6b64\u65f6\u5185\u5b58\u4e2d\u53ef\u7528\u7684\u7a7a\u95f4\u4e0d\u8db3,\u8fd9\u65f6\u5019\u4f1a\u5f71\u54cd\u5230\u7528\u6237\u7684\u64cd\u4f5c,\u6bd4\u5982\u5f71\u54cd\u5230\u7528\u6237\u5c06\u810f\u6570\u636e\u5757\u8bfb\u5165\u5230\u5185\u5b58\u4e2d;<\/li>\n<li>\u5f53\u51fa\u73b0db file parallel write\u7b49\u5f85\u4e8b\u4ef6\u65f6,\u53ef\u4ee5\u901a\u8fc7\u542f\u7528\u64cd\u4f5c\u7cfb\u7edf\u7684\u5f02\u6b65I\/O\u7684\u65b9\u5f0f\u6765\u7f13\u89e3\u8fd9\u4e2a\u7b49\u5f85;\u5f53\u4f7f\u7528\u5f02\u6b65I\/O\u65f6,DBWR\u4e0d\u5728\u9700\u8981\u4e00\u76f4\u7b49\u5230\u6240\u6709\u6570\u636e\u5757\u5168\u90e8\u5199\u5165\u5230\u78c1\u76d8\u4e0a,\u5b83\u53ea\u9700\u8981\u7b49\u5230\u8fd9\u4e2a\u6570\u636e\u5199\u5165\u5230\u4e00\u4e2a\u767e\u5206\u6bd4\u4e4b\u540e,\u5c31\u53ef\u4ee5\u7ee7\u7eed\u8fdb\u884c\u540e\u7eed\u7684\u64cd\u4f5c;<\/li>\n<li>\u7b49\u5f85\u4e8b\u4ef6\u7684\u53c2\u6570:\n<ol>\n<li>Requests:\u64cd\u4f5c\u9700\u8981\u6267\u884c\u7684I\/O\u6b21\u6570;<\/li>\n<li>Timeouts:\u7b49\u5f85\u7684\u8d85\u65f6\u65f6\u95f4;<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>Db file single write:\n<ol>\n<li>\u8fd9\u4e2a\u7b49\u5f85\u4e8b\u4ef6\u901a\u5e38\u53ea\u53d1\u751f\u5728\u4e00\u79cd\u60c5\u51b5\u4e0b,\u5c31\u662fOracle\u66f4\u65b0\u6570\u636e\u6587\u4ef6\u5934\u4fe1\u606f\u65f6(\u6bd4\u5982\u53d1\u751fCheckpoint);<\/li>\n<li>\u5f53\u8fd9\u4e2a\u7b49\u5f85\u4e8b\u4ef6\u5f88\u660e\u663e\u65f6,\u9700\u8981\u8003\u8651\u662f\u4e0d\u662f\u6570\u636e\u5e93\u4e2d\u7684\u6570\u636e\u6587\u4ef6\u6570\u91cf\u592a\u5927,\u5bfc\u81f4Oracle\u9700\u8981\u82b1\u8f83\u957f\u7684\u65f6\u95f4\u6765\u505a\u6240\u6709\u6587\u4ef6\u5934\u7684\u66f4\u65b0\u64cd\u4f5c(checkpoint);<\/li>\n<li>\u7b49\u5f85\u4e8b\u4ef6\u7684\u53c2\u6570:\n<ol>\n<li>File#:\u9700\u8981\u66f4\u65b0\u7684\u6570\u636e\u5757\u6240\u5728\u7684\u6570\u636e\u6587\u4ef6\u7684\u6587\u4ef6\u53f7;<\/li>\n<li>Block#:\u9700\u8981\u66f4\u65b0\u7684\u6570\u636e\u5757\u53f7;<\/li>\n<li>Blocks:\u9700\u8981\u66f4\u65b0\u7684\u6570\u636e\u5757\u6570\u76ee(\u901a\u5e38\u6765\u8bf4\u5e94\u8be5\u7b49\u4e8e1);<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>direct path read:\n<ol>\n<li>\u8fd9\u4e2a\u7b49\u5f85\u4e8b\u4ef6\u53d1\u751f\u5728\u4f1a\u8bdd\u5c06\u6570\u636e\u5757\u76f4\u63a5\u8bfb\u53d6\u5230PGA\u5f53\u4e2d\u800c\u4e0d\u662fSGA\u4e2d\u7684\u60c5\u51b5,\u8fd9\u4e9b\u88ab\u8bfb\u53d6\u7684\u6570\u636e\u901a\u5e38\u662f\u8fd9\u4e2a\u4f1a\u8bdd\u79c1\u6709\u7684\u6570\u636e,\u6240\u4ee5\u4e0d\u9700\u8981\u653e\u5230SGA\u4f5c\u4e3a\u5171\u4eab\u6570\u636e,\u56e0\u4e3a\u8fd9\u6837\u505a\u6ca1\u6709\u610f\u4e49;\u8fd9\u4e9b\u6570\u636e\u901a\u5e38\u662f\u6765\u81ea\u4e0e\u4e34\u65f6\u6bb5\u4e0a\u7684\u6570\u636e,\u6bd4\u5982\u4e00\u4e2a\u4f1a\u8bdd\u4e2dSQL\u7684\u6392\u5e8f\u6570\u636e,\u5e76\u884c\u6267\u884c\u8fc7\u7a0b\u4e2d\u95f4\u4ea7\u751f\u7684\u6570\u636e,\u4ee5\u53caHash Join,merge join\u4ea7\u751f\u7684\u6392\u5e8f\u6570\u636e,\u56e0\u4e3a\u8fd9\u4e9b\u6570\u636e\u53ea\u5bf9\u5f53\u524d\u7684\u4f1a\u8bdd\u7684SQL\u64cd\u4f5c\u6709\u610f\u4e49,\u6240\u4ee5\u4e0d\u9700\u8981\u653e\u5230SGA\u5f53\u4e2d;<\/li>\n<li>\u5f53\u53d1\u751fdirect path read\u7b49\u5f85\u4e8b\u4ef6\u65f6,\u610f\u5473\u7740\u78c1\u76d8\u4e0a\u6709\u5927\u91cf\u7684\u4e34\u65f6\u6570\u636e\u4ea7\u751f,\u6bd4\u5982\u6392\u5e8f,\u5e76\u884c\u6267\u884c\u7b49\u64cd\u4f5c;\u6216\u8005\u610f\u5473\u7740PGA\u4e2d\u7a7a\u95f2\u7a7a\u95f4\u4e0d\u8db3;<\/li>\n<li>\u7b49\u5f85\u4e8b\u4ef6\u7684\u53c2\u6570:\n<ol>\n<li>Descriptor address:\u4e00\u4e2a\u6307\u9488,\u6307\u5411\u5f53\u524d\u4f1a\u8bdd\u6b63\u5728\u7b49\u5f85\u7684\u4e00\u4e2adirect read I\/O;<\/li>\n<li>First dba:descriptor address\u4e2d\u6700\u65e7\u7684\u4e00\u4e2aI\/O\u6570\u636e\u5757\u5730\u5740;<\/li>\n<li>Block cnt:descriptor address\u4e0a\u4e0b\u6587\u4e2d\u6d89\u53ca\u7684\u6709\u6548\u7684buffer\u6570\u91cf;<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>direct path write:\n<ol>\n<li>\u8fd9\u4e2a\u7b49\u5f85\u4e8b\u4ef6\u548cdirect path read\u6b63\u597d\u76f8\u53cd,\u662f\u4f1a\u8bdd\u5c06\u4e00\u4e9b\u6570\u636e\u4ecePGA\u4e2d\u76f4\u63a5\u5199\u5165\u5230\u78c1\u76d8\u6587\u4ef6\u4e0a,\u800c\u4e0d\u7ecf\u8fc7SGA;\n<ol>\n<li>\u4f7f\u7528\u4e34\u65f6\u8868\u7a7a\u95f4\u6392\u5e8f(\u5185\u5b58\u4e0d\u8db3);<\/li>\n<li>\u6570\u636e\u7684\u76f4\u63a5\u52a0\u8f7d(\u4f7f\u7528append\u65b9\u5f0f\u52a0\u8f7d\u6570\u636e);<\/li>\n<li>\u5e76\u884cDML\u64cd\u4f5c;<\/li>\n<\/ol>\n<\/li>\n<li>\u7b49\u5f85\u4e8b\u4ef6\u7684\u53c2\u6570:\n<ol>\n<li>Descriptor address:\u4e00\u4e2a\u6307\u9488,\u6307\u5411\u5f53\u524d\u4f1a\u8bdd\u6b63\u5728\u7b49\u5f85\u7684\u4e00\u4e2adirect read I\/O;<\/li>\n<li>First dba:descriptor address\u4e2d\u6700\u65e7\u7684\u4e00\u4e2aI\/O\u6570\u636e\u5757\u5730\u5740;<\/li>\n<li>Block cnt:descriptor address\u4e0a\u4e0b\u6587\u4e2d\u6d89\u53ca\u7684\u6709\u6548\u7684buffer\u6570\u91cf;<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li><span style=\"color: #e30000;\">enqueue:<\/span>\n<ol>\n<li>Enqueue\u8fd9\u4e2a\u8bcd\u5176\u5b9e\u662flock\u7684\u53e6\u4e00\u79cd\u63cf\u8ff0\u8bed;<\/li>\n<li>\u5f53\u6211\u4eec\u5728AWR\u62a5\u544a\u4e2d\u53d1\u73b0\u957f\u65f6\u95f4\u7684enqueue\u7b49\u5f85\u4e8b\u4ef6\u65f6,\u8bf4\u660e\u6570\u636e\u5e93\u4e2d\u51fa\u73b0\u4e86\u963b\u585e\u548c\u7b49\u5f85,\u53ef\u4ee5\u5173\u8054AWR\u62a5\u544a\u4e2d\u7684enqueue activity\u90e8\u5206\u6765\u786e\u5b9a\u662f\u54ea\u4e00\u79cd\u9501\u5b9a\u51fa\u73b0\u4e86\u957f\u65f6\u95f4\u7b49\u5f85;<\/li>\n<li>\u7b49\u5f85\u4e8b\u4ef6\u7684\u53c2\u6570:\n<ol>\n<li>Name:enqueue\u7684\u540d\u79f0\u548c\u7c7b\u578b;<\/li>\n<li>Mode:enqueue\u7684\u6a21\u5f0f;<\/li>\n<\/ol>\n<\/li>\n<li>\u67e5\u770b\u5f53\u524d\u4f1a\u8bdd\u7b49\u5f85\u7684enqueue\u540d\u79f0\u548c\u7c7b\u578b:SELECT chr(to_char(bitand(p1, -16777216)) \/ 16777215) || chr(to_char(bitand(p1, 16711680)) \/ 65535) &#8220;Lock&#8221;, to_char(bitand(p1, 65535)) &#8220;Mode&#8221; FROM v$session_wait WHERE event = &#8216;enqueue&#8217;;<\/li>\n<li>\u6a21\u5f0f\u4ee3\u7801\u53ca\u89e3\u91ca:\n<ol>\n<li>1-Null mode<\/li>\n<li>2-Sub-Share<\/li>\n<li>3-Sub-Exclusive<\/li>\n<li>4-Share<\/li>\n<li>5-Share\/Sub-Exclusive<\/li>\n<li>6-Exclusive<\/li>\n<\/ol>\n<\/li>\n<li>Enqueue\u7684\u7f29\u5199\u53ca\u89e3\u91ca;<\/li>\n<\/ol>\n<\/li>\n<li><span style=\"color: #e30000;\">free buffer waits:<\/span>\n<ol>\n<li>\u5f53\u4e00\u4e2a\u4f1a\u8bdd\u5c06\u6570\u636e\u5757\u4ece\u78c1\u76d8\u8bfb\u5230\u5185\u5b58\u4e2d\u65f6,\u5b83\u9700\u8981\u5230\u5185\u5b58\u4e2d\u627e\u5230\u7a7a\u95f2\u7684\u5185\u5b58\u7a7a\u95f4\u6765\u5b58\u653e\u8fd9\u4e9b\u6570\u636e\u5757,\u5f53\u5185\u5b58\u4e2d\u6ca1\u6709\u7a7a\u95f2\u7684\u7a7a\u95f4\u65f6,\u5c31\u4f1a\u4ea7\u751f\u8fd9\u4e2a\u7b49\u5f85;\u9664\u6b64\u4e4b\u5916,\u8fd8\u6709\u4e00\u79cd\u60c5\u51b5\u5c31\u662f\u4f1a\u8bdd\u5728\u505a\u4e00\u81f4\u6027\u8bfb\u65f6,\u9700\u8981\u6784\u9020\u6570\u636e\u5757\u5728\u67d0\u4e2a\u65f6\u523b\u7684\u524d\u6620\u50cf(image),\u6b64\u65f6\u9700\u8981\u7533\u8bf7\u5185\u5b58\u6765\u5b58\u653e\u8fd9\u4e9b\u65b0\u6784\u9020\u7684\u6570\u636e\u5757,\u5982\u679c\u5185\u5b58\u4e2d\u65e0\u6cd5\u627e\u5230\u8fd9\u6837\u7684\u5185\u5b58\u5757,\u4e5f\u4f1a\u53d1\u751f\u8fd9\u4e2a\u7b49\u5f85\u4e8b\u4ef6;<\/li>\n<li>\u5f53\u6570\u636e\u5e93\u4e2d\u51fa\u73b0\u6bd4\u8f83\u4e25\u91cd\u7684free buffer waits\u7b49\u5f85\u4e8b\u4ef6\u65f6,\u53ef\u80fd\u7684\u539f\u56e0\u662f:\n<ol>\n<li>Data buffer\u592a\u5c0f,\u5bfc\u81f4\u5185\u5b58\u7a7a\u95f4\u4e0d\u591f;<\/li>\n<li>\u5185\u5b58\u4e2d\u7684\u810f\u6570\u636e\u592a\u591a,DBWR\u65e0\u6cd5\u53ca\u65f6\u5c06\u8fd9\u4e9b\u810f\u6570\u636e\u5199\u5230\u78c1\u76d8\u4e2d\u4ee5\u91ca\u653e\u7a7a\u95f4<\/li>\n<\/ol>\n<\/li>\n<li>\u89e3\u51b3\u529e\u6cd5:\n<ol>\n<li>\u52a0\u5927db_buffer_cache\u5927\u5c0f;<\/li>\n<li>\u589e\u52a0dbwr\u8fdb\u7a0b\u6570\u91cf;<\/li>\n<li>\u589e\u52a0\u68c0\u67e5\u70b9\u6216\u8005\u7269\u7406\u78c1\u76d8\u7684\u6570\u91cf;<\/li>\n<\/ol>\n<\/li>\n<li>\u7b49\u5f85\u4e8b\u4ef6\u7684\u53c2\u6570:\n<ol>\n<li>File#:\u9700\u8981\u8bfb\u53d6\u7684\u6570\u636e\u5757\u6240\u5728\u7684\u6570\u636e\u6587\u4ef6\u7684\u6587\u4ef6\u53f7;<\/li>\n<li>Block#:\u9700\u8981\u8bfb\u53d6\u7684\u6570\u636e\u5757\u5757\u53f7;<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>latch free:\n<ol>\n<li>\u572810g\u4e4b\u524d\u7684\u7248\u672c\u91cc,latch free\u7b49\u5f85\u4e8b\u4ef6\u4ee3\u8868\u4e86\u6240\u6709\u7684latch\u7b49\u5f85,\u572810g\u4ee5\u540e,\u4e00\u4e9b\u5e38\u7528\u7684latch\u4e8b\u4ef6\u5df2\u7ecf\u88ab\u72ec\u7acb\u4e86\u51fa\u6765:\u6240\u4ee5latch free\u7b49\u5f85\u4e8b\u4ef6\u572810g\u4ee5\u540e\u7684\u7248\u672c\u4e2d\u5e76\u4e0d\u5e38\u89c1,\u800c\u662f\u4ee5\u5177\u4f53\u7684Latch\u7b49\u5f85\u4e8b\u4ef6\u51fa\u73b0;<\/li>\n<li>latch\u662f\u4e00\u79cd\u4f4e\u7ea7\u6392\u961f\u673a\u5236(\u5b83\u4eec\u88ab\u51c6\u786e\u5730\u79f0\u4e3a\u76f8\u4e92\u6392\u65a5\u673a\u5236),\u7528\u4e8e\u4fdd\u62a4\u7cfb\u7edf\u5168\u5c40\u533a\u57df(SGA)\u4e2d\u5171\u4eab\u5185\u5b58\u7ed3\u6784;latch\u5c31\u50cf\u662f\u4e00\u79cd\u5feb\u901f\u5730\u88ab\u83b7\u53d6\u548c\u91ca\u653e\u7684\u5185\u5b58\u9501;latch\u7528\u4e8e\u9632\u6b62\u5171\u4eab\u5185\u5b58\u7ed3\u6784\u88ab\u591a\u4e2a\u7528\u6237\u540c\u65f6\u8bbf\u95ee;\u5982\u679clatch\u4e0d\u53ef\u7528,\u5c31\u4f1a\u8bb0\u5f55latch\u91ca\u653e\u5931\u8d25;\u5927\u591a\u6570latch \u95ee\u9898\u90fd\u4e0e\u4ee5\u4e0b\u64cd\u4f5c\u76f8\u5173:\n<ol>\n<li>\u4e0d\u80fd\u4f7f\u7528\u90a6\u5b9a\u53d8\u91cf(\u5e93\u7f13\u5b58latch);<\/li>\n<li>\u91cd\u590d\u751f\u6210\u95ee\u9898(\u91cd\u590d\u5206\u914dlatch);<\/li>\n<li>\u7f13\u51b2\u5b58\u50a8\u5668\u7ade\u4e89\u95ee\u9898(\u7f13\u51b2\u5668\u5b58\u50a8LRU \u94fe),\u4ee5\u53ca\u7f13\u51b2\u5b58\u50a8\u5668\u4e2d\u7684&#8221;\u70ed&#8221;\u5757(\u7f13\u51b2\u5b58\u50a8\u5668\u94fe);<\/li>\n<li>\u4e5f\u6709\u4e00\u4e9blatch\u7b49\u5f85\u4e0ebug(\u7a0b\u5e8f\u9519\u8bef)\u6709\u5173;<\/li>\n<\/ol>\n<\/li>\n<li>\u67e5\u770blatch\u76f8\u5173\u7684\u7b49\u5f85\u4e8b\u4ef6:SELECT NAME FROM v$event_name WHERE NAME LIKE &#8216;latch%&#8217;;<\/li>\n<li>\u67e5\u627e\u4e8b\u4ef6\u70ed\u70b9\u5bf9\u8c61\u7684sql\u8bed\u53e5;<\/li>\n<li>latch\u95ee\u9898\u7684\u89e3\u51b3\u529e\u6cd5:\n<ol>\n<li>Library Cache and Shared Pool(\u672a\u7ed1\u5b9a\u53d8\u91cf&#8212;\u7ed1\u5b9a\u53d8\u91cf,\u8c03\u6574shared_pool_size):\u6bcf\u5f53\u6267\u884cSQL\u6216PL\/SQL\u5b58\u50a8\u8fc7\u7a0b,\u5305,\u51fd\u6570\u548c\u89e6\u53d1\u5668\u65f6,\u8fd9\u4e2aLatch\u5373\u88ab\u7528\u5230.Parse\u64cd\u4f5c\u4e2d\u6b64Latch\u4e5f\u4f1a\u88ab\u9891\u7e41\u4f7f\u7528;<\/li>\n<li>Redo Copy(\u589e\u5927_LOG_SIMULTANEOUS_COPIES\u53c2\u6570):\u91cd\u505a\u62f7\u8d1dLatch\u7528\u6765\u4ecePGA\u5411\u91cd\u505a\u65e5\u5fd7\u7f13\u51b2\u533a\u62f7\u8d1d\u91cd\u505a\u8bb0\u5f55;<\/li>\n<li>Redo Allocation(\u6700\u5c0f\u5316REDO\u751f\u6210,\u907f\u514d\u4e0d\u5fc5\u8981\u63d0\u4ea4):\u6b64Latch\u7528\u6765\u5206\u914d\u91cd\u505a\u65e5\u5fd7\u7f13\u51b2\u533a\u4e2d\u7684\u7a7a\u95f4,\u53ef\u4ee5\u7528NOLOGGING\u6765\u51cf\u7f13\u7ade\u4e89;<\/li>\n<li>Row Cache Objects(\u589e\u5927\u5171\u4eab\u6c60):\u6570\u636e\u5b57\u5178\u7ade\u4e89,\u8fc7\u5ea6parsing;<\/li>\n<li>Cache Buffers Chains(_DB_BLOCK_HASH_BUCKETS\u5e94\u589e\u5927\u6216\u8bbe\u4e3a\u8d28\u6570):&#8221;\u8fc7\u70ed&#8221;\u6570\u636e\u5757\u9020\u6210\u4e86\u5185\u5b58\u7f13\u51b2\u94feLatch\u7ade\u4e89;<\/li>\n<li>Cache Buffers Lru Chain(\u8c03\u6574SQL,\u8bbe\u7f6eDB_BLOCK_LRU_LATCHES,\u6216\u4f7f\u7528\u591a\u4e2a\u7f13\u51b2\u533a\u6c60):\u626b\u63cf\u5168\u90e8\u5185\u5b58\u7f13\u51b2\u533a\u5757\u7684LRU(\u6700\u8fd1\u6700\u5c11\u4f7f\u7528)\u94fe\u65f6\u8981\u7528\u5230\u5185\u5b58\u7f13\u51b2\u533aLRU\u94feLatch;\u592a\u5c0f\u5185\u5b58\u7f13\u51b2\u533a,\u8fc7\u5927\u7684\u5185\u5b58\u7f13\u51b2\u533a\u541e\u5410\u91cf,\u8fc7\u591a\u7684\u5185\u5b58\u4e2d\u8fdb\u884c\u7684\u6392\u5e8f\u64cd\u4f5c,DBWR\u901f\u5ea6\u8ddf\u4e0d\u4e0a\u5de5\u4f5c\u8d1f\u8f7d\u7b49\u4f1a\u5f15\u8d77\u6b64Latch\u7ade\u4e89;<\/li>\n<\/ol>\n<\/li>\n<li>\u7b49\u5f85\u4e8b\u4ef6\u7684\u53c2\u6570:\n<ol>\n<li>Address:\u4f1a\u8bdd\u7b49\u5f85\u7684latch\u5730\u5740;<\/li>\n<li>Number:latch\u53f7,\u901a\u8fc7\u8fd9\u4e2a\u53f7,\u53ef\u4ee5\u4ecev$latchname\u89c6\u56fe\u4e2d\u627e\u5230\u8fd9\u4e2alatch\u7684\u76f8\u5173\u7684\u4fe1\u606f(SELECT * FROM v$latchname\u00a0WHERE latch# = NUMBER;);<\/li>\n<li>Tries:\u4f1a\u8bdd\u5c1d\u8bd5\u83b7\u53d6Latch\u7684\u6b21\u6570;<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>library cache lock:\n<ol>\n<li>\u8fd9\u4e2a\u7b49\u5f85\u65f6\u95f4\u53d1\u751f\u5728\u4e0d\u540c\u7528\u6237\u5728\u5171\u4eab\u4e2d\u7531\u4e8e\u5e76\u53d1\u64cd\u4f5c\u540c\u4e00\u4e2a\u6570\u636e\u5e93\u5bf9\u8c61\u5bfc\u81f4\u7684\u8d44\u6e90\u4e89\u7528\u7684\u65f6\u5019,\u6bd4\u5982\u5f53\u4e00\u4e2a\u7528\u6237\u6b63\u5728\u5bf9\u4e00\u4e2a\u8868\u505aDDL\u64cd\u4f5c\u65f6,\u5176\u4ed6\u7684\u7528\u6237\u5982\u679c\u8981\u8bbf\u95ee\u8fd9\u5f20\u8868,\u5c31\u4f1a\u53d1\u751flibrary cache lock\u7b49\u5f85\u4e8b\u4ef6,\u5b83\u8981\u4e00\u76f4\u7b49\u5230DDL\u64cd\u4f5c\u5b8c\u6210\u540e,\u624d\u80fd\u7ee7\u7eed\u64cd\u4f5c;<\/li>\n<li>\u8be5\u4e8b\u4ef6\u901a\u5e38\u662f\u7531\u4e8e\u6267\u884c\u591a\u4e2aDDL\u64cd\u4f5c\u5bfc\u81f4\u7684,\u5373\u5728library cache object\u4e0a\u6dfb\u52a0\u4e00\u4e2a\u6392\u5b83\u9501\u540e,\u53c8\u4ece\u53e6\u4e00\u4e2a\u4f1a\u8bdd\u7ed9\u5b83\u6dfb\u52a0\u4e00\u4e2a\u6392\u5b83\u9501,\u8fd9\u6837\u5728\u7b2c\u4e8c\u4e2a\u4f1a\u8bdd\u5c31\u4f1a\u751f\u6210\u7b49\u5f85;\u53ef\u901a\u8fc7\u5230\u57fa\u8868x$kgllk\u4e2d\u67e5\u627e\u5176\u5bf9\u5e94\u7684\u5bf9\u8c61;<\/li>\n<li>\u67e5\u8be2\u5f15\u8d77\u8be5\u7b49\u5f85\u4e8b\u4ef6\u7684\u963b\u585e\u8005\u7684sid,\u4f1a\u8bdd\u7528\u6237,\u9501\u4f4f\u7684\u5bf9\u8c61\u7684\u811a\u672c;<\/li>\n<li>\u7b49\u5f85\u4e8b\u4ef6\u7684\u53c2\u6570:\n<ol>\n<li>Handle address:\u88ab\u52a0\u8f7d\u7684\u5bf9\u8c61\u7684\u5730\u5740;<\/li>\n<li>Lock address:\u9501\u7684\u5730\u5740;<\/li>\n<li>Mode:\u88ab\u52a0\u8f7d\u5bf9\u8c61\u7684\u6570\u636e\u7247\u6bb5;<\/li>\n<li>Namespace:\u88ab\u52a0\u8f7d\u5bf9\u8c61\u5728v$db_object_cache\u89c6\u56fe\u4e2dnamespace\u540d\u79f0;<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>Library cache pin\n<ol>\n<li>\u8fd9\u4e2a\u7b49\u5f85\u4e8b\u4ef6\u548clibrary cache lock\u4e00\u6837\u662f\u53d1\u751f\u5728\u5171\u4eab\u6c60\u4e2d\u5e76\u53d1\u64cd\u4f5c\u5f15\u8d77\u7684\u4e8b\u4ef6;\u901a\u5e38\u6765\u8bb2,\u5982\u679cOracle\u8981\u5bf9\u4e00\u4e9bPL\/SQL\u6216\u8005\u89c6\u56fe\u8fd9\u6837\u7684\u5bf9\u8c61\u505a\u91cd\u65b0\u7f16\u8bd1,\u9700\u8981\u5c06\u8fd9\u4e9b\u5bf9\u8c61pin\u5230\u5171\u4eab\u6c60\u4e2d;\u5982\u679c\u6b64\u65f6\u8fd9\u4e2a\u5bf9\u8c61\u88ab\u5176\u4ed6\u7684\u7528\u6237\u7279\u6709,\u5c31\u4f1a\u4ea7\u751f\u4e00\u4e2alibrary cache pin\u7684\u7b49\u5f85;<\/li>\n<li>P1,P2\u53ef\u4e0ex$kglpn\u548cx$kglob\u8868\u76f8\u5173:\n<ol>\n<li>X$KGLOB (Kernel Generic Library Cache Manager Object);<\/li>\n<li>X$KGLPN (Kernel Generic Library Cache Manager Object Pins);<\/li>\n<\/ol>\n<\/li>\n<li>\u76f8\u5173\u9501\u7684\u67e5\u8be2sql;<\/li>\n<li>\u7b49\u5f85\u4e8b\u4ef6\u7684\u53c2\u6570:\n<ol>\n<li>Handle address:\u88ab\u52a0\u8f7d\u7684\u5bf9\u8c61\u7684\u5730\u5740;<\/li>\n<li>Lock address:\u9501\u7684\u5730\u5740;<\/li>\n<li>Mode:\u88ab\u52a0\u8f7d\u5bf9\u8c61\u7684\u6570\u636e\u7247\u6bb5;<\/li>\n<li>Namespace:\u88ab\u52a0\u8f7d\u5bf9\u8c61\u5728v$db_object_cache\u89c6\u56fe\u4e2dnamespace\u540d\u79f0;<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li><span style=\"color: #e30000;\">log file parallel write:<\/span>\n<ol>\n<li>\u540e\u53f0\u8fdb\u7a0bLGWR\u8d1f\u8d23\u5c06log buffer\u5f53\u4e2d\u7684\u6570\u636e\u5199\u5230REDO\u6587\u4ef6\u4e2d,\u4ee5\u91cd\u7528log buffer\u7684\u6570\u636e;\u5982\u679c\u6bcf\u4e2aREDO LOG\u7ec4\u91cc\u9762\u67092\u4e2a\u4ee5\u4e0a\u7684\u6210\u5458,\u90a3\u4e48LGWR\u8fdb\u7a0b\u4f1a\u5e76\u884c\u5730\u5c06REDO\u4fe1\u606f\u5199\u5165\u8fd9\u4e9b\u6587\u4ef6\u4e2d;<\/li>\n<li>\u5982\u679c\u6570\u636e\u5e93\u4e2d\u51fa\u73b0\u8fd9\u4e2a\u7b49\u5f85\u4e8b\u4ef6\u7684\u74f6\u9888,\u4e3b\u8981\u7684\u539f\u56e0\u53ef\u80fd\u662f\u78c1\u76d8I\/O\u6027\u80fd\u4e0d\u591f\u6216\u8005REDO\u6587\u4ef6\u7684\u5206\u5e03\u5bfc\u81f4\u4e86I\/O\u4e89\u7528,\u6bd4\u5982\u540c\u4e00\u4e2a\u7ec4\u7684REDO\u6210\u5458\u6587\u4ef6\u653e\u5728\u76f8\u540c\u7684\u78c1\u76d8\u4e0a;<\/li>\n<li>\u7b49\u5f85\u4e8b\u4ef6\u7684\u53c2\u6570:\n<ol>\n<li>Files:\u64cd\u4f5c\u9700\u8981\u5199\u5165\u7684\u6587\u4ef6\u4e2a\u6570;<\/li>\n<li>Blocks:\u64cd\u4f5c\u9700\u8981\u5199\u5165\u7684\u6570\u636e\u5757\u4e2a\u6570;<\/li>\n<li>Requests:\u64cd\u4f5c\u9700\u8981\u6267\u884c\u7684I\/O\u6b21\u6570;<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li><span style=\"color: #e30000;\">log buffer space:<\/span>\n<ol>\n<li>\u5f53log buffer\u4e2d\u6ca1\u6709\u53ef\u7528\u7a7a\u95f4\u6765\u5b58\u653e\u65b0\u4ea7\u751f\u7684redo log\u6570\u636e\u65f6,\u5c31\u4f1a\u53d1\u751flog buffer space\u7b49\u5f85\u4e8b\u4ef6;\u5982\u679c\u6570\u636e\u5e93\u4e2d\u65b0\u4ea7\u751f\u7684redo log\u7684\u6570\u91cf\u5927\u4e8eLGWR\u5199\u5165\u5230\u78c1\u76d8\u4e2d\u7684redo log\u6570\u91cf,\u5fc5\u987b\u7b49\u5f85LGWR\u5b8c\u6210\u5199\u5165\u78c1\u76d8\u7684\u64cd\u4f5c,LGWR\u5fc5\u987b\u786e\u4fddredo log\u5199\u5230\u78c1\u76d8\u6210\u529f\u4e4b\u540e,\u624d\u80fd\u5728redo buffer\u5f53\u4e2d\u91cd\u7528\u8fd9\u90e8\u5206\u4fe1\u606f;<\/li>\n<li>\u5982\u679c\u6570\u636e\u5e93\u4e2d\u51fa\u73b0\u5927\u91cf\u7684log buffer space\u7b49\u5f85\u4e8b\u4ef6,\u53ef\u4ee5\u8003\u8651\u5982\u4e0b\u65b9\u6cd5:\n<ol>\n<li>\u589e\u52a0redo buffer\u7684\u5927\u5c0f;<\/li>\n<li>\u63d0\u5347\u78c1\u76d8\u7684I\/O\u6027\u80fd;<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>log file sequential read:\n<ol>\n<li>\u8fd9\u4e2a\u7b49\u5f85\u4e8b\u4ef6\u901a\u5e38\u53d1\u751f\u5728\u5bf9redo log\u4fe1\u606f\u8fdb\u884c\u8bfb\u53d6\u65f6,\u6bd4\u5982\u5728\u7ebfredo\u7684\u5f52\u6863\u64cd\u4f5c,ARCH\u8fdb\u7a0b\u9700\u8981\u8bfb\u53d6redo log\u7684\u4fe1\u606f,\u7531\u4e8eredo log\u7684\u4fe1\u606f\u662f\u987a\u5e8f\u5199\u5165\u7684,\u6240\u4ee5\u5728\u8bfb\u53d6\u65f6\u4e5f\u662f\u6309\u7167\u987a\u5e8f\u7684\u65b9\u5f0f\u6765\u8bfb\u53d6\u7684;<\/li>\n<li>\u7b49\u5f85\u4e8b\u4ef6\u7684\u53c2\u6570:\n<ol>\n<li>Log#:\u53d1\u751f\u7b49\u5f85\u65f6\u8bfb\u53d6\u7684redo log\u7684sequence\u53f7;<\/li>\n<li>Block#:\u8bfb\u53d6\u7684\u6570\u636e\u5757\u53f7;<\/li>\n<li>Blocks:\u8bfb\u53d6\u7684\u6570\u636e\u5757\u4e2a\u6570;<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>log file single write:\n<ol>\n<li>\u8fd9\u4e2a\u7b49\u5f85\u4e8b\u4ef6\u53d1\u751f\u5728\u66f4\u65b0redo log\u6587\u4ef6\u7684\u6587\u4ef6\u5934\u65f6,\u5f53\u4e3a\u65e5\u5fd7\u7ec4\u589e\u52a0\u65b0\u7684\u65e5\u5fd7\u6210\u5458\u65f6\u6216\u8005redo log\u7684sequence\u53f7\u6539\u53d8\u65f6,LGWR\u90fd\u4f1a\u66f4\u65b0redo log\u6587\u4ef6\u5934\u4fe1\u606f;<\/li>\n<li>\u7b49\u5f85\u4e8b\u4ef6\u7684\u53c2\u6570:\n<ol>\n<li>Log#:\u53d1\u751f\u7b49\u5f85\u65f6\u8bfb\u53d6\u7684redo log\u7684sequence\u53f7;<\/li>\n<li>Block#:\u8bfb\u53d6\u7684\u6570\u636e\u5757\u53f7;<\/li>\n<li>Blocks:\u8bfb\u53d6\u7684\u6570\u636e\u5757\u4e2a\u6570;<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>log file switch(archiving needed):\n<ol>\n<li>\u5728\u5f52\u6863\u6a21\u5f0f\u4e0b,\u8fd9\u4e2a\u7b49\u5f85\u4e8b\u4ef6\u53d1\u751f\u5728\u5728\u7ebf\u65e5\u5fd7\u5207\u6362(log file switch)\u65f6,\u9700\u8981\u5207\u6362\u7684\u5728\u7ebf\u65e5\u5fd7\u8fd8\u6ca1\u6709\u88ab\u5f52\u6863\u8fdb\u7a0b(ARCH)\u5f52\u6863\u5b8c\u6bd5\u7684\u65f6\u5019;\u5f53\u5728\u7ebf\u65e5\u5fd7\u6587\u4ef6\u5207\u6362\u5230\u4e0b\u4e00\u4e2a\u65e5\u5fd7\u65f6,\u9700\u8981\u786e\u4fdd\u4e0b\u4e00\u4e2a\u65e5\u5fd7\u6587\u4ef6\u5df2\u7ecf\u88ab\u5f52\u6863\u8fdb\u7a0b\u5f52\u6863\u5b8c\u6bd5,\u5426\u5219\u4e0d\u5141\u8bb8\u8986\u76d6\u90a3\u4e2a\u5728\u7ebf\u65e5\u5fd7\u4fe1\u606f(\u5426\u5219\u4f1a\u5bfc\u81f4\u5f52\u6863\u65e5\u5fd7\u4fe1\u606f\u4e0d\u5b8c\u6574);<\/li>\n<li>\u51fa\u73b0\u8fd9\u6837\u7684\u7b49\u5f85\u4e8b\u4ef6\u901a\u5e38\u662f\u7531\u4e8e\u67d0\u79cd\u539f\u56e0\u5bfc\u81f4ARCH\u8fdb\u7a0b\u6b7b\u6389,\u6bd4\u5982ARCH\u8fdb\u7a0b\u5c1d\u8bd5\u5411\u76ee\u7684\u5730\u5199\u5165\u4e00\u4e2a\u5f52\u6863\u6587\u4ef6,\u4f46\u662f\u6ca1\u6709\u6210\u529f(\u4ecb\u8d28\u5931\u6548\u6216\u8005\u5176\u4ed6\u539f\u56e0),\u8fd9\u65f6ARCH\u8fdb\u7a0b\u5c31\u4f1a\u6b7b\u6389;\u5982\u679c\u53d1\u751f\u8fd9\u79cd\u60c5\u51b5,\u5728\u6570\u636e\u5e93\u7684alert log\u6587\u4ef6\u4e2d\u53ef\u4ee5\u627e\u5230\u76f8\u5173\u7684\u9519\u8bef\u4fe1\u606f;<\/li>\n<\/ol>\n<\/li>\n<li><span style=\"color: #e30000;\">log file switch(checkpoint incomplete):<\/span>\n<ol>\n<li>\u5f53\u4e00\u4e2a\u5728\u7ebf\u65e5\u5fd7\u5207\u6362\u5230\u4e0b\u4e00\u4e2a\u5728\u7ebf\u65e5\u5fd7\u65f6,\u5fc5\u987b\u4fdd\u8bc1\u8981\u5207\u6362\u5230\u7684\u5728\u7ebf\u65e5\u5fd7\u4e0a\u7684\u8bb0\u5f55\u7684\u4fe1\u606f(\u6bd4\u5982\u4e00\u4e9b\u810f\u6570\u636e\u5757\u4ea7\u751f\u7684redo log)\u88ab\u5199\u5230\u78c1\u76d8\u4e0a(checkpoint),\u8fd9\u6837\u505a\u7684\u539f\u56e0\u662f,\u5982\u679c\u4e00\u4e2a\u5728\u7ebf\u65e5\u5fd7\u6587\u4ef6\u7684\u4fe1\u606f\u88ab\u8986\u76d6,\u800c\u4f9d\u8d56\u8fd9\u4e9bredo\u4fe1\u606f\u505a\u6062\u590d\u7684\u6570\u636e\u5757\u5c1a\u672a\u88ab\u5199\u5230\u78c1\u76d8\u4e0a(checkpoint),\u6b64\u65f6\u7cfb\u7edfdown\u6389\u7684\u8bdd,Oracle\u5c06\u6ca1\u6709\u529e\u6cd5\u8fdb\u884c\u5b9e\u4f8b\u6062\u590d;<\/li>\n<li>\u5728v$log\u89c6\u56fe\u91cc\u8bb0\u5f55\u4e86\u5728\u7ebf\u65e5\u5fd7\u7684\u72b6\u6001,\u5728\u7ebf\u65e5\u5fd7\u6709\u4e09\u79cd\u72b6\u6001:\n<ol>\n<li>Active:\u8fd9\u4e2a\u65e5\u5fd7\u4e0a\u9762\u4fdd\u62a4\u7684\u4fe1\u606f\u8fd8\u6ca1\u6709\u5b8c\u6210checkpoint;<\/li>\n<li>Inactive:\u8fd9\u4e2a\u65e5\u5fd7\u4e0a\u9762\u4fdd\u62a4\u7684\u4fe1\u606f\u5df2\u5b8c\u6210checkpoint;<\/li>\n<li>Current:\u5f53\u524d\u7684\u65e5\u5fd7;<\/li>\n<\/ol>\n<\/li>\n<li>Oracle\u5728\u505a\u5b9e\u4f8b\u6062\u590d\u65f6,\u4f1a\u4f7f\u7528\u72b6\u6001\u4e3acurrent\u548cActive\u7684\u65e5\u5fd7\u8fdb\u884c\u5b9e\u4f8b\u6062\u590d;<\/li>\n<li>\u5982\u679c\u7cfb\u7edf\u4e2d\u51fa\u73b0\u5927\u91cf\u7684log file switch(checkpoint incomplete)\u7b49\u5f85\u4e8b\u4ef6,\u539f\u56e0\u53ef\u80fd\u662f\u65e5\u5fd7\u6587\u4ef6\u592a\u5c0f\u6216\u8005\u65e5\u5fd7\u7ec4\u592a\u5c11,\u6240\u4ee5\u89e3\u51b3\u7684\u65b9\u6cd5\u662f,\u589e\u52a0\u65e5\u5fd7\u6587\u4ef6\u7684\u5927\u5c0f\u6216\u8005\u589e\u52a0\u65e5\u5fd7\u7ec4\u7684\u6570\u91cf;<\/li>\n<\/ol>\n<\/li>\n<li><span style=\"color: #e30000;\">log file sync:<\/span>\n<ol>\n<li>\u8fd9\u662f\u4e00\u4e2a\u7528\u6237\u4f1a\u8bdd\u884c\u4e3a\u5bfc\u81f4\u7684\u7b49\u5f85\u4e8b\u4ef6,\u5f53\u4e00\u4e2a\u4f1a\u8bdd\u53d1\u51fa\u4e00\u4e2acommit\u547d\u4ee4\u65f6,LGWR\u8fdb\u7a0b\u4f1a\u5c06\u8fd9\u4e2a\u4e8b\u52a1\u4ea7\u751f\u7684redo log\u4ecelog buffer\u91cc\u9762\u5199\u5230\u78c1\u76d8\u4e0a,\u4ee5\u786e\u4fdd\u7528\u6237\u63d0\u4ea4\u7684\u4fe1\u606f\u88ab\u5b89\u5168\u5730\u8bb0\u5f55\u5230\u6570\u636e\u5e93\u4e2d;\u4f1a\u8bdd\u53d1\u51fa\u7684commit\u6307\u4ee4\u540e,\u9700\u8981\u7b49\u5f85LGWR\u5c06\u8fd9\u4e2a\u4e8b\u52a1\u4ea7\u751f\u7684redo\u6210\u529f\u5199\u5165\u5230\u78c1\u76d8\u4e4b\u540e,\u624d\u53ef\u4ee5\u7ee7\u7eed\u8fdb\u884c\u540e\u7eed\u7684\u64cd\u4f5c,\u8fd9\u4e2a\u7b49\u5f85\u4e8b\u4ef6\u5c31\u53eb\u4f5clog file sync;<\/li>\n<li>\u5f53\u7cfb\u7edf\u4e2d\u51fa\u73b0\u5927\u91cf\u7684log file sync\u7b49\u5f85\u4e8b\u4ef6\u65f6,\u5e94\u8be5\u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u6709\u7528\u6237\u5728\u505a\u9891\u7e41\u7684\u63d0\u4ea4\u64cd\u4f5c;<\/li>\n<li>\u8fd9\u79cd\u7b49\u5f85\u4e8b\u4ef6\u901a\u5e38\u53d1\u751f\u5728OLTP\u7cfb\u7edf\u4e0a,OLTP\u7cfb\u7edf\u4e2d\u5b58\u5728\u5f88\u591a\u5c0f\u7684\u4e8b\u52a1,\u5982\u679c\u8fd9\u4e9b\u4e8b\u52a1\u9891\u7e41\u88ab\u63d0\u4ea4,\u53ef\u80fd\u5f15\u8d77\u5927\u91cf\u7684log file sync\u7684\u7b49\u5f85\u4e8b\u4ef6;<\/li>\n<li>\u7b49\u5f85\u4e8b\u4ef6\u7684\u53c2\u6570:\n<ol>\n<li>Buffer#:redo buffer\u4e2d\u9700\u8981\u88ab\u5199\u5165\u5230\u78c1\u76d8\u4e2d\u7684buffer;<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>SQL*Net\u76f8\u5173\u7684\u7b49\u5f85\u4e8b\u4ef6:\n<ol>\n<li>SQL*Net break\/reset to client:\u5f53\u51fa\u73b0\u8fd9\u4e2a\u7b49\u5f85\u4e8b\u4ef6\u65f6,\u8bf4\u660e\u670d\u52a1\u5668\u7aef\u5728\u7ed9\u5ba2\u6237\u7aef\u53d1\u9001\u4e00\u4e2a\u65ad\u5f00\u8fde\u63a5\u6216\u8005\u91cd\u7f6e\u8fde\u63a5\u7684\u8bf7\u6c42,\u6b63\u5728\u7b49\u5f85\u5ba2\u6237\u7684\u54cd\u5e94,\u901a\u5e38\u7684\u539f\u56e0\u662f\u670d\u52a1\u5668\u5230\u5ba2\u6237\u7aef\u7684\u7f51\u7edc\u4e0d\u7a33\u5b9a\u5bfc\u81f4\u7684;<\/li>\n<li>SQL*Net break\/reset to dblink:\u8fd9\u4e2a\u7b49\u5f85\u4e8b\u4ef6\u548cSQL*Net break\/reset to client\u76f8\u540c;\u4e0d\u8fc7\u5b83\u8868\u793a\u7684\u662f\u6570\u636e\u5e93\u901a\u8fc7dblink\u8bbf\u95ee\u53e6\u4e00\u53f0\u6570\u636e\u5e93\u65f6,\u4ed6\u4eec\u4e4b\u95f4\u5efa\u7acb\u8d77\u4e00\u4e2a\u4f1a\u8bdd,\u8fd9\u4e2a\u7b49\u5f85\u4e8b\u4ef6\u53d1\u751f\u5728\u8fd9\u4e2a\u4f1a\u8bdd\u4e4b\u95f4\u7684\u901a\u4fe1\u8fc7\u7a0b\u4e2d,\u540c\u6837\u5982\u679c\u51fa\u73b0\u8fd9\u4e2a\u7b49\u5f85\u4e8b\u4ef6,\u9700\u8981\u68c0\u67e5\u4e24\u53f0\u6570\u636e\u5e93\u4e4b\u95f4\u7684\u901a\u4fe1\u95ee\u9898;<\/li>\n<li>SQL*Net message from client:\u8fd9\u4e2a\u7b49\u5f85\u4e8b\u4ef6\u57fa\u672c\u4e0a\u662f\u6700\u5e38\u89c1\u7684\u4e00\u4e2a\u7b49\u5f85\u4e8b\u4ef6;\u5f53\u4e00\u4e2a\u4f1a\u8bdd\u5efa\u7acb\u6210\u529f\u540e,\u5ba2\u6237\u7aef\u4f1a\u5411\u670d\u52a1\u5668\u7aef\u53d1\u9001\u8bf7\u6c42,\u670d\u52a1\u5668\u7aef\u5904\u7406\u5b8c\u5ba2\u6237\u7aef\u8bf7\u6c42\u540e,\u5c06\u7ed3\u679c\u8fd4\u56de\u7ed9\u5ba2\u6237\u7aef,\u5e76\u7ee7\u7eed\u7b49\u5f85\u5ba2\u6237\u7aef\u7684\u8bf7\u6c42,\u8fd9\u65f6\u5019\u4f1a\u4ea7\u751fSQL*Net message from client \u7b49\u5f85\u4e8b\u4ef6;\u5f88\u663e\u7136,\u8fd9\u662f\u4e00\u4e2a\u7a7a\u95f2\u7b49\u5f85,\u5982\u679c\u5ba2\u6237\u7aef\u4e0d\u518d\u5411\u670d\u52a1\u5668\u7aef\u53d1\u9001\u8bf7\u6c42,\u670d\u52a1\u5668\u7aef\u5c06\u4e00\u76f4\u5904\u4e8e\u8fd9\u4e2a\u7b49\u5f85\u4e8b\u4ef6\u72b6\u6001;<\/li>\n<li>SQL*Net message from dblink:\u8fd9\u4e2a\u7b49\u5f85\u4e8b\u4ef6\u548cSQL*Net message from client\u76f8\u540c,\u4e0d\u8fc7\u5b83\u8868\u793a\u7684\u662f\u6570\u636e\u5e93\u901a\u8fc7dblink \u8bbf\u95ee\u53e6\u4e00\u4e2a\u6570\u636e\u5e93\u65f6,\u4ed6\u4eec\u4e4b\u95f4\u4f1a\u5efa\u7acb\u4e00\u4e2a\u4f1a\u8bdd,\u8fd9\u4e2a\u7b49\u5f85\u4e8b\u4ef6\u53d1\u751f\u5728\u8fd9\u4e2a\u4f1a\u8bdd\u4e4b\u95f4\u7684\u901a\u4fe1\u8fc7\u7a0b\u4e2d;\u8fd9\u4e2a\u7b49\u5f85\u4e8b\u4ef6\u4e5f\u662f\u4e00\u4e2a\u7a7a\u95f2\u7b49\u5f85\u4e8b\u4ef6;<\/li>\n<li>SQL*Net message to client:\u8fd9\u4e2a\u7b49\u5f85\u4e8b\u4ef6\u53d1\u751f\u5728\u670d\u52a1\u5668\u7aef\u5411\u5ba2\u6237\u7aef\u53d1\u9001\u6d88\u606f\u7684\u65f6\u5019; \u5f53\u670d\u52a1\u5668\u7aef\u5411\u5ba2\u6237\u7aef\u53d1\u9001\u6d88\u606f\u4ea7\u751f\u7b49\u5f85\u65f6,\u53ef\u80fd\u7684\u539f\u56e0\u662f\u7528\u6237\u7aef\u592a\u7e41\u5fd9,\u65e0\u6cd5\u53ca\u65f6\u63a5\u6536\u670d\u52a1\u5668\u7aef\u9001\u6765\u7684\u6d88\u606f,\u4e5f\u53ef\u80fd\u662f\u7f51\u7edc\u95ee\u9898\u5bfc\u81f4\u6d88\u606f\u65e0\u6cd5\u4ece\u670d\u52a1\u5668\u7aef\u53d1\u9001\u5230\u5ba2\u6237\u7aef;<\/li>\n<li>SQL*Net message to dblink:\u8fd9\u4e2a\u7b49\u5f85\u4e8b\u4ef6\u548cSQL*Net message to client\u76f8\u540c,\u4e0d\u8fc7\u662f\u53d1\u751f\u5728\u6570\u636e\u5e93\u670d\u52a1\u5668\u548c\u670d\u52a1\u5668\u4e4b\u95f4\u7684\u7b49\u5f85\u4e8b\u4ef6,\u4ea7\u751f\u8fd9\u4e2a\u7b49\u5f85\u7684\u539f\u56e0\u53ef\u80fd\u662f\u8fdc\u7a0b\u670d\u52a1\u5668\u7e41\u5fd9,\u800c\u65e0\u6cd5\u53ca\u65f6\u63a5\u6536\u53d1\u9001\u8fc7\u6765\u7684\u6d88\u606f,\u4e5f\u53ef\u80fd\u662f\u670d\u52a1\u5668\u4e4b\u95f4\u7f51\u7edc\u95ee\u9898\u5bfc\u81f4\u6d88\u606f\u65e0\u6cd5\u53d1\u9001\u8fc7\u6765;<\/li>\n<li>SQL*Net more data from client:\u670d\u52a1\u5668\u7aef\u7b49\u5f85\u7528\u6237\u53d1\u51fa\u66f4\u591a\u7684\u6570\u636e\u4ee5\u4fbf\u5b8c\u6210\u64cd\u4f5c,\u6bd4\u5982\u4e00\u4e2a\u5927\u7684SQL\u6587\u672c,\u5bfc\u81f4\u4e00\u4e2aSQL*Net \u6570\u636e\u5305\u65e0\u6cd5\u5b8c\u6210\u4f20\u8f93,\u8fd9\u6837\u670d\u52a1\u5668\u7aef\u4f1a\u7b49\u5f85\u5ba2\u6237\u7aef\u628a\u6574\u4e2aSQL \u6587\u672c\u53d1\u8fc7\u6765\u5728\u505a\u5904\u7406,\u8fd9\u65f6\u5019\u5c31\u4f1a\u4ea7\u751f\u4e00\u4e2aSQL*Net more data from client\u7b49\u5f85\u4e8b\u4ef6;<\/li>\n<li>SQL*Net more data from dblink:\u5728\u4e00\u4e2a\u5206\u5e03\u5f0f\u4e8b\u52a1\u4e2d,SQL \u5206\u5e03\u5728\u4e0d\u540c\u7684\u6570\u636e\u5e93\u4e2d\u6267\u884c,\u8fdc\u7a0b\u6570\u636e\u5e93\u6267\u884c\u5b8c\u6bd5\u540e\u5c06\u7ed3\u679c\u901a\u8fc7dblink\u8fd4\u7ed9\u53d1\u51faSQL\u7684\u6570\u636e\u5e93,\u5728\u7b49\u5f85\u6570\u636e\u4ece\u5176\u4ed6\u6570\u636e\u5e93\u4e2d\u901a\u8fc7dblink\u4f20\u56de\u7684\u8fc7\u7a0b\u4e2d,\u5982\u679c\u6570\u636e\u5728\u8fdc\u7a0b\u6570\u636e\u5e93\u4e0a\u5904\u7406\u65f6\u95f4\u5f88\u4e45,\u6216\u8005\u6709\u5927\u91cf\u7684\u7ed3\u679c\u96c6\u9700\u8981\u8fd4\u56de,\u6216\u8005\u7f51\u7edc\u6027\u80fd\u95ee\u9898\u90fd\u4f1a\u4ea7\u751fSQL*Net more data from dblink \u7b49\u5f85\u4e8b\u4ef6,\u5b83\u7684\u610f\u601d\u662f\u672c\u5730\u6570\u636e\u5e93\u9700\u8981\u7b49\u5230\u6240\u6709\u7684\u6570\u636e\u4ece\u8fdc\u7a0b\u5904\u7406\u5b8c\u6bd5\u901a\u8fc7dblink\u4f20\u56de\u540e,\u624d\u53ef\u4ee5\u5728\u672c\u673a\u7ee7\u7eed\u6267\u884c\u64cd\u4f5c;<\/li>\n<li>SQL*Net more data to client:\u5f53\u670d\u52a1\u5668\u7aef\u6709\u592a\u591a\u7684\u6570\u636e\u9700\u8981\u53d1\u7ed9\u5ba2\u6237\u7aef\u65f6,\u53ef\u80fd\u4f1a\u4ea7\u751fSQL*Net more data to client\u7b49\u5f85\u4e8b\u4ef6,\u4e5f\u53ef\u80fd\u7531\u4e8e\u7f51\u7edc\u95ee\u9898\u5bfc\u81f4\u670d\u52a1\u5668\u65e0\u6cd5\u53ca\u65f6\u5730\u5c06\u4fe1\u606f\u6216\u8005\u5904\u7406\u7ed3\u679c\u53d1\u9001\u7ed9\u5ba2\u6237\u7aef,\u540c\u6837\u4f1a\u4ea7\u751f\u8fd9\u4e2a\u7b49\u5f85;<\/li>\n<li>SQL*Net more data to dblink:\u8fd9\u4e2a\u7b49\u5f85\u4e8b\u4ef6\u548cSQL*Net more data to client \u7b49\u5f85\u65f6\u95f4\u57fa\u672c\u76f8\u540c,\u53ea\u4e0d\u8fc7\u7b49\u5f85\u53d1\u751f\u5728\u5206\u5e03\u5f0f\u4e8b\u52a1\u4e2d,\u5373\u672c\u5730\u6570\u636e\u5e93\u9700\u8981\u5c06\u66f4\u591a\u7684\u6570\u636e\u901a\u8fc7dblink\u53d1\u9001\u7ed9\u8fdc\u7a0b\u6570\u636e\u5e93;\u7531\u4e8e\u53d1\u9001\u7684\u6570\u636e\u592a\u591a\u6216\u8005\u7f51\u7edc\u6027\u80fd\u95ee\u9898,\u5c31\u4f1a\u51fa\u73b0SQL*Net more data to dblink\u7b49\u5f85\u4e8b\u4ef6;<\/li>\n<li>\u5b83\u4eec\u7684\u7b49\u5f85\u4e8b\u4ef6\u53c2\u6570\u4e00\u81f4:\n<ol>\n<li>Driver id:\u670d\u52a1\u5668\u7aef\u548c\u5ba2\u6237\u7aef\u8fde\u63a5\u4f7f\u7528\u7684\u534f\u8bae\u4fe1\u606f;<\/li>\n<li>#bytes:\u670d\u52a1\u5668\u7aef\u901a\u8fc7dblink\u53d1\u9001\u7ed9\u53e6\u4e00\u4e2a\u670d\u52a1\u5668\u6d88\u606f\u7684\u5b57\u8282\u6570;<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/div>\n<div><\/div>\n<div><\/div>\n<div>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- latch free:\u67e5\u627e\u4e8b\u4ef6\u70ed\u70b9\u5bf9\u8c61\u7684sql\u8bed\u53e5\u00a0&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/div>\n<div>&amp;2\u503c\u662fv$session_wait\u4e2d\u7684P1RAW,x$bh\u4e2d\u7684\u5b57\u6bb5Hladdr\u8868\u793a\u8be5block buffer\u5728\u54ea\u4e2acache buffer chain latch\u4e0a,\u53ef\u4ee5\u901a\u8fc7v$latch_children\u5b9a\u4f4d\u54ea\u4e9bsegment\u662f\u70ed\u70b9\u5757;<\/div>\n<div>SELECT a.hladdr, a.file#, a.dbablk, a.tch, a.obj, b.object_name<br \/>\nFROM x$bh a, dba_objects b<br \/>\nWHERE (a.obj = b.object_id OR a.obj = b.data_object_id) AND<br \/>\na.hladdr = &amp;2<br \/>\nUNION<br \/>\nSELECT hladdr, file#, dbablk, tch, obj, NULL<br \/>\nFROM x$bh<br \/>\nWHERE obj IN (SELECT obj<br \/>\nFROM x$bh<br \/>\nWHERE hladdr = &amp;2<br \/>\nMINUS<br \/>\nSELECT object_id<br \/>\nFROM dba_objects<br \/>\nMINUS<br \/>\nSELECT data_object_id FROM dba_objects) AND<br \/>\nhladdr = &amp;2<br \/>\nORDER BY 4;<\/div>\n<div>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- latch free:\u67e5\u627e\u4e8b\u4ef6\u70ed\u70b9\u5bf9\u8c61\u7684sql\u8bed\u53e5\u00a0&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/div>\n<div><\/div>\n<div>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-\u00a0\u67e5\u8be2\u5f15\u8d77library cache lock\u7b49\u5f85\u4e8b\u4ef6\u7684\u963b\u585e\u8005\u7684sid,\u4f1a\u8bdd\u7528\u6237,\u9501\u4f4f\u7684\u5bf9\u8c61\u7684\u811a\u672c\u00a0&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/div>\n<div>SELECT b.sid, a.user_name, a.kglnaobj<br \/>\nFROM x$kgllk a, v$session b<br \/>\nWHERE a.kgllkhdl IN (SELECT p1raw<br \/>\nFROM v$session_wait<br \/>\nWHERE wait_time = 0 AND<br \/>\nevent = &#8216;library cache lock&#8217;) AND<br \/>\na.kgllkmod &lt;&gt; 0 AND<br \/>\nb.saddr = a.kgllkuse;<\/div>\n<div>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-\u00a0\u67e5\u8be2\u5f15\u8d77library cache lock\u7b49\u5f85\u4e8b\u4ef6\u7684\u963b\u585e\u8005\u7684sid,\u4f1a\u8bdd\u7528\u6237,\u9501\u4f4f\u7684\u5bf9\u8c61\u7684\u811a\u672c\u00a0&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/div>\n<div><\/div>\n<div>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-\u00a0library cache lock\u7b49\u5f85\u4e8b\u4ef6\u76f8\u5173\u9501\u7684\u67e5\u8be2sql\u00a0&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/div>\n<div>&#8212; \u67e5\u8be2X$KGLOB,\u53ef\u627e\u5230\u76f8\u5173\u7684object,\u5176SQL\u8bed\u53e5\u5982\u4e0b(\u5373\u628aV$SESSION_WAIT\u4e2d\u7684P1raw\u4e0eX$KGLOB\u4e2d\u7684KGLHDADR\u76f8\u5173\u8fde);<br \/>\nSELECT kglnaown, kglnaobj<br \/>\nFROM x$kglob<br \/>\nWHERE kglhdadr = (SELECT p1raw FROM v$session_wait WHERE event = &#8216;library cache pin&#8217;);<br \/>\n&#8212; \u67e5\u51fa\u5f15\u8d77\u8be5\u7b49\u5f85\u4e8b\u4ef6\u7684\u963b\u585e\u8005\u7684sid;<br \/>\nSELECT sid<br \/>\nFROM x$kglpn, v$session<br \/>\nWHERE kglpnhdl IN (SELECT p1raw<br \/>\nFROM v$session_wait<br \/>\nWHERE wait_time = 0 AND<br \/>\nevent LIKE &#8216;library cache pin%&#8217;) AND<br \/>\nkglpnmod &lt;&gt; 0 AND<br \/>\nv$session.saddr = x$kglpn.kglpnuse;<br \/>\n&#8212; \u67e5\u51fa\u963b\u585e\u8005\u6b63\u6267\u884c\u7684SQL\u8bed\u53e5<br \/>\nSELECT sid, sql_text<br \/>\nFROM v$session, v$sqlarea<br \/>\nWHERE v$session.sql_address = v$sqlarea.address AND<br \/>\nsid = &lt; \u963b\u585e\u8005\u7684sid &gt;;<\/div>\n<div>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-\u00a0library cache lock\u7b49\u5f85\u4e8b\u4ef6\u76f8\u5173\u9501\u7684\u67e5\u8be2sql\u00a0&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/div>\n<div><\/div>\n<div>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-\u00a0Enqueue\u7f29\u5199\u53ca\u89e3\u91ca\u00a0&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\nBL:Buffer Cache management<br \/>\nBR:Backup\/Restore<br \/>\nCF:Controlfile transaction<br \/>\nCI:Cross-instance Call Invocation<br \/>\nCU:Bind Enqueue<br \/>\nDF:Datafile<br \/>\nDL:Direct Loader Index Creation<br \/>\nDM:Database Mount<br \/>\nDR:Distributed Recovery Process<br \/>\nDX:Dirstributed Transaction<br \/>\nFP:File Object<br \/>\nFS:File Set<br \/>\nHW:High-water Lock<br \/>\nIN:Instance Number<br \/>\nIR:Instance Recovery<br \/>\nIS:Instance State<br \/>\nIV:Library Cache Invalidation<br \/>\nJI:Enqueue used during AJV snapshot refresh<br \/>\nJQ:Job Queue<br \/>\nKK:Redo Log &#8220;Kick&#8221;<br \/>\nKO:Multiple Object Checkpoint<br \/>\nL[A-p]:Library Cache Lock<br \/>\nLS:Log start or switch<br \/>\nMM:Mount Definition<br \/>\nMR:Media recovery<br \/>\nN[A-Z]:Library Cache bin<br \/>\nPE:Alter system set parameter =value<br \/>\nPF:Password file<br \/>\nPI:Parallel slaves<br \/>\nPR:Process startup<br \/>\nPS:Parallel slave synchronization<br \/>\nQ[A-Z]:Row Cache<br \/>\nRO:Object Reuse<br \/>\nRT:Redo Thread<br \/>\nRW:Row Wait<br \/>\nSC:System Commit Number<br \/>\nSM:SMON<br \/>\nSN:Sequence Number<br \/>\nSQ:Sequence Number Enqueue<br \/>\nSR:Synchronized replication<br \/>\nSS:Sort segment<br \/>\nST:Space management transaction<br \/>\nSV:Sequence number Value<br \/>\nTA:Transaction recovery<br \/>\nTC:Thread Checkpoint<br \/>\nTE:Extend Table<br \/>\nTM:DML enqueue<br \/>\nTO:Temporary Table Object Enqueue<br \/>\nTS:Temporary Segement(also TableSpace)<br \/>\nTT:Temporary Table<br \/>\nTX:Transaction<br \/>\nUL:User-defined Locks<br \/>\nUN:User name<br \/>\nUS:Undo segment, Serialization<br \/>\nWL:Being Written Redo Log<br \/>\nXA:Instance Attribute Log<br \/>\nXI:Instance Registration Lock<\/div>\n<div>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-\u00a0Enqueue\u7f29\u5199\u53ca\u89e3\u91ca\u00a0&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Oracle\u5e38\u89c1\u7684\u7b49\u5f85\u4e8b\u4ef6\u53ca\u89e3\u51b3\u65b9\u6848 \u7b49\u5f85\u4e8b\u4ef6\u7684\u76f8\u5173\u77e5\u8bc6: \u7b49\u5f85\u4e8b\u4ef6\u4e3b\u8981\u53ef\u4ee5\u5206\u4e3a\u4e24\u7c7b,\u5373\u7a7a\u95f2(IDLE)\u7b49\u5f85\u4e8b [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[34,8],"class_list":["post-419","post","type-post","status-publish","format-standard","hentry","category-oracle","tag-oracle","tag-performance"],"_links":{"self":[{"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=\/wp\/v2\/posts\/419","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=419"}],"version-history":[{"count":0,"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=\/wp\/v2\/posts\/419\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=419"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=419"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=419"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}