RMAN備份格式%t時間戳計算

hexiaomail發表於2010-09-28
一直有個疑問,就是rman備分時沒法指定時分秒,在格式中只有%T為YYYYMMDD,而%t表示為時是戳,它表示備份開始執行的時間戳,但怎麼表現為直觀的時間一直不知道麼計算,下面給出一個公式:
SELECT TO_CHAR(730918324/(24 * 3600) +
              TO_DATE('1987-08-01 00:00:00','YYYY-MM-DD HH24:MI:SS'),
               'YYYYMMDD HH24:MI:SS')
  FROM DUAL;
或者可以輸入%t所產生的值
SQL> DECLARE
 2    TS NUMBER;
 3  BEGIN
 4    TS := &TS;
 5    DBMS_OUTPUT.PUT_LINE(TO_CHAR(TS / (24 * 3600) +
 6                                 TO_DATE('1987-08-01 00:00:00',
 7                                         'YYYY-MM-DD HH24:MI:SS'),
 8                                 'YYYY-MM-DD HH24:MI:SS'));
 9
10  END;
11  /
輸入 ts 的值:  730918324
原值    4:   TS := &TS;
新值    4:   TS := 730918324;
2010-09-28 16:52:04
PL/SQL 過程已成功完成。
有一個問題,為什麼基數是'1987-08-01 00:00:00'?

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9932141/viewspace-675045/,如需轉載,請註明出處,否則將追究法律責任。

相關文章