Oracle Fail Safe が Oracle Database 19cで非推奨 / 代替案

# はじめに
Oracle Fail Safe がOracle Database 19cで非推奨という情報を知り、
情報が散らばっているのでWindows リリースとの互換性や代替案など、マニュアルやドキュメントを中心にまとめてみました。

# 1. Oracle Fail Safeとは？
マニュアルには以下の記載がありました。
> 100%の可用性を保証できるソリューションはありませんが、Oracle Fail Safeを使用すると、Microsoftクラスタ上で稼働してMicrosoft Cluster Service(MSCS)で構成されているOracleデータベースやその他のアプリケーションの停止時間を、最小限に抑えることが可能になります。
・・・[中略]・・・
Oracle Fail SafeはMSCSクラスタ・ソフトウェアとともに、クラスタ上で実行されるアプリケーションおよびシングルインスタンス・データベースの高い可用性を実現します。あるクラスタ・ノードに障害が発生した場合、Oracle Fail Safeを使用して構成したパラメータに基づき、クラスタ・ソフトウェアがその作業負荷を正常に機能しているノードに移します。この操作をフェイルオーバーと呼びます。
[引用] [1 Oracle Fail Safeの基礎知識](https://docs.oracle.com/cd/E23635_01/doc.342/b63057/intro.htm)

# 2. Oracle Database 19c / Oracle Fail Safe / Windowsの互換性情報の確認
ココの章では、ドキュメントから得られる事実をまとめてみた。
## 2-1. Oracle Database のサポート情報
| Oracle Database バージョン | サポート情報 |
| :-: | :-: |
| 19c | [非推奨](https://docs.oracle.com/cd/F19136_01/ntqrf/deprecation-of-oracle-fail-safe.html#GUID-FB1CB9F6-F520-4772-9DBF-24CD70D0D628) |
| 21c | 以後、[サポート終了](https://docs.oracle.com/cd/F39414_01/upgrd/behavior-changes-deprecated-desupport-oracle-database.html#GUID-E4B798A7-49F2-4286-934F-099E2AF21254)|

非推奨/サポート終了の定義については、以下をご確認ください。
Oracle Database 19c へのアップグレード検討時の参考資料 (リンク集) > [4. 現行バージョンとの互換性の確認](https://docs.oracle.com/cd/F39414_01/upgrd/behavior-changes-deprecated-desupport-oracle-database.html#GUID-E4B798A7-49F2-4286-934F-099E2AF21254)

Oracle Database 19cの最新パッチ情報は以下よりご確認ください。
※19.20が最新 (2023/7/31現在)
[Oracle Database 19c Proactive Patch Information (Doc ID 2521164.1)](https://support.oracle.com/knowledge/Oracle%20Cloud/2521164_1.html)

つまり、Oracle Database 19c でOracle Fail Safeが非推奨となりましたので、
**Oracle Database 19c がリリースされた2019年以降に登場したWindowsのバージョンについては機能拡張されなくなるが、それ以前の主要なWindowsバージョンについては引き続き19cではサポートされる。** ということになります。

## 2-2. Oracle Database 19cでサポートされているOracle Fail Safe 4.2.1とWindowsリリースバージョン
以下を確認すると、**Windows 2019まではサポート対象** みたいですね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3079416/46e2a210-f36a-c821-351d-d3e99608ec82.png "Windowsバージョンの確認")
[引用] Oracle Database > Release 19 > データベース・リリース・ノート > [8.2 製品サポート](https://docs.oracle.com/cd/F19136_01/rnrdm/windows-platform-issues.html#GUID-15AB5ADA-CAFD-4E94-AD7F-E78287A5C22C)

## 2-3. Oracle Database でサポートされている Windowsリリースバージョン 
[参考] [Microsoft Windows x64 (64-bit) 上の Oracle データベースの動作保証情報 (Doc ID 1307195.1)](https://support.oracle.com/knowledge/Oracle%20Cloud/1307195_1.html)


今後、新規Windowsバージョンがリリースされたとしても、Oracle Dtabase 19cでは機能拡張されないので、代替案を次の章から考えてみる。
# 3. Oracle Fail Safeの代替案は・・・？
[参考] にある情報をまとめると、同じような可用性要件を満たす機能/製品は以下でしょうか。
1. [Standard Edition High Availability (SEHA)](https://speakerdeck.com/oracle4engineer/20210427-sehagai-yao)
1. [RAC one Node](https://docs.oracle.com/cd/F19136_01/racad/introduction-to-oracle-rac.html#GUID-E54C835B-85EC-477F-AE44-AD4B9690C7F6)
1. [Real Application Cluster (RAC)](https://docs.oracle.com/cd/F19136_01/racad/introduction-to-oracle-rac.html#GUID-5A1B02A2-A327-42DD-A1AD-20610B2A9D92) 
1. Oracle Cloud (ex. [Oracle Autonomous Database](https://www.oracle.com/jp/autonomous-database/what-is-autonomous-database/)) への移行

[RAC導入時の注意点]
- Oracle Database Standard Edition (SE2) を利用中の場合は、Oracle Database 19cではサポート終了のため、**Enterprise Edition にアップグレードすれば、RACは利用OK！** ですね。

[参考] 
- [Oracle データベースの高可用性オプション](https://docs.oracle.com/en/database/oracle/oracle-database/19/cwadd/introduction-to-oracle-clusterware.html#GUID-C54E2511-24E2-452B-B4C7-0D5A93A751A9)
- [Oracle Database Standard Edition 19c の Oracle Real Application Clusters (RAC) のサポート終了 (Doc ID 2504078.1)](https://support.oracle.com/knowledge/Oracle%20Database%20Products/2504078_1.html)

## 3-1. SEHAの構築方法・手順
- [Standard Edition高可用性のインストール](https://docs.oracle.com/cd/F19136_01/ntdbi/configuring-standard-edition-high-availability.html#GUID-B4071766-F926-469F-9F9E-AB82E62236C8)
- [Grid Infrastructureのインストール](https://docs.oracle.com/cd/F19136_01/cwwin/index.html#Oracle%C2%AE-Grid-Infrastructure)
- [2.9 Oracle DatabaseのStandard Edition高可用性の管理](https://docs.oracle.com/cd/F19136_01/admin/creating-and-configuring-an-oracle-database.html#GUID-4B255433-4F5D-4A75-BB05-EBAB41361B5E)

## 3-2. SEHA / RAC one Node / RAC の違い
[こちらのスライド](https://speakerdeck.com/oracle4engineer/20210427-sehagai-yao?slide=6) を参照

# 4. まとめ
- Oracle Fail Safe を Oracle Database 19cでも利用するとしたら、Windows 2019までならサポートされている。
- けれど、Oracle Database 21cから Oracle Fail Safe はサポート終了しているので、いずれにせよ代替案を考えなければいけない。
- その代替案としては、**①SEHA ②EEでRAC One Node ③EEでRAC ④Oracle Cloud Infrastructure(OCI)** の大きく4種類がありそう