2 01, 2008
´íÎóÐÞ¸Äɾ³ýÊý¾ÝºóµÄ»Ö¸´·½·¨
¾ßÌå·½·¨ÈçÏ >>
1. ÎÒÃÇ¿ÉÒÔʹÓÃ
SELECT item_cost FROM cst_item_costs
AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '1' hour)
WHERE organization_id = 1
AND yyyymm = 200712
AND item_number = '6384BLCCSL';
À´²é¿´1¸öСʱǰµÄÊý¾Ý.
* ÕâÀïÐèҪ˵Ã÷¼¸µã:
a. AS OF TIMESTAMP expr ÊÇSELECTÓï¾äÖеÄFLASHBACK×Ó¾ä
b. SYSTIMESTAMP ÊÇϵͳÌṩµÄʱ¼äº¯Êý,¾«È·¶È¿ÉÒԴﵽ΢Ãë¼¶,²¢Ìṩµ±Ç°Ê±Çø
eg. select SYSTIMESTAMP from dual;
SYSTIMESTAMP
---------------------------------------------------------------------------
29-DEC-07 11.16.08.112686 AM +09:00
c. INTERVAL µÄ×÷ÓÃÊÇÓÃÀ´Ö¸¶¨Ê±¼äÇø¼ä,ÏÂÃæÊÇËü²ÎÓëÔËËãµÄ·¨Ôò
Operand1 Operator Operand2 Result Type
-------------------------------------------------------
Datetime - Interval Datetime
ÎÒÃÇ¿ÉÒÔͨ¹ýÐÞ¸Äʱ¼äµ¥Î»ºÍÊýÁ¿À´¸Ä±äµ¹ÍËʱ¼ä
eg. TIMESTAMP (SYSTIMESTAMP - INTERVAL '1' day) --²éѯһÌìǰµÄÊý¾Ý
TIMESTAMP (SYSTIMESTAMP - INTERVAL '10' minute ) --²éѯʮ·ÖÖÓǰµÄÊý¾Ý
TIMESTAMP (SYSTIMESTAMP - INTERVAL '50' second ) --²éѯ50ÃëǰµÄÊý¾Ý
d. ¹ØÓÚÔÚFlashBackÖеĿɻØË·Ê±¼ä
OracleÖÐÓÐÁ½¸ö²ÎÊýÄܹ»¾ö¶¨¿É»ØË·Ê±¼ä >>
undo ±í¿Õ¼ä´óС ºÍ undo_retention ³õʼ»¯²ÎÊý.
Ò»°ãµÄERPÕýʽϵͳÀïÃæµÄ undo tablespace Ϊ 20G×óÓÒ, undo_retentionÉèÖÃΪ 3600S.
ÒµÎñ·±Ã¦Ê±¼ä×î´ó¿É»ØË·Ê±¼äԼΪ 2-3h£¬·ÇÒµÎñʱ¼äΪ4-5h£¬ÕâÀïÐèҪעÒâ: ×î´ó¿É»ØË·Ê±¼äÊÇÓÉ
undo±í¿Õ¼ä´óС¼°Êý¾Ý¿âÊý¾Ý±ä¸üµÄƵ·±³Ì¶ÈÀ´¾ö¶¨µÄ.
Èç¹û³¬¹ý×î´ó¿É»ØË·Ê±¼äʱ,ϵͳ»á¸ø³öÓÐÃûµÄ ORA-01555 ¿ìÕÕÌ«ÀÏ(Snapshot too old)´íÎó.
e. ×öFlashBack±ØÐëÒªÓÐ FlashBack Any Table µÄϵͳȨÏÞ.
2. ÄÇôÒÀ´ËÀàÍÆ,ÎÒÃǾͿÉÒÔÀûÓÃFlashBackÀ´»Ö¸´Ä³¶Îʱ¼äǰµÄÊý¾ÝÁË
UPDATE cst_item_costs SET item_cost =
(SELECT item_cost FROM cst_item_costs
AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '1' hour)
WHERE organization_id = 1
AND yyyymm = 200712
AND item_number = '6384BLCCSL)
WHERE organization_id = 1
AND yyyymm = 200712
AND item_number = '6384BLCCSL';
* ÕâÀïҲҪ˵Ã÷¼¸µã:
a. ÔÚ»Ö¸´Êý¾Ýǰ,Òª¼ì²éWHEREÌõ¼þÊÇ·ñ¾ßÓÐΨһÐÔ
b. Èç¹ûÒª³ÉÅú»Ö¸´»òÈ«±í»Ö¸´Êý¾ÝµÄ»°,Òª¼ì²éÊÇ·ñÔÚÖ¸¶¨µÄʱ¼äÇø¼äÄÚ»¹ÓÐÆäËû»á»°Ð´ÈëµÄÊý¾Ý
×îлظ´
·¢±íÆÀÂÛ