{"id":169,"date":"2011-10-02T23:20:12","date_gmt":"2011-10-02T15:20:12","guid":{"rendered":"https:\/\/yangtingkun.net\/?p=169"},"modified":"2011-10-02T23:20:12","modified_gmt":"2011-10-02T15:20:12","slug":"logmnr%e8%8e%b7%e5%8f%96sql%e9%95%bf%e5%ba%a6%e8%b6%85%e8%bf%874000%e7%9a%84%e9%97%ae%e9%a2%98","status":"publish","type":"post","link":"https:\/\/yangtingkun.net\/?p=169","title":{"rendered":"Logmnr\u83b7\u53d6SQL\u957f\u5ea6\u8d85\u8fc74000\u7684\u95ee\u9898"},"content":{"rendered":"<p>\u5982\u679cLOGMNR\u83b7\u53d6\u7684SQL_REDO\u6216SQL_UNDO\u7684\u957f\u5ea6\u8d85\u8fc74000\uff0c\u5219\u4f1a\u5bfc\u81f4Oracle\u81ea\u52a8\u5408\u5e76\u62c6\u5206\u884c\u8bb0\u5f55\u3002<br \/>\n\u4e00\u4e2a\u7b80\u5355\u7684\u4f8b\u5b50\u6765\u63cf\u8ff0\u8fd9\u4e2a\u95ee\u9898\uff1a<\/p>\n<pre lang='SQL'>SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;\r\nDatabase altered.\r\nSQL> SELECT GROUP# FROM V$LOG WHERE STATUS = 'CURRENT';\r\nGROUP#\r\n----------\r\n         2\r\nSQL> ALTER SYSTEM SWITCH LOGFILE;\r\nSystem altered.\r\nSQL> SELECT GROUP# FROM V$LOG WHERE STATUS = 'CURRENT';\r\nGROUP#\r\n----------\r\n         3\r\nSQL> CREATE TABLE T_LARGE_SQL (ID NUMBER, COL1 VARCHAR2(4000), COL2 VARCHAR2(4000), COL3 VARCHAR2(4000));\r\nTable created.\r\nSQL> INSERT INTO T_LARGE_SQL VALUES (1, 'A', 'A', 'A');\r\n1 row created.\r\nSQL> INSERT INTO T_LARGE_SQL VALUES (2, LPAD('B', 4000, 'B'), LPAD('B', 4000, 'B'), LPAD('B', 4000, 'B'));\r\n1 row created.\r\nSQL> COMMIT;\r\nCommit complete.\r\nSQL> SELECT MEMBER FROM V$LOGFILE WHERE GROUP# = 3;\r\nMEMBER\r\n----------------------------------------------------------------------------------------\r\n\/oracle\/oradata\/orcl\/redo03.log\r\nSQL> ALTER SYSTEM SWITCH LOGFILE;\r\nSystem altered.\r\nSQL> EXEC DBMS_LOGMNR.ADD_LOGFILE('\/oracle\/oradata\/orcl\/redo03.log', DBMS_LOGMNR.NEW)\r\nPL\/SQL procedure successfully completed.\r\nSQL> EXEC DBMS_LOGMNR.START_LOGMNR(OPTIONS => DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG)\r\nPL\/SQL procedure successfully completed.\r\nSQL> CREATE TABLE T_BAK_LOGMNR AS SELECT * FROM V$LOGMNR_CONTENTS;\r\nTable created.\r\nSQL> COL SQL_REDO FORMAT A80 WRAP\r\nSQL> SELECT RS_ID, SSN, CSF, SQL_REDO FROM T_BAK_LOGMNR WHERE SEG_NAME = 'T_LARGE_SQL';\r\nRS_ID                                   SSN        CSF\r\n-------------------------------- ---------- ----------\r\nSQL_REDO\r\n--------------------------------------------------------------------------------\r\n 0x000069.0000001a.005c                   0          0\r\nCREATE TABLE T_LARGE_SQL (ID NUMBER, COL1 VARCHAR2(4000), COL2 VARCHAR2(4000), C\r\nOL3 VARCHAR2(4000));\r\n 0x000069.0000002a.0010                   0          0\r\ninsert into \"TEST\".\"T_LARGE_SQL\"(\"ID\",\"COL1\",\"COL2\",\"COL3\") values ('1','A','A',\r\n'A');\r\n 0x000069.0000002a.01dc                   0          1\r\ninsert into \"TEST\".\"T_LARGE_SQL\"(\"ID\",\"COL1\",\"COL2\",\"COL3\") values ('2','BBBBBBB\r\nBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\r\nBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\r\n.\r\n.\r\n.\r\nBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\r\nBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\r\n 0x000069.0000002a.01dc                   0          1\r\nBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB','BBBB\r\nBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\r\nBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\r\nBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\r\n.\r\n.\r\n.\r\nBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\r\nBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\r\nBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\r\n 0x000069.0000002a.01dc                   0          1\r\nBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB','B\r\nBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\r\nBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\r\n.\r\n.\r\n.\r\nBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\r\nBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\r\nBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\r\n 0x000069.0000002a.01dc                   0          0\r\nBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'\r\n);\r\n6 rows selected.<\/pre>\n<p>\u7531\u4e8eSQL_REDO\u548cSQL_UNDO\u90fd\u662fVARCHAR2(4000)\u7c7b\u578b\u7684\u5b57\u6bb5\uff0c\u5f53SQL\u672c\u8eab\u5f88\u957f\u5bfc\u81f4\u957f\u5ea6\u8d85\u8fc74000\u65f6\uff0c\u5fc5\u987b\u901a\u8fc7\u591a\u6761\u8bb0\u5f55\u6765\u4fdd\u5b58\u8fd9\u4e00\u6761\u8bed\u53e5\u3002\u5f53\u53d1\u751f\u8fd9\u79cd\u60c5\u51b5\u65f6\uff0c\u9664\u4e86SQL_REDO\u548cSQL_UNDO\u5916\uff0cV$LOGMNR_CONTENTS\u89c6\u56fe\u4e2d\u901a\u8fc7RS_ID\u548cSSN\u6765\u552f\u4e00\u6807\u8bc6\u4e00\u6761\u8bed\u53e5\u3002\u800cCSF\u5219\u6807\u8bc6\u5f53\u524d\u662f\u5426\u662f\u8bed\u53e5\u7684\u7ed3\u675f\u90e8\u5206\u3002<br \/>\n\u6bd4\u8f83\u6709\u610f\u601d\u7684\u662f\uff0cOracle\u5e76\u6ca1\u6709\u7ed9\u51fa\u4e00\u4e2a\u987a\u5e8f\u5217\u6765\u6807\u8bc6\u540c\u4e00\u4e2a\u8bed\u53e5\u7684\u591a\u4e2a\u884c\u8bb0\u5f55\u4e4b\u95f4\u7684\u5148\u540e\u987a\u5e8f\u3002\u867d\u7136\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u8fd9\u4e2a\u987a\u5e8f\u7531Oracle\u81ea\u52a8\u4fdd\u8bc1\uff0c\u4f46\u662f\u4e00\u65e6\u7528\u6237\u5728\u67e5\u8be2V$LOGMNR_CONTENTS\u89c6\u56fe\u65f6\u6dfb\u52a0\u4e86\u6392\u5e8f\u5b57\u6bb5\uff0c\u8fd9\u65f6\u4e00\u4e2a\u8bed\u53e5\u4e2d\u7684\u884c\u8bb0\u5f55\u987a\u5e8f\u5c31\u53ef\u80fd\u65e0\u6cd5\u4fdd\u8bc1\uff0c\u56e0\u6b64\u4ecb\u4e8e\u8fd9\u79cd\u60c5\u51b5\uff0c\u5bf9\u4e8e\u67e5\u8be2V$LOGMNR_CONTENTS\u89c6\u56fe\u9700\u8981\u8c28\u614e\u4e00\u4e9b\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u5982\u679cLOGMNR\u83b7\u53d6\u7684SQL_REDO\u6216SQL_UNDO\u7684\u957f\u5ea6\u8d85\u8fc74000\uff0c\u5219\u4f1a\u5bfc\u81f4Oracle\u81ea\u52a8\u5408\u5e76\u62c6\u5206\u884c\u8bb0\u5f55\u3002 \u4e00\u4e2a\u7b80\u5355\u7684\u4f8b\u5b50\u6765\u63cf\u8ff0\u8fd9\u4e2a\u95ee\u9898\uff1a SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA; Database altered. SQL> SELECT GROUP# FROM V$LOG WHERE STATUS = &#8216;CURRENT&#8217;; GROUP# &#8212;&#8212;&#8212;- 2 SQL> ALTER SYSTEM SWITCH LOGFILE; System altered. SQL> SELECT GROUP# FROM V$LOG WHERE STATUS = &#8216;CURRENT&#8217;; GROUP# &hellip; <a href=\"https:\/\/yangtingkun.net\/?p=169\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[3],"tags":[114,111,112,115,116,113],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p2yiY3-2J","_links":{"self":[{"href":"https:\/\/yangtingkun.net\/index.php?rest_route=\/wp\/v2\/posts\/169"}],"collection":[{"href":"https:\/\/yangtingkun.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/yangtingkun.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/yangtingkun.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/yangtingkun.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=169"}],"version-history":[{"count":1,"href":"https:\/\/yangtingkun.net\/index.php?rest_route=\/wp\/v2\/posts\/169\/revisions"}],"predecessor-version":[{"id":170,"href":"https:\/\/yangtingkun.net\/index.php?rest_route=\/wp\/v2\/posts\/169\/revisions\/170"}],"wp:attachment":[{"href":"https:\/\/yangtingkun.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=169"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/yangtingkun.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=169"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/yangtingkun.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=169"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}