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
7k
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
Oracle AI Databaseデータベース・サービス: BaseDB/ExaDB-Dの可用性
oracle4engineer
PRO
1
950
もうプロンプトは書かない!? ループエンジニアリング入門
oracle4engineer
PRO
1
280
[ OracleTechnologyNight#102]SQL性能改善の武器としてのパラレル実行詳細
oracle4engineer
PRO
1
150
OracleTechnologyNight101_Oracle_Backup_Recovery_Strategy_from_REDO_UNDO
oracle4engineer
PRO
1
500
Oracle Cloud Infrastructure:2026年7月度サービス・アップデート
oracle4engineer
PRO
1
710
Lakehouseの要!Open Table Format深掘り(OCHaCafe Season 11 #6)
oracle4engineer
PRO
2
150
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
110k
[JPOUG Tech Talk Night #16]1歩踏み込むSQLの結合方法
oracle4engineer
PRO
4
350
『モデル + ハーネス』で読み解く AIエージェント入門
oracle4engineer
PRO
2
380
Other Decks in Technology
See All in Technology
Windows の互換機能 - 古いプログラムはなぜ動作できるのか
murachiakira
PRO
0
120
Distributed Transactions Under Fire: Building a Zero-Oversell Flash Sale Platform with Amazon Aurora DSQL
yama3133
0
100
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
4
24k
Kiro Crew で始める マルチエージェント開発
miu_crescent
PRO
0
200
本番に近いテストをもっと手軽に - Postmanで広がるAPIテストの世界 / Expanding the World of API Testing with Postman
yokawasa
1
130
『自分で判断できるか』を基準に、プロダクトのハンズオン研修でAI利用の線を引いてみた / Where We Drew the Line on AI in Hands-on Training
honyanya
0
430
AI時代のデータ基盤を考える問い
pacocat
0
740
分割40%キーボードにスムーズに入門するには
hoto17296
1
180
IHV like なユースケースへのOpenID Connect 関連仕様の適用事例
optim
0
350
ブラウザで変わるID連携(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
350
どんな手を使っても絶対間に合わせるスケジューラ
asari194617
0
1.5k
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3.2k
Featured
See All Featured
Building the Perfect Custom Keyboard
takai
2
850
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Scaling GitHub
holman
464
140k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
420
Agile that works and the tools we love
rasmusluckow
331
22k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Statistics for Hackers
jakevdp
799
230k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
480
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.8k
Optimising Largest Contentful Paint
csswizardry
37
3.9k
Building an army of robots
kneath
306
46k
Testing 201, or: Great Expectations
jmmastey
46
8.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