Post on 19-Mar-2018
[ C-3 ]Oracle8i On Windows徹底活用
Agenda
?Windowsとの親和性
?Oracle8i 徹底活用– 「クラスタ」
– 「パーティショニング」
– 「ビットマップ・インデックス」
?Oracle8i for Windows NT/2000 R8.1.7– Oracle HTTP Server– Oracle interMedia– Oracle Workflow
Windowsとの親和性
Oracle8i for Windows製品ラインアップ
Oracle8i Lite
Oracle8iPersonal Edition
Oracle8iWorkgroup Server
Oracle8iEnterprise Edition
• モバイルアプリケーション
• スタンドアロン開発• パーソナル
アプリケーション
• 部門レベルのシステム
• 企業レベルのシステム
? Windows 95/98/NT/2000? Windows CE? Palm
? Windows 98? Windows NT4.0? Windows 2000
? Windows NT 4.0? Windows 2000
? Windows NT 4.0? Windows 2000
ハイ・パフォーマンスミッション・クリティカル
コスト・パフォーマンス
モビリティ
プロダクティビティ
Oracle8i Enterprise Edition R8.1.6 2000/4 Windows 2000
Oracle8i Enterprise Edition R8.1.5 1999/7
Oracle Fail Safe 1998/1
Oracle8 Enterprise Edition R8.0 1997/9 NT 4.0 EE
Oracle Parallel Server Option 1997/7
Oracle7 Server R7.3 1996/12 NT 4.0 (1996/12)
Oracle7 Server R7.2 1996/1 NT 3.51 (1996/1)
Oracle7 Server R7.1 1995/5 NT 3.5 (1994/12)
Oracle7 Server R7.0 1994/6 NT 3.1 (1993/末)
(2000/2)
(1997/11)
タイムリーな製品出荷
Oracle for NT 主な特徴
?NT固有の内部アーキテクチャ– スレッド・モデル– NTサービス対応
?APインターフェースの提供– ODBC、OO4O、COM Automation、OLE DB Provider
?トランザクション・サービス対応
?クラスタ・サービス対応?管理ツールへの統合
(パフォーマンス・モニタ、イベント・ビューア、MMC)
COMインターフェースへの完全対応COMインターフェースへの完全対応Visual BasicVisual BasicApplicationsApplications
Oracle Objects Oracle Objects for OLEfor OLE
OCI C libraryOCI C library
MS OfficeMS OfficeApplicationsApplications
COM/DCOM
ADOADO
Oracle (or 3rd Party) OLE DBOracle (or 3rd Party) OLE DB
C/C++C/C++ApplicationsApplications
OLE DB/ODBCOLE DB/ODBCBridgeBridge
Net8
COM AutomationCOM AutomationFeatureFeature
Oracle
MTS対応
?Oracle Services for Microsoft Transaction Server– MSDTCにOracleデータベースを統合
– OLEトランザクションをOracleトランザクションにマップ
MTS/COM+MTS/COM+
OraMTS OraMTS インテグレーション・レイアインテグレーション・レイア
RM RM プロキシ・キャッシュプロキシ・キャッシュ
OraMTS OraMTS リカバリ・デーモンリカバリ・デーモン OraMTS OraMTS リカバリリカバリJobJob
管理コンソールの統合?Oracle Administration Assistant
– Windows NTプラットフォームに特化した管理タスクを実行?NTユーザー(データベース管理者、オペレータ)の管理?Oracleサービスの設定?Oracleスレッドの管理?Oracle_Homeの管理
Windows 2000 対応
最大CPU
最大メモリ
クラスタノード
最大最大CPUCPU
最大メモリ最大メモリ
クラスタノードクラスタノード
222222 888444
ProfessionalProfessional ServerServer AdvancedAdvancedServerServer
DatacenterDatacenterServerServer
4G44GG4G44GG 64G6464GG8G88GG
------------ 444222
?Oracle8i R8.1.6からWindows2000に対応
?Windows 2000の新機能にも対応– Enterprise Memory Architecture – Active Directory– Terminal Service– Microsoft Cluster Service
?オンメモリ・データベースによる、究極のパフオーマンス?Windows環境での大規模ユーザ、大規模データ環境を実現
– Windows 2000とIntel Xeonプロセッサの組合せで実現される拡張アドレッシング機構に対応
– Advanced Serverでは最大8GB、Datacenter Serverでは最大64GBまでの物理メモリが利用可能(R8.1.6ですでに対応済み)
VLM を実現するIntel PSE36、PAE36(AWE)のサポート
1GB
SGA(DB Bufferを除く)
Oracle8i カーネル
拡張メモリ・アクセス用領域
OS使用領域
4GB
DB Buffer
最大64GB
パフォーマンステスト結果?300万件のシンプルテーブル
1.フルテーブルスキャン 2.インデックス作成 3.SUM演算4.1000件テーブルとのジョイン 5.新規テーブルへのインサート
0
50
100
150
200
250
1 2 3 4 5
8GB4GB
Sec
Active Directory との統合
?Active Directoryとは?– Windows 2000が提供するLDAP準拠のディレクトリ・
サービス
?Oracle8iのActive Directoryサポート– 外部ユーザ認証機能
– ディレクトリ・サービス対応機能?Net8 ディレクトリ・ネーミング機能?Enterprise User Security機能(次バージョンでサポート予
定)
外部ユーザ認証機能
?OSユーザでのシングル・サインオン
?OSユーザとデータベース・ユーザは1対1で対応?外部OSユーザの登録はOracle Administration
Assistant for Windows NT を使用
Active Directoryドメイン
Oracle Administration Assistant外部OSユーザの登録
Active Directory
TNSNAMES.ORA
Net8 ディレクトリ・ネーミング機能
?Net8が使用するデータベース・サービスとネット・サービスの名前をActive Directoryに格納
– Database Configuration Assistant を使用してインスタンスを登録
– Net8 Configuration Assistant を使用して接続情報の登録
?Net8クライアントは自動的にADから必要な接続情報を取得
Salesデータベースは何処 ?
ホスト名, プロトコル, ポート番号, インスタンス名, etc... Active Directory
Sales
Net8 ディレクトリ・ネーミング機能
Enterprise User Security機能
?SSL(Secure Socket Layer)プロトコルを使用したX.509厳密認証(User Certificate and Digital Signature暗号化)により、セキュアなシングル・サインオンを実現
?データベースやスキーマに依存しないグローバルなユーザー管理?ユーザとロールの情報はActive Directoryで管理
?Oracle Advanced Securityオプションが必要
Active Directory
Net8/SSL
Oracle EnterpriseSecurity Manager
ユーザ/ロール情報
ユーザ/ロール情報の登録と管理
W
W W
W
各サイトで必要なデジタル証明書はOracle Wallet Managerで取得と管理を行う。
Enterprise User Security機能
Terminal Serviceサポート
Windows 2000 Terminal Service
Oracle8Oracle8iiObjects for OLEOracle ODBC
Pro*C/C++
アプリケーション・プログラム
OK CancelOK Cancel
OK CancelOK Cancel
クライアントはユーザーインターフェース
のみを受信して表示
Terminal Serviceクライアント
ローカル接続
?インスタントなAPサーバー・ソリューション
?既存資産の有効活用
?管理性の良い、シンプルなシステムでTCOを削減
?Citrix Metaframeにより大規模システムにも対応
※ Citrix Metaframe環境のサポートは、Terminal Serviceとの互換性が前提条件となります。
Cluster
運用系 待機系
Oracle Fail Safe
?Microsoft Cluster Server(クラスタ・サービス)対応– 2ノード・クラスタ(Windows 2000 Advanced Server対応)– 4ノード・クラスタ(Windows 2000 Datacenter Server対応)– Cold Failover
? Enterprise Edition 、Workgroup Server の両方で使用可能な無償オプション
?Windows NT 4.0 Enterprise Edition にも対応
クライアントクライアント
ノードノードAA
共有ディスク(共有ディスク(NTFSNTFS))
ノードノードBB
LANLAN
ハートビートハートビート
DB-A
DBMS-A
Oracle Fail Safe(Active/Passive)-1
Oracle Fail Safe(Active/Passive)-2
クライアントクライアント
ノードノードAA
共有ディスク(共有ディスク(NTFSNTFS))
ノードノードBB
LANLAN
ハートビートハートビート
DB-A
DBMS-A
共有ディスク(共有ディスク(NTFSNTFS))
Oracle Fail Safe(Active/Passive)-3
クライアントクライアント
ノードノードAA
共有ディスク(共有ディスク(NTFSNTFS))
ノードノードBB
LANLAN
ハートビートハートビート
DB-A
DBMS-A
クライアントクライアント
ノードノードAA ノードノードBB
LANLAN
ハートビートハートビート
DB-A
DB-B
DBMS-A DBMS-B
共有ディスク(共有ディスク(NTFSNTFS))
同一ディスク上のデータベースを、両方のノードから同時に使用する事はできない。
Oracle Fail Safe(Active/Active)-1
クライアントクライアント
ノードノードAA ノードノードBB
LANLAN
ハートビートハートビート
DB-A
DB-B
DBMS-B
共有ディスク(共有ディスク(NTFSNTFS))
DBMS-A
Oracle Fail Safe(Active/Active)-2
クライアントクライアント
ノードノードAA ノードノードBB
LANLAN
ハートビートハートビート
DB-A
DB-B
DBMS-A
DBMS-B
共有ディスク(共有ディスク(NTFSNTFS))
Oracle Fail Safe(Active/Active)-3
Oracle Parallel Server
?可用性とスケーラビリティの両方を提供するOracleのクラスタ・テクノロジー
– 1つのデータベースを複数のノードより実行– 1つのインスタンスがダウンしても、他のインスタンスにてサービ
スを継続 (Warm/Hot Failover)– Oracle Parallel Serverのノードを追加することにより、容易に
パフォーマンスアップが可能。 理論上ノード数に制限無し!!
LANLAN
クライアントクライアント
DBMS-ADBMS-ADBMS-A DBMS-A
DBの再構築をせずにノードを拡張可能
クライアントの処理を動的に負荷分散
投資に見合うスケーラビリティ
DB-A
DB-B
DBMS-BDBMS-BDBMS-B DBMS-B
マルチ・インスタンス
Oracle Parallel Server動的負荷分散+可用性+拡張性
Partitioning
MAR_ORDERS
JAN_ORDERS
FEB_ORDERS
Q1_ORDERS
01-JAN-99to
31-JAN-99
01-MAR-99to
31-MAR-99
01-FEB-99to
28-FEB-99
? テーブルを指定されたキーでパーティションに分割
? パーティション単位での領域指定
? 問合せの条件に応じて、必要なパーティションのみにアクセス
? アプリケーションに対して透過的
パーティション・キー
パーティション・キー範囲
パーティショニング機能~レンジ・パーティショニング ~
他社製RDBMSパーティショニング・ビュー
MAR_ORDERSJAN_ORDERS FEB_ORDERS
Q1_ORDERS
SelectSelect
Update / Delete / InsertUpdate / Delete / Insert
Oracle RDBMSリアル・パーティショニング
MAR_ORDERSJAN_ORDERS FEB_ORDERS
Q1_ORDERS
Select / Update / Delete / InsertSelect / Update / Delete / Insert
Oracle8i リアル・パーティショニング
Q1 Q2 Q3 Q4
H1H4
H8
…
…
Q1
Q2
Q3
Q4
H1 H4 H8… …
? ハッシュ・パーティショニングは、データを均等に(ディスクに)分散
– パラレル処理特性– データ・ストライピングが容易
? コンポジット・パーティショニングは、レンジとハッシュの組み合わせ
– レンジ・パーティショニングの管理性と利便性
– ハッシュ・パーティショニングのパラレル処理特性
レンジ・パーティション
(ORDER)
ハッシュ・パーティション
(PRODUCTS)
コンポジット・パーティション
(ORDER ITEM)
パーティショニング機能~パーティション・テーブルによる運用・管理・高可用性 ~
ロード/索引作成再編成
ORDERORDER表表
問合せ問合せ
オンライン方式の高速メンテナンス
11月月 22月月 33月月 44月月
メンテナンス中メンテナンス中アクセス可能アクセス可能 アクセス可能アクセス可能 アクセス可能アクセス可能
注文テーブル
...
製品テーブル注文テーブルと製品注文テーブルと製品テーブルをハッシュ・テーブルをハッシュ・キーでジョインするクキーでジョインするクエリが効率良く実行エリが効率良く実行されるされる
パーティショニング機能の強化~パーティション・ワイズ・ジョイン~
88つのパーティションにつのパーティションにハッシュで分割されたハッシュで分割されたテーブルテーブル
44つのパーティションにつのパーティションにレンジで分割された後レンジで分割された後にに88つのパーティションつのパーティションにハッシュで分割されにハッシュで分割されたテーブルたテーブル
? 更新処理もパラレル実行– INSERT..SELECT– UPDATE – DELETE– CREATE..SELECT
? マルチCPUのリソースを最大限に利用
? バッチ処理の高速化– サマリー表の追加・更新
– 履歴データの追加・更新
SMPマシン
挿入-更新-削除-問合せ
CPU
CCPPUU
CPU
CCPPUU
CPU
CCPPUU
CPU
CCPPUU
CPU
CCPPUU
CPU
CCPPUU
CPU
CCPPUU
CPU
CCPPUU
SQL
パラレルDML
Bitmap Index
ビットマップ・インデックス
Color<Blue, 1000100100010010100>
CREATE BITMAP INDEX prod_color ON prod(color);
<Green, 0001010000100100000><Red, 0100000011000001001>
<Yellow, 0010001000001000010>
? データ値をビットマップで表現したインデックス? クエリー内の条件式(ANDやORなどの論理演算)を高速実行? I/Oの減少による性能の加速的な増大
? 既存のハードウェアの画期的な性能? ローエンド・プラットフォームでの並外れた価格性能比? アプリケーションとSQLの透過性
パフォーマンス
世代 (テクノロジ)
LowLow
00
HighHigh
11 22 33
Star IndexSpecialty Vendors
Star IndexStar IndexSpecialty Specialty VendorsVendors
Parallel Bitmap
Star JoinOracle8i
Parallel Parallel Bitmap Bitmap
Star JoinStar JoinOracle8Oracle8ii
NothingSQL Server
6.5
NothingNothingSQL Server SQL Server
6.56.5
Star AwareOracle7
SQL Server 7.0
Star AwareStar AwareOracle7Oracle7
SQL Server SQL Server 7.07.0
パラレル・ビットマップ・スタージョイン
?ビットマップ・インデックスを利用した次世代のスタークエリー
?既存スタークエリーの欠点をカバー
?複雑なスター・スキーマにも有効– 複数のFact表– 多数のDimension表
– 大きなDimension表
?Ad-hocなクエリーに柔軟に対応
?パラレル処理
スター・クエリーでの問題顧客テーブル
Oracle8iNow on Sale!!
店舗テーブル
商品テーブル
20件
30歳Key
1件
ハンディーソミー
Key
東西チェーン
5件
Key
売上データ
インデックス検索
2000万件
0
10
2030
4050
6070
80
90
1月 2月 3月 4月
東京名古屋大阪
結果グラフ
20 × 1 × 5 = 100通り
直積
100件
30件
200件
200 X 30 X 100= 600000通り
直積が大きくなる場合のケースで問題
Oracle8ifor Windows NT/2000
R8.1.7
Oracle8i for Windows NT/2000 R8.1.7?製品ポジション
– メンテナンス・リリース– Oracle8i (R8.1) の最終バージョン
?主な新機能– Java Servlets Engine– Oracle HTTP Server– Oracle interMedia– Oracle Workflow (Enterprise Edition)– 4Node-Cluster (Oracle Fail Safe R3.1)
Oracle8i JVM
CORBAObjects
EnterpriseJavaBeans
Java StoredProcedures
データベースクライアント
ビジネスロジック
CORBAクライアント
Java クライアント
ビジネスコンポーネント
ORB統合アプリケーション
Java Servlets
Webブラウザ
ダイナミックWeb Pages
Java Servlets Engineの提供
Oracle HTTP ServerOracle HTTP Server
mod_osemod_ose ServletsServlets
mod_plsqlmod_plsql PL/SQLPL/SQL
URL
HTML
HTMLHTMLファイルファイル
URL
HTML
URL
HTMLWebブラウザ
Webサーバーを標準搭載
?Oracle HTTP Server powered by Apache?プラグイン・モジュールによりDBデータを利用した
動的HTMLの作成が可能
Oracle interMediaを標準装備
Oracle8iOracle8Oracle8 ii
リレーショナル・データ
ドキュメントドキュメント
位置情報位置情報
テキストテキスト イメージイメージ
オーディオオーディオ
ビデオビデオ
interMediainterinterMediaMedia
あらゆるデータの一元管理が可能
interMedia - Modules
? Oracle interMediaは以下の5つのコンポーネントより構成されます:
?Oracle interMedia Text?Oracle interMedia Image.?Oracle interMedia Audio?Oracle interMedia Video?Oracle interMedia Locator
interMedia Text
?データベースとの統合– SQL API の開発が容易
– すべてをDB内に置くことで管理を容易にする
– テキストとリレーショナルデータの混在した検索– 信頼性、可用性、Security
?先進の検索技術– あいまい検索、多様な検索機能のサポート
?開発の容易さ– 1つの programming interfaceでの開発
– 従来の SQL or PL/SQL 開発ツールで開発可能
interMedia Text
?INSO フィルタ– 100以上のドキュメントフォーマット
(Word,Excel,Powerpoint, 一太郎 etc.)のサポート
– それぞれのフォーマットのドキュメントをIndex付け
?ドキュメントサービス– ドキュメントフォーマットをHTML変換してWebで表示
– Web上でキーワードのハイライティング
?ドキュメントの格納– DBのBLOB、OS FileもしくはURLに格納
?多様な言語に対応
interMedia Image, Audio, Video
?機能– データ管理, Metadataの抽出
– 格納ストレージ: BLOB , Bfile , URL , 専用Server
– 標準のファイル・フォーマットをサポート
– 操作:解析、検索、処理
– データの元: ファイル, URL, TWAIN対応のDevice
– 開発環境:Java Clientを提供
interMedia Audio, Video
?業界標準のフォーマットに対応
?ストリーミング・サーバーとの連携– Real ServerやOracle Video Serverなどの専用サ
ーバーと連携
– クライアントにストリーミング・サーバーとの接続情報とサーバー内のデータへのポインタ情報を提供
– データ格納は、データベース内のBLOBでも、専用サーバー内でも可能
interMedia Locator
?サードパーティーの地図表示アプリケーションのバックエンドとしてデータベースを利用可能に (MapInfo’s MapXtreme など)
?業界標準のオンラインジオコーディングサービスをサポート(QMSoft Centrus やMapInfo のMapMarker など)
?近接問い合わせのサポート?「あるポイントから半径10Km以内にある病
院は?」
Oracle Workflowを標準搭載 (EEのみ)
?Oracle8i Enterprise Edition R8.1.7 に標準装備– R8.1.6までは有償オプション
?セルフサービス・Webアプリケーションに必要な認証システムを100%で容易に実現。
Workflow ビルダー
?ドラッグ&ドロップでフローを定義
?通知メッセージの定義– 「承認依頼」等の通知に使用するメッセージ
?タイムアウト時のフロー– 一定期間、「承認/否認」がなかったときに流れるフロー
– エスカレーション、自動転送
?トップダウン設計が可能– 最初にフローダイアグラム定義– 次に各アクティビティ詳細定義
?HTML形式の承認画面の作成
Workflow エンジン
WF Engine API
WF TablesWF Tables
WF Tables
WF Tables
WF Engine API
WF Engine API
WF Engine API
WFプロセスをキック
Workflow エンジン
?プロセスフローの定義に基き、処理を自動実行
?処理実行後のステータスを管理? Advanced Queuesと連携したバックグラウンドエンジン
通知メーラー
承認画面が添付される
Webブラウザ(承認画面)
Oracle Workflow Option
メールサーバ
通知システム(通知メーラー)
?メールシステムと連携し各種通知をE-MAILとして配信
?Webページ上のリストに通知の内容を掲載
承認処理が進み具合を、リスト形式とビジュアル形式で確認。
▼JAVA Appletによりビジュアルに表示
▲HTMLによりリスト形式で表示
Workflowモニター(進捗状況監視)
Workflow開発言語
?PL/SQL APIs– Workflowエンジンの実行を制御するAPI– 複雑な処理、独自の処理をストアドプロシージャとし
て作成– Ad Hocユーザ&ロールの作成と登録
?JAVA APIs– 上記PL/SQL APIsのラッパークラスとして提供
?Advanced Queuesとの連携– C/C++、JAVA、PL/SQLプログラムとの連携(関数ア
クティビティ)
– 遅延処理プログラムの実行– 通知するメッセージもAdvanced Queuesより取得
?エラー・プロセス・フローの拡張– アクティビティ・エラー時に実行されるフローを自由に
定義
Oracle Fail Safe R3.1?Windows 2000 Datacenter Serverの4ノード・クラス
タをサポート?多階層システムの可用性を優れたコストパフォーマ
ンスで向上Database
ServerApp
ServerHTTPServer Standby
Oracle for Windowsロードマップ機能
時間
Oracle8Oracle8ii R8.1.5R8.1.5••サマリー管理機能サマリー管理機能••リソース管理機能リソース管理機能
Oracle8Oracle8ii R8.1.6R8.1.6••Oracle JVMOracle JVM••分析関数分析関数••Java2Java2••PL/SQL Server PagesPL/SQL Server Pages••Oracle Parallel Fail SafeOracle Parallel Fail Safe••セキュリティの拡張セキュリティの拡張
Oracle8Oracle8ii R8.1.7R8.1.7••Oracle8Oracle8ii JVM AcceleratorJVM Accelerator••Java Server PagesJava Server Pages••Servlet Servlet エンジンエンジン••XMLXMLサポートサポート••Oracle Integration ServerOracle Integration Server••ターミナルサービスサポートターミナルサービスサポート
Phase 1
Phase 2
Phase 3
2001/022001/02Oracle8Oracle8ii
R8.1.7R8.1.7出荷出荷
Windowsオペレーティングシステムとの高い親和性と
高いパフォーマンスを発揮する製品をタイムリーに提供する。
Windowsオペレーティングシステムとの高い親和性と
高いパフォーマンスを発揮する製品をタイムリーに提供する。
- Oracle for Windowsチーム目標
最後に