Slide 1

Slide 1 text

Oracle Database 19c Standard Edition High Availability概要 2021年 4月27日 日本オラクル株式会社 森 勇貴 橋場 友李

Slide 2

Slide 2 text

Safe harbor statement 以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、 情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。以 下の事項は、マテリアルやコード、機能を提供することを確約するものではないため、購買 決定を行う際の判断材料になさらないで下さい。 オラクル製品に関して記載されている機能の開発、リリース、時期及び価格については、弊 社の裁量により決定され、変更される可能性があります。 Copyright © 2021, Oracle and/or its affiliates 2

Slide 3

Slide 3 text

1. SEHAとは 2. SEHA構成について 3. SEHAの障害検証 Agenda 3 Copyright © 2021, Oracle and/or its affiliates

Slide 4

Slide 4 text

1. SEHAとは 2. SEHA構成について 3. SEHAの障害検証 Agenda 4 Copyright © 2021, Oracle and/or its affiliates

Slide 5

Slide 5 text

Standard Edition High Availability概要 • Oracle Grid Infrastructureを活用した、 シングルインスタンスStandard Edition Oracle Databaseのためのクラスタベースのフェイルオー バーを提供 • ボリューム、ファイルシステムのリマウントを行わない ため迅速なフェイルオーバー時間を実現 • Linux x86-64、Oracle Solaris on SPARC (64-bit)、Microsoft Windowsをサポート 5 Copyright © 2021, Oracle and/or its affiliates Node1 ACTIVE Oracle インスタンス Node2 PASSIVE ASM Clusterware tnslsnr Grid Infrastructure ASM Clusterware tnslsnr Grid Infrastructure

Slide 6

Slide 6 text

SEHAは、 Active-Passive型のクラスタ構成 RAC : 高い可用性と拡張性 • 全ノードがアクティブ • ノード追加で拡張性向上 • 障害時に高速切り替え • ローリング・パッチ適用可能 RAC One Node : RACの可用性を 低コストで • RACを構成し通常時は1ノードで のみOracleインスタンスが起動 • ローリング・パッチ適用可能 • 10日間フェイルオーバー・ルール適用 SEHA : Active-Passive構成 • Oracle Grid Infrastructureを 使ったシングル・インスタンスによる Active-Passive構成 • 10日間フェイルオーバー・ルール適用 RACとSEHAの違い 6 Copyright © 2021, Oracle and/or its affiliates Oracle インスタンス Grid Infrastructure Grid Infrastructure Oracle インスタンス Grid Infrastructure Node2 PASSIVE Grid Infrastructure Node1 ACTIVE Oracle インスタンス Grid Infrastructure Node2 ACTIVE Grid Infrastructure Oracle インスタンス RAC RAC Node1 ACTIVE Node2 PASSIVE Node1 ACTIVE

Slide 7

Slide 7 text

1. SEHAとは 2. SEHA構成について 3. SEHAの障害検証 Agenda 7 Copyright © 2021, Oracle and/or its affiliates

Slide 8

Slide 8 text

Oracle Database • 基本的な構成はRACと同様 • RACのハードウェアとソフトウェアの構成要件 (https://docs.oracle.com/cd/F19136_01/rilin/server-hardware-and- software-review-checklist-for-oracle-rac-installation.html#GUID- 4F1008D5-B0A0-4DFF-ADEF-D8FAB5E0A997) • SEHAはライセンス制限としてサーバにつき 2ソケットまで • 使用されるCPUスレッドは16まで • Oracle Grid Infrastructure (19.7以降) • Oracle Database Standard Edition (19.7以降) 8 Copyright © 2021, Oracle and/or its affiliates SEHA 最小構成要件 Node1 Node2 Grid Infrastructure Grid Infrastructure Oracle Database

Slide 9

Slide 9 text

RACとSEHAの構成手順の違い 9 Copyright © 2021, Oracle and/or its affiliates RAC構成手順 1. Oracle Grid Infrastructure のインストール • インストールするノードを選択 2. GIと同一バージョンのOracle Database インストール • インストールするノードを選択 • Enterprise Editionを選択 3. DBCAでデータベースの作成 • データベースタイプはRACを選択 SEHA構成手順 1. Oracle Grid Infrastructure(19.7以降)のインストール • インストールするノードを選択 2. Node1にOracle Database(19.7以降)のインストール • Standard Editionを選択 3. ./addnode.shでオラクルホームをnode2にコピー • SSH等価設定を行なってから実行 4. Node1にて、DBCAでデータベースの作成 • データベースタイプは単一インスタンスを選択 5. srvctlでSEHAを構成 srvctl modify database -db orcl -node node1,node2

Slide 10

Slide 10 text

• インストール後ではなく、インストール時にパッチを当てる • インストーラにパッチを当てる方法がある • -applyRU 1. Opatchを最新版にする 2. GIの場合 • ./gridSetup.sh –applyRU patch_directory_location/patch_ID 3. DBの場合 • ./runInstaller.sh –applyRU patch_directory_location/patch_ID RUを適用したバイナリをインストールする方法 Copyright © 2021, Oracle and/or its affiliates 10

Slide 11

Slide 11 text

RUを適用したバイナリをインストールする方法 Copyright © 2021, Oracle and/or its affiliates 11 Opatchを最新版にする パッチを当てる時は、Opatchを最新版にしてから行う Opatchが最新でない状態でパッチを当てた場合失敗することがあり、Oracle Homeも再度新たに作り直す必要がある $ cd $ORACLE_HOME #念のため最初にあったディレクトリを残しておく $ mv OPatch/ OPatch.org #持ってきたOpatchのzipファイルを解凍する $ unzip -q /home/oracle/tmp/p6880880_200000_Linux-x86-64.zip $ opatch version OPatch Version: 12.2.0.1.21OPatch succeeded.

Slide 12

Slide 12 text

RUを適用したバイナリをインストールする方法 Copyright © 2021, Oracle and/or its affiliates 12 DBインストールの例 # DBインストール後ではなく、DBインストール時にパッチを当てる $ ./runInstaller.sh -applyRU patch_directory_location/patch_ID 19.3 RU 19.7~

Slide 13

Slide 13 text

13 Copyright © 2021, Oracle and/or its affiliates SEHAのセットアップ手順① SEHA構成手順 1. Oracle Grid Infrastructure (19.7以降)のインストール • インストールするノードを選択 Node1 Node2 ASM Clusterware tnslsnr Grid Infrastructure ASM Clusterware tnslsnr Grid Infrastructure

Slide 14

Slide 14 text

14 Copyright © 2021, Oracle and/or its affiliates SEHAのセットアップ手順② SEHA構成手順 1. Oracle Grid Infrastructure (19.7以降)のインストール • インストールするノードを選択 2. Node1にOracle Database(19.7以降)のインストール • Standard Edition 2を選択 ASM Clusterware tnslsnr Grid Infrastructure Oracle Database Node1 Node2 ASM Clusterware tnslsnr Grid Infrastructure

Slide 15

Slide 15 text

15 Copyright © 2021, Oracle and/or its affiliates SEHAのセットアップ手順③ SEHA構成手順 1. Oracle Grid Infrastructure (19.7以降)のインストール • インストールするノードを選択 2. Node1にOracle Database(19.7以降)のインストール • Standard Edition 2を選択 3. ./addnode.shでオラクルホームをnode2にコピー • SSH等価設定を行なってから実行 ASM Clusterware tnslsnr Grid Infrastructure Oracle Database ASM Clusterware tnslsnr Grid Infrastructure Oracle Database コピー Node1 Node2

Slide 16

Slide 16 text

16 Copyright © 2021, Oracle and/or its affiliates SEHAのセットアップ手順④ SEHA構成手順 1. Oracle Grid Infrastructure (19.7以降)のインストール • インストールするノードを選択 2. Node1にOracle Database(19.7以降)のインストール • Standard Edition 2を選択 3. ./addnode.shでオラクルホームをnode2にコピー • SSH等価設定を行なってから実行 4. Node1にて、DBCAでデータベースの作成 • データベースタイプは単一インスタンスを選択 ASM Clusterware tnslsnr Grid Infrastructure Oracle Database ASM Clusterware tnslsnr Grid Infrastructure Oracle Database Node1 Node2 制御ファイル データファイル (表領域) データファイル (UNDO表領域) REDO ログ・ファイル インスタンス

Slide 17

Slide 17 text

17 Copyright © 2021, Oracle and/or its affiliates SEHAのセットアップ手順⑤ SEHA構成手順 1. Oracle Grid Infrastructure (19.7以降)のインストール • インストールするノードを選択 2. Node1にOracle Database(19.7以降)のインストール • Standard Edition 2を選択 3. ./addnode.shでオラクルホームをnode2にコピー • SSH等価設定を行なってから実行 4. Node1にて、DBCAでデータベースの作成 • データベースタイプは単一インスタンスを選択 5. srvctlでSEHAを構成 srvctl modify database -db orcl -node node1,node2 ASM Clusterware tnslsnr Grid Infrastructure Oracle Database ASM Clusterware tnslsnr Grid Infrastructure Oracle Database Node1 Node2 制御ファイル データファイル (表領域) データファイル (UNDO表領域) REDO ログ・ファイル インスタンス

Slide 18

Slide 18 text

1. SEHAとは 2. SEHA構成について 3. SEHAの障害検証 Agenda 18 Copyright © 2021, Oracle and/or its affiliates

Slide 19

Slide 19 text

今回検証方法 19 Copyright © 2021, Oracle and/or its affiliates インスタンス障害 OS障害 Clusterware CSS Node1 ACTIVE CRS インスタンス(起動中) Clusterware CSS Node2 PASSIVE CRS Clusterware CSS Node1 ACTIVE CRS インスタンス(起動中) Clusterware CSS Node2 PASSIVE CRS

Slide 20

Slide 20 text

Oracle Clusterware CSSとCRS Cluster Synchronization Services (CSS) • メンバーシップ・サービス • 共有リソースを使用するメンバーを確定させる Cluster Ready Services (CRS) • リソース起動と停止および死活監視 • CSSがクラスタを構成するメンバーを確定させた上 でどのノードで監視対象リソースを起動するかを決 定する • 仮想IPアドレスとOracleリスナー • Oracleインスタンス • ASMインスタンス • ... 20 Copyright © 2021, Oracle and/or its affiliates Clusterware Clusterware CSS CSS CRS CRS Res. 1 Res. 2 Res. 3 Res. 4

Slide 21

Slide 21 text

SEHA構成 インスタンス障害 21 Copyright © 2021, Oracle and/or its affiliates

Slide 22

Slide 22 text

SEHA構成 – SMONプロセスkillによるインスタンス障害発生 Copyright © 2021, Oracle and/or its affiliates 22 Clusterware CSS Oracle インスタンス (起動中) Node1 ACTIVE Node2 PASSIVE CRS smon インスタンス 障害発生 ①kill smon ターミナルからSmon kill Clusterware CSS CRS

Slide 23

Slide 23 text

SEHA構成 – インスタンスのターミネイト Copyright © 2021, Oracle and/or its affiliates 23 Clusterware Clusterware CSS CSS Oracle インスタンス (停止中) Node1 ACTIVE Node2 PASSIVE CRS CRS smon pmon インスタンス 障害発生 ①kill smon ターミナルからSmon kill ②pmonがインスタンスの ターミネイトを始める ③CRSがリソースの 異常検知

Slide 24

Slide 24 text

SEHA構成 – CRSによるインスタンスの再起動 Copyright © 2021, Oracle and/or its affiliates 24 Clusterware CSS Oracle インスタンス (停止済み) Node1 ACTIVE Node2 PASSIVE CRS インスタンス 障害発生 Clusterware CSS CRS ⑤CRSがインスタンスの 再起動を試みる ④インスタンス ターミネイト完了

Slide 25

Slide 25 text

SEHA構成 – インスタンス障害からの復帰 Copyright © 2021, Oracle and/or its affiliates 25 Clusterware CSS Oracle インスタンス (再起動済み) Node1 ACTIVE Node2 PASSIVE CRS ⑥クラッシュリカバリ ⑦データベースオープン完了 ⑧サービススタート ⑨サービス登録 Clusterware CSS CRS

Slide 26

Slide 26 text

インス タンス インス タンス SCAN tnslsnr SEHA構成のインスタンス障害時の流れ 26 Node2 クラスタウェア Node1 インスタンス CRS smon CRS Node2 インスタンス Node1 クラスタウェア Copyright © 2021, Oracle and/or its affiliates ①kill smon ターミナルからSmon kill ②pmonがインスタンスを ターミネイト開始 ③CRSがリソースの 異常検知 ④インスタンスターミネイト完了 ⑨サービス登録 ⑧サービススタート ⑤CRSがインスタンスの 再起動を試みる ⑦データベースオープン完了 ⑥クラッシュリカバリ 約34秒 smon kill実行~サービススタートまで ※本検証環境での結果になります インス タンス SCAN tnslsnr インス タンス

Slide 27

Slide 27 text

SEHA構成 OS障害 27 Copyright © 2021, Oracle and/or its affiliates

Slide 28

Slide 28 text

SEHA構成 – 平常時 Copyright © 2021, Oracle and/or its affiliates 28 Clusterware Clusterware CSS CSS Oracle インスタンス (起動中) Node1とNode2のCSSが 常に相互通信を行っている Node1 ACTIVE Node2 PASSIVE CRS CRS

Slide 29

Slide 29 text

SEHA構成 – OS再起動コマンドによるOS障害発生 Copyright © 2021, Oracle and/or its affiliates 29 Clusterware Clusterware CSS CSS Oracle インスタンス (停止) Node1 ACTIVE Node2 PASSIVE CRS CRS OS 障害発生 ②Node1からHeartbeat 無し(miscount=30) ① echo b > /proc/sysrq-trigger ③Node2のCSSがNode1を クラスタから削除を決定

Slide 30

Slide 30 text

SEHA構成 – Node2へのフェイルオーバー Copyright © 2021, Oracle and/or its affiliates 30 Clusterware Clusterware CSS CSS Oracle インスタンス (停止) Oracle インスタンス (起動中) Node1 Node2 ACTIVE OS 障害発生 CRS CRS ④Node2のCSSが Node1をクラスタから削除 ⑤Node2のCRSが インスタンス起動試行

Slide 31

Slide 31 text

SEHA構成 – OS障害からの復帰 Copyright © 2021, Oracle and/or its affiliates 31 Clusterware Clusterware CSS CSS Oracle インスタンス (起動中) CRS CRS ⑥Node1のOS再起動 ⑧CSS同士が 相互通信できる状態に ⑨Node2のCSSがクラスタ再構成 Node1がクラスタ復帰 ⑦Node1のOSが クラスタウェアを再起動 Node1 PASSIVE Node2 ACTIVE

Slide 32

Slide 32 text

SEHA構成 – OS障害からの復帰 Copyright © 2021, Oracle and/or its affiliates 32 Clusterware Clusterware CSS CSS Oracle インスタンス (起動済み) CRS CRS ⑩クラッシュリカバリ 11 データベースオープン完了 12 サービススタート 13 サービス登録 Node1 PASSIVE Node2 ACTIVE

Slide 33

Slide 33 text

CSS CRS インス タンス 約57秒 OS再起動コマンド実行~サービススタートまで ※本検証環境での結果になります インス タンス インス タンス SCAN tnslsnr CRS CSS SEHA構成のOS障害時の流れ 33 Node2 クラスタウェア Node1 インスタンス Node2 インスタンス Node1 クラスタウェア Copyright © 2021, Oracle and/or its affiliates B-②Node1から Heartbeat無し (miscount=30) ① echo b > /proc/sysrq- trigger B-③Node2のCSSがNode1 をクラスタから削除を決定 B-④Node2のCSSが Node1をクラスタから削除 B-⑤Node2のCRSが インスタンス起動試行 B-⑥クラッシュリカバリ B- ⑧サービススタート B-⑨サービス登録 CSS CRS A-② OS・クラスタウェア 再起動 B- ⑦データベースオープン完了 A-③Node2のCSSがクラスタ再構成 Node1がクラスタ復帰 ①〜B-④ → 約27秒 (クラスタウェア再構成) B-⑤〜B-⑨→ 約30秒 (インスタンス障害と同じ動き)

Slide 34

Slide 34 text

SEHA障害検証のまとめ Copyright © 2021, Oracle and/or its affiliates 34 CRSによるインスタンス起動 インスタンス障害 検出~切り離し OS障害検出~切り離し 約4秒 約30秒 約27秒 smon CRS インス タンス CRS インス タンス SCAN tnslsnr CSS CRS インス タンス CSS • インスタンス障害時は、クラスタウェアが同一ノードで、インスタンス再起動を試みる • Active-Passive構成のため、OS障害の場合には、Passiveノードへフェイルオーバーが行われる • インスタンス障害時もOS障害時も、CRSによるインスタンス起動以降は同じ動作

Slide 35

Slide 35 text

Standard Edition High Availabilityまとめ • Oracle Grid Infrastructureを活用した、 シングルインスタンスStandard Edition Oracle Databaseのためのクラスタベースのフェイルオーバー を提供 • RACとほぼ同じ手順でActive-Passive構成可能 • ボリューム、ファイルシステムのリマウントを行わない ため迅速なフェイルオーバー時間を実現 35 Copyright © 2021, Oracle and/or its affiliates Node1 ACTIVE Oracle インスタンス Node2 PASSIVE ASM Clusterware tnslsnr Grid Infrastructure ASM Clusterware tnslsnr Grid Infrastructure

Slide 36

Slide 36 text

Copyright © 2021, Oracle and/or its affiliates 36 Q&A

Slide 37

Slide 37 text

SEHAに関するQ&A Copyright © 2021, Oracle and/or its affiliates 37 質問 回答 AutoUpgradeで12cSE2-RACから19c(19.7)SEHAに 構成変更できるのでしょうか? 構成変更はできません。 またSERACの既存のRACデータベースを19cSEにアップグレードするときは、 シングルデータベースに変更してからのアップグレードが必要です。 検証環境のスペック(OS・CPU/メモリ等)も提示頂くことは可能でしょう か? OSは、Linux x86-64のOracle VM環境 SUN FIRE X3-2L (CPU: インテルXeonプロセッサE5-2600 (2.0GHz) / 64GB RAM) これをVMごとに、10core / 16GB RAM を割り当て SEHAでのインスタンス障害でCRSによる自動起動も失敗するケース ではノード2へのフェイルオーバーが発生しますか? 最初の障害に関しては、同一ノードでインスタンス再起動を試みます。 2回目の障害の場合、 SEHAインスタンスは設定されている次の利用可能なノード にて再開されます。 RAC One Node とSEHAは似た構築の認識です。 どういった要件で構築し分ければよいのでしょうか? ライセンスとお客様の可用性要件によって使い分けをしてください。 RAC One Nodeの方がSEHAよりもダウンタイムを少なくできるオプションがあります。 -RAC One Nodeは平常時は1ノードだが、異常時にはノード同時立ち上げが可能、 SEHAは同時にインスタンスを起動させることは不可能です。 -RAC One Nodeの方がダウンタイムの少ないメンテナンスができるオプション(ローリ ングアップデート)があります。SEHAで利用不可能です。

Slide 38

Slide 38 text

No content