Oracle® Databaseインストレーションおよび構成ガイド 11gリリース2 (11.2) for Fujitsu BS2000/OSD E49830-02 |
|
前 |
次 |
この章では、Fujitsu BS2000/OSDのOracle Databaseのシステム・アーキテクチャについて説明します。この章の内容は次のとおりです。
Oracle Database 11gリリース2は、BS2000/OSDオペレーティング・システム上で動作します。
Oracle Databaseは、ネイティブBS2000のインタフェースだけでなく、POSIXインタフェースも使用します。この項には、次が含まれます。
Oracle Database 11gリリース2は、2つのファイル・システム(BS2000 Data Management System (DMS)およびPOSIXファイル・システム)上で動作します。
POSIXファイル・システムは階層的に構造化されており、ディレクトリおよびファイルで構成されます。
以前のリリースと同様に、ほとんどのOracle Database 11gのデータベース・ファイルはBS2000 DMSに存在しています。たとえば、データ・ファイル、制御ファイル、オンラインおよびアーカイブREDOログ・ファイルは、BS2000 DMSに配置されます。
新しい機能である自動診断リポジトリ(ADR)では、データベース診断データ用にファイルベースのリポジトリを作成するために、階層ファイル・システムが必要です。そのため、ADRのディレクトリおよびファイルはPOSIXファイル・システムに存在します。
その結果、Oracle Database 11gリリース2 for BS2000/OSDにはPOSIXファイル・システムが必要です。Oracle Database 10gではPOSIXファイル・システムの使用はオプションでしたが、Oracle Database 11gリリース2では必須です。
Oracle Databaseソフトウェアのインストール時に、実行可能ファイル、ライブラリおよびその他のファイルは、BS2000 DMSおよびPOSIXファイル・システムの両方にインストールされます。
POSIXファイル・システムへのアクセスを提供する必要があります。POSIXファイル・システムへのアクセスの詳細は、第3章、「Oracle Databaseのインストールおよび削除」を参照してください。
Oracle Database 11gリリース2以降、Oracle Databaseユーティリティのサブセットは、SDFコマンドを使用してBS2000環境からだけでなく、シェル・コマンドを使用してPOSIXシェルでも開始できます。
ADRの診断データは、コマンド・ライン・ユーティリティADRCI
で表示できます。このユーティリティはPOSIXシェルで開始します。
POSIXシェルでユーティリティを開始する前に、環境変数ORACLE_HOME
を設定します。
たとえば専用サーバー・プロセスやバックグラウンド・プロセスなどのすべてのOracle Databaseインスタンスのプロセスは、BS2000タスクとして動作します。
BS2000環境でSDFコマンドを使用してSQL*Plusなどのクライアント・ユーティリティを開始すると、対応するプログラムがBS2000ログイン・タスクで実行されます。
POSIXシェルでクライアント・ユーティリティを開始すると、新しいPOSIXプロセスが作成されます。
POSIXシェルで実行中のクライアント・プロセスは、BS2000環境のクライアントなどのインスタンスに接続します。サーバー・プロセスは、常にBS2000環境で開始されます。BS2000環境のプロセスの詳細は、第9章、「Oracle Net Services」を参照してください。
タスクのコンセプト(Oracle用語でのプロセス)およびメモリー構造(領域)は、BS2000固有ではありません。
詳細は、『Oracle Database概要』の「メモリー・アーキテクチャ」および『Oracle Database概要』の「プロセス・アーキテクチャ」を参照してください。
この項には、次が含まれます。
1つ以上のデータベース・ファイルに、データ・ディクショナリ、ユーザー・データおよび索引が含まれています。
BS2000/OSDでは推奨される最小は10000 PAMブロックですが、Oracle Databaseでは2つ以上の同じサイズである必要のないログ・ファイルが必要です。ログ・ファイルのサイズは、Oracle Databaseブロックではなく、BS2000ブロックで設定されます。
注意: BS2000/OSDオペレーティング・システムおよびOracle Databaseはどちらも、ブロックと呼ばれる単位で入出力を効果的に実行します。ブロックは、データ記憶域の基本的な単位です。Oracle Databaseブロックは、次のいずれかの形式になります。
Oracle DatabaseファイルおよびREDOログ・ファイルはBS2000のPAMファイルのため、Oracle DatabaseではUPAMを使用してそれらにアクセスします。 |
その他のOracle Databaseファイルを次に示します。
初期化ファイルINIT.ORA
には、インスタンスの開始時に読み取られるパラメータのセットが含まれています。
関連項目: 初期化ファイルの詳細は、『Oracle Databaseリファレンス』および『Oracle Database管理者ガイド』を参照してください。 |
サーバー・パラメータ・ファイル(SPFILE
)は、バイナリ形式のサーバー側初期化ファイルで、テキスト・エディタを使用して編集はできません。CREATE SPFILE
文を使用して、最初に従来のテキスト形式の初期化ファイルから作成されます。
ネイティブBS2000環境で動作するOracle Databaseユーティリティおよび製品は、ORAENV
として参照されるOracle Database環境定義ファイルを使用します。このファイルにはOracle Database環境変数が含まれており、この変数は各Oracle Databaseタスクの動作環境を記述するために使用されます。データベース管理者は、ORAENV
ファイルも使用して、データベース構成に必要なBS2000固有のパラメータを定義します。
このファイルは、データベースの物理的構造を記録し、初期化ファイルに指定されます。
Oracle Managed FilesのINIT.ORA
パラメータを次にリストします。
DB_CREATE_FILE_DEST
: データ・ファイル、一時ファイルおよびブロック変更トラッキング・ファイル用
DB_CREATE_ONLINE_LOG_DEST_n
: REDOログ・ファイルおよび制御ファイル用
DB_RECOVERY_FILE_DEST
: バックアップ、アーカイブ・ログ・ファイルおよびフラッシュバック・ログ・ファイル用
BS2000では、これらのパラメータはファイル名の接頭辞として使用されます。
Oracle表領域の名前の長さは最大30文字です。OMFが作成したファイル名を表領域に関連付けるには、最初の8文字で区別が可能な表領域の名前を使用する必要があります。表領域名にアンダースコア(_)を使用できますが、生成されたファイル名で使用する際に、アンダースコア(_)はハイフン(-)に変更されます。
Oracle Managed Filesのファイル名は、BS2000で次の書式になります。
ファイル・タイプ | 書式 |
---|---|
制御ファイル | destOMC.tttttttt |
ログ・ファイル | destOMLlll.tttttttt |
永続表領域ファイル、データ・ファイルのコピー | destOMD.tsn.tttttttt |
一時表領域ファイル | destOMT.tsn.tttttttt |
アーカイブ・ログ・ファイル | destOMA.Tnnn.Snnnnnn.tttttttt |
データ・ファイルまたはアーカイブ・ログのバックアップ・ピース | destOMB.Lnnn.tttttttt |
RMAN自動バックアップ・ピース | destOMX.xnnnnnnn.tttttttt |
ブロック・チェンジ・トラッキング・ファイル | destOMR.tttttttt |
フラッシュバック・ログ・ファイル | destOMF.tttttttt |
各要素の意味は次のとおりです。
destは、OMFパラメータでの宛先文字列(_DEST)
ttttttttは、エンコードされたタイムスタンプ(文字や数値をランダムな混在のように見える)
lllは、3桁のログ・グループ番号
tsnは、最大8文字の表領域名
Tnnnは、文字「T」の後に続く3桁のスレッド番号
Snnnnnnは、文字「S」の後に続く6桁の順序番号
Lnnnは、文字「L」の後に続く3桁の増分レベル
xは、データベースにSPFILE
がある場合は文字P、データベースにSPFILE
がない場合は文字T
nnnnnnnは、7バイトのタイムスタンプ
BS2000ファイル名の54文字の制限を考慮すると、前述のファイル名の書式では、DB_CREATE_ONLINE_LOG_DEST_n
およびDB_CREATE_FILE_DEST
では39文字に制限され、DB_RECOVERY_FILE_DEST
では29文字に制限されます。このファイル名の文字列制限には、最大16文字を使用する可能性のあるcatid
およびuserid
が含まれます。
関連項目: ファイル名の書式の詳細は、『Oracle Database管理者ガイド』の「Oracle Managed Filesの使用」を参照してください。 |
BS2000/OSD上のOracle Database 11gリリース2では、bigfile表領域がサポートされています。bigfile表領域の単一のデータ・ファイルは、次の属性を指定してBS2000のパブセットに存在する必要があります。
LARGE_VOLUMES=*ALLOWED and LARGE_FILES=*ALLOWED
関連項目: BS2000/OSDでのラージ・オブジェクトの処理の詳細は、次の場所の、32GBより大きいファイルおよびボリュームに関するマニュアルを参照してください。
|
2タスク・モードでは、ユーザー・タスクはサーバー・タスクに接続し、これがユーザー・タスクのかわりにOracle Databaseコードを実行します。ユーザー・タスクはSGAに対するアクセス権を持ちません。ユーザー・タスクとサーバー・タスク間の通信は、Oracle Net Servicesを介して行われます。
Oracle Database多数のデータおよびコード領域を使用しますが、これらは、すべてのサーバー・タスクおよびバックグラウンド・タスクで同じ仮想アドレスにある必要があります。通常は、Oracle Databaseで提供されるデフォルト値で十分です。アドレス空間計画(Oracle Databaseのデータ領域の明示的な配置)は、アドレス空間の競合時などの特別な状況で必要になる場合があります。たとえば、動的サブシステムがデフォルトのアドレス範囲を占有する可能性があり、この場合にOracle Database領域の再配置が必要になる場合があります。
次のORAENV
変数は、Oracle Databaseのデータ領域の明示的な配置を制御します。
COM_BASE
KNL_BASE
PGA_BASE
SGA_BASE
アドレス空間の領域の順序は重要ではありません。xxx
_BASE
変数は、STARTUP処理中にのみ評価されます。
データベースの起動後、接続時に共通の値が自動的に指定されるため、アタッチされているユーザーは、ORAENV
ファイルの値を指定する必要はありません。これは、ユーザーのORAENV
ファイルの設定が無視されるということを意味します。図2-1に、データ領域の配置の例を示します。
xxx
_BASE
値は、BS2000/OSDの値SYSBASE (BS2000/OSD生成によって定義されユーザーのアドレス空間を区切る)と互換性がある必要があります。
Oracle Database 10g以降、ユーザー・プログラムは、コア、グローバリゼーション・サポート、Net Servicesなどの共通サービスに対して別の共有コード・プールを使用します。このプールの名前はクライアント共通プール
で、その配置はORAENV
のパラメータCLN_BASE
で制御できます。
Oracle管理者は通常、Oracleのプール配置とシステム内のその他のプール配置の競合を認識している必要があります。
この項では、ORAENV
ファイル、その使用方法およびデフォルトのデータベースを指定するための環境変数の使用方法について説明します。
ORAENV
テキスト・ファイルには、/SET-FILE-LINK ORAENV
コマンドを自身のために実行するBS2000のコマンド・プロシージャの書式があります。各行に、Oracle Database環境変数および割り当てられている値が含まれています。このファイルを読み取る際に、Oracle Databaseは、行1にスラッシュ(/)またはアスタリスク(*)が含まれている行をすべて無視します。
この項の内容は次のとおりです。
INSTALL.P.DBA
プロシージャは、ORAENV
ファイルのコピーを自動的に作成します。このファイルは、Oracle Databaseのデフォルト構成を提供します。ローカルのニーズに適用させるためにこのファイルを編集できます。ユーザーは、自身の環境固有のORAENV
ファイルを生成することもできます。これについては、『Oracle Databaseユーザーズ・ガイドfor Fujitsu BS2000/OSD』の概要に関する説明を参照してください。
付録B、「Oracle環境変数」に、データベース管理者が使用できるOracle環境変数のリストが含まれています。ほとんどのユーザーは、これらの変数の一部のみを設定する必要があります。ユーザーのORAENV
ファイルに配置されているDBA固有の変数はすべて無視されます。
環境変数を設定するには、使用するデータベースの環境変数が含まれているORAENV
ファイルでCALL-PROCEDURE
コマンドを実行するだけです。ORAENV
ファイルの名前はsid
.P.ORAENV
です(sid
はデータベース・システム識別子です)。たとえば、サンプルのORAENV
ファイルを使用してデータベースDEMOの環境変数を設定するには、次のコマンドを実行します。
/CALL-PROCEDURE DEMO.P.ORAENV
ORAENV
ファイルを生成して、Oracle Databaseプログラムをコールする前に/SET-FILE-LINK
コマンドを実行することもできます。
/SET-FILE-LINK ORAENV, filename
ここでfilename
は、DEMO.P.ORAENV
と同じ書式を持ち、少なくともORASID
環境変数を定義するファイルの名前です。
注意:
|
BS2000システム上では、複数のOracle Databasesを同じデータベース管理者アカウントを使用して同時に実行できます。一意のシステム識別子によってグローバルに一意の名前がデータベースに提供されるため、ORASID
環境変数を設定することで、ユーザーは特定のデータベースを選択できます。ユーザーは、ORAENV
ファイルのsid
.P.ORAENV
をアクティブ化することによってこれを行います。
Oracle Database製品(SQL*Plusなど)が開始されるたびに、リンク名ORAENV
が定義されているかどうかが確認され、関連ファイルを読み取り、後で使用できるように変数の割当てを格納します。リンク名ORAENV
が設定されていない場合(や関連ファイルが読み取れない場合)、SID
は未定義のままになります。リンク名ORAENV
は常に、Oracle Databaseプログラムをコールする前に定義することをお薦めします。
POSIXシェル内で実行されるすべてのOracle Databaseユーティリティおよび製品は、POSIX環境から環境変数を取得します。すべてのOracleおよびBS2000固有の変数は、POSIX環境に設定できます。Oracle変数ORACLE_HOME
は、設定する必要があります。特定のデータベースでユーティリティを実行するには、Oracle変数ORACLE_SID
も設定する必要があります。オペレーティング・システムの環境変数PATH
は、Oracleバイナリ$ORACLE_HOME/bin
へのパスで拡張される必要があります。POSIX環境にその他のOracle変数を設定しない場合、Oracleユーティリティはデフォルト値を使用します。インストール手順では、ORACLE_HOME
、PATH
、LD_LIBRARY_PATH
などの最も重要な変数を設定および拡張するために実行可能なORACLE_HOME
ディレクトリにプロファイルが作成されます。このプロファイルは次のコマンドを使用して処理できます。
$ .
your_oracle_home
/.profile.oracle
注意: Oracle変数BGJPAR は、.profile.oracle の実行後には設定できません。この変数を設定しない場合、デフォルト値(BGJPAR=START=IMME,CPU-LIMIT=NO,LOGGING=*NO )がOracleユーティリティで使用されます。 |
この変数をPOSIX環境で設定することによって、変数のデフォルト値を変更できます。たとえば、次のようになります。
$ NLS_LANG=German_Germany.WE8BS2000 $ export NLS_LANG
また、BS2000ファイル・システムでユーザーが作成したORAENV
ファイルを使用する機会もあります。この場合、$ORACLE_HOME/dbs
ディレクトリに、ORAENV
ファイルの場所および名前を記述するファイルoraenv
sid
を作成する必要があります。
ORAENV
ファイル$ORADATA.ORCL.P.ORAENV
を使用すると想定します。次のように、$ORACLE_HOME/dbs
ディレクトリに、BS2000のORAENV
ファイルの名前を含むoraenvORCL
ファイルを作成します。
$ ORACLE_HOME=/u01/app/orac1120/db11g $ export ORACLE_HOME $ echo '$ORADATA.ORCL.P.ORAENV' > $ORACLE_HOME/dbs/oraenvORCL
次のように、Oracle環境変数ORACLE_SID
を設定し、ユーティリティをコールします。
$ ORACLE_SID=ORCL $ export ORACLE_SID $ $ORACLE_HOME/bin/sqlplus /nolog
POSIXシェル内で動作するOracleユーティリティは、BS2000のORAENV
ファイルの変数を下位の変数として処理します。POSIX環境に変数が設定され、同じ変数がORAENV
ファイルに定義されている場合、POSIX変数はORAENV
変数によって上書きされません。たとえば、変数NLS_LANG
がPOSIX環境でGerman_Germany.WE8BS2000
に設定されていて、NLS_LANG
がBS2000のORAENV
ファイルにAmerican_America.WE8BS2000
としても定義されている場合、この変数は、値German_Germany.WE8BS2000
をPOSIXシェル内で動作中のOracleユーティリティのプログラム環境内に保持します。
注意:
|
ORALOAD
ライブラリ(デフォルトでは$ORAC1120.ORALOAD.LIB
)は、すべてのOracle Database 11gリリース2プログラムを実行するために必要です。Oracle Databaseはこのライブラリを使用して、必要に応じて実行可能ファイルおよびサブルーチンを動的にロードします。リンク名ORALOAD
は、Oracle Databaseプログラムをコールする前に、ORALOAD
ライブラリを識別する必要があります。リンク名が欠落している場合は、BLS (BS2000/OSDローダー)
エラー・メッセージが表示されます。通常、このリンク名はORAENV
プロシージャのコール時に設定されます。
ORAMESG
ライブラリ($ORAC1120.ORAMESG.LIB
)は、必要に応じてOracleタスクでメッセージ・ファイルなどの表を動的にロードするために必要です。リンク名ORAMESG
は、Oracleプログラムをコールする前に、ORAMESG
ライブラリを識別する必要があります。リンク名が欠落している場合は、BLS (BS2000/OSDローダー)
エラー・メッセージが表示されます。通常、このリンク名はORAENV
プロシージャのコール時に設定されます。
次の各項で、ユーザーIDの要件を確認します。
インストール時に、すべてのOracle DatabaseソフトウェアがこのユーザーIDにインストールされ、このIDは空である必要があります。このインストール・ユーザーID (ORAUID
とも呼ばれます)には、次のものが含まれます。
SQL*Plus、バックグラウンド・プログラム、ネットワーク・プログラムなどの実行可能プログラム。
ロード・ライブラリ、特にORALOAD.LIB
で、ここからプログラムの実行中にモジュールがロードされます。たとえば、共有KERNELモジュールおよびプリコンパイラ実行時モジュール。
メッセージ・ファイル。
DEMO
表のための、SQLファイルなどのその他のデータ・ファイル。
INCLUDE
ファイル、アプリケーション・デモ・ファイルおよびプリコンパイラ・ユーザーのためのデフォルトのプリコンパイラ・オプションを指定するシステム構成ファイル。
PRO.LIB
などのリンク編集プリコンパイラ・アプリケーションに必要なオブジェクト・ライブラリ。
プログラム、コマンド・プロシージャなどのポート固有のインストール・ユーティリティ。
デフォルトORAENV
ファイルなどのデフォルト構成ファイル。
POSIXファイル・システムでのOracleインストール。
Oracle Databaseリリースごとに別のORAUID
が必要です。ただし、同じバージョンを使用する複数のデータベースでは、同じインストール・ユーザーIDを参照でき、または参照する必要があります。
このユーザーIDには、特別なBS2000の権限は必要ありません。
BS2000/OSDのシステム管理者のユーザーID TSOS
をOracle Databaseのインストール・ユーザーIDとして使用することはできません。
ORAUID
には、特定のユーザー属性または権限は必要ありません。
インストール・フェースでのみ、このユーザーIDでBS2000にログインが必要です。
インストール中、すべてのファイルは次のファイル属性を使用して作成されます。
USER-ACC=ALL-USERS, ACCESS=READ
インストール後に、ファイルに書込みアクセス権を定義する必要はありません。
POSIXファイル・システムでのインストールでは、インストール・ユーザーIDに対して一意のユーザー番号およびグループ番号が必要です。
DBA
のユーザーIDは、1つ以上のOracle Databaseの所有者として使用されるBS2000のユーザーIDです。特定のOracle Databaseのすべてのファイルが、このユーザーIDによって所有されます。
実行中のデータベース、バックグラウンド・タスクおよび2タスクOracle Databaseを開始したサーバー・タスクを構成するすべてのタスクは、DBA
ユーザーIDで実行されます。これらのタスクは、インストール・ユーザーID (ORAUID
)で使用可能な実行可能プログラムおよびライブラリを参照します。これらのプログラムおよびライブラリは、DBAユーザーIDにコピーする必要はなく、またコピーしないでください。インストール・ユーザーID (ORAUID
)をDBA
ユーザーIDとして使用できます。ただし、別々のユーザーIDを使用することをお薦めします。DBA
ユーザーIDは、通常のユーザーIDとしても使用できます。
複数のデータベースは、同じ、または別のDBA
ユーザーIDで作成できます。異なるBS2000のユーザーIDでインストールした場合、データベースは分離され、BS2000の保護機構に基づいて、お互いから保護されます。特に、データベース管理者は、別のBS2000のユーザーIDで実行しているデータベースを管理できません(Oracle Database for BS2000/OSDにはグローバルDBA
権限がありません)。
DBA
ユーザーIDには、Oracle Databaseを実行するために特定のユーザー属性および権限が必要です。次の権限が含まれます。
できればOracle Databaseのバックグラウンド・ジョブに予約されたJOBCLASS
内で、ジョブをただちに開始する権限。これがないと、データベースの開始時およびサーバー・タスクの生成時に遅延が発生する可能性があります。
時間制限なし(TIME=NTL
)でジョブを開始する権限。これがないと、データベース・タスクが終了する可能性があります。
ジョブをTP状態にする権限。これがないと、データベースのパフォーマンスが低下する可能性があります。
共通メモリー・プールを読取り専用に設定する権限。これがないと、共有コードのセキュリティが低下する可能性があります。
BS2000/OSDシステム管理者のユーザーID TSOS
は、どのような状況においても、Oracle Database DBA
のユーザーIDとして使用することはできません。
DBA
ユーザーIDに設定されているファイル・アクセス権限は、次のように設定されている必要があります。
USER-ACC=OWNER-ONLY, ACCESS=WRITE
DBAユーザーIDのPOSIXユーザーは、一意のユーザー番号およびグループ番号を使用して初期化される必要があります。