特集:VBでOracle Database開発入門(前編)

.NETによるOracle Database開発とは?

初音 玲
2008/11/11
2008/11/11 更新
Page1 Page2 Page3

Oracle Databaseの歴史と最新のOracle 11gとは

Oracle Database 30年の歩み

 Oracle Databaseの歩みは、1978年のOracle Version 1から始まる。その後のバージョンの進化を時系列で以下の表にまとめた。

提供時期 製品
1978年 Oracel Version 1 for PDP-11
1979年 Oracle Version 2
1983年 Oracle Version 3
1984年 Oracle Version 4
1985年 Oracle Version 5
1988年 Oracle Version 6
1992年 Oracle 7
1994年 Oracle 7 Server R7.1
1995年 Oracle 7 Server R7.2
1996年 Oracle 7 Server R7.3
1997年 Oracle 8 Database
1999年 Oracle 8i Database
2001年 Oracle 9i Database
2002年 Oracle 9i Database R9.2
2003年 Oracle Database 10g R10.1
2005年 Oracle Database 10g R10.2
2007年 Oracle Database 11g R11.1
表 Oracle Database 30年の歩み

 当初はUNIXなどのサポートのみでWindows上では稼働しなかったが、1992年のOracle 7以降はWindows版も提供されている。なお、そのような経緯からか現在でもサーバ・コンポーネントについてはUNIX/Linux版の提供からWindows版提供まで多少のタイムラグがあるが、最近のバージョンではそのタイムラグも短期間になってきている。また、クライアント・コンポーネントについては、UNIX/Linx版環境のサーバ・コンポーネントと同時に、Windows版のクライアント・コンポーネントが提供されるようになっている。

Oracle Databaseのエディション

 Oracle DatabaseのエディションとSQL Serverのエディションは、お互いを意識し合っているためか非常に似ている。次の表は両者のエディションを比較したものだ。

Oracle Database 11g Release 1 11.1 SQL Server 2008
Express Edition:
 未提供
Express Edition:
 最大CPU = 1
 最大メモリ = 1GB(File = 4GB)
Standard Edition One(SE RAC不可):
 最大CPU = 2ソケット
 最大メモリ = 無制限
Workgroup Edition:
 最大CPU = 2
 最大メモリ = 無制限(x64は4GB)
Standard Edition(SE RAC標準添付):
 最大CPU = 4ソケット
 最大メモリ = 無制限
Standard Edition:
 最大CPU = 4
 最大メモリ = 無制限
Enterprise Edition:
 最大CPU = 無制限
 最大メモリ = 無制限
Enterprise Edition:
 最大CPU = 無制限
 最大メモリ = 無制限
表 Oracle Databaseのエディション

 以下ではそれぞれのエディションについて詳しく説明していこう。

Express Edition(以下、XE)

 残念ながら、最新のOracle Database XEはバージョン「10g Release 2」(2008年10月現在)で、バージョン「11g Release 1」のXEは提供されていない。バージョン「11g Release 1」以外のエディションについてはSQL Serverと同じエディションがそろっている。

Standard Edition One(以下、SE One)

 SE Oneは、サポート契約が結べるOracle Databaseの最安価エディションだ。データベース・エンジンのコア部分はEnterprise Editionと同一であるので、もし、Enterprise Editionでの運用面での拡張機能や有償オプションが不要なのであれば、最もコスト・パフォーマンスが良いエディションだろう。主に部門サーバなどの用途に適している。

Standard Edition(以下、SE)

 SEには、“SE RAC”と呼ばれるEnterprise Editionの「RAC:Real Application Cluster Option」相当の機能が標準搭載されている。(下位エディションの)SE Oneには搭載されておらず、後から追加もできないことを考えると、SE RACを使うのであれば、Oracle Databaseのエディションの中で最もコスト・パフォーマンスが良いエディションがこのSEといえるだろう。

図4 Oracle Real Application Cluster
Oracle Databaseでは「HA(High Availability)Cluster」と「RAC」の2種類のクラスタ構成が用意されており、これらを利用することで可用性を向上できる。いずれの構成も、1つのデータベースが複数のサーバからの処理を受け付ける。両者の違いは、HA Cluster構成が1台のサーバが稼動し、ほかは待機しているするのに対し、RAC構成では常に複数のサーバが稼働している。従って障害発生時に、HA Cluster構成では待機中のサーバをアクティブにする必要があるが、RAC構成であれば即座に切り替えられる。

 例えば、Core 2 Duoを1台搭載したWindows ServerまたはLinux Serverを2台、共有ディスク装置を1台という構成であれば、性能面でも対障害性の面でもコスト・パフォーマンスの良いデータベースが構築できる(2台まで接続可能な共有ディスク装置は、3台以上接続可能なものよりも比較的価格が安い)。例えば、基幹側はEnterprise Edition、インターネット側への情報提供はSE RACという構成もお勧めだ。

Enterprise Edition(以下、EE)

 EEは、Oracle Databaseの最上位エディションで、豊富な運用管理機能および、パーティショニング・オプションなどの有償オプションが使用できる。Oracle Databaseでうたわれているすべての機能を利用可能だが、ある程度の規模のシステムでなければ必要ない機能も有しているため、SEとの機能比較を十分に行い、その差異の部分が本当に必要かを吟味する必要がある(参考:「Standard EditionとEnterprise Editionとの比較」)。

Oracle Databaseの価格

 Oracle Databaseの価格は、2003年以降はOracle Price 2003という価格体系に統一されており、販売中のバージョンであれば、どのバージョンでも(同じエディションであれば)同一価格で入手できる。

 Oracle Price 2003には大きく分けて、搭載しているCPUソケット数(EEのみコア数×係数)で価格が決まるProcessor Licenseと、使用するユーザー数で価格が決まるNamed User Plus Licenseがある。

Processor License

 各種エディションごとのProcessor Licenseによる価格は次の図のようになっている。

図5 Oracle Price 2003(Processor License)

 Processor Licenseを購入すれば、使用するユーザー数には左右されず価格が決まるため、例えば比較的使用ユーザー数が多い場合や、Webアプリケーションをインターネットに公開しているときのバックエンド・データベースとしてOracle Databaseを選択したいときなどに購入するといいだろう。

 このとき1点だけ注意したいのは、ほかのEditionは物理CPU数が基準になっているが、EEだけは物理コア数が基準になっている点だ。しかも、WindowsやLinuxが稼働するAMD/Intel系のCPUの場合は、物理コア総数×0.5としてカウント(つまりCore 2 Duoの場合は1)することも含め注意してほしい。

Named User Plus License

 各種エディションごとのNamed User Plus Licenseによる価格は次の図のとおり。

図6 Oracle Price 2003(Named User Plus License)

 Named User Plus Licenseは、使用するユーザー数に応じて価格が決まるため、少人数で利用するときはProcesser Licenseよりも価格が抑えられるという利点がある。1つの目安としては、SE Oneであれば1CPUあたり33人以下、SEやEEであれば1CPUあたり50人以下で、Named User Plus Licenseの方が価格を抑えられる。

Oracle Databaseの管理ツール

 Oracle Databaseでは、管理ツールは次のような画面のWebアプリケーションとして提供されている。

図7 Oracle Databaseの管理ツール

 2001年に登場した9iより前のバージョンであれば、Oracle Databaseを管理するには、コマンドライン・ツールの「SQL*Plus」を起動して、管理テーブルに対するさまざまなSQL文を発行する必要があった。そのため、どの管理項目がどの管理テーブルにあるのか、それを操作ためのSQL文はどのように記述するのか、といったノウハウが必要であり、Oracle Databaseの管理を行うためには、長年の経験と勘が必要であった。

 しかし、Oracle 9i Databaseから実装されたWebベースのOracle Enterprise Manager Consoleは、Oracle Databaseの管理業務をGUI化し、また、オラクル社のコンサル部隊が長年培ってきたノウハウに基づいた分析すらも画面上をクリックしていくだけで実現できるものになっている。

Oracle Database 11g R1の注目機能

 最近のOracle Databaseは、運用面の機能強化にも余念がない。Oracle Database 11gで注目すべき運用機能の1つが、障害診断インフラストラクチャのサポート・ワークベンチ(Support Workbench)だ。次の図はそのサポート・ワークベンチのワークフローだ。

図8 サポート・ワークベンチのワークフロー
ADR(Automatic Diagnostic Repository)は、診断データを格納するためのリポジトリ。

 サポート・ワークベンチの詳しい説明は本稿の趣旨から外れるので割愛するが、その特徴を以下にまとめておく。

  • ヘルス・チェックを使用してDBA(Database Administrator)に警告し、小さな問題に事前に対処することで壊滅的なシステム障害を防ぐ
  • Data Recovery Advisorを使用して、データ問題発生時の破損障害を表示し、破損の程度と影響を査定して、修復オプションを推奨する
  • ADR(Automatic Diagnostic Repository)およびテスト・ケース・ビルダを使用して、問題の診断所要時間を削減する
  • IPS(Incident Packaging Services)およびOracle Configuration Support Managerを使用して、ユーザーとOracleサポートのやりとりを簡素化する

 以上がOracle Database製品についての概要と、最新版の特徴である。次にOracle Databaseにおけるデータベース開発について紹介する。


 INDEX
  [特集]VBでOracle Database開発入門(前編)
  .NETによるOracle Database開発とは?
    1..NETで、なぜデータベースが必要なのか?
  2.Oracle Databaseの歴史と最新のOracle 11gとは
    3.Oracleデータベース開発のテクノロジ
 
  [特集]VBでOracle Database開発入門(後編)
  SQL Server開発者のためのOracle DB入門
    1.SQL Server開発者から見たOracle Databaseの特徴
    2.Oracle DatabaseとSQL Serverのコードの主な違い
    3.VB6×Oracleから.NET×Oracle 11g移行のポイント

更新履歴
【2008/11/11】本記事の一部に以下のような誤りがありました。お詫びして訂正させていただきます。

●表 Oracle Databaseのエディション
「SQL Server」列の「Workgroup Edition:」の「最大メモリ」が「3GB」となっていました。
「最大メモリ = 無制限(x64は4GB) 」に修正しました。


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)
- PR -

注目のテーマ

業務アプリInsider 記事ランキング

本日 月間
ソリューションFLASH