ORACLE Ò»Ö¶Á(Consistent Read)µÄ²½Öè
1. Read the Data Block.
2. Read the Row Header.
3. Check the Lock Byte to determine whether there's an ITL entry.
4. Read the ITL entry to determine the Transaction ID (Xid).
5. Read the Transaction Table using the Transaction ID. If the transaction has been committed and has a System Commit Number less than the query's System Change Number, update the status of the block (block cleanout) and start over at step 1.
6. Read the last undo block (Uba).
7. Compare the block transaction ID with the transaction table transaction ID. If the Transaction ID in the undo block doesn't equal the Transaction ID from the Transaction Table, then issue ORA-1555, Snapshot Too Old.
8. If the Transaction IDs are identical, make a copy of the data block in memory. Starting with the head undo entry, apply the changes to the copied data block.
9. If the tail undo entry (the actual first undo entry in the chain, or the last in the chain going backwards!) indicates another data block address, read the indicated undo block into memory and repeat steps 7 and 8 until the undo entries don't contain a value for the data block address.
10. When there's no "previous data block address," the transaction has been completely undone.
11. If the undo entry contains:
a. a pointer to a previous transaction undo block address, read the Transaction ID in the previous transaction undo block header and read the appropriate Transaction Table entry. Return to step 5.
b. an ITL record, restore the ITL record to the data block. Return to step 4.
×¢ÊÍ˵Ã÷£º
ÊÂʵÉÏÔÚµÚ6²½Ö®Ç°£¬»áÏȱȽÏquery scnºÍcontrol scn(ÏÂÃæºìÉ«×ÖÌåÊǽâÊÍ)£¬Èç¹ûcontrol scn > query scn£¬oracle¸ù±¾¾Í²»È¥³¢ÊÔ¶ÁÈ¡undo blockÁË£¬ÒòΪע¶¨Ê§°Ü£¬Á¢¿Ì±¨1555´íÎó.
µÚ7²½£¬±íʾ
²»ÊÇÐÞ¸ÄÁ˵±Ç°blockµÄÊÂÎñûÓÐcommit
¾ÍÊÇÊÂÎñcommitÁ˵«ÊÇcommit scn >query scn£¬£¨ÒòΪµÚ5²½ÒѾÅжÏcommit scn<query scnµÄÇé¿ö£©
ËùÒÔ×¼±¸Òª¶ÁÈ¡»Ø¹ö¶ÎÖеÄÇ°¾µÏñ¡£
µÚ9²½£¬Äã¿ÉÒÔ°ÑrollbackµÄ¹ý³ÌÏëÏóΪһ¸öÁ´±í£¬´ÓÒ»¸öundo blockÁ´µ½ÁíÒ»¸öundo block£¬Ö
Ïà¹ØÎĵµ£º
Êý¾Ý¿âÉè¼Æ£º
CREATE TABLE ADVERTISE_CATEGORY
(
CATEGORY_ID NUMBER PRIMARY KEY, --½ÚµãID
CATEGORY_NAME VARCHAR2(500), &nb ......
1.ʲôÊÇRMAN£¿
¡¡¡¡RMAN¿ÉÒÔÓÃÀ´±¸·ÝºÍ»¹ÔÊý¾Ý¿âÎļþ¡¢¹éµµÈÕÖ¾ºÍ¿ØÖÆÎļþ¡£ËüÒ²¿ÉÒÔÓÃÀ´Ö´ÐÐÍêÈ«»ò²»ÍêÈ«µÄÊý¾Ý¿â»Ö¸´¡£
¡¡¡¡×¢Ò⣺RMAN²»ÄÜÓÃÓÚ±¸·Ý³õʼ»¯²ÎÊýÎļþºÍ¿ÚÁîÎļþ¡£
¡¡¡¡RMANÆô¶¯Êý¾Ý¿âÉϵÄOracle·þÎñÆ÷½ø³ÌÀ´½øÐб¸·Ý»ò»¹Ô¡£±¸·Ý¡¢»¹Ô¡¢»Ö¸´ÊÇÓÉÕâЩ½ø³ÌÇý¶¯µÄ¡£
¡¡¡¡RMAN¿ÉÒÔÓÉOEMµÄBackup Manager ......
1.OracleDBConsoleorcl oem¿ØÖÆ̨µÄ·þÎñ½ø³Ì
2.OracleJobSchedulerORCL ¶¨Ê±Æ÷µÄ·þÎñ½ø³Ì
3.OracleOraDb10g_home1iSQL*Plus isql*plusµÄ·þÎñ½ø³Ì
4.OracleOraDb10g_home1TNSListener ¼àÌýÆ÷µÄ·þÎñ½ø³Ì
5.Or ......
½ñÌ츴ϰµÚÈýÕ£¬±¾À´ËãÆðÀ´Ó¦¸ÃÊǵڶþÕµģ¬µ«ÊǵڶþÕµÄÄÚÈÝÊǽéÉÜÊý¾Ý¿âµÄ¹ÜÀí¹¤¾ß£¬¶ø¶ÔÓÚÎÒÃǶøÑÔ£¬ÕâЩÏà¶ÔÀ´ËµÃ»Óжà´óµÄ±ØÒª£¬ËùÒÔ£¬ÏÖÔÚ²½È븴ϰOracleʵÀýµÄ¹ÜÀí¡£ÕâÕµÄÄÚÈÝ°üÀ¨³õʼ»¯²ÎÊýÎļþµÄά»¤ºÍ¹ÜÀí£¬ÒÔ¸÷ÖÖ²»Í¬µÄ·½Ê½Æô¶¯ºÍ¸ÅÄî±ÈÊý¾Ý¿âOracle Instance£¬ÒÔ¼°¶ÔOracle I ......