株式会社コーソル

コーソルDatabaseエンジニアのブログ

技術ブログ

db tech showcase Tokyo 2019 Oracle SE2 強化セッション 発表骨子と資料の公開 #dbts2019

渡部です。 db tech showcase Tokyo 2019で、「SE-RACが廃止されても、まだまだ使える!3rd Party製品やカスタマイズで実現するOracle Standard Edition 2の強化と活用」というタイトルで、 Oracle Database Standard Edition 2を強化する3rd Party製品やカスタマイズの方法についてお話させていただきました。

会場に足を運んでいただいた皆様、ありがとうございました。

dbts19_orase2_001.png

とはいえ、遠隔地にお住まいの方など、現地での参加が難しい方もいらっしゃると思いますので、 セッションで使用したスライドから、いくつかを抜粋しながら簡単に内容をご紹介させていただきます。

Oracle Database Standard Edition(Oracle SE)とは : 機能/性能制限付きの低価格なOracle Database

Oracle Database Standard Editionとは、一言でいうと、 「機能および性能が制限されているが、大幅に価格が安いOracle Database」です。

従来は Oracle Database Standard Edition、 Oracle Database Standard Edition Oneが存在しましたが、 現在は Oracle Database Standard Edition 2のみが販売されています。

dbts19_orase2_009.png

具体的なOracle Database Standard Edition 2の制限は以下の通りです。 Oracle Database Enterprise Editionと比べると、性能面(CPU)および機能面で制限が課せられています。

dbts19_orase2_010.png

Oracle Database Standard Edition 2は Oracle Database Enterprise Editionに比べると圧倒的に低コストです。

dbts19_orase2_011.png

上記スライドは、Oracle Database Standard Edition 2と Oracle Database Enterprise Editionをコスト面で比較したもので、約1/11 という数字がでています。 参考のため、EDB Postgres Enterpriseとも比較していますが、Oracle Database Standard Edition 2の方が低コストです。

コスト比較における条件は以下の通りです。

  • CPU数2、CPUコア数8で計算した5年分の総コストの比較
  • 定価ベースで比較(値引きは考慮せず)
  • 更新時調整率は考慮せず

Oracle Database Standard Editionの現状 : SE2の導入、SE-RACの廃止など

すでにご存知な方もいらっしゃるでしょうが、近年 Oracle Database Standard Editionの位置づけを変えるような製品ラインアップの変更や、 機能の廃止・非推奨扱いなどが発表されています。

  • [12.1.0.2] Oracle Database Standard Edition 2の導入とOracle Database Standard Edition / Standard Edition Oneの廃止
  • [19c] SE-RACの廃止 / Oracle Database Standard Edition Real Application Clustersの廃止
  • [19c] Oracle Fail Safeの非推奨

これらについて以下のスライドを用いて説明しました。

dbts19_orase2_015.png dbts19_orase2_016.png dbts19_orase2_017.png dbts19_orase2_018.png

機能と代替ソリューション

繰り返しになりますが、 Oracle Database Standard Editionとは、 「機能および性能が制限されているが、大幅に価格が安いOracle Database」です。

逆に言えば、 機能面の不足をうまく補完することができれば、低コストでOracle Databaseを活用できる ことになります。 もちろん、Oracle Database Enterprise Editionが持つすべての機能を完全に代替できるわけではありませんが、 状況によってはコアとなる中心機能が代替できれば十分なケースも多いはずです。

弊社では、以下の代替ソリューションを提案しています。

dbts19_orase2_020.png

これらの代替ソリューションを使用することで、Oracle Database Enterprise EditionおよびEE専用の有償オプションおよびパックを使用した場合と比べて、 大幅にコストを削減することができます。

弊社の試算ですが、コストを約1/19に削減できます。

dbts19_orase2_021.png

コスト比較における条件は以下の通りです。

  • 高可用性構成 (RACまたはHA + DR構成)
  • CPU数2、CPUコア数8で計算した5年分の総コストの比較
  • 定価ベースで比較(値引きは考慮せず)
  • 更新時調整率は考慮せず

高可用性クラスタ : Oracle RAC の代替として・・・ → Active-Standby型HA

すでにご説明した通り、Oracle Database 19c以降はSE-RAC(Standared Edition RAC)が廃止されます。

SE-RAC(Standared Edition RAC)は、EEの有償オプションであるOracle Real Application Clusters (Oracle RAC) をStandard Editionで、かつ、別途有償オプションを購入する必要なく利用できたため、高可用性を求めるOracle Database Standared Editionユーザーにとても人気がありました。(詳細は → https://cosol.jp/techdb/2019/04/oracle-database-19c-se2-rac-will-no-longer-be-supported.html

Oracle RACは非常に高度で優れたソリューションであり、これを完全に代替するソリューションを用意することは現実的にほぼ不可能ですが、高可用性に限定すれば、いわゆるActive-Standby型HAクラスタを代替とできます。

dbts19_orase2_023.png

ノードの計画停止、計画外停止が発生した場合、Standby側のノードでデータベースのサービス継続を行うことで、高可用性を実現します。

クラスタを実装するにはクラスタソフトウェアが必要ですが、 Oracle Grid Infrastructure(Oracle GI)を使用できます。 Oracle Grid Infrastructureは無償使用可能で、 オラクル製品をクラスタ環境内で使用していればサポートを受けることもできます。

dbts19_orase2_024.png

また、待機系サーバでOracle Databaseを使用する場合、いわゆる「10日ルール」が適用され、 待機サーバーでのOracle製品稼働日数が年間10日以内であれば、 待機サーバーに対してはライセンスが不要です。

dbts19_orase2_025.png
  • 2023/6 追記: この発表の後、Oracle SEHAがリリースされています。このため、この発表で紹介している crsctl add resourceを使用する方法は不要になりました。

19c新機能 SEHA / GIベース シングルHA構成 – SE2-RAC廃止対応

拠点障害対策(Disaster Recovery): Oracle Data Guardの代替として・・・ Dbvisit Standby

拠点障害対策のため、遠隔地に待機系データベースを作成するために、 Oracle Database Enterprise EditionではOracle Data Guardを使用します。 Oracle Data Guardは、Oracle Database Standard Editionでは使用できませんが、 Dbvisit Standbyを代替とできます。

dbts19_orase2_028.png

Dbvisit Standbyは、いわゆる「基本スタンバイ」を自動化するソリューションで、一部の制限がありますが、Oracle Data Guardに相当する機能を実現できます。

Oracle Data GuardとDbvisit Standbyを比較したのが以下の表です。

dbts19_orase2_029.png

Dbvisit Standbyを用いた場合、障害発生時における更新処理のロストが発生することに注意してください。 とはいえ、アーカイブログファイルの出力間隔/リモートコピー間隔を短くすることでロスト量を軽減することが可能です。

レプリケーション: Oracle GoldenGateの代替として・・・→ SharePlex / Attunity Replicate

一部のデータの複製や、データベース移行の停止時間の極小化には、論理レプリケーション(ロジカル レプリケーション)製品を使用するのが一般的です。 オラクル製品として、Oracle GoldenGateがありますが一般に高価なため、弊社では以下の代替製品をおススメするケースが多いです。

  • SharePlex for Oracle
  • Attunity Replicate

論理レプリケーションは柔軟性があって便利なソフトウェアですが、その動作の仕組みからくる多くの落とし穴があります。 製品に習熟した会社に相談しながら、製品選定および導入を進めることを強くお勧めします。

dbts19_orase2_032.png

メール通知: Oracle Diagnostic Packの代替として・・・ → Oracle向けZabbix拡張

意外とご存知ない方が多いのですが、Oracle DatabaseではDiagnostic Packを購入しないと、 メール通知ができません。

dbts19_orase2_034.png

表領域の使用量がしきい値を超えた、セッション数がしきい値を越えたなどのケースで、 運用担当者に自動的にメールを送信したい状況はよくありますが、 Diagnostic Packを購入しないとこれができないのです。 これは、クリティカルなサーバの運用を考えると、かなり致命的な制限です。

この用途のためだけに、Diagnostic Packを購入するのはなかなか大変ですから、 何らかの3rd Party監視ツール/OSS監視ツールを導入するのが一般的です。 弊社のリモート監視サービスではOracle監視用Zabbixツールキットを独自に開発し導入しています。

dbts19_orase2_035.png

パフォーマンス分析: Oracle Diagnostic Packの代替として・・・ → MaxGauge / Performance Insight

Oracle Enteprise Manager Cloud Controlを使用すると、 管理Webコンソールのグラフィカルな画面でOracle Databaseのパフォーマンス分析を行えます。

オラクル純正の管理ソフトウェアということもあり、非常に多くのパフォーマンス分析機能が実装されています。 しかし、一刻一秒を争うトラブルの現場を考えると、機能の多さよりも重要な機能がより使いやすい形で整理されていることの方が何倍も役に立ちます。このため、実は弊社では、Diagnostic Pack、Tuning Packを持つ顧客に対しても3rd Partyのパフォーマンス分析製品を推奨しています。それぐらい、使い勝手に差があるということです。

よくおススメしている製品は以下の2つです。

dbts19_orase2_038.png

以下にMaxGaugeの画面を示します。個人的な感想ですが、画面設計がこなれていて、とても使いやすいです。

dbts19_orase2_039.png dbts19_orase2_040.png dbts19_orase2_041.png dbts19_orase2_042.png

各種レポートをExcel形式で出力することも可能です。

dbts19_orase2_043.png

SQLチューニング: Oracle Tuning Packの代替として・・・→ Toad for Oracle

最近はハードウェアの高性能化、Oracle Databaseの自動化などの影響で、SQLチューニングが必要となる状況は減っています。 しかし、SQLチューニングをせざるをえない状況は少なからず発生します。

しかし、手動でSQLチューニングをするには、高いスキルが必要です。そもそも、仕事を依頼可能な高いスキルを持ったOracle Databaseエンジニアを見つけることができるか?という問題もあります。( ここでご説明した通り、エンジニア不足は深刻な問題です・・・)

これらを踏まえるとツールでSQLチューニングをすることが有用という判断に至りますが、コストが問題となってきます。 また、オラクル純正のOracle Tuning Packは、そもそもEnterprise Editionでしか使用できません。

dbts19_orase2_045.png

最近弊社でオススメしている製品は、クエストソフトウェア社のToad for Oracleです。 SQL Optimizer for Oracleと呼ばれる機能があり、自動的にSQLチューニングを実行できます。

dbts19_orase2_046.png dbts19_orase2_047.png

透過型データ暗号化: Oracle Advanced Security Optionの代替として・・・→ D'amo

規定などの関係でデータの暗号化が求められるケースが増えてきています。 しかし、オラクル純正の有償オプションOracle Advanced SecurityはOracle Database Enterprise Editionでしか使用できません。

Oracle Database Standard Editionで透過型データ暗号化を実現したい場合にオススメしている製品は D'amo - ペンタセキュリティシステムズ株式会社 です。

dbts19_orase2_049.png

D'amoは、ビューと独自のストアドスクリプトを使用した 若干独特なアーキテクチャで透過型暗号化を実現します。動作イメージは以下のスライドをご覧ください。

dbts19_orase2_050.png dbts19_orase2_051.png

データ伏字化: Oracle Advanced Security Optionの代替として・・・→ Aegis Wall - NHN JAPAN株式会社

Oracle Advanced Security Optionには、データ伏字化の機能もあります。

Oracle Database Standard Editionでデータ伏字化を実現したい場合にオススメしている製品は Aegis Wall - NHN JAPAN株式会社 です。

dbts19_orase2_055.png dbts19_orase2_056.png

特権ユーザー管理: Oracle Database Vaultの代替として・・・→ Aegis Wall - NHN JAPAN株式会社

特権ユーザー管理は、大きな権限を持つ管理者ユーザーによる不正行為を防止する仕組みです。 内部犯行を防ぐためには、特権ユーザー管理が重要です。

犯人は外部の業者から派遣されて同社のデータベースシステム管理を担当し、顧客情報にアクセスする権限があった。

dbts19_orase2_058.png dbts19_orase2_059.png

Oracle EEではDatabase Vaultを導入することで上記問題の多くを解決可能ですが、 Oracle SE2ではDatabase Vaultを使用できません。

Oracle SE2で特権ユーザー管理を行いたい場合にオススメしている製品は、さきほどもご紹介した Aegis Wall - NHN JAPAN株式会社 です。

dbts19_orase2_060.png

発表資料

発表資料は以下のURLからダウンロードできます。実際の発表時とほとんど同じですが、若干修正を加えています。

[補足] コーソルの取扱いソフトウェア製品およびサービスについて

プロフィール

On7tWW6m1Ul4

渡部 亮太

・Oracle ACE
・AWS Certified Solutions Architect - Associate
・ORACLE MASTER Platinum Oracle Database 11g, 12c 他多数

カテゴリー

アーカイブ