550 likes | 884 Views
Microsoft 64 ビット Windows 上の Oracle Database 10g RAC におけるベスト・プラクティス. Anu Chawla Program Manager - Oracle Alliance Anu.Chawla@microsoft.com. Philip Newlan Principal Product Manager - RAC philip.newlan@oracle.com. < ここに画像を挿入 >. Microsoft とオラクルの関係. Windows へのコミットメント.
E N D
Microsoft 64ビットWindows上のOracle Database 10g RACにおけるベスト・プラクティス Anu Chawla ProgramManager - Oracle Alliance Anu.Chawla@microsoft.com Philip Newlan Principal Product Manager - RAC philip.newlan@oracle.com
<ここに画像を挿入> 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% • 仮想化と統合
負荷テスト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プロセッサのサーバーでもっとも一般的
主流製品として32ビットWindowsを徐々にリプレース主流製品として32ビットWindowsを徐々にリプレース あらゆるワークロードに最適 32ビットおよび64ビットのソフトウェアの組合せに最適 もっとも要求の高いデータベースおよび事業のために、8-way以上への導入が対象 完全な64ビット・ソフトウェア・スタック向けに設計 64ビット・アーキテクチャのサポート
32ビット vs 64ビットのメモリ制限 一覧の製品名は一般的な参照のみで、実際の製品名を反映するものではありません。64ビットWindows Server Standard Editionはx64でのみ提供されます。
アーキテクチャ – スレッドとメモリ・モデル32ビットWindows SGAはDBバッファ、ログ・バッファ、共有プール、 そのほかのメモリの割当てで構成 Oracleプロセス SGA 2GB 各スレッドは PGA、スタック、 そのほかのメモリの割当てで構成 バックグラウンド・スレッドとフォアグラウンド・スレッド コード
アーキテクチャ – スレッドとメモリ・モデル64ビットWindows SGAはDBバッファ、ログ・バッファ、共有プール、 そのほかのメモリの割当てで構成 Oracleプロセス SGA 8TB 各スレッドは PGA、スタック、 そのほかのメモリの割当てで構成 バックグラウンド・スレッドとフォアグラウンド・スレッド コード
<ここに画像を挿入> MS WindowsのOracleサポート
Windows 32ビット・プラットフォームのサポート
Windows 64ビット・プラットフォームのサポート
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追跡対象顧客
<ここに画像を挿入> 管理および診断ツール
標準搭載のDatabase Control • クライアントのインストール不要 • データベース作成後にフル機能 • 検出、構成、監視 • リスナー • ASM • RACデータベース
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 • 必要に応じてほかの手順を実施
Oracle RAC DBを構成 Oracle RACをインストール Oracle Clusterwareをインストール OCFSの設定 (OPT) クラスタ検証ユーティリティ -pre dbcfg -pre dbinst -pre crsinst -post crsinst -pre cfs -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日(木)