1 Oracle Databaseの管理
この章では、UNIXベースのオペレーティング・システムでOracle Databaseを管理する方法について説明します。内容は次のとおりです。
関連項目:
-
Oracle Databaseの管理に関するプラットフォーム固有の情報は、このマニュアルの付録を参照してください。
-
Oracle Databaseの管理に関する一般的な情報は、『Oracle Database管理者ガイド』および『2日でデータベース管理者』を参照してください。
1.1 概要
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
1.2 環境変数
この項では、通常使用されるOracle Databaseおよびオペレーティング・システムの環境変数について説明します。Oracle Databaseをインストールする前に、いくつかの環境変数を定義する必要があります。このセクションでは、次のトピックについて説明します。
環境変数の現在の設定値を表示するには、envコマンドを使用します。たとえば、環境変数ORACLE_SIDの値を表示するには、次のコマンドを実行します。
$ env | grep ORACLE_SID
すべての環境変数の現在の設定値を表示するには、envコマンドを次のように実行します。
$ env | more
1.2.1 Oracle Databaseの環境変数
次の表は、Oracle Databaseで使用する一部の環境変数を示します。
表1-1 Oracle Databaseの環境変数
| 変数 | 定義 |
|---|---|
|
|
機能: クライアント環境の言語、地域およびキャラクタ・セットを指定します。 この変数のパラメータ・リストの詳細は、『Oracle Databaseグローバリゼーション・サポート・ガイド』を参照してください。 構文: 例: |
|
|
機能: 言語、地域、キャラクタ・セットおよび言語の定義ファイルが保存されているディレクトリを指定します。 構文: 例: |
|
機能: タイム・ゾーン・ファイルのフルパスおよびファイル名を指定します。Oracle Database Serverでは、常に大規模タイム・ゾーン・ファイル( 構文: 例: |
|
|
機能: Optimal Flexible Architectureに準拠したインストールのOracleディレクトリ構造の基本となるディレクトリを指定します。 構文: 例: |
|
|
機能: Oracleソフトウェアが格納されているディレクトリを指定します。 構文: 例: |
|
|
機能: SQL*PlusなどのOracleアプリケーションが使用するファイルの検索パスを指定します。ファイルのフルパス名が指定されていない場合やファイルが現行のディレクトリにない場合、Oracleアプリケーションでは、 構文: ディレクトリをコロンで区切ったリスト: directory1:directory2:directory3 例: |
|
|
機能: Oracleシステムの識別子を指定します。 構文: 英字で始まり、数字と英字で構成される文字列を指定します。システム識別子は、8文字以内で指定することをお薦めします。この環境変数の詳細は、『Oracle Databaseインストレーション・ガイド』を参照してください。 例: |
|
|
機能: インストール時のシェル・スクリプトのトレースを有効にします。この環境変数を 構文: 例: |
|
|
機能: 構文: 例: |
|
|
機能: SQL*Plusでの 構文: ディレクトリをコロンで区切ったリスト: 例: |
|
|
|
機能: Oracle Net Services構成ファイルが格納されているディレクトリを指定します。 構文: 例: |
|
機能: 接続文字列に使用するデフォルトの接続識別子を指定します。この環境変数が設定されている場合は、接続文字列に接続識別子を指定しないでください。たとえば、環境変数 SQL> CONNECT 構文: 任意の接続識別子 値の範囲: ネーミング・メソッドを使用して解決できる有効な接続識別子( 例: |
|
|
|
機能: ファイル名およびユーザー名がオペレーティング・システムによりエンコードされるUNIXロケールのキャラクタ・セットに対応するOracleキャラクタ・セット名を指定します。UNIXロケール・キャラクタ・セットとOracleクライアントのキャラクタ・セットが異なる場合、環境変数 構文: 例: |
注意:
-
競合を防ぐため、Oracle Databaseサーバーのプロセスと同じ名前の環境変数を定義しないでください。たとえば、
ARCH、PMONおよびDBWRなどです。 -
Oracleインストール所有者(
oracleユーザー)の環境変数が未設定の場合、または設定したパスが正しくない場合、Oracle Databaseの起動時に次のような未定義のエラーが発生することがあります。データベースを起動する前に、すべての環境変数が正しく設定されていることを確認します。詳細は、My Oracle Supportノート373303.1を参照してください。https://support.oracle.com/epmos/faces/DocumentDisplay?id=373303.1
注意:
My Oracle Supportノート373303.1で提案されている変更を実装する前に、Oracle Supportに連絡する必要があります。
1.2.2 LinuxおよびUNIXの環境変数
Oracle Databaseでは、オペレーティング・システムの環境変数を使用して、システム・リソースとソフトウェアの場所を定義します。
表1-2 Oracle Databaseで使用する環境変数
| 変数 | 定義 |
|---|---|
|
|
機能: Adaコンパイラが格納されているディレクトリを指定します 構文: 例: |
|
|
機能: Javaアプリケーションで使用します。この環境変数に必要な設定は、Javaアプリケーションによって異なります。詳細は、Javaアプリケーション製品のドキュメントを参照してください。 構文: ディレクトリまたはファイルをコロンで区切ったリスト: 例: デフォルトの設定はありません。
|
|
|
機能 :Xベースのツールで使用します。入出力に使用するディスプレイ・デバイスを指定します。詳細は、使用しているX Window Systemのドキュメントを参照してください。 構文:
注意: 使用するモニターが1つの場合、 例:
|
|
|
機能: ユーザーのホーム・ディレクトリを指定します。 構文: 例: |
|
|
機能: メッセージなどの出力でオペレーティング・システムが使用する言語およびキャラクタ・セットを指定します。また、Oracle Universal Installer、Oracle Database Configuration AssistantなどのJavaでプログラムされているOracleツールでは、ユーザー・インタフェースの言語を判別するためにこの変数を使用することがあります。詳細は、オペレーティング・システムのドキュメントを参照してください。 |
|
|
機能: デフォルトのリンカー・オプションを指定します。この環境変数の詳細は、 |
|
|
機能: デフォルトのプリンタの名前を指定します。 構文: 例: |
|
|
機能: UNIXおよびLinux上のライブラリの検索に使用するパスを指定する環境変数。環境変数の名前は、 構文: ディレクトリをコロンで区切ったリスト: 例: |
|
|
機能: シェルで、実行可能プログラムの場所を特定するために使用されます。 構文: ディレクトリをコロンで区切ったリスト: 例: |
|
|
機能: デフォルトのプリンタの名前を指定します。 構文: 例: |
|
|
機能: 一時ファイル用のデフォルト・ディレクトリを指定します。設定されている場合、一時ファイルを作成するツールが次のいずれかのディレクトリに作成します。 構文: 例: |
|
|
機能: ログインするユーザーの名前を指定します。 構文: 例: |
1.2.3 共通の環境設定
この項では、デフォルト・シェルに応じてoraenvまたはcoraenvスクリプトを使用し、共通のオペレーティング・システム環境を設定する方法について説明します。
-
Bourne、BashまたはKornシェルの場合は、
oraenvコマンドを使用します。 -
Cシェルの場合は、
coraenvコマンドを使用します。
oraenvおよびcoraenvスクリプト・ファイル
oraenvおよびcoraenvスクリプトはインストール中に作成されます。これらのスクリプトは、oratabファイルの内容に基づいて環境変数を設定し、次の機能を提供します。
-
データベースの変更をすべてのユーザー・アカウントに反映して更新するための主な方法
-
oratabファイルに指定されているデータベース間で切替えを行うためのメカニズム
開発システムからデータベースに対して頻繁に追加や削除を行ったり、同一システム上にインストールされた複数の異なるOracle Database間でユーザーが切替えを行う場合があります。oraenvまたはcoraenvスクリプトを使用すると、ユーザー・アカウントが更新されていることを確認し、データベース間で切替えを行うことができます。
注意:
oraenvまたはcoraenvスクリプトは、Oracleソフトウェア所有者(通常はoracle)ユーザーのシェル起動スクリプトからはコールしないでください。これらのスクリプトでは値の入力を促すプロンプトが表示されるため、システムの起動時にdbstartスクリプトが自動的にデータベースを起動できなくなります。
oraenvまたはcoraenvスクリプトは通常、ユーザーのシェル起動ファイル(.profileまたは.loginなど)からコールされます。これは、環境変数ORACLE_SIDおよびORACLE_HOMEを設定し、$ORACLE_HOME/binディレクトリを環境変数PATHの設定に含めます。データベース間で切替えを行う場合に、oraenvまたはcoraenvスクリプトを実行して、これらの環境変数を設定できます。
注意:
これらのスクリプトのいずれかを実行するには、適切なコマンドを使用します。
-
coraenvスクリプトの場合:% source /usr/local/bin/coraenv
-
oraenvスクリプトの場合:$ . /usr/local/bin/oraenv
ローカルbinディレクトリ
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ディレクトリにコピーできます。
1.2.4 システム・タイム・ゾーンの設定
環境変数TZは、タイム・ゾーンを設定します。これによって、時間を夏時間に変更したり、別のタイム・ゾーンにすることができます。
関連項目:
-
"表1-1"の"ORA_TZFILE"
-
データベース・タイムゾーンの設定の詳細は、『Oracle Databaseグローバリゼーション・サポート・ガイド』および『Oracle Database管理者ガイド』を参照してください。
1.3 初期化パラメータ
これらの各項では、Oracle Database初期化パラメータについて説明します。
トピック:
1.3.1 ASM_DISKSTRING初期化パラメータ,
注意:
ASM_DISKSTRING初期化パラメータをサポートしているのは、自動ストレージ管理インスタンスのみです。
ASM_DISKSTRING初期化パラメータに値を割り当てるための構文は、次のとおりです。
ASM_DISKSTRING = 'path1'[,'path2', . . .]
この構文のpathnは、RAWデバイスへのパスです。パスを指定する際は、ワイルドカード文字を使用できます。
表1-3に、ASM_DISKSTRING初期化パラメータに対するプラットフォーム固有のデフォルト値を示します。
表1-3 ASM_DISKSTRING初期化パラメータのデフォルト値
| プラットフォーム | デフォルト検索文字列 |
|---|---|
|
Oracle Solaris |
|
|
Linux |
|
|
IBM AIX on POWER Systems (64ビット) |
|
|
HP-UX |
|
1.3.2 DISK_ASYNCH_IO初期化パラメータ(HP-UX)
DISK_ASYNCH_IO初期化パラメータは、データベース・ファイルがRAWディスクとファイル・システムのどちらに置かれるかを決定します。非同期I/Oは、データベース・ファイルの記憶域オプションとしてRAWパーティションを使用する自動ストレージ管理ディスク・グループでのみ使用できます。DISK_ASYNCH_IOパラメータには、ファイルが存在する場所に応じてTRUEまたはFALSEを設定できます。デフォルトでは、この値はTRUEに設定されます。
注意:
DISK_ASYNCH_IOパラメータは、データベース・ファイルがファイル・システム上に置かれる場合、FALSEに設定する必要があります。このパラメータをTRUEに設定する必要があるのは、データベース・ファイルがRAWパーティション上に置かれる場合のみです。
1.3.3 PROCESSOR_GROUP_NAME初期化パラメータ
PROCESSOR_GROUP_NAMEは、インスタンスが稼働しているプロセッサ・グループの名前を指定します。このパラメータは、指定されたオペレーティング・システム・プロセッサ・グループのプロセッサでのみ稼働するよう、Oracle Databasesに対して指示します。NUMAシステムの場合、システム・グローバル領域(SGA)およびプログラム・グローバル領域(PGA)はすべて、このプロセッサ・グループのCPUに関連付けられたNUMAノードから割り当てられます。
PROCESSOR_GROUP_NAMEパラメータはLinux x86-64およびOracle Solaris 11 SRU 4以上でのみサポートされています。
Linux x86-64では、制御グループ(cgroups)と呼ばれるLinuxの機能によってCPUの名前付きサブセットが作成されます。cgroupsはLinuxカーネル・バージョン2.6.24で導入されます。これは、グループの名前と1つのCPUセットを指定して作成します。プロセスがcgroupにマップされると、そのcgroupに関連付けられたCPUのみが使用されます。
Oracle Solaris 11 SRU 4では、リソース・プールと呼ばれる機能を使用してCPUの名前付きサブセットが作成されます。各リソース・プールは名前と1つのCPUセットで構成されます。プロセスがリソース・プールにマップされると、そのリソース・プールに関連付けられたCPUが使用されます。
注意:
PROCESSOR_GROUP_NAMEパラメータは、専用の接続ブローカを使用するデータベースに対してのみ設定することをお薦めします。専用接続ブローカの構成には、USE_DEDICATED_BROKER初期化パラメータを使用します。