Oracle
單個實例上的應用程序連續性
我最近正在研究 Oracle 12c 中的應用程序連續性。當我閱讀我理解的在 RAC 中使用的Oracle 連結時,將能夠在節點出現故障時重播事務 (DDL/DML)。
在連結中,它還提到為非 RAC(獨立)實例創建服務。在單實例的情況下,應用程序連續性如何工作。
declare params dbms_service.svc_parameter_array; begin params('FAILOVER_TYPE'):='TRANSACTION'; params('REPLAY_INITIATION_TIMEOUT'):=1800; params('RETENTION_TIMEOUT'):=604800; params('FAILOVER_DELAY'):=10; params('FAILOVER_RETRIES'):=30; params('commit_outcome'):='true'; params('aq_ha_notifications'):='true'; dbms_service.modify_service('[your service]',params); end; /
比如說,如果單個實例上發生可恢復的錯誤,它在哪裡重放事務?有人可以幫我理解這一點嗎?
應用程序連續性不僅限於 RAC。它也適用於 Data Guard。例如,在新的主(前備用)上切換後,可以重播正在進行的事務。對於單實例主實例和備用實例,這需要獲得 Active Data Guard 選項的許可。
Oracle Data Guard 切換到物理備用數據庫支持應用程序連續性。它還支持在最大可用性數據保護模式下快速啟動故障轉移到物理備用。請注意,主數據庫和備用數據庫必須獲得 Oracle RAC或 Oracle Active Data Guard許可才能使用應用程序連續性。