Microsoft 64ビットWindows上のOracle Database 10g

<ここに画像を挿入>
Microsoft 64ビットWindows上の
Oracle Database 10g RACにおけるベスト・プラクティス
Anu Chawla
Program Manager - Oracle Alliance
Philip Newlan
Principal Product Manager - RAC
[email protected]
[email protected]
<ここに画像を挿入>
Microsoftとオラクルの関係
Windowsへのコミットメント
• Oracle7はWindows対応の最初のOracleデータベース
• 1994年
• Windows ServerはOracleの基本開発プラットフォーム
• Windows ServerはTier 1
• Oracleでフルサポートするプラットフォーム
• Windowsに特化した統合プロジェクトにエンジニアリング
および製品管理グループを結集
• O/Sリリース時に32ビットおよび64ビットのWindows
Server 2003をサポート
パートナーシップ
• オラクルがMicrosoftのイベントに協賛
• (TechEd 2004、2005、2006)
• Microsoftがオラクルのイベントに協賛
• OracleWorld、UKOUG 2006、2007
• Microsoftのレドモンド本社でOracle RACトレーニング・セッシ
ョンを開催
• ETCでデモを実施
• 組織内のさまざまなレベルでコミュニケーション・チャネルを開
設
• 顧客エスカレーションに向けた連絡先の共同サポート
• 共同で問題を解決
• カンファレンス・コール、ブリーフィングなど
Microsoft Oracle Customer Information
Centerへの登録:www.microsoft-oracle.com
• Windows ServerでOracle
を実行するためのベスト・プ
ラクティス
• Windows Serverワークショ
ップでのOracle RACのリプ
レイおよびプレゼンテーショ
ン
• Microsoftとオラクル主催の
グローバル・テクニカル・ワ
ークショップへの招待
• Oracleアプリケーションの認
定情報やMicrosoftプラット
フォームのテクノロジー情報
Windows上のOracle
幅広い導入
OS別オラクルの新規ライセンス販売収益
そのほか 2%
Unix 49%
Windows 29%
Linux 20%
出典:Gartner Research – 2005年5月 ID G00127787
市場動向
Microsoftの機運
Linux
の成長は
緩やか
Windows
の成長は
x86ペース
VAP/VAR
の優位性
は上昇
業界の傾向
•
•
•
•
非商用ソフトウェアの商用展開への変化
広範な相互運用性の流れ
ワークロード・レベルでWindowsがUNIX移行
のNo.1プラットフォームに
•
Windowsが44%で、Linuxが37%
仮想化と統合
市場動向
Microsoftの機運
Linux
の成長は
緩やか
Windows
の成長は
x86ペース
VAP/VAR
の優位性
は上昇
業界の傾向
•
•
•
•
非商用ソフトウェアの商用展開への変化
広範な相互運用性の流れ
ワークロード・レベルでWindowsがUNIX移行
のNo.1プラットフォームに
•
Windowsが44%で、Linuxが37%
仮想化と統合
Oracle 10gR2 RAC User Load Test - Microsoft Windows Server 2003 x64
vs. RHEL 4.0 x86_64
45000
40000
Transactions Per Minute
35000
RHEL AS 4.0
x86_64 Update2,
Kernel 2.6.922.0.1.EL.smp
30000
25000
20000
Windows Server
2003 x64
15000
10000
5000
0
0
500
1000
1500
2000
2500
# Users
3000
3500
4000
4500
負荷テスト
Windows 2003 対 Red Hat 4.0(64ビット)
• Oracle RACストレス・テスト(150~250ユーザー)
• 50~250ユーザーの場合、トランザクション/分はMS Windowsが最大16%高い。
• “Order Products”テスト・コンポーネントの応答時間は、Linuxに比べてMS
Windowsが最大50%速く、“Order Products”のコンポーネントの応答時間はおお
むね150ユーザー以上で増加。
• 250ユーザーの場合、Linuxはメモリ内ソートではなくディスク上で30%以上のソー
ト処理を実行。
• これらのテストで、LinuxはMS Windows Serverよりも17%から40%メモリを多く使
用。
• Oracle RACのユーザー負荷テスト(2500~4500ユーザー)
• 3500ユーザーの場合、MS Windowsのトランザクション/分はLinuxのトランザクシ
ョン/分より18%高い数値を記録。
• 4000ユーザーの場合、MS Windows ServerのTPMは上昇し続け、Linuxのテスト
は完了しないまま終了。
• 2500ユーザーの場合、MS Windows Serverのコンポーネント応答時間は9%~
33%速くなり、3500ユーザーの場合は大幅に上回る速さを記録。
• 全テストを通じて、LinuxはMS Windows Serverよりも5%~25%メモリを多く使用。
32ビットアーキテクチャのサポート
• 32ビットx86システムに対応
• 64ビット・アプリケーションやドライバが利用できない基幹システムでの
導入に最適
• 1~4プロセッサのサーバーでもっとも一般的
64ビット・アーキテクチャのサポート
• 主流製品として32ビット
Windowsを徐々にリプレース
• あらゆるワークロードに最適
• 32ビットおよび64ビットのソ
フトウェアの組合せに最適
• もっとも要求の高いデータベース
および事業のために、8-way以
上への導入が対象
• 完全な64ビット・ソフトウェア・ス
タック向けに設計
32ビット vs 64ビットのメモリ制限
一般的なメモリ制限
32ビット
64ビット
4GB
16TB
2GB
(システムを/3GBスイッチで
ブートした場合は3GB)
/LARGEADDRESSAWAREで
コンパイルした場合は4GB
それ以外は2GB
適用不可
8TB
ページ・プール
470MB
128GB
非ページ・プール
256MB
128GB
1GB
1TB
32ビット
64ビット
Windows XP Professional
4GB/1~2CPU
32GB/1~2CPU
Windows Server 2003 Standard Edition
4GB/1~4CPU
32GB/1~4CPU
Windows Server 2003 Enterprise Edition
64GB/1~8CPU
1TB/1~8CPU
Windows Server 2003 Datacenter Edition
64GB/1~32CPU
1TB/1~64CPU
総仮想アドレス空間
32ビット・プロセスごとの仮想アドレス空間
64ビット・プロセスごとの仮想アドレス空間
システム・キャッシュ
物理メモリとCPU制限1
1.
一覧の製品名は一般的な参照のみで、実際の製品名を反映するものではありません。
64ビットWindows Server Standard Editionはx64でのみ提供されます。
アーキテクチャ – スレッドとメモリ・モデル
32ビットWindows
Oracleプロセス
SGA
2GB
バックグラウンド・スレッドとフォアグラウンド・スレッド
コード
SGAはDBバッ
ファ、ログ・バッ
ファ、共有プー
ル、
そのほかのメモリ
の割当てで構成
各スレッドは
PGA、スタック、
そのほかのメモリ
の割当てで構成
アーキテクチャ – スレッドとメモリ・モデル
64ビットWindows
Oracleプロセス
SGA
8TB
バックグラウンド・スレッドとフォアグラウンド・スレッド
コード
SGAはDBバッ
ファ、ログ・バッ
ファ、共有プー
ル、
そのほかのメモリ
の割当てで構成
各スレッドは
PGA、スタック、
そのほかのメモリ
の割当てで構成
<ここに画像を挿入>
MS WindowsのOracleサポート
Windows 32ビット・プラットフォームの
サポート
OS
9iR2
10gR1
10gR2
Windows 2000
はい
はい
はい
Windows XP Professional
はい
はい
はい
Windows Server 2003
はい
はい
はい
Windows 64ビット・プラットフォームの
サポート
OS
9iR2
10gR1
10gR2
Itanium上の64ビットWindows
Server 2003(64ビットDB)
はい
はい
はい
x64上の64ビットWindows XPおよび
Windows Server 2003(64ビットDB)
いいえ
開発リリース はい
(2004年5月)
x64上の64ビットWindows XPおよび
Windows Server 2003(32ビットDB)
はい
(クライアント
のみ)
はい
(クライアント
のみ)
はい
(クライアント
のみ)
x64上の32ビットWindows XPおよび
Windows Server 2003(32ビットDB)
はい
はい
はい
Windows Vistaサポート
•
次のメジャー・データベース・リリース
•
•
•
32ビットのサポート
64ビットのサポート(x64システム対応)
10g Release 2
•
•
32ビットのクライアントとサーバーをサーティファイおよびサポート予
定
最新のパッチセット(+パッチ) – 正確な要件はサーテファイの完了後
にドキュメントおよびアナウンスされます
<ここに画像を挿入>
Oracleアーキテクチャ
データベース・アーキテクチャ
プロセスとメモリ
• スレッド・モデル
Oracleプロセス・アーキテクチャの直接ポートではない
• データベース・インスタンスごとの最大メモリは3GB(32ビット)
または8TB(64ビット)
VLMサポートにより32ビットで3GB超を実現
• Windowsのサービス・プロセスとして実行
• オペレーティング・システムの制限以外は、メモリ、接続、リソー
スの制限なし
• 8GBのプロセス・アドレス空間がもたらすもの
• 接続
• データウェアハウスの改善
データベース・アーキテクチャ
ファイルI/O
• Oracle 10gでは全ファイル・タイプで非同期I/Oをサ
ポート
• 論理および物理RAWファイルとパーティションをフル
サポート(NTFSより高速)
• フル64ビットの内部ファイルI/O
• データベース・ファイル・サイズに2GBあるいは4GBの制
限なし
• 最大ファイル・サイズは64GB
• 最大データベース・サイズは4ペタバイト
デュアルコアとハイパースレッド
• デュアルコアのサポート

?
• サポート済み – OracleはOSスケジューラを使用
• Oracleの全てのバージョンでハイパースレッド環境をサポート
• ハイパースレッド
• Intel CPUに回路を追加、単一CPUで2 CPUの機能を実現
• Oracleの全てのバージョンでハイパースレッド環境をサポート
• 顧客の10ノードOracle RAC
• ハイパースレッド有効の4デュアルコア
• 10ノードそれぞれでタスク・マネージャ上に16のCPU
• 32GB RAM/ノード - 200TBデータベース
<ここに画像を挿入>
64ビットWindowsの
ベスト・プラクティス
64ビットWindowsのOracle
• そのほかのプラットフォームにおける64ビット・データベースのサ
ポートで長い歴史あり
• 32ビット・クライアントと64ビット・サーバー間、またはその逆の相
互運用性を確保
• パフォーマンス、可用性、スケーラビリティの改善
• 顧客が64ビットWindowsへの移行を選択する理由
64ビットWindowsのベスト・プラクティス
• アーキテクチャに対して適切なOracleの64ビット版を実行
• x64(AMDまたはEM64T)対応の64ビットOracle
• Itanium対応64ビットOracle
• 32ビットOracle Serverは64ビット・プラットフォームでサ
ポートなし
• ラージ・ページに対応
Windows Server 2003 SP1向けの新機能
• ラージ・ページ・サポート
• 大容量のメモリを必要とするインスタンスの場合、ラージ・ページ・サポートで
パフォーマンスを向上可能
• 32ビット – デフォルトは4KB – 最大2MB
• 64ビット – デフォルトは8KB – x64で2MB – IA64で16MB
• メモリ/スケジューリングのNUMAサポート

• データベースはノード構成に基づき、メモリとスケジュールを
インテリジェントに割当て実施
• ベスト・プラクティス: AMDのNUMAはパッチ10.2.0.2 P5から対応
64ビット:移行
• 32ビットから64ビットへのアップグレード・プロセスは簡単
• 32ビットのデータファイルは64ビットDBと互換性あり
• データベースの再作成は不要
• 全体エクスポートおよび全体インポートは不要
• Oracle Database Upgrade Assistantでプロセスを自動化
• エンドユーザー・アプリケーションの透過的な移行
• 64ビット・データベースを実行する場合の既存クライアント・アプリケーションの
変更は不要
ファイル・システムのベスト・プラクティス

• ASMを使用 – 単一インスタンスまたはOracle RACを問わ
ず – 10.1.0.4以上を使用
 必要なときにストレージをプロビジョニング...コスト削減
•
•


データファイルの移動が不要
表領域のオフライン化が不要
必要な分だけ、必要なときに割り当てる
簡単に追加と削除を実現
• 停止時間なしでディスクを追加
 時間とコストを削減
ASMディスク・グループ
利用率(%)
Ctrlファイル、REDOログ、data 1、…data n
データファイルの場所
• Oracle 10g Windows RAC追跡対象顧客
42.9%
2.3%
54.8%
ASM
OCFS
RAW
<ここに画像を挿入>
管理および診断ツール
Grid Control
標準搭載のDatabase Control
• クライアントのインストール
不要
• データベース作成後に
フル機能
• 検出、構成、監視
• リスナー
• ASM
• RACデータベース
診断ツール - Performance Monitor
Process Explorer
ツール
• OSツール
• MSツール
•
•
•
•
•
•
diskpart
poolmon
memsnap
tasklist、taskkill
tlist(引数-c)
Driverquery - /Vを付加
• sc (sc query state = all)
• Sysinternals
• regmon、filemon、
procexp、tcpview
• Windows Services for Unix
• Oracleツール
• srvctl
• crsctl
• ocrdump
• crs_stat
• cluvfy
CPUチューニング
• OracleはOSを通じて全プロセッサを使用する
• ORACLE_AFFINITYレジストリ値を設定し、どのスレッド
をどのプロセッサで実行するかOracleに指示可能(全イン
スタンスに同様の設定)
• スレッドの優先度はORACLE_PRIORITY変数でレジスト
リに設定可能
CPUチューニング – 高CPUの診断
• Process Explorer
• スレッドへドリルダウン
• 高CPUスレッドのスレッドIDを取得
• 以下を使用して、OSスレッドIDをOracleバックグラウンド・
プロセスへマッピング
SELECT a.spid, b.username
FROM v$process a, v$session b
WHERE a.addr= b.paddr
AND a.spid = <thread number>
ネットワークのベスト・プラクティス
• Windows Serverのデフォルトのキュー・サイズは50
– LISTENER.ORAのQUEUESIZEパラメータで増加
– ログイン・ストーム時のエラーを防止
• 複数のリスナーを使用してスループットを増加
• SQLNET.ORAまたはTNSNAMES.ORAのSDU_SIZEを
増やす
• SQL*Netパケット・サイズを制御
• バルク・データ転送を行うアプリケーション(LOB、Oracle Datagruad
など)で、より大きなSDUサイズ(あるいは32KB)を設定
ネットワークのベスト・プラクティス
• SQLNET.AUTHENTICATION_SERVICES=(NTS)
SQLNET.ORAのデフォルト値に設定されているので、
デフォルトのままにする – Oracle RACで必要

• 10.2.xで、SQLNET.INBOUND_CONNECT_TIMEOUTの
デフォルトは60
必要に応じて0に設定
<ここに画像を挿入>
インストールとパッチの適用
ベスト・プラクティスとサポートの
重要課題
インストールの前提要件
•
•
•
•
•
•
•
•
•
•
ハードウェアが正しく設定されている
クラスタ検証ユーティリティ(CVU)を使用する
ユーザー・アカウント
リモート・デスクトップ・クライアント
環境変数
ネットワーク
ディスクのレイアウト
Automountの有効化
‘問題のある’サービスを停止する
時間の同期
インストール - リモート・デスクトップ・クライ
アント
• リモート・デスクトップ・クライアントを使用する必
要がある場合
• /consoleのコマンドライン・パラメータでクライアントを起動
クラスタ検証ユーティリティ - CVU
• CVUは、インストール時におこなわれるさまざまな手順の
異なる構成項目を確認し、レポートする
• 修正はおこなわない
• OTNから最新版を入手
• http://otn.oracle.com/racの右側 - CVU
• インストール実行前におこなう2つの手順
• runcluvfy stage -post hwos -n iwinrca01,iwinrca02
• runcluvfy stage -pre crsinst -n iwinrca01,iwinrca02
• 必要に応じてほかの手順を実施
クラスタ検証ユーティリティ
-pre dbcfg
Oracle RAC DB
を構成
-pre dbinst
Oracle RAC
をインストール
-pre crsinst
Oracle
Clusterware
をインストール
-post crsinst
-pre cfs
OCFSの設定
(OPT)
ユーザーがハード
ウェア、ネットワークと
ストレージを設定
-post cfs
-post hwos
サポートでよくある問題
• Oracleは、リモート接続を介してインストール(および
パッチ適用)が可能
• 問題がリモート接続ユーティリティに由来するものかを確
認するため、サーバー・コンソールから直接インストール
を試みてみる
• Windowsに管理者権限をもつユーザー・アカウントでロ
グインすることは、ローカル管理者アカウントでログイン
することとは異なる。インストールで問題がある場合は、
ローカル管理者アカウントを使用してみること
サポートでよくある問題
• ファイルが使用中のエラー
•
•
•
全Oracleサービスを停止する
DTC(分散トランザクション・コーディネータ)サービスを停止する
Process ExplorerでOracleファイルを使用しているプロセスを検出
• catpatch.sqlまたはcatcpu.sql実行時の問題
•
•
パッチ適用前に、データベース内に無効なオブジェクトが存在しない
ことを確認する
Shared_Pool_sizeとJava_Pool_Sizeがそれぞれ最低150MBに設
定されていることを確認する
• 環境変数ORACLE_HOMEを設定しない – Oracleはレジストリ経由
で環境を取得する。OH\bin内のOracle.keyファイルが正しいレジス
トリ・キーをポイントする
パッチ適用のベスト・プラクティス
• 既存インストールについては、将来のパッチセットをテス
トおよび適用する計画を立てる
• 十分なテストをおこなわずに本番システムへのパッチの適用
を強制されるまで先延ばししないこと
• リリースから6か月以内にパッチを適用すること
• CPU(Critical Patch Update)パッチは少なくとも四半期
ごとにリリースされる
• Windowsプラットフォームで提供される5桁のパッチは
one-offパッチをまとめたもの
• 新しい問題を修正するには、利用可能な最新パッチセッ
トと5桁のパッチを適用して既知のバグを排除する
<ここに画像を挿入>
Windowsの高可用性ソリューショ
ン
高可用性ソリューション
• データベースがビジネスの重要なコンポーネントになったこ
とで、HAが必須に
• HAの目的:企業と顧客に対する停止時間を最小化
• Windows環境へのソリューション
•
•
•
•
•
Oracle Real Application Clusters(RAC)
Oracle Fail Safe
Oracle Data Guard(DG)
Maximum Availability Architecture(MAA)
単一インスタンスでのOracle Clusterware
• MSCSなしでクラスタリングを提供
• 参照 http://www.oracleracsig.org 今週16日(木)
追加情報
• Windows Server Technology Center
•
http://otn.oracle.com/windows
• Oracle RAC
•
•
http://otn.oracle.com/rac
http://otn.oracle.com/asm
• Microsoft – Oracle
•
http://ww.microsoft-oracle.com
• Oracle RAC SIG
•
http://www.oracleracsig.org
• 質問
[email protected]
[email protected]
本書は、弊社の一般的な製品の方向性に関する概要を
説明するものです。 また、情報提供を唯一の目的とする
ものであり、いかなる契約にも組み込むことはできませ
ん。 本書は、マテリアルやコード、機能の提供を確約す
るものではなく、また、購買を決定する際の判断材料と
はなりえません。
オラクルの製品に関して記載されている機能の開発、リ
リース、および時期については、弊社の裁量により決定
いたします。