特集:VBでOracle Database開発入門(前編).NETによるOracle Database開発とは?初音 玲2008/11/11 2008/11/11 更新 |
|
|
■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のエディション |
以下ではそれぞれのエディションについて詳しく説明していこう。
残念ながら、最新の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移行のポイント | ||
更新履歴 | |||||
|
- 第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用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|
- - PR -