Oracle Database 2日でデータベース管理者 10g リリース2(10.2) B19197-03 |
|
この章では、Oracleインスタンスおよびデータベースについて説明します。
この項の内容は次のとおりです。
Oracleデータベースは、一連のオペレーティング・システム・ファイルで構成されています。オペレーティング・システム・ファイルには、ユーザーまたはアプリケーションによって入力されるデータと、メタデータと呼ばれるデータベース自体に関する構造情報が含まれます。情報は、これらのファイルに永続的に格納されます。
ユーザーおよびアプリケーションがデータベース内のデータを表示または更新できるようにするには、Oracleでは、バックグラウンド・プロセスと呼ばれる一連のプロセスを起動し、データベース操作中に使用するメモリーを割り当てる必要があります。このバックグラウンド・プロセスおよびOracleが割り当てたメモリーで、インスタンスが構成されます。データベースに対して読取りおよび書込みを行うには、インスタンスを起動する必要があります。ただし、データベースの保持には、インスタンスの実行は必要はありません。
データベース・インスタンスを使用できない場合、データベース内のデータは安全ですが、ユーザーまたはアプリケーションはそのデータにアクセスできません。
データベース・インスタンスのプロパティは、インスタンスの初期化パラメータを使用して指定します。インスタンスを起動すると、初期化パラメータ・ファイルが読み取られ、それに応じてインスタンスが構成されます。
この項では、インスタンスとその管理の概念の一部について説明します。この項の内容は次のとおりです。
インスタンス管理には、データベース・インスタンスの基本操作に影響するパラメータの設定が含まれます。これらのパラメータは初期化パラメータと呼ばれます。Oracleデータベース・サーバーは、データベースの起動時にこれらのパラメータを読み取り、データベースの実行中に監視します。これらのパラメータはメモリーに格納され、その多くは、メモリー内で動的に変更できます。パラメータ・ファイルには2つのタイプがあり、これらの動的変更がデータベースの停止から起動までの間一貫性を維持しているかどうかは、使用しているパラメータのタイプによって異なります。
サーバー・パラメータ・ファイルは、初期化パラメータ・ファイルの優先される形式であり、データベースによって書込みおよび読取りが可能なバイナリ・ファイルです。手動では編集しないでください。 このファイルはOracleが実行されているマシンに常駐し、このファイルに対する変更は停止や起動に関係なく維持されます。
このタイプの初期化パラメータ・ファイルは、データベース・サーバーによって読取りはできますが、書込みはできません。このファイルでは、テキスト・エディタを使用して初期化パラメータを設定でき、停止や起動の間も維持されます。
インスタンス・メモリー構造のサイズは、Oracleデータベース・サーバーのパフォーマンスに影響し、初期化パラメータによって制御されます。
DBCAを使用してデータベースを作成すると、データベース・ワークロード(データ・ウェアハウス、汎用目的、トランザクション処理など)に基づいて、メモリー・パラメータが最適な値に自動的に設定されます。ただし、データベースの使用率の増加に応じて、メモリー・パラメータの設定を変更できます。
Oracleでは、メモリーのサイズ調整での問題の特定、およびメモリー・パラメータに対する適切な値の判断に有効なアラートおよびアドバイザが提供されます。
SGAは、インスタンスのデータおよび制御情報を含む共有メモリー領域です。複数のユーザーがこのメモリー領域内でデータを共有でき、物理ディスクから繰返し行われる時間の要するアクセスを回避できます。最適なパフォーマンスを得るには、頻繁なディスク読取りおよび書込みの必要がないように、十分な大きさのSGAが必要です。
SGAには、次に示すサブコンポーネントがあります。
コンポーネント | 説明 |
---|---|
バッファ・キャッシュ |
データベース内に格納されたデータの問合せまたは変更を行うには、データがディスクから読み取られ、バッファ・キャッシュのメモリー内に格納される必要があります。データベースに接続されるすべてのユーザー・プロセスは、バッファ・キャッシュへのアクセスを共有します。 |
共有プール |
共有プールは、ユーザー間で共有可能な次の情報をキャッシュします。 |
REDOログ・バッファ |
このバッファは、ディスクに格納されている物理REDOログ・ファイルに適切な時期に一度に書き込むことができるまで、インスタンスのリカバリに使用するREDO情報をキャッシュしてパフォーマンスを向上させます。REDO情報およびREDOログ・ファイルについては、「オンラインREDOログ・ファイル」を参照してください。 |
ラージ・プール |
このオプション領域は、様々なサーバー・プロセスに対する大量のI/O要求のバッファに使用されます。 |
Javaプール |
Javaプールのメモリーは、Java Virtual Machine(JVM)内のすべてのセッション固有のJavaコードおよびデータに使用されます。 |
Streamsプール |
Streamsプールは、Oracle Streams製品によって使用されます。 |
プログラム・グローバル領域(PGA)は、単一のOracleサーバー・プロセスによって使用されるメモリー領域です。サーバー・プロセスは、クライアントの要求を処理するプロセスです。プロセスの起動時、各サーバー・プロセスには、その固有の非共有PGAがあります。
PGAは、SQL文を処理し、ログオンおよびその他のセッションに関する情報を保持するために使用されます。
使用されるPGAメモリーの量およびその内容は、インスタンスの構成、つまり、インスタンスが専用サーバー・モードで実行されているか、共有サーバー・モードで実行されているかどうかによって異なります。
Oracleは、インスタンスの一連のバックグラウンド・プロセスを作成します。これらのバックグラウンド・プロセスは、メモリー構造を管理し、非同期にI/Oを実行してデータをディスクに書き込み、一般的な保守タスクを実行します。バックグラウンド・プロセスは、(バックグラウンド・プロセスがなければ)各ユーザー・プロセスのために実行される複数のOracleプログラムが処理する機能を統合します。また、他のOracleプロセスを監視し、パフォーマンスと信頼性を向上させるための並列性を向上させます。
存在するバックグラウンド・プロセスは、データベースで使用されている機能によって異なります。最も一般的な(管理者に直接関係がある)バックグラウンド・プロセスを、表5-2「Oracleバックグラウンド・プロセス」に示します。
バックグラウンド・プロセス | 説明 |
---|---|
データベース・ライター(DBWn) |
データベース・ライターは、変更されたブロックをデータベース・バッファ・キャッシュからディスクのファイルに書き込みます。Oracleでは、最大20のデータベース・ライター・プロセスを使用できます。 |
ログ・ライター(LGWR) |
ログ・ライター・プロセスでは、ディスクにREDOログ・エントリを書き込みます。REDOログ・エントリは、SGAのREDOログ・バッファに生成されます。ログ・ライター・プロセスでは、REDOログ・エントリを順次オンラインREDOログ・ファイルに書き込みます。 |
チェックポイント |
特定の時点で、SGA内の変更されたすべてのデータベース・バッファが、データベース・ライター・プロセス(DBWn)によってデータファイルに書き込まれます。このイベントは、チェックポイントと呼ばれます。チェックポイント・プロセスは、DBWnに信号を送信し、データベースのデータファイルおよび制御ファイルをすべて更新して、この更新時間を記録します。 |
システム・モニター(SMON) |
システム・モニターは、障害が発生したインスタンスの再起動時にクラッシュ・リカバリを実行します。 |
プロセス・モニター(PMON) |
プロセス・モニターは、ユーザー・プロセスで障害が発生した場合にリカバリを実行します。キャッシュのクリーンアップ、および障害が発生したプロセスで使用されていたリソースの解放を実行します。 |
アーカイバ(ARCn) |
ログ・ファイルが一杯になるか、またはログ・スイッチが実行されると、アーカイバ・プロセスによってREDOログ・ファイルがアーカイブ記憶域にコピーされます。アーカイブ・プロセスを実行するには、データベースはアーカイブ・ログ・モードである必要があります。詳細は、第9章「バックアップおよびリカバリの実行」を参照してください。 |
データベース・インスタンスは、Oracleインスタンスへの特別な接続権限を持つデータベース管理者のみが起動できます。データベース・インスタンスは、起動後、データベース・アカウントを持つユーザーのアクセスに対していつもオープン状態になります。
Oracleインスタンスおよびデータベースを起動する管理者は、特別な接続権限でインスタンスに接続する必要があります。これらの権限には、完全な権限を与えられたデータベース管理者用のSYSDBA
、およびユーザー・オブジェクトにアクセスする権限なしでデータベースを操作するユーザー用のSYSOPER
があります。これらの権限に対する認可は、オペレーティング・システムまたは特別なパスワード・ファイルのいずれかによって付与されます。
Oracleデータベースを作成すると、自動的に作成されるSYS
およびSYSTEM
という2つの主要な管理ユーザー・アカウントがあります。これらの両方のユーザーは完全なデータベース管理権限を所有していますが、ユーザーSYS
のみがSYSDBA
権限で最初に接続できます。
インスタンスおよびデータベースを起動するプロセスは次のとおりです。
STARTUP
文の使用。詳細は、『Oracle Database管理者ガイド』を参照してください。
Oracleは、初期化パラメータ・ファイルを読み取り、SGAメモリーを割り当て、インスタンスのバックグラウンド・プロセスを起動します。
デフォルトの起動操作では、前述の3つの手順を実行します。別の方法で明示的に指定しないかぎり、インスタンスが起動され、データベースがマウントされてオープン状態になります。
データベースを停止するには、起動プロシージャを無効にします。
バックグラウンド・プロセスに加えて、Oracleは、ユーザーの接続要求を処理するサーバー・プロセスまたはクライアント・プロセスを作成します。ユーザー接続は、次の2つの部分で構成されています。
クライアントとOracleが同じマシンで動作する場合、ユーザー・プロセスとそれに対応するサーバー・プロセスを組み合せて単一のプロセスにすると、システムのオーバーヘッドを削減できます。ただし、クライアントとOracleが異なるマシンで動作する場合は、常に、ユーザー・プロセスは個別のサーバー・プロセスを介してOracleと通信します。
サーバー・プロセスは、専用または共有のいずれかにできます。専用サーバー・モードでは、各クライアント・プロセスが専用のサーバー・プロセスを使用します。専用サーバー・プロセスは時間がかかる問合せおよび管理タスクに便利ですが、アイドル状態のプロセスがあったり、専用プロセスが多すぎると、リソースを効率的に使用することができません。
共有サーバー・モードを使用すると、接続ごとの専用サーバー・プロセスが不要になります。ディスパッチャは、受信ネットワーク・セッション要求を共有サーバー・プロセスのプールに送信します。アイドル状態の共有サーバー・プロセスは、共通のキューから要求を選択します。つまり、少数の共有サーバーが専用サーバーと同じ量の処理を実行できます。各ユーザーに必要なメモリーの量が比較的小さいため、メモリーおよびプロセス管理はほとんど必要なく、より多くのユーザーをサポートできます。
共有サーバー・モードは、複数のユーザーおよびクライアントが時間のかからない問合せを頻繁に行う場合に、より有効です。
Oracle Netは、異なる物理マシンが、Oracleデータベースにアクセスするために通信を行うことを可能にするソフトウェアのレイヤーです。クライアント・マシンおよびデータベース・サーバーで実行されます。クライアント・マシンとデータベース・サーバーが同じマシンの場合があります。
Oracle Netを使用すると、クライアントおよびサーバーが、多くの一般的なネットワーク・プロトコルを使用してネットワーク上で通信できます。また、クライアント・マシンがサーバーの位置を認識する必要がないように、位置の透過性が提供されます。データベースを別の場所に移動する場合、Oracle Netの再構成のみを行う必要があります。クライアント・アプリケーションに必要な変更はありません。
Oracle Netは、個別に構成および起動して、データベースへのクライアント接続を処理する必要があります。Oracle Netは、Oracle Enterprise Managerまたは個別に起動されるOracle Net Managerと呼ばれるGUIツールを使用して構成できます。詳細は、第4章「ネットワーク環境の構成」を参照してください。
インスタンスを起動すると、リスナー・プロセスがOracleとの通信経路を確立します。ユーザー・プロセスで接続要求が行われると、リスナーは、共有サーバー・ディスパッチャ・プロセスまたは専用サーバー・プロセスのいずれを使用するかを判断し、適切な接続を確立します。
インスタンスまたはデータベースを停止した後、再起動する必要がある場合は、図5-1「データベースの「ホーム」ページの「停止」または「起動」ボタン」に示す「データベース」の「ホーム」ページの「一般」ヘッダーの下にある「停止」または「起動」ボタンをクリックすると、この操作を実行できます。
最初のページには、「起動/停止: ホストとターゲット・データベースの資格証明の指定」が表示されます。このページでは、SYSDBA
またはSYSOPER
権限を使用して、Oracleが実行されているマシンおよびデータベース自体へのログインを求められます。次の画面では、オプションを指定して、データベースの停止または起動を実行できます。
Windowsサービス・プログラムを使用して、Oracleデータベースを起動および停止できます。Oracleを起動するには、次のサービスを開始する必要があります。
OracleService
SID
。Oracleデータベース・インスタンスです。
Oracle
ORACLE_HOME
TNSListener
。クライアントがデータベースの接続に必要なリスナーです。
Oracle
DBConsole
SID
。これによって、クライアントはEnterprise Managerに接続できます。
前述のサービス名では、SID
はインスタンスのシステム記述子を、ORACLE_HOME
はOracleホームを表します。
これらのサービスを開始するには、次の手順を実行します。
ご使用のシステムで選択可能なすべてのサービスが表示されます。
orcl
の場合は、次のサービスを検索します。
データベースを停止するには、「開始」のかわりに「停止」をクリックします。
Oracle提供の事前構成済データベースのいずれかをインストールすると、初期化パラメータは、指定した環境での通常の使用に対応して最適化されます。この項では、データベースの初期化パラメータ設定の表示手順およびパラメータの変更手順について説明します。
データベースの初期化パラメータを表示または変更するには、次の手順を実行します。
Enterprise Managerによって、「初期化パラメータ」ページが表示されます。このページには、データベース・インスタンスの各初期化パラメータの値が表示されます。このページの「SQL表示」、「元に戻す」および「適用」ボタンを使用して、初期化パラメータの値を変更できます。
「初期化パラメータ」プロパティ・ページには、次の2つのタブが表示されます。
このページを使用して、現在実行中のインスタンスで、パラメータを動的に変更できます。「動的」とマークされたパラメータのみ変更できます。変更するには、新しい値を入力して「適用」をクリックします。
このファイルのパラメータ設定に対する変更は、インスタンスの起動や停止の間も維持されます。一貫性を維持して初期化パラメータに永続的な変更を行うには、新しい値を入力して「適用」をクリックします。オプションで、SPFileでの変更を現在実行中のインスタンスに適用するように選択することによって、現在実行中のインスタンスに変更を適用できます。このボックスを選択しない場合、データベースが停止および再起動されるまで、変更は反映されません。
「基本」とマークされたパラメータは、すべての初期化パラメータのサブセットであり、データベースを正常に実行するために必要です。
データベースのユーザー数が増加し、ワークロードが増加した場合、いくつかの初期化パラメータを変更する必要があります。これらの変更は、前述したとおり「初期化パラメータ」ページを使用して行うか、またはOracle提供のいずれかのアドバイザを使用して行うことができます。そのようなアドバイザの1つであるメモリー・アドバイザについては、「メモリー・パラメータの管理」を参照してください。
メモリー・パラメータは初期化パラメータであり、システム・グローバル領域(SGA)とプログラム・グローバル領域(PGA)の合計サイズおよびSGAのサブコンポーネントの合計サイズを決定します。メモリー・パラメータの設定は、データベースのパフォーマンスに影響する場合があります。データベースをインストールすると、これらのパラメータは、指定した環境の要件を満たすようにチューニングされます。
データベースを構成したときに自動共有メモリー管理を使用可能にした場合、Oracleは、SGAのサブコンポーネント(共有プール、バッファ・キャッシュなど)のサイズを自動的に設定します。このような場合は、自動メモリー・チューニングを有効にすることをお薦めします。
自動共有メモリー管理が無効になっている場合、「メモリー・パラメータ」ページで有効にすることができます。「インスタンス」ヘッダーの下にある「メモリー・パラメータ」をクリックすると、「管理」ページからこのページに移動できます。このページから、自動共有メモリー管理を有効または無効にできます。また、これらのプロパティ・ページから、SGAおよびPGAメモリーの設定も表示できます。
インスタンスを停止せずにSGAサブコンポーネントのサイズを変更するために、「メモリー・パラメータ」ページで自動共有メモリー管理を無効にすることができます。「メモリー・パラメータ」ページの「アドバイス」ボタンを使用すると、メモリー・アドバイザ(第10章「データベースの監視およびチューニング」の「メモリー・アドバイザの使用」を参照)によって、最適なメモリーの設定に対するアドバイスが表示されます。メモリーの設定を手動で変更する場合は、新しいサイズを入力して、インスタンスの起動中に動的に変更を適用することができます。
また、「初期化パラメータ」ページの「現行」プロパティ・ページから、メモリー・パラメータの変更を行うこともできます。ただし、メモリー・パラメータの動的な変更にはいくつかの制限があります。詳細は、『Oracle Database管理者ガイド』を参照してください。
メモリー・パラメータに対して、インスタンスの起動や停止の間も維持される変更を行うには、パラメータ・ファイルを変更する必要があります。これには、「メモリー・パラメータ」ページから「SPFile」プロパティ・ページに移動し、このプロパティ・ページで変更を行います。
Oracle by Example(OBE)には、このマニュアルに関するシリーズが含まれています。このOBEでは、この章のタスクを段階的に説明し、注釈付きのスクリーン・ショットを使用します。
インスタンスのOBEを参照するには、ご使用のブラウザで次の場所を指定します。
http://www.oracle.com/technology/obe/10gr2_2day_dba/instance/instance.htm
|
![]() Copyright © 2006 Oracle Corporation. All Rights Reserved. |
|