Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
20210427_SEHA概要.pdf
Search
oracle4engineer
PRO
May 06, 2021
Technology
6.9k
9
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
20210427_SEHA概要.pdf
oracle4engineer
PRO
May 06, 2021
More Decks by oracle4engineer
See All by oracle4engineer
OracleTechnologyNight101_Oracle_Backup_Recovery_Strategy_from_REDO_UNDO
oracle4engineer
PRO
1
360
Oracle Cloud Infrastructure:2026年7月度サービス・アップデート
oracle4engineer
PRO
1
370
Lakehouseの要!Open Table Format深掘り(OCHaCafe Season 11 #6)
oracle4engineer
PRO
1
89
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
110k
[JPOUG Tech Talk Night #16]1歩踏み込むSQLの結合方法
oracle4engineer
PRO
4
240
『モデル + ハーネス』で読み解く AIエージェント入門
oracle4engineer
PRO
2
280
Oracle Exadata Database Service on Cloud@Customer X11M (ExaDB-C@C) サービス概要
oracle4engineer
PRO
2
8.6k
Deep Data Security 機能解説
oracle4engineer
PRO
2
400
Oracle Cloud Infrastructure:2026年6月度サービス・アップデート
oracle4engineer
PRO
1
890
Other Decks in Technology
See All in Technology
20260807_第6回_関東kaggler会LT_claw系bot xangiと始める、"寂しくない" kaggle
sugupoko
0
190
AI駆動開発は個人技からチーム戦へ:組織でAIを使いこなすための実践設計
moongift
PRO
0
480
AWS ネットワーク構築でハマった(ハマりかけた) 5選とそこから得た教訓
nagisa53
4
190
FORENSIA: ローカルLLMフォレンジックハーネス
sumeshi
2
280
認知負荷をGemini で溶かす — GKE 基盤「Orbit」における AI エージェントの実践
sansantech
PRO
1
270
toio・myCobotでフィジカルAIっぽいことを行うための検討(とりあえず調査) / フィジカルAI LT(IoTLTによる開催)
you
PRO
0
300
モダンフロントエンド 開発研修
recruitengineers
PRO
3
560
Issue設計から始める仕様駆動開発 / 20260731 Mizuki Hirata
shift_evolve
PRO
1
150
Agent 時代の Kaggle 展望 / kaggle-in-the-agentic-era
upura
1
660
個人OSSが、机の上から世界に広がるまでの話
shinyasaita
1
370
AI時代の強いチームの作り方
yuukiyo
25
16k
Cursor Meetup Sapporo - Cursor物語 続編
cocacola917
0
140
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.3k
[SF Ruby Conf 2025] Rails X
palkan
2
1.2k
It's Worth the Effort
3n
188
29k
Tell your own story through comics
letsgokoyo
1
1k
Scaling GitHub
holman
464
140k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
230
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
610
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
460
Context Engineering - Making Every Token Count
addyosmani
9
1k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
440
Become a Pro
speakerdeck
PRO
31
6.2k
Transcript
Oracle Database 19c Standard Edition High Availability概要 2021年 4月27日 日本オラクル株式会社
森 勇貴 橋場 友李
Safe harbor statement 以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、 情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。以 下の事項は、マテリアルやコード、機能を提供することを確約するものではないため、購買 決定を行う際の判断材料になさらないで下さい。 オラクル製品に関して記載されている機能の開発、リリース、時期及び価格については、弊 社の裁量により決定され、変更される可能性があります。 Copyright
© 2021, Oracle and/or its affiliates 2
1. SEHAとは 2. SEHA構成について 3. SEHAの障害検証 Agenda 3 Copyright ©
2021, Oracle and/or its affiliates
1. SEHAとは 2. SEHA構成について 3. SEHAの障害検証 Agenda 4 Copyright ©
2021, Oracle and/or its affiliates
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
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
1. SEHAとは 2. SEHA構成について 3. SEHAの障害検証 Agenda 7 Copyright ©
2021, Oracle and/or its affiliates
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
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
• インストール後ではなく、インストール時にパッチを当てる • インストーラにパッチを当てる方法がある • -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
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.
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~
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
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
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
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 ログ・ファイル インスタンス
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 ログ・ファイル インスタンス
1. SEHAとは 2. SEHA構成について 3. SEHAの障害検証 Agenda 18 Copyright ©
2021, Oracle and/or its affiliates
今回検証方法 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
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
SEHA構成 インスタンス障害 21 Copyright © 2021, Oracle and/or its affiliates
SEHA構成 – SMONプロセスkillによるインスタンス障害発生 Copyright © 2021, Oracle and/or its affiliates
22 Clusterware CSS Oracle インスタンス (起動中) Node1 ACTIVE Node2 PASSIVE CRS smon インスタンス 障害発生 ①kill smon <pid> ターミナルからSmon kill Clusterware CSS CRS
SEHA構成 – インスタンスのターミネイト Copyright © 2021, Oracle and/or its affiliates
23 Clusterware Clusterware CSS CSS Oracle インスタンス (停止中) Node1 ACTIVE Node2 PASSIVE CRS CRS smon pmon インスタンス 障害発生 ①kill smon <pid> ターミナルからSmon kill ②pmonがインスタンスの ターミネイトを始める ③CRSがリソースの 異常検知
SEHA構成 – CRSによるインスタンスの再起動 Copyright © 2021, Oracle and/or its affiliates
24 Clusterware CSS Oracle インスタンス (停止済み) Node1 ACTIVE Node2 PASSIVE CRS インスタンス 障害発生 Clusterware CSS CRS ⑤CRSがインスタンスの 再起動を試みる ④インスタンス ターミネイト完了
SEHA構成 – インスタンス障害からの復帰 Copyright © 2021, Oracle and/or its affiliates
25 Clusterware CSS Oracle インスタンス (再起動済み) Node1 ACTIVE Node2 PASSIVE CRS ⑥クラッシュリカバリ ⑦データベースオープン完了 ⑧サービススタート ⑨サービス登録 Clusterware CSS CRS
インス タンス インス タンス SCAN tnslsnr SEHA構成のインスタンス障害時の流れ 26 Node2 クラスタウェア
Node1 インスタンス CRS smon CRS Node2 インスタンス Node1 クラスタウェア Copyright © 2021, Oracle and/or its affiliates ①kill smon <pid> ターミナルからSmon kill ②pmonがインスタンスを ターミネイト開始 ③CRSがリソースの 異常検知 ④インスタンスターミネイト完了 ⑨サービス登録 ⑧サービススタート ⑤CRSがインスタンスの 再起動を試みる ⑦データベースオープン完了 ⑥クラッシュリカバリ 約34秒 smon kill実行~サービススタートまで ※本検証環境での結果になります インス タンス SCAN tnslsnr インス タンス
SEHA構成 OS障害 27 Copyright © 2021, Oracle and/or its affiliates
SEHA構成 – 平常時 Copyright © 2021, Oracle and/or its affiliates
28 Clusterware Clusterware CSS CSS Oracle インスタンス (起動中) Node1とNode2のCSSが 常に相互通信を行っている Node1 ACTIVE Node2 PASSIVE CRS CRS
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を クラスタから削除を決定
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が インスタンス起動試行
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
SEHA構成 – OS障害からの復帰 Copyright © 2021, Oracle and/or its affiliates
32 Clusterware Clusterware CSS CSS Oracle インスタンス (起動済み) CRS CRS ⑩クラッシュリカバリ 11 データベースオープン完了 12 サービススタート 13 サービス登録 Node1 PASSIVE Node2 ACTIVE
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秒 (インスタンス障害と同じ動き)
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によるインスタンス起動以降は同じ動作
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
Copyright © 2021, Oracle and/or its affiliates 36 Q&A
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で利用不可能です。
None