適用產品:Oracle 11g版本以上CDB、non-CDB
本文說明如何配置Oracle服務設定。
注意
- 需要保護的主機已具備Oracle服務運作中。
- 已安裝Neverfail Continuity Engine Client完成,並已與Secondary連線同步與NMS進行管理。
- 需要在Oracle服務庫輸入指令或執行腳本,需要sys權限。
- 若有多個CDB或non-CDB,”每個資料庫”都需要執行腳本。
支援Oracle版本與OS版本
- Oracle 19c
- Server 2012 R2、2016、2019 (相容版本)
- NTFS and ReFS File Systems
- Oracle Flashback 資料庫
- Oracle 18c
- Server 2008 R2 SP1、2012、2012 R2、2016 (相容版本)
- NTFS and ReFS File Systems
- Oracle Flashback 資料庫
- Oracle 12c Release 1 and Release 2
- Server 2008 R2 SP1、2012、2012 R2、2016 (相容版本)
- NTFS and ReFS File Systems
- Oracle Flashback 資料庫
- Oracle 11g Release 1 and Release 2
- Server 2008 R2、2012、2012 R2 (相容版本)
- NTFS and ReFS File Systems
- Oracle Flashback 資料庫
Support Database
- Oracle 19c 單一資料庫支援:
- 多租戶容器資料庫:CDB
- 獨立 / 非多租戶容器資料庫:non-CDB
- Oracle 18c 單一資料庫支援:
- 多租戶容器資料庫:CDB
- 獨立 / 非多租戶容器資料庫:non-CDB
- Oracle 12c 單一資料庫支援:
- 多租戶容器資料庫:CDB
- 獨立 / 非多租戶容器資料庫:non-CDB
- Oracle 11g 單一資料庫支援:
- 獨立 / 非多租戶容器資料庫:non-CDB
操作步驟
要保護Oracle資料庫,需要在Oracle內建立提供Neverfail的帳戶進行監控。
安裝Continuity Engine Client後會在NMS或是AMC顯示Oracle的驚嘆號,需要設定Neverfail控管Oracle資料庫的帳戶。

Step. 1
於NMS或本文所範例的AMC上,確認OracleDatabaseNFPlugin是否有安裝,若無,需先安裝Oracle插件。

Step. 2
至Oracle的Primary主機上,可透過CMD的”sqlplus / as sysdba”的指令,將Neverfail提供的腳本指令進行輸入。

或是透過Oracle SQL Developer工具執行操作,本文以使用Developer工具為範例。

Step. 3
輸入Neverfail提供的腳本,若有多個CDB/non-CDB,則每個都須輸入腳本執行指令。
本範例使用Developer工具執行腳本指令,CDB與non-CDB各自有不同的腳本執行,各自腳本指令如下:
CDB:12c、18c、19c (<user_password>為輸入自訂要建立的密碼)
CREATE USER C##NEVERFAIL IDENTIFIED BY <user_password>;
GRANT CONNECT TO C##NEVERFAIL;
GRANT SELECT ON V_$DBFILE TO C##NEVERFAIL;
GRANT SELECT ON V_$LOGFILE TO C##NEVERFAIL;
GRANT SELECT ON V_$CONTROLFILE TO C##NEVERFAIL;
GRANT SELECT ON V_$TEMPFILE TO C##NEVERFAIL;
GRANT SELECT ON V_$DATABASE TO C##NEVERFAIL;
GRANT SELECT ON V_$RECOVERY_FILE_DEST TO C##NEVERFAIL;
GRANT SELECT ON V_$FLASHBACK_DATABASE_LOGFILE TO C##NEVERFAIL;
GRANT SELECT ON V_$ARCHIVE_DEST TO C##NEVERFAIL;
ALTER USER C##NEVERFAIL SET CONTAINER_DATA=ALL FOR V_$DBFILE CONTAINER=CURRENT;
ALTER USER C##NEVERFAIL SET CONTAINER_DATA=ALL FOR V_$TEMPFILE CONTAINER=CURRENT;
下列範例為Developer工具輸入CDB腳本指令畫面:

non-CDB:11g、12c、18c、19c (<input-password!>為輸入自訂要建立的密碼)
CREATE USER NEVERFAIL IDENTIFIED BY <input-password!>;
GRANT CONNECT TO NEVERFAIL;
GRANT SELECT ON V_$DBFILE TO NEVERFAIL;
GRANT SELECT ON V_$LOGFILE TO NEVERFAIL;
GRANT SELECT ON V_$CONTROLFILE TO NEVERFAIL;
GRANT SELECT ON V_$TEMPFILE TO NEVERFAIL;
GRANT SELECT ON V_$DATABASE TO NEVERFAIL;
GRANT SELECT ON V_$RECOVERY_FILE_DEST TO NEVERFAIL;
GRANT SELECT ON V_$FLASHBACK_DATABASE_LOGFILE TO NEVERFAIL;
GRANT SELECT ON V_$ARCHIVE_DEST TO NEVERFAIL;
下列範例為Developer工具輸入non-CDB腳本指令畫面,將其反白指令後點擊”執行”按鈕,下方”命令端輸出”顯示指令成功畫面:

Step. 4
返回NMS管理畫面上,點擊Oracle的鉛筆的”編輯”按鈕”。

Step. 5
依據下列內容編輯設定:
- 若是保護CDB(12c版本以上),則於此輸入腳本建立的帳號:NEVERFAIL,密碼:為自訂建立。
- 若是保護non-CDB(11g版本以上),則於此輸入腳本建立的帳號:NEVERFAIL,密碼:為自訂建立。
- 若需要排除”主頁”或”Oracle Instance”,則於此輸入。
- 保護Flashback 資料庫功能,若Oracle有啟用保護功能,則此功能改為True。
點擊”儲存”按鈕。

補充說明
在Oracle上,Flashback 資料庫的保護功能是否有開啟,可於Oracle內輸入檢查指令:SELECT FLASHBACK_ON FROM V$DATABASE;
當結果顯示為NO,Neverfail的保護Flashback 資料庫功能無須開啟,反之顯示YES則開啟保護功能。
“Protect Flashback Databases”主要用於確保Flashback Logs與數據同步,防止主、備伺服器在啟用Flashback Database時發生不同步問題。如果Oracle環境有啟用Flashback Database,建議同時啟用這個選項,以確保數據一致性與高可用性。

Step. 6
配置完成後,確認OracleDatabase已成功進行保護即可。

