{"id":2494,"date":"2018-01-28T16:34:48","date_gmt":"2018-01-28T07:34:48","guid":{"rendered":"http:\/\/haisins.epac.to\/wordpress\/?p=2494"},"modified":"2018-01-28T16:41:05","modified_gmt":"2018-01-28T07:41:05","slug":"oracle-%eb%a1%9c%ea%b7%b8-%eb%a7%88%ec%9d%b4%eb%84%88","status":"publish","type":"post","link":"http:\/\/haisins.synology.me\/wordpress\/?p=2494","title":{"rendered":"Oracle \ub85c\uadf8 \ub9c8\uc774\ub108"},"content":{"rendered":"<div style=\"border-width: 6pt medium medium; border-style: solid none none; border-color: windowtext currentcolor currentcolor; padding: 4pt 0cm 0cm; line-height: normal; mso-element: para-border-div;\">\n<h2><a name=\"_Toc516307482\"><\/a>LogMiner Overview<\/h2>\n<p>\ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0 \ud589\ud574\uc9c4 DDL, DML\uacfc \uac19\uc740 \uc815\ubcf4\ub294 \ubaa8\ub450 log file\uc5d0 \ub0a8\uac8c \ub41c\ub2e4. \uc774 log file(online\u00a0 redo log, archived redo log)\ub85c\ubd80\ud130 \uc6d0\ub798\uc758 SQL \ubb38\uc7a5 \ubc0f undo\ub97c \uc704\ud55c SQL \ubb38\uc7a5\uc744 \ubf51\uc544\ub0bc \uc218 \uc788\ub294 \uae30\ub2a5\uc744 \uc81c\uacf5\ud558\ub294 LogMiner\uac00 Oracle8i\ubd80\ud130 \ud3ec\ud568\ub418\uc5c8\ub2e4.<\/p>\n<p>\uc774 LogMiner\ub97c \uc774\uc6a9\ud558\uba74 \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \ucc28\uc6d0\uc758 \ub17c\ub9ac\uc801 \uacb0\ud568(\uc774\ub97c\ud14c\uba74 \ubd09\uae09\uc744 10% \ud5a5\uc0c1 \uc2dc\ud0a4\ub824\uace0 \ud588\ub294\ub370, \uc2e4\uc218\ub85c 100% \ud5a5\uc0c1 \uc2dc\ud0a8 \uacbd\uc6b0)\uc774 \ubc1c\uc0dd\ud55c \uc2dc\uc810\uc744 \ucc3e\uc544 \uadf8 \uc774\uc804\uc73c\ub85c recovery\ub97c \uc2dc\ud0ac \uc218 \uc788\ub294 \uae30\uc900\uc744 \uc815\ud558\ub294 \ub4f1\uc758 \uc791\uc5c5\uc744 \ud560 \uc218 \uc788\ub2e4.<\/p>\n<p>Oracle9i LogMiner\uc758 \ud5a5\uc0c1\ub41c \uc810\ub4e4\uc740 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n<ul>\n<li>New Dictionary Options<\/li>\n<li>Direct DDL statement support<\/li>\n<li>Tracking of DDL Statements<\/li>\n<li>Ability to skip log corruption<\/li>\n<li>Ability to show only rows belonging to committed transactions<\/li>\n<\/ul>\n<p>\ub610\ud55c GUI\ud658\uacbd\uc758 LogMiner Viewer\uac00 Enterprise Manager\uc758 \uc0c8\ub85c\uc6b4 \ubaa8\ub4c8\ub85c \ucd94\uac00\ub418\uc5c8\ub2e4. (\uc774 \ubd80\ubd84\uc740 \uc774 \uae00\uc5d0\uc11c \uc0dd\ub7b5\ud558\ub3c4\ub85d \ud558\uaca0\ub2e4.)<\/p>\n<p>&nbsp;<\/p>\n<h3><a name=\"_Toc516307483\"><\/a>New Dictionary Options<\/h3>\n<p>Redo log file\uc758 \ub0b4\uc6a9\uc744 \uc27d\uac8c \uc77d\uae30 \uc704\ud574\uc11c\ub294 database dictionary\uc5d0 \uc811\uadfc\ud560 \uc218 \uc788\uc5b4\uc57c \ud55c\ub2e4.<\/p>\n<p>\uc608\ub97c \ub4e4\uc5b4 database dictionary \uc815\ubcf4\uac00 \uc5c6\ub2e4\uba74,<\/p>\n<p>INSERT INTO emp(ename, sal) VALUES (\u2018John Doe\u2019,50000);<\/p>\n<p>\uacfc \uac19\uc740 SQL \ubb38\uc7a5\uc5d0 \ub300\ud574 LogMiner\ub97c \ud1b5\ud574\uc11c \uc0b4\ud3b4\ubcf4\uba74 \uc544\ub798\uc640 \uac19\uc774 \ub098\uc624\uac8c \ub41c\ub2e4.<\/p>\n<p>insert into Object#2581 (col#1, col#2) values (hextoraw(\u20184a6f686e20446f65\u2019), hextoraw(\u2018c306\u2019));<\/p>\n<p>\uc774\ub7ec\ud55c \ubb38\uc81c\uc810\uc744 \ud574\uacb0\ud558\uae30 \uc704\ud574 Oracle8i\uc5d0\uc11c\ub294 database dictionary\ub97c \ud2b9\uc815 \uc2dc\uc810\uc5d0 \uc678\ubd80 \ud30c\uc77c\ub85c \uae30\ub85d\ud558\ub294 \uc791\uc5c5\uc744 \ud588\uc5c8\ub2e4.<\/p>\n<p>Oracle9i\uc5d0\uc11c\ub294 redo log file\uc5d0 \uae30\ub85d\ud574\ub450\ub294 \ubc29\ubc95\uacfc online catalog\ub97c \uc811\uadfc\ud558\ub294 \ubc29\ubc95, \uc774\ub807\uac8c \ub450 \uac00\uc9c0 \uc0c8\ub85c\uc6b4 \uc635\uc158\uc774 \ucd94\uac00\ub418\uc5c8\ub2e4.<\/p>\n<h4><a name=\"_Toc516307484\"><\/a>Extracting the Dictionary to a Flat File<\/h4>\n<p>Oracle8i\uc5d0\uc11c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \uc720\uc77c\ud55c \ubc29\ubc95\uc774\ub2e4. \uc774 \ubc29\ubc95\uc740 redo log file\uc5d0 \uae30\ub85d\ud574\ub450\ub294 \ubc29\ubc95\uc5d0 \ube44\ud574 \uc2dc\uc2a4\ud15c\uc790\uc6d0\uc744 \uc801\uac8c \uc4f4\ub2e4\ub294 \uc7a5\uc810\uc740 \uc788\uc9c0\ub9cc, flat file\uc5d0 \uae30\ub85d\ud558\ub294 \ub3d9\uc548 \ub2e4\ub978 \uc0ac\uc6a9\uc790\uac00 DDL \ubb38\uc7a5\uc744 \uc218\ud589\ud560 \uac00\ub2a5\uc131\uc774 \uc788\uae30 \ub54c\ubb38\uc5d0 \uacb0\uacfc\uc801\uc73c\ub85c flat file\uc758 dictionary snapshot\uacfc \uadf8 \uc2dc\uc810\uc758 \uc6b4\uc601\uc911\uc778 dictionary, \uc774 \ub458 \uac04\uc758 \ubd88\uc77c\uce58 \ubb38\uc81c\ub97c \uc57c\uae30\uc2dc\ud0ac \uc218\ub3c4 \uc788\ub2e4\ub294 \ub2e8\uc810\uc774 \uc788\ub2e4.<\/p>\n<p>\uc0ac\uc6a9\ud558\ub294 \ubc29\ubc95\uc740 \ub2e4\uc74c\uacfc \uac19\uc73c\uba70, \uc8fc\uae30\uc801\uc73c\ub85c \ub2e4\ub978 \ud30c\uc77c \uc774\ub984\uc73c\ub85c back up\uc744 \ubc1b\uc744 \ud544\uc694\uac00 \uc788\ub2e4.<\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"455\">EXECUTE sys.DBMS_LOGMNR_D.BUILD(<br \/>\nDICTIONARY_FILENAME =&gt; \u2018orcldict.ora\u2019,<br \/>\nDICTIONARY_LOCATION =&gt; \u2018\/d02\/ora9i\/oracle\/dbs\/ora9i\u2019);<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Note<\/strong> : init parameter\uc5d0 UTL_FILE_DIR = \/d02\/ora9i\/oracle\/dbs\/ora9i \uacfc \uac19\uc774 \uc815\uc758\ub418\uc5b4 \uc788\uc5b4\uc57c \ud55c\ub2e4.<\/p>\n<p><strong>Note<\/strong> : \ud14c\uc2a4\ud2b8 \uc2dc\uc810 \ud604\uc7ac(2001\/02\/09, Oracle9i Beta shiphome release10), \uc774 \ubb38\uc7a5\uc744 \uc218\ud589\ud558\uba74 flat file\uc774 \ubb34\ud55c\uc815 \ucee4\uc9c0\uba74\uc11c sql prompt\uac00 \ub5a8\uc5b4\uc9c0\uc9c0 \uc54a\ub294 \ubb38\uc81c\uac00 \ubc1c\uc0dd\ud55c\ub2e4. \uc774\ub294 NLS\uc640 \uad00\ub828\ub41c Bug.1622481\ub85c \ub4f1\ub85d\ub418\uc5b4 \uc788\ub2e4.<\/p>\n<h4><a name=\"_Toc516307485\"><\/a>Extracting the Dictionary to Redo Log Files<\/h4>\n<p>Dictionary \uc815\ubcf4\ub97c redo log file\uc5d0 \uae30\ub85d\ud558\ub294 \ub3d9\uc548 \uc5b4\ub5a0\ud55c DDL \ubb38\uc7a5\ub3c4 \uc218\ud589\ub420 \uc218 \uc5c6\uae30 \ub54c\ubb38\uc5d0, dictionary snapshot\uacfc \uadf8 \uc2dc\uc810\uc758 \uc6b4\uc601\uc911\uc778 dictionary \uc815\ubcf4\ub294 \ud56d\uc0c1 \uc77c\uce58\ud55c\ub2e4. \ud558\uc9c0\ub9cc \uc774 \ubc29\ubc95\uc740 \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uc790\uc6d0\uc744 \uc774\uc6a9\ud558\uae30 \ub54c\ubb38\uc5d0 \uc5c5\ubb34\uac00 \uc9d1\uc911\ub418\ub294 \uc2dc\uac04\uc744 \ud53c\ud574\uc11c \ud574\uc57c \ud560 \uac83\uc774\ub2e4. Flat file\uc5d0 \uae30\ub85d\ud558\ub294 \uac83\ubcf4\ub2e4 \ube60\ub974\uba70, \ubcf4\ud1b5\uc758 \uacbd\uc6b0 redo log file\uc744 archiving\ud558\uace0 \uc788\uc73c\ubbc0\ub85c flat file\uc744 \uc774\uc6a9\ud558\ub294 \uacbd\uc6b0\uc5d0 \ube44\ud574 back up\uc5d0 \ud544\uc694\ud55c \uacfc\uc815\uc740 \uc904\uc5b4\ub4e0\ub2e4.<\/p>\n<p>\uc0ac\uc6a9\ud558\ub294 \ubc29\ubc95\uc740 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"455\">EXECUTE sys.DBMS_LOGMNR_D.BUILD( OPTIONS =&gt; sys.dbms_logmnr_d.STORE_IN_REDO_LOGS);<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Note : <\/strong>\uc774 \ubaa8\ub4dc\ub85c LogMiner\ub97c \uc2dc\uc791\ud560 \ub54c\ub294 \uc544\ub798\uc640 \uac19\uc740 option\uc744 \uc8fc\uc5b4\uc57c \ud55c\ub2e4.<\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"455\">EXECUTE sys.DBMS_LOGMNR.START_LOGMNR(<br \/>\nOPTIONS =&gt; sys.dbms_logmnr.DICT_FROM_REDO_LOG);<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4><\/h4>\n<h4><a name=\"_Toc516307486\"><\/a>Using the Online Catalog<\/h4>\n<p>\ud604\uc7ac \uc6b4\uc601\uc911\uc778 \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc758 dictionary\ub97c \ucc38\uc870\ud558\uac8c \ud560 \uc218\ub3c4 \uc788\ub2e4. \ud558\uc9c0\ub9cc redo log file\uc774 \uc0dd\uc131\ub420 \uc2dc\uc810\uacfc \ud604\uc7ac\uc758 dictionary\ub294 \uc11c\ub85c \ub2e4\ub97c \uc218 \uc788\ub2e4\ub294 \uc810\uc744 \uace0\ub824\ud574\uc57c \ud560 \uac83\uc774\ub2e4. \ub610\ud55c \uc774 \ubaa8\ub4dc\ub85c\ub294 \ub2e4\uc74c\uc5d0 \uc124\uba85\ud560\u00a0 \u2018DDL tracking\u2019\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc5c6\ub2e4.<\/p>\n<p>\uc774 \ubaa8\ub4dc\ub97c \uc0ac\uc6a9\ud560 \ub54c\ub294 DBMS_LOGMNR_D.BUILD\uc758 \uacfc\uc815\uc774 \ud544\uc694\uc5c6\uc73c\uba70 LogMiner\ub97c\u00a0 \uc2dc\uc791\ud560 \ub54c\ub294 \ub2e4\uc74c\uacfc \uac19\uc774 \uc0ac\uc6a9\ud558\uba74 \ub41c\ub2e4.<\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"455\">EXECUTE sys.DBMS_LOGMNR.START_LOGMNR(<br \/>\nOPTIONS =&gt; sys.dbms_logmnr. DICT_FROM_ONLINE_CATALOG);<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3><a name=\"_Toc516307487\"><\/a>Direct DDL statement support<\/h3>\n<p>Oracle8i\uae4c\uc9c0\ub294 DDL\uc5d0 \ub300\ud574\uc11c LogMiner\ub97c \ud1b5\ud574 \uc870\ud68c\ud558\uba74 \uc0ac\uc6a9\uc790\uac00 \uc9c1\uad00\uc801\uc73c\ub85c \uc54c\uc544\ubcf4\uae30\uac00 \ud798\ub4e4\uc5c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4 \ub2e4\uc74c\uacfc \uac19\uc740 DDL\uc774 \uc788\uc5c8\ub2e4\uace0 \ud558\uba74,<\/p>\n<p>SQL&gt; drop table tab1;<\/p>\n<p>LogMiner\ub97c \uc2dc\uc791\ud55c \ud6c4 v$logmnr_contents\uc5d0\uc11c \uc870\ud68c\ud558\uba74 \ud574\ub2f9 \ubb38\uc7a5\uc744 SQL_REDO \uceec\ub7fc\uc5d0\uc11c \ubc14\ub85c \ubcfc \uc218\ub294 \uc5c6\uc73c\uba70 COL$, OBJ$, TAB$ \ub4f1\uc5d0 \ub300\ud55c DML\ub85c \ud45c\uc2dc\ub418\uc5b4 \uc788\uc74c\uc744 \ubcf4\uace0 \ucd94\uc815\ud574\uc57c \ud558\ub294 \uc5b4\ub824\uc6c0\uc774 \uc788\uc5c8\ub2e4. (\u2018DROP TABLE\u2019\uc740 \ub0b4\ubd80\uc801\uc73c\ub85c COL$, OBJ$ and TAB$\uc5d0 \ub300\ud574 DELETE\ub97c \uc218\ud589\ud55c\ub2e4.)<\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"455\">SQL&gt; column seg_name format a15 trunc<br \/>\nSQL&gt; select seg_name, operation, scn, count(*) from v$logmnr_contents<br \/>\n2\u00a0 \u00a0\u00a0\u00a0\u00a0where operation != &#8216;INTERNAL&#8217;<br \/>\n3\u00a0 \u00a0\u00a0\u00a0\u00a0group by seg_name, operation, scn<br \/>\n4\u00a0 \u00a0\u00a0\u00a0\u00a0order by scn;<\/p>\n<p>SEG_NAME \u00a0\u00a0\u00a0\u00a0OPERATION \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0SCN\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0COUNT(*)<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;&#8212;&#8211;<br \/>\n\u2026<br \/>\nCOL$\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0DELETE\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 5012065\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 3<br \/>\nOBJ$\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0DELETE\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 5012065\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1<br \/>\nTAB$\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0DELETE\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 5012065\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1<br \/>\n\u2026<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>\ud558\uc9c0\ub9cc Oracle9i\uc5d0\uc11c\ub294 \uc774\ub7ec\ud55c DDL\ubb38\uc7a5\ub3c4 v$logmnr_contents\uc758 SQL_REDO\uc5d0 \ubc14\ub85c \uae30\uc220\ub418\uc5b4\uc9c4\ub2e4. (\uc544\ub798\uc758 \u2018\ud14c\uc2a4\ud2b8\u2019 \ucc38\uc870)<\/p>\n<p>&nbsp;<\/p>\n<h3><a name=\"_Toc516307488\"><\/a>Tracking of DDL Statements<\/h3>\n<p>Oracle9i\ubd80\ud130\ub294 source dictionary\uac00 flat file \ud639\uc740 redo log file\uc5d0 \uc788\uc744 \ub54c, DDL_DICT_TRACKING \uc774\ub77c\ub294 option\uc744 \uc0ac\uc6a9\ud558\uba74 LogMiner \ub0b4\ubd80\uc801\uc73c\ub85c \ubcc4\ub3c4\uc758 dictionary(LogMiner internal dictionary)\ub97c \ub450\uc5b4 log mining \ub3d9\uc548\uc758 DDL \ubb38\uc7a5\uc744 internal dictionary\uc5d0 \ubc18\uc601\uc2dc\ud0ac \uc218 \uc788\ub294 \uae30\ub2a5\uc774 \uc81c\uacf5\ub41c\ub2e4.<\/p>\n<p>\ub2e4\uc74c\uc758 \uc608\ub97c \uc0b4\ud3b4\ubcf4\uc790.<\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"455\">execute sys.dbms_logmnr.start_logmnr(Options =&gt;<br \/>\nsys.dbms_logmnr.DDL_DICT_TRACKING +<br \/>\nsys.dbms_logmnr.NO_DICT_RESET_ONSELECT +<br \/>\nsys.dbms_logmnr.DICT_FROM_REDO_LOGS);<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Note <\/strong>: dbms_logmnr.NO_DICT_RESET_ONSELECT \u2013 \ub9e4 SELECT\uc5d0 \ub300\ud574 dictionary\ub97c reload\uc2dc\ud0a4\uc9c0 \uc54a\ub294 option<\/p>\n<p>\uc704\uc640 \uac19\uc740 option\uc744 \uc774\uc6a9\ud574 LogMiner\ub97c \uc218\ud589\ud558\uace0 \ub09c \ud6c4, \ub2e4\uc74c\uc758 SQL \ubb38\uc7a5\uc744 \uc218\ud589\ud558\uba74 \ub2e4\uc74c\uacfc \uac19\uc740 \uacb0\uacfc\uac00 \ub098\uc628\ub2e4.<\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"482\">SELECT sql_redo FROM sys.v$logmnr_contents;<\/p>\n<p>SQL_REDO<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br \/>\ncreate table scott.customer(name varchar2(32), phone_day varchar2(20),<br \/>\nphone_evening varchar2(20))<\/p>\n<p>insert into &#8220;SCOTT&#8221;.&#8221;CUSTOMER&#8221;(&#8220;NAME&#8221;,&#8221;PHONE_DAY&#8221;,&#8221;PHONE_EVENING&#8221;)<br \/>\nvalues (\u2019Nadine Gordimer\u2019,\u2019847-123-1234\u2019,\u2019415-123-1234\u2019)<\/p>\n<p>insert into &#8220;SCOTT&#8221;.&#8221;CUSTOMER&#8221;(&#8220;NAME&#8221;,&#8221;PHONE_DAY&#8221;,&#8221;PHONE_EVENING&#8221;)<br \/>\nvalues (\u2019Saul Bellow\u2019,\u2019847-123-1234\u2019,\u2019415-123-1234\u2019);<\/p>\n<p>commit;<\/p>\n<p>alter table scott.customer drop (phone_evening)<\/p>\n<p>insert into &#8220;SCOTT&#8221;.&#8221;CUSTOMER&#8221;(&#8220;NAME&#8221;,&#8221;PHONE_DAY&#8221;) values (\u2019Gabriel<br \/>\nGarcia Marquez\u2019,\u2019044-1270-123-1234\u2019);<\/p>\n<p>commit;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\uc704\uc5d0\uc11c \uc54c \uc218 \uc788\ub4ef\uc774, CREATE TABLE, ALTER TABLE \ubb38\uc7a5\uc774 \uc81c\ub300\ub85c LogMiner\uc758 \ub0b4\ubd80 dictionary\uc5d0 \uc81c\ub300\ub85c \ubc18\uc601\ub418\uc5b4 \uc788\uc74c\uc744 \uc54c \uc218 \uc788\ub2e4. \ucd5c\uc885\uc801\uc73c\ub85c \ub0b4\ubd80 dictionary\uc5d0\ub294 scott.customer\uac00 \ub2e8\uc9c0 \ub450\uac1c\uc758 \uceec\ub7fc\ub9cc\uc744 \uac00\uc9c0\uace0 \uc788\ub2e4. (ALTER TABLE\uc5d0 \uc758\ud574 phone_evening \uceec\ub7fc\uc774 \uc0ad\uc81c\ub418\uc5c8\uc73c\ubbc0\ub85c)<\/p>\n<p><strong>Note <\/strong>: \uc774 \uc0c1\ud669\uc5d0\uc11c \ub2e4\uc2dc SQL_REDO\ub97c select\ud558\uba74 dbms_logmnr. NO_DICT_RESET_ONSELECT option\uc5d0 \uc758\ud574 dictionary \uc815\ubcf4\uac00 reload\ub418\uc9c0 \uc54a\uc73c\ubbc0\ub85c \ucc98\uc74c\uc758 \ub450 INSERT \ubb38\uc7a5\uc5d0 \ub300\ud574 \uc77d\uae30 \uc27d\uac8c \ubcc0\ud658\uc744 \uc2dc\ucf1c\uc8fc\uc9c0 \uc54a\ub294\ub2e4. \uc774\ub97c \ubc29\uc9c0\ud558\ub824\uba74 dbms_logmnr.NO_DICT_RESET_ONSELECT option\uc744 \uc8fc\uc9c0 \uc54a\uc73c\uba74 \ub41c\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<h3><a name=\"_Toc516307489\"><\/a>Ability to skip log corruption<\/h3>\n<p>Log corruption\uc744 \ub9cc\ub098\uac8c \ub418\uba74 \uae30\ubcf8\uc801\uc73c\ub85c LogMiner\ub294 \uc885\ub8cc\ub41c\ub2e4. \uc774 corruption\uc774 \uc911\uc694\uce58 \uc54a\uc744 \uacbd\uc6b0, \ub54c\ub85c\ub294 \uc774\ub97c \ubb34\uc2dc\ud558\uace0 corruption \uc774\ud6c4\uc758 log\uc5d0 \ub300\ud574\uc11c \uacc4\uc18d \uc870\uc0ac\ud560 \ud544\uc694\uac00 \uc788\uc744 \uac83\uc774\ub2e4. \uc774\ub97c \uac00\ub2a5\ud558\uac8c \ud558\ub824\uba74 dbms_logmnr.start_logmnr()\ub97c \ud638\ucd9c\ud560 \ub54c SKIP_CORRUPTION option\uc744 \uc8fc\uba74 \ub41c\ub2e4.<\/p>\n<p>V$LOGMNR_CONTENTS view\ub97c \uc870\ud68c\ud560 \ub54c corruption \uc774\ud6c4\uc758 row\ub4e4\uc740 \u201cLog File Corruption Encountered\u201d \uba54\uc2dc\uc9c0\ub85c marking\ub418\uba70, \ucd5c\uc885\uc801\uc73c\ub85c \uc5bc\ub9c8\ub9cc\ud07c\uc758 \ube14\ub85d\ub4e4\uc774\u00a0 skip\ub418\uc5c8\ub294\uc9c0 \uc54c\ub824\uc900\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<h3><a name=\"_Toc516307490\"><\/a>Ability to show only rows belonging to committed transactions<\/h3>\n<p>\uae30\ubcf8\uc801\uc73c\ub85c LogMiner\ub294 \ud2b8\ub79c\uc7ad\uc158\uc774 commit\ub418\uc5c8\ub358\uc9c0 rollback\ub418\uc5c8\ub358\uc9c0, log file\uc5d0 \uae30\ub85d\ub41c \ubaa8\ub4e0 row\ub4e4\uc744 \ubcf4\uc5ec\uc900\ub2e4. \ud558\uc9c0\ub9cc \ub54c\ub85c\ub294 commit\ub41c \ud2b8\ub79c\uc7ad\uc158\ub4e4\uc5d0 \ub300\ud574\uc11c\ub9cc \ubcf4\uae30\ub97c \uc6d0\ud560 \uac83\uc774\ub2e4. \uc774\ub97c \uc704\ud574\uc11c\ub294 dbms_logmnr.start_logmnr() \ud638\ucd9c\uc2dc COMMITED_DATA_ONLY option\uc744 \uc8fc\uba74 \ub41c\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<h3><a name=\"_Toc516307491\"><\/a>Limitations<\/h3>\n<p>LogMiner\uc758 DDL \ubb38\uc7a5 \uc9c0\uc6d0\uc774 table drop \/ truncate\uc5d0 \ub300\ud55c \ubcf5\uad6c\ub97c \uc9c0\uc6d0\ud55c\ub2e4\ub294\u00a0 \ub9d0\uc740 \uc544\ub2c8\ub2e4. (\ud574\ub2f9 \ubb38\uc7a5\uc5d0 \ub300\ud55c UNDO\ub294 \uc874\uc7ac\ud558\uc9c0 \uc54a\ub294\ub2e4.) \ub2e4\ub9cc \uc5b4\ub290 \uc2dc\uc810\uc73c\ub85c \ubcf5\uad6c\ub97c \ud558\uba74 \ub418\ub294\uc9c0\uc5d0 \ub300\ud55c \uae30\uc900\uc744 \uc81c\uc2dc\ud560 \uc218 \uc788\ub294 \uac83\uc774\ub2e4.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>LogMiner Overview \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0 \ud589\ud574\uc9c4 DDL, DML\uacfc \uac19\uc740 \uc815\ubcf4\ub294 \ubaa8\ub450 log file\uc5d0 \ub0a8\uac8c \ub41c\ub2e4. \uc774 log file(online\u00a0 redo log, archived redo log)\ub85c\ubd80\ud130 \uc6d0\ub798\uc758 SQL \ubb38\uc7a5 \ubc0f undo\ub97c \uc704\ud55c SQL \ubb38\uc7a5\uc744 \ubf51\uc544\ub0bc \uc218 \uc788\ub294 \uae30\ub2a5\uc744 \uc81c\uacf5\ud558\ub294 LogMiner\uac00 Oracle8i\ubd80\ud130 \ud3ec\ud568\ub418\uc5c8\ub2e4. \uc774 LogMiner\ub97c \uc774\uc6a9\ud558\uba74 \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \ucc28\uc6d0\uc758 \ub17c\ub9ac\uc801 \uacb0\ud568(\uc774\ub97c\ud14c\uba74 \ubd09\uae09\uc744 10% \ud5a5\uc0c1 \uc2dc\ud0a4\ub824\uace0 \ud588\ub294\ub370, \uc2e4\uc218\ub85c 100% \ud5a5\uc0c1 \uc2dc\ud0a8 \uacbd\uc6b0)\uc774 \ubc1c\uc0dd\ud55c [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2497,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"spay_email":""},"categories":[14],"tags":[840,841],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/haisins.synology.me\/wordpress\/wp-content\/uploads\/2018\/01\/675026_9fdf_2.jpg?fit=750%2C422","amp_enabled":true,"_links":{"self":[{"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/2494"}],"collection":[{"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2494"}],"version-history":[{"count":3,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/2494\/revisions"}],"predecessor-version":[{"id":2498,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/2494\/revisions\/2498"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/media\/2497"}],"wp:attachment":[{"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2494"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2494"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2494"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}