Oracle Database 2日でデータベース管理者 11g リリース1(11.1) E05759-03 |
|
この章では、Oracleインスタンスに関するバックグラウンド情報およびインスタンスの管理方法について説明します。
この章は次の項で構成されています。
Oracle DatabaseシステムはデータベースおよびOracleインスタンスで構成されます。
データベース: データベースは、ユーザー・データおよびメタデータを格納する一連のディスク・ファイルで構成されます。メタデータ(「データに関するデータ」)はデータベースの構造情報、構成情報および制御情報で構成されます。
Oracleインスタンス: Oracleインスタンス(データベース・インスタンスともいう)には、格納されたデータを操作するOracle Databaseのバックグラウンド・プロセス、およびバックグラウンド・プロセスの作業のために割り当てられた共有メモリーが含まれます。
インスタンスを起動して、データベースへの情報の読取りおよび書込みを行う必要があります。Oracle Database Configuration Assistant(DBCA)ユーティリティの指示によって、またはCREATE
DATABASE
SQL文を受け取ったときに、実際にデータベースを作成するのはインスタンスです。
データベース・インスタンスが使用できない場合でも、データベース内のデータは安全ですが、他のユーザーまたはアプリケーションからはアクセスできません。
Oracleインスタンスのプロパティは指定したインスタンス初期化パラメータを使用します。インスタンスが開始されたとき、初期化パラメータ・ファイルが読み込まれ、インスタンスが適宜構成されます。
この項では、Oracleインスタンスおよびその管理に関するいくつかの概念について説明します。内容は次のとおりです。
Oracleインスタンスの管理には、Oracleインスタンスの基本的な操作に影響を与えるパラメータの構成が含まれます。これらのパラメータは初期化パラメータと呼ばれます。Oracleインスタンスは、パラメータを起動する際にファイルから初期化パラメータを読み取ります。
インストール時に、DBCAで事前構成済のデータベース・ワークロードのいずれかを選択すると、指定した環境で通常どおりに使用できるように初期化パラメータが最適化されます。データベース・ユーザーの数およびワークロードが増加するに従い、初期化パラメータの一部を変更する必要が生じることがあります。この変更は、Oracle Enterprise Manager Database Control(Database Control)の初期化パラメータ・ページ、または、メモリー・アドバイザなどのOracle Database付属のアドバイザのいずれかを使用して行うことができます。詳細は、「メモリー・アドバイザの使用」を参照してください。
ファイルに読み込まれた後、初期化パラメータはメモリーに保持されます。ここでそれらの値は動的に変更できます。これらのパラメータが読み込むことができるファイルには、テキスト初期化パラメータ・ファイルおよびサーバー・パラメータ・ファイルの2種類があります。インスタンスを起動するために使用されるファイルのタイプは、作成した動的初期化パラメータの変更がデータベースの起動および停止で持続されるかを決定します。
サーバー・パラメータ・ファイル: サーバー・パラメータ・ファイルは、初期化パラメータ・ファイルの優先形式で、データベースが読取りおよび書込み可能なバイナリ・ファイルです。手動では編集しないでください。サーバー・パラメータ・ファイルはOracle Databaseで実行されるホスト・コンピュータ上に格納されます。変更内容は、データベースの停止および起動後も保持されます。Database Controlを使用して1つ以上の初期化パラメータを変更する場合、またはOracle Databaseが自己チューニング目的で変更する場合に変更が実行されます。
テキスト初期化パラメータ・ファイル: 初期化パラメータ・ファイルのこのタイプはOracleインスタンスに読み込まれますが、インスタンスによって書き込まれたものではありません。テキスト・エディタを使用してテキスト初期化パラメータ・ファイルを変更できますが、変更を有効にするにはOracleインスタンスを停止し再起動します。ファイルのこのタイプを使用してインスタンスを開始した場合、Database Controlを使用する多くの初期化パラメータを動的に変更できますが、変更できるのは現行のインスタンスのみです。テキスト初期化パラメータ・ファイルの編集および同一の変更を行わない場合、データベースを停止および再起動したときに変更は失われます。
DBCA(「DBCAを使用したデータベースの作成および管理」を参照)を使用してデータベースを作成すると、サーバー・パラメータ・ファイルが作成されます。このファイルはデータベースが起動するたびに作成されます。
SQL文ではテキスト初期化ファイルからのサーバー・パラメータ・ファイルの作成、すべての初期化パラメータの現行値(メモリー内にある)からのサーバー・パラメータ・ファイルの作成、およびサーバー・パラメータ・ファイルからのテキスト初期化パラメータ・ファイルの作成を行います。
参照:
|
Oracleインスタンス管理メモリー構造、データをディスク上のファイルに書き込むI/Oの非同期式の実行および通常のメンテナンス・タスクの実行のバックグラウンド・プロセス。バックグラウンド・プロセスは各ユーザー・プロセスの実行を行う複数のOracle Databaseプログラムによる処理のかわりに機能を統合します。よりよいパフォーマンスおよび信頼性のための並列化を提供するために他のOracle Databaseプロセスを監視します。
現在のバックグラウンド・プロセスはデータベースで使用される機能によって決定します。最も重要なバックグラウンド・プロセスは表5-1で説明します。
バックグラウンド・プロセス | 説明 |
---|---|
データベース・ライター(DBWn) |
データベース・ライターはディスクにあるファイルに対してデータベース・バッファ・キャッシュから変更ブロックを書き込みます。Oracle Databaseは最高で20のデータベース・ライター・プロセスを行います。 |
ログ・ライター(LGWR) |
ログ・ライター・プロセスは、ディスクにREDOログ・エントリを書き込みます。REDOログ・エントリはシステム・グローバル領域(SGA)のREDOログ・バッファで生成され、ログ・ライター・プロセスによってオンラインREDOログ・ファイルに順次書き込まれます。 |
チェックポイント |
特定の時間にSGA内の変更されたすべてのデータベース・バッファが、データベース・ライター・プロセス(DBWn)によりデータファイルに書き込まれます。このイベントはチェックポイントと呼ばれます。チェックポイント・プロセスがDBWnを呼び出し、データベースのデータファイルおよび制御ファイルを更新し、この更新の時間を記録します。 |
システム監視(SMON) |
障害インスタンスが再開すると、システム監視でインスタンス・リカバリが実行されます。 |
プロセス・モニター(PMON) |
ユーザー・プロセスが失敗した場合に、プロセス・モニターはリカバリを実行します。これはキャッシュをクリーン・アップし、失敗したプロセスが使用していたリソースを解放します。 |
アーカイバ(ARCn) |
ログ・ファイルが一杯になるかログ・スイッチが発生した場合、アーカイバ・プロセスによりREDOログ・ファイルがアーカイブ記憶域にコピーされます。アーカイブ・プロセスを実行するためにデータベースはアーカイブ・ログ・モードである必要があります。詳細は、第9章「バックアップおよびリカバリの実行」を参照してください。 |
管理性モニター(MMON) |
このプロセスでは、次のような様々な管理関連のバックグラウンド・タスクが実行されます。 |
Oracle Databaseでは、バックグラウンド・プロセスに加えて、ユーザー・プロセスまたはクライアント・プロセスの接続要求を処理するサーバー・プロセスを作成できます。ユーザー接続は次の2つの異なる要素で構成されています。
サーバー・プロセスは専用または共有のいずれかです。サーバー・プロセスが専用である場合は、Oracle Databaseは専用サーバー・モードで実行されます。サーバー・プロセスが共有である場合は、Oracle Databaseは共有サーバー・モードで実行されます。専用サーバー・モードでは、各クライアント・プロセスに独自のサーバー・プロセスがあります。専用サーバー・プロセスは長時間実行の問合せおよび管理タスクに適していますが、アイドル・プロセスまたは多すぎる専用プロセスにより、結果的にリソースの使用が非効率的になる可能性があります。
共有サーバー・モードを使用すると、各接続の専用サーバー・プロセスの必要性が排除されます。共有サーバー・モードでは、各クライアントの接続リクエストがdispatcherに送信されます。これは、接続されたユーザー・プロセスから大量の共有サーバー・プロセスへのリクエストのルーティングおよび適切なユーザー・プロセスへのレスポンスに対応しているプロセスです。アイドル共有サーバー・プロセスでは、共通のキューからリクエストが取り出されます。つまり、少量の共有サーバーで専用サーバーと同量のプロセスを実行できます。各ユーザーに必要なメモリーの量が比較的少ない場合、メモリーおよびプロセスに必要な管理も少なく、より多くのユーザーをサポートできます。
共有サーバー・モードは短時間実行の問合せを頻繁に行う複数のクライアント・プログラムをサポートする点でより効果的です。
インスタンス・メモリー構造のサイズはOracle Databaseのパフォーマンスに影響し、初期化パラメータによって制御されます。
インストール時に、データベースによる自動メモリー管理を選択するか、ある程度の手動メモリー管理を構成することができます。手動メモリー管理を構成する場合、Oracle Database付属のアドバイザを使用して、メモリー・パラメータの適切な値を決定できます。手動と自動どちらのメモリー管理を行う場合も、メモリーのサイズ設定に関して注意の必要な問題が発生すると、そのことを示すアラートが送信されます。
次の項では、監視とサイズ設定が可能な2つの重要なメモリー領域について説明します。
システム・グローバル領域(SGA)は、インスタンスのデータおよび制御情報を含む共有メモリー領域です。複数のユーザーがこのメモリー領域内のデータを共有でき、物理ディスクからのアクセスの繰返しによる処理時間の消費を回避できます。
SGAには、表5-2に示すサブコンポーネントがあります。
コンポーネント | 説明 |
---|---|
バッファ・キャッシュ |
データベースに格納されているデータの問合せまたは変更が可能になる前に、ディスクから読み取り、バッファ・キャッシュ内のメモリーに格納する必要があります。データベースに接続されているすべてのユーザー・プロセスでバッファ・キャッシュへのアクセスを共有します。最適なパフォーマンスには、頻繁なディスクの読取りおよび書込みの回避に十分な容量がバッファ・キャッシュに必要です。 |
共有プール |
共有プール・キャッシュの情報はユーザー間で共有されます。 |
REDOログ・バッファ |
このバッファは、REDO情報がディスクに保存されている物理REDOログ・ファイルに書き込まれるまで、REDO情報をキャッシュしてパフォーマンスを改善します。REDO情報とREDOログ・ファイルの詳細は、「オンラインREDOログ・ファイルについて」を参照してください。 |
ラージ・プール |
このオプション領域は様々なサーバー・プロセスの大きいI/Oリクエストをバッファするために使用されます。 |
Javaプール |
JavaプールはJava Virtual Machine(JVM)内のすべてのセッションに特化したJavaコードおよびデータに対して使用されているメモリーの領域です。 |
Streamsプール |
Streamsプールは、Oracle Streams機能で使用されるメモリー領域です。Oracle Streamsの詳細は、『Oracle Streams概要および管理』を参照してください。 |
結果キャッシュ |
結果キャッシュは問合せ結果をバッファします。問合せがすでに結果キャッシュになっていた場合、データベースは問合せを再起動するかわりに結果キャッシュから結果を戻します。頻繁に行う問合せの実行を早くします。 |
プログラム・グローバル領域(PGA)は、単一のOracle Databaseサーバー・プロセスで使用されるメモリー領域です。Oracle Databaseインスタンスに接続する際に、クライアントとデータベース・インスタンス間の通信にサーバー・プロセスを使用するセッションを作成します。各サーバー・プロセスには独自のPGAがあります。
PGAは、SQL文を処理し、ログオンその他のセッション情報を保持するために使用されます。PGAの大部分は、ソートその他のSQL処理に使用する作業用メモリー領域であるSQL作業領域に使用されます。
PGAメモリーの使用量とPGAの内容は、インスタンスが専用サーバー・モードと共有サーバー・モードのどちらで実行されているかによって異なります。詳細は、『Oracle Database概要』を参照してください。共有サーバー・モードと共有サーバー・モードの詳細は、「サーバーおよびクライアント・プロセスについて」を参照してください。
個々のPGAすべてが使用するメモリーの合計をインスタンスPGAメモリー合計と呼びます。また、個々のPGAの集合をインスタンスPGA合計、または単にインスタンスPGAと呼びます。Oracle Enterprise Manager Database Controlでは、個々のPGAではなく、インスタンスPGAのサイズを設定します。
インストール後、Oracleインスタンスが起動し、データベース・アカウントを持つユーザーがアクセスできるようにデータベースがオープンされます。どこかの時点でインスタンスを停止して再起動する必要が生じることがあります。この項では、起動プロセスおよび停止プロセスについて説明します。
多くの場合、「Oracleインスタンスの起動および停止」という言葉と「データベースの起動および停止」という言葉は同じ意味で使用されます。
この項の内容は次のとおりです。
Oracleインスタンスを起動および停止するには、特別な接続権限でインスタンスに接続する必要があります。これらの権限には次の2つがあります。SYSDBA
は完全に権限を付与されたデータベース管理者が対象で、SYSOPER
はデータベースを起動および停止するがユーザーのオブジェクトにアクセスする権限を持たないユーザーが対象です。
Oracle Databaseを作成すると、SYS
およびSYSTEM
の2つの初期管理ユーザー・アカウントが自動的に作成されます。この2つのユーザーは、データベース管理の完全な権限を持っていますが、最初はSYSOPER
権限で接続できるのはユーザーSYS
またはSYSTEM
のみです。したがって、SYSOPER
権限を他のユーザーに付与するまでは、インスタンスを起動および終了する際、ユーザーSYS
またはSYSTEM
としてOracleインスタンスに接続する必要があります。ユーザーSYS
として接続(ログイン)しているときは、AS
SYSDBA
に接続していることを常に指定する必要があります。
Oracleインスタンスを起動させると、通常、データベースがオープンになり、ユーザー接続できる状態になります。ただし、データベースがマウント済の状態でインスタンスを起動する場合は開きません。インスタンスはデータベースがマウント済かオープンのいずれかの場合でのみ起動できます。したがって、インスタンスを起動するには3つの段階があります。
STARTUP
文を使用します。『Oracle Database管理者ガイド』を参照してください。
インスタンスは初期化パラメータ・ファイルを読み込み、SGAメモリーの分割およびバックグラウンド・プロセスを実行します。
デフォルトの起動動作は3段階を透過的に順序どおりに完了します。明示的に他を指定していない場合、インスタンスが起動され、データベースがマウントおよびオープンされます。
インスタンスの停止はインスタンスの起動と逆です。停止は次の3つの手順で行われます。
この項では、Oracleインスタンスの起動または停止に使用できる2つの方法についての操作を説明します。
Oracle Enterprise Manager Database Control(Database Control)のデータベースのホームページからOracleインスタンスを終了および起動できます。
詳細は、「データベースのホームページのアクセス」を参照してください。
資格証明の起動/停止ページが表示されます。
確認ページが表示されます。
起動/停止: アクティビティ情報ページが表示され、データベースが停止中であることを示します。
データベースのホームページはデータベース・インスタンスが停止中であることを示しています。
資格証明の起動/停止ページが再度表示されます。
確認ページが表示されます。
起動/停止: アクティビティ情報ページが表示され、データベースが起動中であることを示します。起動が完了すると、ログイン・ページが表示されます。
データベースのホームページで、データベース・インスタンスのステータスが稼働中であることが表示されます。
Windowsでは、「コントロール パネル」の「サービス」プログラムを使用してOracle Databaseを起動および停止することもできます。次のサービスも起動または停止する必要があります。
OracleService
SID
: 使用するOracleインスタンス
Oracle
Oracle_home
TNSListener
: 使用するリスナー。リスナーには、データベースに接続するクライアントが必要です。
Oracle
DBConsole
SID
: これによって、クライアントはOracle Enterprise Manager Database Controlに接続できます。
前述のサービス名では、SID
はインスタンスのシステム識別子を、Oracle_home
はOracleホーム名を表します。
コントロール パネル・ウィンドウが開きます。
サービス・ウィンドウを開くと、ご使用のシステムで使用可能なすべてのWindowsのサービスが表示されます。
orcl
の場合は、次のサービスへ移動します。
この項では、データベースの初期化パラメータ設定を参照する方法およびこれらのパラメータを変更する方法を提供します。初期化パラメータを変更する3つのシナリオを説明します。
Oracle Enterprise Manager Database Control(Database Control)に、初期化パラメータ・ページが表示されます。
初期化パラメータ・ページは2つのサブページを持っています。
フィールドの説明は、オンライン・ヘルプの初期化パラメータ・ページを参照してください。
たとえば、パラメータ名にdestというテキストが含まれる初期化パラメータのみを表示するには、「名前」
フィールドにdestと入力して、「実行」をクリックします。
確認メッセージが表示されます。
この項では、Oracleインスタンスのメモリー管理に関するバックグラウンド情報を提供し、Oracleインスタンスのメモリーの割当てを調整する方法についての操作を説明します。内容は次のとおりです。
メモリー管理では、データベースでの需要の変化に応じて、Oracleインスタンスのメモリー構造の最適なサイズを維持する必要があります。管理の対象となるメモリーは、システム・グローバル領域(SGA)メモリーとインスタンスのプログラム・グローバル領域(インスタンスPGA)メモリーです。インスタンスPGAメモリーは、すべての個別PGAに割り当てられているメモリーの集合です。
リリース11g から、Oracle DatabaseはSGAメモリーとインスタンスPGAメモリーを完全に自動的に管理できるようになりました。インスタンスで使用される合計メモリー・サイズを指定するだけで、Oracle Databaseが必要に応じてSGAとインスタンスPGAの間でメモリーを動的に交換し、処理ニーズに対応します。この機能を自動メモリー管理と呼びます。このメモリー管理モードでは、Oracle Databaseは個別SGAコンポーネントのサイズと個別PGAのサイズも動的にチューニングします。
SGAとインスタンスPGAのサイズを直接制御するには、Database Controlのメモリー・アドバイザ・ページを使用して自動メモリー管理を無効化し、自動共有メモリー管理を有効化します。これを行うと、自動PGAメモリー管理も暗黙的に有効化されます。自動共有メモリー管理では、SGAのターゲット・サイズと最大サイズを設定します。すると、SGAの合計サイズが指定したターゲットに合わせてチューニングされ、すべてのSGAコンポーネントのサイズも動的にチューニングされます。自動PGAメモリー管理では、インスタンスPGAのターゲット・サイズを設定します。すると、インスタンスPGAのサイズがターゲットに合わせてチューニングされ、個別PGAのサイズも動的にチューニングされます。
個別SGAコンポーネントのサイズを完全に制御するには、Database Controlのメモリー・アドバイザ・ページを使用して、自動メモリー管理と自動共有メモリー管理の両方を無効化します。これにより、手動共有メモリー管理が事実上有効化されます。このモードでは、複数の個別SGAコンポーネントのサイズを設定することで、SGA全体のサイズを決定します。その後、個別SGAコンポーネントを継続的に手動でチューニングします。このモードは、熟練したDBAのみを対象としています。このモードでは自動PGAメモリー管理は有効なままですので注意してください。
表5-3は、Database Controlのメモリー・アドバイザ・ページで設定可能な各種メモリー管理モードをまとめたものです。
メモリー管理モード | ユーザー設定 | Oracle Databaseによる自動チューニング |
---|---|---|
自動メモリー管理 |
||
(自動メモリー管理は無効) |
||
(自動メモリー管理と自動共有メモリー管理は無効) |
データベースをインストールする際に基本インストール・オプションを選択すると、自動メモリー管理が有効になります。拡張インストールを選択すると、DBCAによって3つのメモリー管理モードから選択できるようになります。自動メモリー管理をお薦めします。
どのメモリー管理モードを選択しても、データベースまたはホスト・コンピュータの変更を要求してメモリー設定を調整する場合があります。メモリー設定を調整する理由は次のとおりです。
メモリー・アドバイザを使用してメモリー・サイズを調整できます。メモリー・アドバイザを使用した例は、「メモリーの設定の変更: 自動共有メモリー管理」を参照してください。
参照:
|
データベースのインストールおよび構成時に自動メモリー管理を有効化しなかった場合は、熟練したDBAが明確な理由によりメモリー・サイズを手動でチューニングする場合を除き、インストール後に有効化することをお薦めします。自動メモリー管理では、Oracleインスタンスがすべてのメモリー・コンポーネントを動的にチューニングし、ワークロードの変化に合わせてパフォーマンスを最適化します。
SYS
ユーザーとしてログインします。詳細は、「データベースのホームページのアクセス」を参照してください。
メモリー・アドバイザ・ページが表示され、デフォルトで「SGA」サブタブが表示されます。
SGAとインスタンスPGAの現在のサイズの合計を目安として使用し、オプションで増加分の余裕を持たせます。
確認ページが表示されたら、データベースを再起動する必要があります。
データベースの再起動: ホストとターゲット・データベースの資格証明の指定ページが表示されます。
SQL*Plusの実行権限を持つすべてのオペレーティング・システムのユーザーにホスト資格証明を指定します。SYSDBA
権限(SYS
ユーザーなど)を持つデータベース・ユーザーにはデータベース資格証明を指定します。
データベースの再起動: 確認ページが表示されます。
データベースのホームページが表示されます。
自動メモリー管理有効化ページが表示されます。
確認メッセージが表示されます。
自動メモリー管理のメモリー設定を変更するには、Database Controlのメモリー・アドバイザ・ページを使用して合計メモリー・サイズの設定を変更する必要があります。この設定を変更する手順は、目的の新しい設定が最大メモリー・サイズの現在の設定を超えるかどうかによって異なります。新しい設定が最大メモリー・サイズの設定を超える場合は、まず新しい設定に合わせて最大メモリー・サイズを増やす必要があります。
詳細は、「データベースのホームページのアクセス」を参照してください。
メモリー・パラメータ・ページが表示されます。
確認メッセージが表示されます。
SYS
ユーザーとしてログインします。詳細は、「データベースのホームページのアクセス」を参照してください。
メモリー・アドバイザ・ページが表示されます。
この値は、合計メモリー・サイズの新しい値以上であることが必要です。
確認ページが表示されたら、データベースを再起動する必要があります。
データベースの再起動ページが表示されます。
SQL*Plusの実行権限を持つすべてのユーザーにホスト資格証明を指定します。SYSDBA
権限(SYS
ユーザーなど)を持つデータベース・ユーザーにはデータベース資格証明を指定します。
データベースの再起動: 確認ページが表示されます。
データベースのホームページが表示されます。
確認メッセージが表示されます。
参照:
|
自動共有メモリー管理のメモリー設定を変更するには、Database Controlのメモリー・アドバイザ・ページを使用して合計SGAサイズを変更する必要があります。この項では、自動メモリー管理が無効、自動共有メモリー管理が有効になっており、合計SGAサイズの新しい値が最大SGAサイズの現在の値を超えないと想定しています。
注意:
新しい合計SGAサイズが最大SGAサイズの現在の値を超える場合は、まず |
詳細は、「データベースのホームページのアクセス」を参照してください。
メモリー・アドバイザ・ページにSGAサブページが表示されます。
確認メッセージが表示されます。
参照:
|
自動PGAメモリー管理のメモリー設定を変更するには、Database Controlのメモリー・アドバイザ・ページを使用してインスタンスPGAのサイズを変更する必要があります。この項では、自動メモリー管理が無効、自動PGAメモリー管理が有効になっていると想定しています。
詳細は、「データベースのホームページのアクセス」を参照してください。
メモリー・アドバイザ・ページにSGAサブページが表示されます。
PGA総計ターゲット・アドバイス・ウィンドウが開きます。曲線上をクリックしてインスタンスPGAのサイズを変更し、「OK」をクリックします。
データベースの監視の詳細は、『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照してください。
確認メッセージが表示されます。
Oracle by Example(OBE)には、このマニュアルに関するシリーズが含まれています。このOBEでは、この章のタスクを段階的に説明し、注釈付きのスクリーンショットを使用します。
インスタンスに関するOBEを参照するには、ご使用のブラウザで次のURLを指定します。
http://www.oracle.com/technology/obe/11gr1_2day_dba/instance/instance.htm
|
![]() Copyright © 2004, 2008, Oracle Corporation. All Rights Reserved. |
|