在RAC环境中节点之间的OS操作系统时钟一致是clusterware能够稳定运行的重要因素之一，但是如果我们确实有调整OS时间的需求，那么是否真的会影响到RAC的正常运行呢？ 具体的影响是如何的呢？ 又需要注意哪些方面的因素呢？
RAC: Frequently Asked Questions (Doc ID 220970.1)
Does Oracle RAC work with NTP (Network Time Protocol)?
YES! NTP and Oracle RAC are compatible, as a matter of fact, it is recommended to setup NTP in an Oracle RAC cluster, for Oracle 9i Database, Oracle Database 10g, and Oracle Database 11g Release 1.
Keep the following points in mind:
# Minor changes in time (in the seconds range) are harmless for Oracle RAC and the Oracle Clusterware. If you intend on making large time changes it is best to shutdown the instances and the entire Oracle Clusterware stack on that node to avoid a false eviction, especially if you are using the Oracle RAC 10g low-brownout patches, which allow really low misscount settings.
# Backup/recovery aspect of large time changes are documented in Note: 77370.1, basically you can’t use RECOVER DATABASE UNTIL TIME to reach the second recovery point, It is possible to overcome with RECOVER DATABASE UNTIL CANCEL or UNTIL CHANGE. If you are doing complete recovery (most of the times) then this is not an issue since the Oracle recovery code uses SCN (System Change Numbers) to advance in the redo/archive logs. The SCN numbers never go back in time (unless a reset-logs operation is performed), there is always an association of an SCN to a human readable timestamp (which may change forward or backwards), hence the issue with recovery until point in time vs. until SCN/Cancel.
# If DBMS_SCHEDULER is in usage it will be affected by time changes, as it’s using actual clock rather than SCN.
# On platforms with OPROCD get fix for <> “OPROCD REBOOTS NODE WHEN TIME IS SET BACK BY XNTPD”
# If NTP is not configured correctly (using -x flag), and diagwait not set to 13 Note: 559365.1 10.2/11.1 RAC systems can be rebooted due to OPROCD, during a leap second event, see Note: 759143.1.
# Daylight saving time adjustments do not affect the system clock, only the displayed time, hence have no impact on the Oracle software.
Apart from these issues, the Oracle RDBMS server is immuned to time changes, i.e. will not affect transaction/read consistency operations.
Also please refer to note:
Dates & Calendars – Frequently Asked Questions (Doc ID 227334.1)
So please perform time changes in small amount using date command only. Doing it precisely will be difficult manually. Therefore using ntpd with -x option could be better solution for this case as well.
In general step in not more than 3 seconds when tuning time backward should be fine.