Oracle Database 管理者リファレンス 10g リリース2(10.2) for UNIX Systems B19278-06 |
|
この章では、UNIXベースのオペレーティング・システムでOracle Databaseを管理する方法について説明します。次の項目について説明します。
Oracle Databaseを使用するには、Oracle Databaseの環境変数、パラメータおよびユーザー設定を設定する必要があります。この章では、Oracle Databaseの各種設定について説明します。
Oracle Databaseのファイルおよびプログラムでは、疑問符(?)は環境変数ORACLE_HOME
の値を表します。たとえば、Oracle Databaseでは、次のSQL文中の疑問符は、Oracleホーム・ディレクトリのフルパス名に展開されます。
SQL> ALTER TABLESPACE TEMP ADD DATAFILE '?/dbs/temp02.dbf' SIZE 200M
同様に、アットマーク(@)記号は環境変数ORACLE_SID
を表します。たとえば、ファイルが現行のインスタンスに属していることを示す場合は、次のコマンドを実行します。
SQL> ALTER TABLESPACE tablespace_name ADD DATAFILE tempfile@.dbf
この項では、通常使用されるOracle Databaseおよびオペレーティング・システムの環境変数について説明します。Oracle Databaseをインストールする前に、これらの環境変数をいくつか定義する必要があります。
環境変数の現在の設定値を表示するには、env
コマンドを使用します。たとえば、環境変数ORACLE_SID
の値を表示するには、次のコマンドを実行します。
$ env | grep ORACLE_SID
すべての環境変数の現在の設定値を表示するには、env
コマンドを次のように実行します。
$ env | more
表1-1に、Oracle Databaseで使用する環境変数を示します。
表1-2に、Oracle Databaseで使用するUNIX環境変数を示します。
この項では、デフォルト・シェルに応じてoraenv
またはcoraenv
スクリプトを使用し、共通のオペレーティング・システム環境を設定する方法について説明します。
oraenv
およびcoraenv
スクリプトは、インストール時に作成されます。この2つのスクリプトは、oratab
ファイルの内容に基づいて環境変数を設定し、次の機能を提供します。
開発システムからデータベースに対して頻繁に追加や削除を行ったり、同一システム上にインストールされた複数の異なるOracle Database間でユーザーが切替えを行う場合があります。oraenv
またはcoraenv
スクリプトを使用すると、ユーザー・アカウントが更新されていることを確認し、データベース間で切替えを行うことができます。
oraenv
またはcoraenv
スクリプトは通常、ユーザーのシェル起動ファイル(.profile
または.login
など)からコールされます。このスクリプトは、環境変数ORACLE_SID
およびORACLE_HOME
を設定し、$ORACLE_HOME/bin
ディレクトリを環境変数PATH
の設定に含めます。データベース間で切替えを行う場合に、oraenv
またはcoraenv
スクリプトを実行して、これらの環境変数を設定できます。
oraenv
、coraenv
およびdbhome
スクリプトを含むディレクトリは、ローカルbin
ディレクトリと呼ばれます。すべてのデータベース・ユーザーは、このディレクトリへの読取りアクセス権が必要です。ローカルbinディレクトリのパスをユーザーの環境変数PATH
の設定に追加してください。インストール後にroot.sh
スクリプトを実行すると、ローカルbin
ディレクトリのパスを要求するプロンプトが表示されます。指定したディレクトリに、oraenv
、coraenv
およびdbhome
スクリプトが自動的にコピーされます。デフォルトのローカルbin
ディレクトリは、/usr/local/bin
です。root.sh
スクリプトを実行しない場合は、手動でoraenv
またはcoraenv
スクリプトとdbhome
スクリプトを、$ORACLE_HOME/bin
ディレクトリからローカルbin
ディレクトリにコピーできます。
環境変数TZ
は、タイム・ゾーンを設定します。これによって、時間を夏時間に変更したり、別のタイム・ゾーンにすることができます。調整した時刻は、タイムスタンプ・ファイルに使用したり、date
コマンドの出力を生成したり、SYSDATE
の現在値を取得するために使用します。
個人用のTZ値は変更しないことをお薦めします。GMT+24などの異なるTZ値を使用すると、トランザクションが記録される日付が変更される場合があります。日付が変更されると、SYSDATEを使用するOracleアプリケーションが影響を受けます。この問題を回避するために、表の順序付けには、日付列ではなく順序番号を使用してください。
次の各項では、Oracle Database初期化パラメータについて説明します。
DB_BLOCK_SIZE
初期化パラメータは、データベースの標準ブロック・サイズを指定します。このブロック・サイズはSYSTEM表領域に使用され、その他の表領域ではデフォルトで使用されます。
DB_BLOCK_SIZE
に設定できる最大値は、LinuxおよびSolarisの場合は16KBです。 AIX、HP-UX、Tru64 UNIXおよびMac OS Xの場合は、32KBです。
ASM_DISKSTRING
初期化パラメータに値を割り当てるための構文は、次のとおりです。
ASM_DISKSTRING = 'path1'[,'path2', . . .]
この構文のpathn
は、RAWデバイスへのパスです。パスを指定する際は、ワイルドカード文字を使用できます。
表1-3に、ASM_DISKSTRING
初期化パラメータに対するプラットフォーム固有のデフォルト値を示します。
プラットフォーム | デフォルト検索文字列 |
---|---|
AIX |
|
HP-UX |
|
Linux |
|
Solaris |
|
Tru64 UNIX |
|
LOG_ARCHIVE_DEST_
n初期化パラメータのASYNC
に設定できる最大値は、次の表に示すように、UNIXのプラットフォームによって異なります。
プラットフォーム | 最大値 |
---|---|
zSeries Linux |
12800 |
HP-UXおよびTru64 UNIX |
51200 |
その他のオペレーティング・システム |
102400 |
この項では、次のOracle Databaseに必要な特殊なオペレーティング・システムのアカウントとグループについて説明します。
Oracleソフトウェア所有者アカウントは、通常oracle
という名前で、Oracleソフトウェアのインストールに使用します。ソフトウェアを個別にOracleホーム・ディレクトリにインストールするたびに、異なるOracleソフトウェア所有者アカウントを使用できます。ただし、インストール後のOracleホーム・ディレクトリの保守作業では、Oracleホーム・ディレクトリごとに、ソフトウェアをインストールしたときと同じアカウントを使用する必要があります。
Oracleソフトウェア所有者は、Oracleインベントリ・グループをプライマリ・グループとして、OSDBAグループをセカンダリ・グループとして所有することをお薦めします。
表1-4に、Oracle Databaseに必要な、特殊なオペレーティング・システム・グループを示します。
Oracle Databaseでは、UNIXオペレーティング・システムの機能をいくつか使用して、ユーザーに安全性の高い環境を提供します。その機能には、ファイル所有権、グループ・アカウント、処理時にそのユーザーIDを変更するプログラム機能が含まれます。
Oracle Databaseの2タスク構造によって、ユーザー・プログラムとoracle
プログラム間で作業(およびアドレス領域)を分割し、セキュリティを高めることができます。すべてのデータベース・アクセスは、このシャドウ・プロセスおよびoracle
プログラムへの特殊権限によって行うことができます。
Oracleプログラムは、セキュリティの観点から2つのセットに分けられます。つまり、すべてのユーザー(UNIX用語ではother
)が実行できるプログラムと、DBAのみが実行できるプログラムに分けられます。セキュリティを保護するために次の方法で分類することをお薦めします。
oracle
アカウントのプライマリ・グループは、oinstall
である必要があります。
oracle
アカウントは、dba
グループをセカンダリ・グループとする必要があります。
dba
グループに属することができますが、oinstall
グループに属することができるユーザー・アカウントは、Oracleソフトウェア所有者アカウントのみです。たとえば、oracle
ユーザーなどです。
外部認証を使用する場合は、OS_AUTHENT_PREFIX
初期化パラメータの値をOracleユーザー名の接頭辞として使用する必要があります。このパラメータを明示的に設定しない場合は、UNIXのデフォルト値ops$
(大/小文字区別あり)が使用されます。
オペレーティング・システムとOracle認証の両方に同一のユーザー名を使用するには、次のように、この初期化パラメータをNULL文字列に設定します。
OS_AUTHENT_PREFIX=""
パスワード・ファイルを使用して、データベースへの接続時にSYSDBAおよびSYSOPER権限を使用できるユーザーを識別できます。Oracle Database Configuration Assistantを使用してデータベースを作成すると、新規データベースに対してパスワード・ファイルが作成されます。データベースを手動で作成する場合は、次のようにデータベースのパスワード・ファイルを作成してください。
orapwd
ユーティリティを使用して、次のようにパスワード・ファイルを作成します。
$ $ORACLE_HOME/bin/orapwd file=filename password=password entries=max_users
次の表に、このコマンドで指定する必要がある値を示します。
Oracle Database Configuration Assistantを使用してデータベースを作成する場合、ユーザーはSYSおよびSYSTEMアカウントのパスワードを変更する必要があります。デフォルトのパスワードCHANGE_ON_INSTALLおよびMANAGERは使用できません。
Oracle Database Configuration Assistantでは、セキュリティ上の理由により、データベースの作成後にほとんどのOracleユーザー・アカウントがロックされます。ただし、SYSまたはSYSTEMの各アカウントはロックされません。ロックされたアカウントを使用するには、ロックを解除してパスワードを変更する必要があります。そのためには、次の方法のいずれかを使用できます。
SQL> ALTER USER username IDENTIFIED BY passwd ACCOUNT UNLOCK;
オペレーティング・システム・アカウントは、必要に応じて作成します。管理者権限を使用してデータベースに接続するには、ユーザーがOSDBAまたはOSOPERグループのメンバーである必要があります。
oracle
ユーザーおよびOracleユーザーのオペレーティング・システム・アカウントの起動ファイルを更新し、環境ファイルに適切な環境変数を指定します。
Bourne、BashまたはKornシェルの場合は、環境変数を.profile
ファイルに追加します。Red Hat Enterprise LinuxおよびMac OS XのBashシェルの場合は、.bash_profile
ファイルに追加します。
Cシェルの場合は、環境変数を.login
ファイルに追加します。
次の各項では、RAWデバイス(RAWパーティションまたはRAWボリューム)の使用方法について説明します。
RAWデバイス(RAWパーティションまたはRAWボリューム)には、次のようなデメリットがあります。
現在のファイル・サイズ制限を表示するには、次のコマンドを実行します。
RAWデバイスの使用を決定する際は、次のことに考慮する必要があります。
少なくともOracleデータファイルと同数のRAWディスク・パーティションがある場合のみ、OracleファイルにRAWパーティションを使用してください。ディスク領域を見直す場合に、RAWディスク・パーティションがすでに作成済のときは、データファイル・サイズとパーティション・サイズをできるだけ一致させ、無駄な領域をなくすようにします。
また、多数のディスク上の領域を一部のみ使用した場合と少数のディスク上の領域をすべて使用した場合の、パフォーマンスへの影響も考慮する必要があります。
論理ボリューム・マネージャは、論理レベルでディスク領域を管理するため、RAWデバイスの複雑さを意識する必要がありません。論理ボリュームを使用することによって、RAWパーティションの可用性に基づいて論理ディスクを作成できます。論理ボリューム・マネージャは、次の方法で固定ディスク・リソースを管理します。
RACの場合、1つのシステムに関連付けられているドライブにも、クラスタ内の複数のシステムで共有できるドライブにも、論理ボリュームを使用できます。共有ドライブを使用すると、RACデータベースに関連付けられたすべてのファイルを、これらの共有論理ボリュームに配置できます。
ディスク・パフォーマンスを最適化するには、アクティビティの高いディスク・ドライブからアクティビティの低いディスク・ドライブにファイルを移動します。論理ディスク機能を提供しているほとんどのハードウェア・ベンダーからも、チューニングに使用できるグラフィカル・ユーザー・インタフェース(GUI)が提供されています。
データ損害からデータを保護するために、論理ボリュームをミラー化できます。ミラー化された一方のデータに障害が起きた場合は、動的に再同期化できます。ベンダーによっては、ミラー化機能を使用してオンラインでドライブを交換する機能を提供している場合もあります。
RAWデバイスを作成する際は、次の内容を確認してください。
oracle
)であり、グループがOSDBAグループ(dba
)であることを確認します。
AIXおよびTru64 UNIXシステムの場合、RAW論理ボリューム上のデータファイルには、最初のOracleデータ・ブロックにオフセットが存在する場合があります。このオフセットは、論理ボリューム・マネージャに必要です。
オフセット値の指定には、$ORACLE_HOME/bin/offset
ユーティリティを使用できます。オフセット値の指定は、データファイルを異なるデバイスに転送する場合などに必要です。
関連項目:
オフセット0(ゼロ)を使用できるAIXシステムでのRAW論理ボリュームの作成方法は、付録Aを参照してください。AIXシステムのRAW論理ボリュームには、オフセット0(ゼロ)の使用をお薦めします。 |
RAWキャラクタ・デバイスとブロック・デバイスの両方を、データベースを作成する際のRAWボリュームとして使用できます。ブロック・デバイスがサポートされているため、RAWデバイスの最大数に関するカーネル・レベルの制限はなく、必要に応じて追加のRAWボリュームを構成できます。
この項では、操作上の問題を簡単に診断して解決できるように、Oracle Databaseが作成するトレース・ファイル(ダンプ・ファイル)およびアラート・ファイルについて説明します。この項の内容は、次のとおりです。
各サーバーとバックグラウンド・プロセスでは、トレース・ファイルに情報を書き込みます。プロセスが内部エラーを検出すると、そのエラーに関する情報がトレース・ファイルに書き込まれます。トレース・ファイルのファイル名の形式はsid_processname_unixpid
.trc
です。各項目の説明は次のとおりです。
sid
は、インスタンスのシステム識別子です。
processname
は、トレース・ファイルを作成したOracle Databaseプロセスを識別するための、3〜4文字の短縮されたプロセス名(pmon
、dbwr
、ora
、reco
など)です。
unixpid
は、オペレーティング・システム・プロセスのID番号です。
次に、トレース・ファイル名のサンプルを示します。
$ORACLE_BASE/admin/TEST/bdump/test_lgwr_1237.trc
バックグラウンド・プロセス用のトレース・ファイルはすべて、BACKGROUND_DUMP_DEST
初期化パラメータで指定した接続先ディレクトリに書き込まれます。この初期化パラメータを設定しない場合は、デフォルトのディレクトリ$ORACLE_HOME/rdbms/log
が使用されます。
ユーザー・プロセス用のトレース・ファイルはすべて、USER_DUMP_DEST
初期化パラメータで指定した接続先ディレクトリに書き込まれます。この初期化パラメータを設定しない場合は、デフォルトのディレクトリ$ORACLE_HOME/rdbms/log
が使用されます。MAX_DUMP_FILE
初期化パラメータを5000以上に設定し、トレース・ファイルがエラー情報を格納するのに十分な大きさになるようにします。
alert_
sid
.log
ファイルには、重要なデータベース・イベント情報やメッセージを格納します。データベース・インスタンスまたはデータベースに影響を与えるイベントは、このファイルに記録されます。このファイルは、データベースに関連付けられ、BACKGROUND_DUMP_DEST
初期化パラメータで指定したディレクトリに配置されます。この初期化パラメータを設定しない場合は、デフォルトのディレクトリ$ORACLE_HOME/rdbms/log
が使用されます。