oracle8i for ibm aix管理者リファレンス, リリースഀ...

146
Oracle8i for IBM AIX 管理者リファレンス リリース 8.1.6 2000 4 部品番号 : J01205-01 おもなトピック : Oracle8i の管理 AIX での Oracle8i のチューニング SQL*Plus の管理 AIX での Oracle プリコンパイラおよび Oracle コール・インタフェースの使用 Net8 の構成 Oracle データ・オプション・デモの実行 AIX での Optimal Flexible Architecture

Upload: others

Post on 19-Mar-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

Oracle8i

for IBM AIX管理者リファレンス

リリース 8.1.6

2000年 4月

部品番号 : J01205-01

おもなトピック :Oracle8iの管理AIXでの Oracle8iのチューニングSQL*Plusの管理AIXでの Oracleプリコンパイラおよび Oracleコール・インタフェースの使用Net8の構成Oracleデータ・オプション・デモの実行AIXでの Optimal Flexible Architecture

Page 2: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

Oracle8i for IBM AIX管理者リファレンス , リリース 8.1.6

部品番号 : J01205-01

原本名:Oracle8i Administrator’s Reference, Release 2 (8.1.6) for IBM AIX

原本部品番号:A77472-01

Copyright © 1999, Oracle Corporation. All rights reserved.

Printed in Japan.

制限付権利の説明

プログラム(ソフトウェアおよびドキュメントを含む)の使用、複製または開示は、オラクル社との契約に記された制約条件に従うものとします。著作権、特許権およびその他の知的財産権に関する法律により保護されています。

当プログラムのリバース・エンジニアリング等は禁止されております。

このドキュメントの情報は、予告なしに変更されることがあります。オラクル社は本ドキュメントの無謬性を保証しません。

* オラクル社とは、Oracle Corporation(米国オラクル)または日本オラクル株式会社(日本オラクル)を指します。

危険な用途への使用について

オラクル社製品は、原子力、航空産業、大量輸送、医療あるいはその他の危険が伴うアプリケーションを用途として開発されておりません。オラクル社製品を上述のようなアプリケーションに使用することについての安全確保は、顧客各位の責任と費用により行ってください。万一かかる用途での使用によりクレームや損害が発生いたしましても、日本オラクル株式会社と開発元である Oracle Corporation(米国オラクル)およびその関連会社は一切責任を負いかねます。 当プログラムを米国国防総省の米国政府機関に提供する際には、『Restricted Rights』と共に提供してください。この場合次の Noticeが適用されます。

Restricted Rights Notice

Programs delivered subject to the DOD FAR Supplement are "commercial computer software" and use, duplication, and disclosure of the Programs, including documentation, shall be subject to the licensing restrictions set forth in the applicable Oracle license agreement. Otherwise, Programs delivered subject to the Federal Acquisition Regulations are "restricted computer software" and use, duplication, and disclosure of the Programs shall be subject to the restrictions in FAR 52.227-19, Commercial Computer Software - Restricted Rights (June, 1987). Oracle Corporation, 500 Oracle Parkway, Redwood City, CA 94065.

このドキュメントに記載されているその他の会社名および製品名は、あくまでその製品および会社を識別する目的にのみ使用されており、それぞれの所有者の商標または登録商標です。

Page 3: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

目次目次目次目次

はじめにはじめにはじめにはじめに .......................................................................................................................................................................... vii

用途用途用途用途 ............................................................................................................................................................................. vii対象読者対象読者対象読者対象読者 ..................................................................................................................................................................... vii

Oracle8iおよびおよびおよびおよび Oracle8i Enterprise Edition ...................................................................................................... viiこのマニュアルで使用する表記規則このマニュアルで使用する表記規則このマニュアルで使用する表記規則このマニュアルで使用する表記規則 .................................................................................................................... viiiコマンドの構文コマンドの構文コマンドの構文コマンドの構文 ........................................................................................................................................................ viii関連ドキュメント関連ドキュメント関連ドキュメント関連ドキュメント ...................................................................................................................................................... ixOracle サービスおよびサポートサービスおよびサポートサービスおよびサポートサービスおよびサポート ............................................................................................................................. ix

1 Oracle8iの管理の管理の管理の管理

環境設定環境設定環境設定環境設定 .................................................................................................................................................................... 1-2

環境変数の表示 ............................................................................................................................................... 1-2

現行セッションでの環境変数値の設定およびエクスポート ................................................................... 1-2

共通の環境設定 ............................................................................................................................................... 1-2

データベースの例 ........................................................................................................................................... 1-3 Oracle8iの環境変数の環境変数の環境変数の環境変数 ................................................................................................................................................ 1-5

UNIXにおける Oracle環境変数 .................................................................................................................. 1-5

Oracle8iで使用する UNIX 環境変数 ........................................................................................................... 1-7

システム時刻の設定 ....................................................................................................................................... 1-9 初期化パラメータ初期化パラメータ初期化パラメータ初期化パラメータ ................................................................................................................................................... 1-9

initsid.oraファイルのカスタマイズ .......................................................................................................... 1-10

デフォルトの初期化パラメータの値 ......................................................................................................... 1-10データベースの制限データベースの制限データベースの制限データベースの制限 ............................................................................................................................................. 1-12特殊アカウントおよび特殊グループの管理特殊アカウントおよび特殊グループの管理特殊アカウントおよび特殊グループの管理特殊アカウントおよび特殊グループの管理 ..................................................................................................... 1-13セキュリティの管理セキュリティの管理セキュリティの管理セキュリティの管理 ............................................................................................................................................. 1-14

i

Page 4: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

グループとセキュリティ ............................................................................................................................. 1-14

Server Managerコマンドのセキュリティ ................................................................................................ 1-15

データベース・ファイルのセキュリティ ................................................................................................. 1-15

セキュリティとリモート・パスワード ..................................................................................................... 1-16

Oracle8iのメモリー使用量の見積りのメモリー使用量の見積りのメモリー使用量の見積りのメモリー使用量の見積り ................................................................................................................ 1-18サーバー・リソースの制限サーバー・リソースの制限サーバー・リソースの制限サーバー・リソースの制限 ................................................................................................................................. 1-19システム・グローバル領域の制御システム・グローバル領域の制御システム・グローバル領域の制御システム・グローバル領域の制御 ..................................................................................................................... 1-19

SGAのサイズ制限 ....................................................................................................................................... 1-19

SGAのサイズの計算 ................................................................................................................................... 1-20デモンストレーションの作成と実行デモンストレーションの作成と実行デモンストレーションの作成と実行デモンストレーションの作成と実行 ................................................................................................................. 1-20

SQL*Loaderのデモンストレーション ...................................................................................................... 1-20

SQL*Loaderの管理 ...................................................................................................................................... 1-21

PL/SQLデモンストレーションのロード ................................................................................................. 1-23

PL/SQLデモンストレーションの実行 ..................................................................................................... 1-24ネットワーク実行ファイルの再リンクネットワーク実行ファイルの再リンクネットワーク実行ファイルの再リンクネットワーク実行ファイルの再リンク ............................................................................................................. 1-25

2 AIXでのでのでのでの Oracle8iのチューニングのチューニングのチューニングのチューニング

AIX パフォーマンス・ツールパフォーマンス・ツールパフォーマンス・ツールパフォーマンス・ツール .............................................................................................................................. 2-2

AIX Base Operation Systemツール ............................................................................................................. 2-2

AIX Performance Toolbox ............................................................................................................................. 2-2

AIX System Management Interface Tool .................................................................................................... 2-3

Oracle パフォーマンス・ツールパフォーマンス・ツールパフォーマンス・ツールパフォーマンス・ツール .......................................................................................................................... 2-4

Utlbstat / Utlestatによる統計の収集 ......................................................................................................... 2-4

動的パフォーマンス表 ................................................................................................................................... 2-4

SQLトレース .................................................................................................................................................. 2-4

Oracle Enterprise Manager Performance Tuning Pack ............................................................................ 2-5Oracle8i のチューニングのチューニングのチューニングのチューニング ...................................................................................................................................... 2-6

Oracle8iのチューニング順序 ....................................................................................................................... 2-6メモリーおよびページングメモリーおよびページングメモリーおよびページングメモリーおよびページング ................................................................................................................................... 2-7

バッファ・キャッシュ間のページング・アクティビティの制御 ........................................................... 2-7

AIXファイル・バッファ・キャッシュのチューニング ........................................................................... 2-8

十分なページング領域の割当て ................................................................................................................... 2-9

ページングの制御 ........................................................................................................................................... 2-9

データベース・ブロック・サイズの設定 ................................................................................................. 2-10

アーカイバ・バッファのチューニング ..................................................................................................... 2-11

ii

Page 5: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

SGAサイズのチューニング ....................................................................................................................... 2-11

I/Oバッファと SQL*Loader ...................................................................................................................... 2-11ディスクディスクディスクディスク I/Oの問題の問題の問題の問題 ............................................................................................................................................. 2-12

索引と表の分離 ............................................................................................................................................. 2-12

REDOログの専用ディスク・デバイスへの配置 .................................................................................... 2-12

ホット・ファイルの他のディスクへの移動 ............................................................................................. 2-12

ホット・ファイルの I/Oの削減 ................................................................................................................ 2-13

データベースの過剰な断片化のチェック ................................................................................................. 2-13

AIX論理ボリューム・マネージャ ............................................................................................................. 2-14

異なるデータベース・ファイルの同一ディスクへの配置の回避 ......................................................... 2-15

ジャーナル・ファイル・システム(JFS)と RAWパーティションの使用 ....................................... 2-15

非同期 I/Oの使用方法 ................................................................................................................................ 2-17

I/Oスレーブ ................................................................................................................................................. 2-18

DB_FILE_MULTIBLOCK_READ_COUNTの使用 ................................................................................. 2-19

RAID機能の使用 .......................................................................................................................................... 2-20

後書きの使用 ................................................................................................................................................. 2-20

順次ファイルの先読みのチューニング ..................................................................................................... 2-20

ディスク I/Oの歩調合せ ............................................................................................................................ 2-21

ディスク配置の考慮事項 ............................................................................................................................. 2-21

リモート I/Oの最小化 ................................................................................................................................ 2-21

VSD キャッシュ・バッファを使用しない ................................................................................................ 2-22CPU のスケジューリングとプロセスの優先順位のスケジューリングとプロセスの優先順位のスケジューリングとプロセスの優先順位のスケジューリングとプロセスの優先順位 ........................................................................................... 2-23

プロセスのランタイム・スライスの変更 ................................................................................................. 2-23

SMPマシンでのプロセッサ・バインディング ....................................................................................... 2-23

その他のチューニングのヒントその他のチューニングのヒントその他のチューニングのヒントその他のチューニングのヒント ......................................................................................................................... 2-26

UDPのチューニング ................................................................................................................................... 2-26

RAWデバイスのバックアップ .................................................................................................................. 2-26

パラレル・リカバリの使用方法 ................................................................................................................. 2-27

Pro*Cプログラムのコンパイル ................................................................................................................. 2-27関連ドキュメント関連ドキュメント関連ドキュメント関連ドキュメント ................................................................................................................................................. 2-28

3 SQL*Plusの管理の管理の管理の管理

SQL*Plusの管理の管理の管理の管理 .................................................................................................................................................... 3-2

設定ファイル ................................................................................................................................................... 3-2

Site Profile ........................................................................................................................................................ 3-2

iii

Page 6: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

User Profile ...................................................................................................................................................... 3-2

PRODUCT_USER_PROFILE表 ................................................................................................................... 3-2

デモンストレーション表 ............................................................................................................................... 3-3

ヘルプ機能 ....................................................................................................................................................... 3-4

SQL*Plusの使用の使用の使用の使用 .................................................................................................................................................... 3-5

SQL*Plusからのシステム・エディタの使用 ............................................................................................. 3-5

SQL*Plusからのオペレーティング・システム・コマンドの実行 ......................................................... 3-6

SQL*Plusへの割込み ..................................................................................................................................... 3-6

SPOOLコマンドの使用 ................................................................................................................................ 3-6制限事項制限事項制限事項制限事項 ................................................................................................................................................................... 3-6

ウィンドウのサイズ変更 ............................................................................................................................... 3-6

リターン・コード ........................................................................................................................................... 3-6

4 AIXでのでのでのでの Oracleプリコンパイラおよびプリコンパイラおよびプリコンパイラおよびプリコンパイラおよび Oracleコール・インタフェースの使用コール・インタフェースの使用コール・インタフェースの使用コール・インタフェースの使用

Oracle プリコンパイラの概要プリコンパイラの概要プリコンパイラの概要プリコンパイラの概要 .............................................................................................................................. 4-2

プリコンパイラ構成ファイル ....................................................................................................................... 4-2

すべてのプリコンパイラに共通の問題 ....................................................................................................... 4-2Pro*C/C++ ............................................................................................................................................................... 4-3

Pro*C/C++の管理 ......................................................................................................................................... 4-3

Pro*C/C++の使用 ......................................................................................................................................... 4-3Pro*COBOL ............................................................................................................................................................ 4-5

Pro*COBOLの管理 ........................................................................................................................................ 4-5

環境変数 ........................................................................................................................................................... 4-6

Pro*COBOLの使用 ........................................................................................................................................ 4-6Pro*FORTRAN ...................................................................................................................................................... 4-9

Pro*FORTRANの管理 .................................................................................................................................. 4-9

Pro*FORTRANの使用 .................................................................................................................................. 4-9

SQL*Module for Ada ......................................................................................................................................... 4-10

SQL*Module for Adaの管理 ...................................................................................................................... 4-10

SQL*Module for Adaの使用 ...................................................................................................................... 4-11Oracle コール・インタフェースコール・インタフェースコール・インタフェースコール・インタフェース ........................................................................................................................ 4-12

Oracleコール・インタフェースの使用 .................................................................................................... 4-12Oracle プリコンパイラとプリコンパイラとプリコンパイラとプリコンパイラと Oracleコール・インタフェースのリンクおよびコール・インタフェースのリンクおよびコール・インタフェースのリンクおよびコール・インタフェースのリンクおよびMakeファイルファイルファイルファイル ................. 4-14

カスタム Makeファイル ............................................................................................................................. 4-14

未定義シンボル ............................................................................................................................................. 4-14

iv

Page 7: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

スレッドのサポートスレッドのサポートスレッドのサポートスレッドのサポート ............................................................................................................................................. 4-15Oracle ライブラリを使用した静的リンクおよび動的リンクライブラリを使用した静的リンクおよび動的リンクライブラリを使用した静的リンクおよび動的リンクライブラリを使用した静的リンクおよび動的リンク ........................................................................ 4-15シグナル・ハンドラの使用シグナル・ハンドラの使用シグナル・ハンドラの使用シグナル・ハンドラの使用 ................................................................................................................................. 4-17

シグナル ......................................................................................................................................................... 4-17

XA 機能機能機能機能 .................................................................................................................................................................. 4-19

5 Net8の構成の構成の構成の構成

README ファイルファイルファイルファイル ................................................................................................................................................ 5-2

主な主な主な主な Net8製品および機能製品および機能製品および機能製品および機能 .................................................................................................................................... 5-2

Net8ファイルおよびユーティリティ ......................................................................................................... 5-2

Oracle Connection Manager ......................................................................................................................... 5-4

マルチスレッド・サーバー ........................................................................................................................... 5-4

Oracle Names .................................................................................................................................................. 5-4

Net8 Assistant ................................................................................................................................................. 5-4

Net8 プロトコルのサポートプロトコルのサポートプロトコルのサポートプロトコルのサポート ................................................................................................................................. 5-4

ADDRESSの指定 ........................................................................................................................................... 5-5BEQ プロトコルプロトコルプロトコルプロトコル ..................................................................................................................................................... 5-6

BEQの ADDRESS指定 ................................................................................................................................. 5-6IPC プロトコルプロトコルプロトコルプロトコル ....................................................................................................................................................... 5-7

IPCの ADDRESS指定 ................................................................................................................................... 5-7

RAWプロトコルプロトコルプロトコルプロトコル .................................................................................................................................................... 5-8TCP/IP プロトコルプロトコルプロトコルプロトコル ................................................................................................................................................. 5-9

TCP/IPの ADDRESS指定 ........................................................................................................................... 5-9SPX/IPX プロトコルプロトコルプロトコルプロトコル ............................................................................................................................................ 5-10

ntisbsdmブロードキャスト・デーモン ................................................................................................ 5-10

ntspxctlユーティリティ ......................................................................................................................... 5-11

SPX/IPXプロトコルのコマンドの要約 .................................................................................................... 5-12

getnameコマンド ....................................................................................................................................... 5-12

SPX/IPXの ADDRESS指定 ....................................................................................................................... 5-14APPC/LU6.2 プロトコルプロトコルプロトコルプロトコル ..................................................................................................................................... 5-15

APPC/LU6.2の ADDRESS指定 ............................................................................................................... 5-15Net8 Naming Supprt ........................................................................................................................................... 5-16Oracle Enterprise Manager((((OEM)))) ................................................................................................................ 5-16

Oracle SNMP でのでのでのでのOracle Intelligent Agent の構成の構成の構成の構成 .................................................................................... 5-17Oracle Advanced Security ................................................................................................................................. 5-18

v

Page 8: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

6 Oracleデータ・オプション・デモの実行データ・オプション・デモの実行データ・オプション・デモの実行データ・オプション・デモの実行

参照ドキュメント参照ドキュメント参照ドキュメント参照ドキュメント ................................................................................................................................................... 6-2Oracle8i interMedia .............................................................................................................................................. 6-2

Text ................................................................................................................................................................... 6-2

Audio、Videoおよび Image ........................................................................................................................ 6-3

Locator ............................................................................................................................................................. 6-7Oracle8i Time Seriesデモデモデモデモ .................................................................................................................................... 6-9Oracle8i Visual Information Retrieval ............................................................................................................ 6-10Oracle8i Spatial .................................................................................................................................................... 6-11

A AIXでのでのでのでの Optimal Flexible Architecture

Optimal Flexible Architecture((((OFA)の概要)の概要)の概要)の概要 ............................................................................................... A-2UNIX で適用されるで適用されるで適用されるで適用されるOFA ..................................................................................................................................... A-4

マウント・ポイント ....................................................................................................................................... A-4

ディレクトリの名前 ....................................................................................................................................... A-5

ファイルの名前 ............................................................................................................................................... A-6

表領域の名前 ................................................................................................................................................... A-8

OFA構造に基づいた Oracleファイル ........................................................................................................ A-8

OFAファイルのマッピング ......................................................................................................................... A-9

RAWデバイスのサイズ ............................................................................................................................. A-10

複数インスタンスにおける OFAに準拠したデータベースのファイル・マッピング ..................... A-10

ディレクトリ構造 ........................................................................................................................................ A-12

索引索引索引索引

vi

Page 9: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

はじめにはじめにはじめにはじめに

用途用途用途用途このマニュアルでは、Oracle8iを管理およびチューニングするために必要な AIX固有の情報を説明します。このマニュアルの内容は、Oracle8i関連マニュアル・セットの製品情報を補足しています。

対象読者対象読者対象読者対象読者このマニュアルは、AIXシステムでの Oracle8iの管理者を対象としています。

Oracle8iおよびおよびおよびおよび Oracle8i Enterprise Edition特に指示がない限り、このマニュアルで説明している特長や機能は、Oracle8iおよびOracle8i Enterprise Editionに共通です。

vii

Page 10: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

このマニュアルで使用する表記規則このマニュアルで使用する表記規則このマニュアルで使用する表記規則このマニュアルで使用する表記規則

UNIXでは大文字と小文字が区別されるため、このマニュアルの表記規則は、他の Oracle製品のマニュアルで使用されている表記規則と多少異なります。

コマンドの構文コマンドの構文コマンドの構文コマンドの構文コマンド構文は、固定幅フォントで表します。 コマンド構文で使用する表記規則は、次のとおりです。

固定幅フォント 固定幅フォントは、UNIXコマンド、ディレクトリ名、ユーザー名、パス名およびファイル名を表します。

大カッコ [ ] 大カッコで囲まれた語は、キーの名前を表します(たとえば、[Return]キーを押す)。 ただし、コマンド構文で大カッコを使用する場合は意味が異なります。

イタリック体 イタリック体は、変数(ファイル名の中で変化する部分を含む)を表します。

大文字 大文字は、SQLの予約語、初期化パラメータおよび環境変数を表します。

バックスラッシュ \

バックスラッシュは、コマンドが 1行に入りきらない場合に使用します。 このマニュアルで記載しているとおりに入力する(バックスラッシュを付ける)か、またはバックスラッシュを付けずに 1行で入力します。dd if=/dev/rdsk/c0t1d0s6 of=/dev/rst0 bs=10b \ count=10000

中カッコ { } 中カッコは、必ず選択する項目を表します。 .DEFINE {macro1}

大カッコ [ ] 大カッコは、任意に選択する項目を表します。 cvtcrt termname [outfile]

ただし、本文で大カッコを使用する場合は意味が異なります。

省略記号 ... 省略記号は、同じ項目を任意の回数だけ繰り返すことを表します。CHKVAL fieldname value1 value2 ... valueN

イタリック体 イタリック体は、変数を表します。 変数の箇所を適切な値に置き換えてください。 library_name

縦棒線 | 縦棒線は、中カッコまたは大カッコで囲まれている選択項目を表します。SIZE filesize [K|M]

viii

Page 11: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

関連ドキュメント関連ドキュメント関連ドキュメント関連ドキュメントこのマニュアルは、AIXシステムで Oracle8iデータベースをインストールおよび構成するために、『Oracle8i for IBM AIXインストレーション・ガイド』とともにご使用ください。 このマニュアルは、ご使用のデータベースの構成およびチューニングに関連する AIX固有の情報を記載しています。 本番データベース・システム用の拡張構成およびチューニングに必要な情報については、次のマニュアルを参照してください。

� 『Oracle8i 管理者ガイド』

� 『Oracle8i Net8管理者ガイド』

� 『Oracle8i パフォーマンスのための設計およびチューニング 』

リレーショナル・データベース管理システム関連の概念または用語に慣れていない場合は、インストールを始める前に、『Oracle8i 概要』の第 1章をお読みください。

OracleサービスおよびサポートサービスおよびサポートサービスおよびサポートサービスおよびサポートOracle製品およびグローバル・サービスの詳細は、インターネットで次の URLを参照してください。

http://www.oracle.com

ここでは、選択したサービスの URLを示します。

Oracle・サポート・サービス・サポート・サービス・サポート・サービス・サポート・サービステクニカル・サポート情報は、次の URLに示されています。

http://www.oracle.com/support

テンプレートをご使用になると、電話をかける前に、問題に関する情報を用意することができます。 また、CSI番号(該当する場合)、または詳しい連絡先情報(特別なプロジェクト情報がある場合は、それも含む)も必要です。

オラクル社カスタマ・サポート・センターオラクル社カスタマ・サポート・センターオラクル社カスタマ・サポート・センターオラクル社カスタマ・サポート・センターオラクル社カスタマ・サポート・センターの連絡先は、次の URLに示されています。

http://www.oracle.com/support/

教育およびトレーニング教育およびトレーニング教育およびトレーニング教育およびトレーニングトレーニング情報およびスケジュールは、次の URLから参照できます。

http://education.oracle.com

ix

Page 12: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

x

Page 13: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

Oracle8iの

1

Oracle8iの管理の管理の管理の管理

Oracle8i の管理には、環境設定、使用するサイトに関連する初期化パラメータの設定、制限および使用方法の設定と管理、セキュリティの実装、様々なユーザー・グループのログインおよびアカウントの管理があります。この章では、次の項目について説明します。

� 環境設定

� Oracle8iの環境変数

� 初期化パラメータ

� データベースの制限

� 特殊アカウントおよび特殊グループの管理

� セキュリティの管理

� Oracle8iのメモリー使用量の見積り

� サーバー・リソースの制限

� システム・グローバル領域の制御

� デモンストレーションの作成と実行

� ネットワーク実行ファイルの再リンク

管理 1-1

Page 14: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

環境設定

環境設定環境設定環境設定環境設定

環境変数の表示環境変数の表示環境変数の表示環境変数の表示環境変数の値を表示するには、echoコマンドを使用します。たとえば、ORACLE_SIDの値を表示するには、次のように入力します。

$ echo $ORACLE_SID

現行セッションでの環境変数値の設定およびエクスポート現行セッションでの環境変数値の設定およびエクスポート現行セッションでの環境変数値の設定およびエクスポート現行セッションでの環境変数値の設定およびエクスポートBourneまたは Kornシェルの場合、次のように入力します。

$ ORACLE_SID=test$ export ORACLE_SID

Cシェルの場合、次のように入力します。

% setenv ORACLE_SID test

この場合、testは環境変数 ORACLE_SIDに設定する値です。

共通の環境設定共通の環境設定共通の環境設定共通の環境設定Oracle8iでは、データベース管理者(DBA)がすべてのユーザーに共通の環境を設定できます。共通の環境を設定することによって、システム管理者とデータベース管理者が Oracle8iシステムを変更しやすくなります。

oraenv コマンド・ファイルコマンド・ファイルコマンド・ファイルコマンド・ファイルoraenv(Cシェルの場合は coraenv)コマンド・ファイルは、インストール時に作成されます。このファイルには、Oracle環境変数の値および次の情報が含まれています。

� データベースの変更に必要なユーザー・アカウントを更新するための主な方法

� Oracle8iデータベース間を移動するメカニズム

たとえば、開発システムに対して、データベースの追加および削除を頻繁に行う場合や、同一のシステムにインストールされている複数の異なる Oracleデータベース間をユーザーが移動する場合があるとします。oraenvによって、それぞれのユーザー・プロファイルがoraenvコマンド・ファイルを呼び出します。

1-2 Oracle8i for IBM AIX管理者リファレンス

Page 15: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

環境設定

ローカルローカルローカルローカル bin ディレクトリディレクトリディレクトリディレクトリoraenv(または coraenv)および dbhomeを、Oracleソフトウェアのホーム・ディレクトリではなくローカル binディレクトリに入れると、すべてのユーザーがそれらのファイルにアクセスできるようになります。また、ローカル binディレクトリに入れることによって、パスが別の ORACLE_HOMEを示すように変更した場合でも、oraenv(または coraenv)は有効のままです。ローカル binディレクトリは、次のインストールで実行されるroot.shで指定します。AIXの場合、ローカル binディレクトリのデフォルト位置は/usr/lbinです。

データベース間の移動データベース間の移動データベース間の移動データベース間の移動あるデータベースまたはインスタンスから別のデータベースまたはインスタンスへ移動するには、oraenvルーチンを呼び出して、プロンプトに対して移動先のデータベースの sidを指定します。必ず oraenvコマンド・ファイルのフルパス名を入力してください。次に例を示します。

$ . /usr/lbin/oraenvORACLE_SID= [default]? sid

データベースの例データベースの例データベースの例データベースの例次に、ローカル binディレクトリが /usr/lbinで、本番データベースが PRODの場合の例を示します。ORACLE_SIDを入力するプロンプトが起動時に表示されないようにするには、環境変数 ORAENV_ASKを noに設定します。

次の例では、oraenvが実行された後、ORAENV_ASKはデフォルトの Yesにリセットされます。 これによって、次に oraenvが実行されたときに、別の ORACLE_SIDを入力するプロンプトが表示されます。

Database Configuration Assistant(DBCA)を使用するかわりに、データベースを手動で作成した場合、システム構成が /etc/oratabファイルに反映されていることを確認する必要があります。

各サーバーのインスタンスに、エントリを次の形式で追加します。

ORACLE_SID:ORACLE_HOME:{Y|N}

Yまたは Nは、dbstartおよび dbshutスクリプトをアクティブにするかどうかを示します。DBCAは、作成する各データベースにエントリを自動的に追加します。

Oracle8iの管理 1-3

Page 16: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

環境設定

単一インスタンス単一インスタンス単一インスタンス単一インスタンスBourneシェルまたは Kornシェルの場合、.profileファイルに次の行があります。

. local_bin_directory/oraenv

この行を次のように置き換えます。

PATH=${PATH}:/usr/lbinORACLE_SID=PRODexport PATH ORACLE_SIDORAENV_ASK=NO. oraenvORAENV_ASK=

Cシェルの場合、.cshrcファイルに次の行があります。

source local_bin_directory/coraenv

この行を次のように置き換えます。

setenv PATH ${PATH}:/usr/lbinsetenv ORACLE_SID PRODset ORAENV_ASK = NOsource /usr/lbin/coraenvunset ORAENV_ASK

複数インスタンス複数インスタンス複数インスタンス複数インスタンス複数インスタンスの場合は、起動時に sidを定義します。

Bourneシェルまたは Kornシェルの場合、次のように入力します。

#!/usr/bin/sh echo "The SIDs on this machine are:" cat /etc/oratab | awk -F: '{print $1}' | grep -v "#" ORAENV_ASK="YES" . /usr/lbin/oraenv

Cシェルの場合、次のように入力します。

#!/usr/bin/csh echo "The SIDs on this machine are:" cat /etc/oratab | awk -F: '{print $1}' | grep -v "#" set ORAENV_ASK="YES" source /usr/lbin/coraenv

1-4 Oracle8i for IBM AIX管理者リファレンス

Page 17: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

Oracle8iの環境変数

Oracle8iの環境変数の環境変数の環境変数の環境変数この項では、通常使用される Oracle8iおよび UNIX環境変数について説明します。これらの環境変数のいくつかは、Oracle8iをインストールする前に設定しておく必要があります。環境変数の一覧は、『Oracle8i for IBM AIXインストレーション・ガイド』を参照してください。

UNIXにおけるにおけるにおけるにおける Oracle環境変数環境変数環境変数環境変数表 1-1に、Oracle8i環境変数の機能、構文および例を示します。

表表表表 1-1 UNIXにおけるにおけるにおけるにおける Oracle8i 環境変数環境変数環境変数環境変数

環境変数環境変数環境変数環境変数 項目項目項目項目 定義定義定義定義

EPC_DISABLED 機能 Oracle TRACEを使用禁止にします。

構文 trueまたは false

NLS_LANG 機能 出力に使用する言語とキャラクタ・セットを指定します。設定値の詳細は、『Oracle8i for IBM AIXインストレーション・ガイド』を参照してください。

構文 language_territory.characterset

例 french_france.we8dec

ORA_NLS33 機能 言語とキャラクタ・セットが保存されているディレクトリを示します。

設定値 $ORACLE_HOME/ocommon/nls/admin/data

ORACLE_BASE 機能 OFAに準拠した Oracleデータベースのディレクトリ構造の基本となるディレクトリを指定します。

構文 directory_path

例 /mount_point/app/oracle

ORACLE_HOME 機能 Oracleソフトウェアがあるディレクトリを指定します。

構文 directory_path

例 $ORACLE_BASE/product/8.1.6

ORACLE_PATH 機能 SQL*Plusなどの Oracleアプリケーションが使用するファイルの検索パス名を指定します。指定しないと、アプリケーションは現行のディレクトリに読込みおよび書込みを行います。

構文 ディレクトリをコロンで区切ったリストdirectory:directory:directory

例 /u01/oracle/adhoc/8.1.6/bin:.

注意注意注意注意 :最後にピリオドを付けることによって、検索パスに現行の作業ディレクトリが追加されます。

Oracle8iの管理 1-5

Page 18: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

Oracle8i の環境変数

ORACLE_SID 機能 Oracleのシステム IDを指定します。

構文 英字で始まる英数文字列を指定します。4文字以内で指定することをお薦めします。詳細は、『Oracle8i for IBM AIXインストレーション・ガイド』を参照してください。

例 SAL1

ORACLE_TRACE 機能 インストール時の Bourneシェル・スクリプトのトレース状態を切り替えます。Tを設定すると、多くの Oracleシェル・スクリプトは set -xフラグがオンの状態で実行されます。

許容値 Tなど

ORAENV_ASK 機能 (c)oraenvが、$ORACLE_SIDまたは $ORACLE_HOMEを入力するためのプロンプトを表示するかどうかを指定します。NOを設定すると、プロンプトは表示されません。NO以外を設定するとプロンプトが表示されます。

構文 文字列

許容値 NOなど

SQLPATH 機能 SQL*Plusが login.sqlファイルを検索するディレクトリまたはディレクトリのリストを設定します。

構文 ディレクトリをコロンで区切ったリストdirectory:directory:directory

例 /home:/home/oracle:/u01/oracle

TNS_ADMIN 機能 Net8構成ファイルがあるディレクトリを設定します。

構文 directory_path

許容値 任意のディレクトリ。詳細は、『Oracle8i for IBM AIXインストレーション・ガイド』を参照してください。

例 $ORACLE_HOME/network/admin

TWO_TASK 機能 tnsnames.oraファイルで定義されている、Net8接続文字列記述子のデフォルトの別名を設定します。

構文 使用可能なネットワーク別名

許容値 tnsnames.ora ファイルで定義されている有効な Oracle Net8別名

例 PRODDB_TCP

表表表表 1-1 UNIXにおけるにおけるにおけるにおける Oracle8i 環境変数環境変数環境変数環境変数

環境変数環境変数環境変数環境変数 項目項目項目項目 定義定義定義定義

1-6 Oracle8i for IBM AIX管理者リファレンス

Page 19: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

Oracle8iの環境変数

ORACLE_HOME およびおよびおよびおよび ORACLE_SID の略称の略称の略称の略称Oracle8iのファイルおよびプログラムでは、疑問符「?」は ORACLE_HOMEの値を表します。たとえば、Oracle8iでは、次の SQL文中の疑問符を ORACLE_HOMEのフルパス名として使用します。

alter tablespace TEMP add datafile '?/dbs/dbs2.ora' size 2M

@マークは、$ORACLE_SIDを表します。たとえば、ファイルが現行のインスタンスに属していることを指定する場合、次のように入力します。

alter tablespace tablespace_name add datafile '[email protected]'

Oracle8iで使用するで使用するで使用するで使用する UNIX環境変数環境変数環境変数環境変数表 1-2に、Oracle8iで使用する UNIX環境変数の構文および例を示します。

注意注意注意注意 : 環境変数に、Oracle8i プロセスと同じ名前(たとえば、arch、pmon、dbwrなど)は設定しないでください。

表表表表 1-2 Oracle8iで使用するで使用するで使用するで使用する UNIX 環境変数環境変数環境変数環境変数

環境変数環境変数環境変数環境変数 項目項目項目項目 定義定義定義定義

ADA_PATH 機能 Adaコンパイラがあるディレクトリを指定します。

CLASSPATH 機能 Java機能に使用されます。この環境変数は、様々な Javaアプリケーションで異なります。デフォルトの設定はありません。CLASSPATHには、次のものが含まれている必要があります。JRE_Location, $ORACLE_HOME/product/jlib, $ORACLE_HOME/product/jlibこの場合、JRE_Locationは、$ORACLE_HOME/JREのように定義されます。

詳細は、ご使用の Javaアプリケーションの製品ドキュメントを参照してください。

構文 directory_path

例 JRE_Location, $ORACLE_HOME/product/jlib, $ORACLE_HOME/product/jlib

Oracle8iの管理 1-7

Page 20: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

Oracle8i の環境変数

DISPLAY 機能 Xベースのツールで使用します。入出力に使用するディスプレイ・デバイスを指定します。詳細は、各ベンダーの X-Windowのドキュメントを参照してください。

構文 hostname:displayhostnameはマシン名(IPアドレスまたは別名)、displayはモニター番号です。モニターが 1つの場合、番号は 0です。

例 135.287.222.12:0bambi:0

HOME 機能 ユーザーのホーム・ディレクトリを指定します。

LANGまたは LANGUAGE 機能 メッセージなどを出力するためにオペレーティング・システムが使用する言語およびキャラクタ・セットを指定します。詳細は、オペレーティング・システムのドキュメント、および『Oracle8i for IBM AIXインストレーション・ガイド』を参照してください。

LD_LIBRARY_PATH 機能 AIXで、Javaアプリケーションの実行時に使用します。

構文 ディレクトリをコロンで区切ったリストdirectory:directory:directory

例 /usr/lpp/J1.1.8/:$ORACLE_HOME/lib

LIBPATH 機能 AIXで、共有ライブラリ・ローダーが実行時に共有オブジェクト・ライブラリを検索するために使用します。詳細は、ldの manページを参照してください。

構文 ディレクトリをコロンで区切ったリストdirectory:directory:directory

例 /usr/dt/lib:$ORACLE_HOME/lib

PATH 機能 シェルが実行プログラムを配置するために使用します。$ORACLE_HOME/binが含まれている必要があります。

構文 ディレクトリをコロンで区切ったリストdirectory:directory:directory

例 /bin:/usr/bin:/usr/lbin:/usr/bin/X11:$ORACLE_HOME/bin:$HOME/bin:.注意注意注意注意 :最後にピリオドを付けることによって、検索パスに現行の作業ディレクトリが追加されます。

PRINTER 機能 AIXシステム用のデフォルト・プリンタを指定します。

構文 printer_name

例 docqms

SHELL 機能 ホスト・コマンドで使用するコマンド・インタプリタを指定します。

表表表表 1-2 Oracle8iで使用するで使用するで使用するで使用する UNIX 環境変数環境変数環境変数環境変数

環境変数環境変数環境変数環境変数 項目項目項目項目 定義定義定義定義

1-8 Oracle8i for IBM AIX管理者リファレンス

Page 21: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

初期化パラメータ

システム時刻の設定システム時刻の設定システム時刻の設定システム時刻の設定環境変数 TZには、タイム・ゾーンを設定します。これによって、時間を夏時間に変更したり、別のタイム・ゾーンにすることができます。調整した時刻は、ファイルのタイムスタンプを決定したり、dateコマンドの出力を生成したり、現在の SYSDATEの値を調べたりする際に使用します。

初期化パラメータ初期化パラメータ初期化パラメータ初期化パラメータ初期化パラメータによって、システムを構成およびチューニングできます。この項では、次のことを説明します。

� Oracle8iインスタンスの initsid.oraファイルでの初期化パラメータのカスタマイズ

� デフォルト初期化パラメータの事前設定

構文 シェルのパス名

許容値 /bin/sh、/bin/csh、/bin/kshまたは AIXに付属のその他のコマンド・インタプリタ

例 /bin/sh

TERM 機能 Oracle Toolkit IIキャラクタ・モード・ツールおよび UNIX ツールが端末タイプを判断する場合に使用します。

例 vt100

TMPDIR 機能 テンポラリ・ディスク・ファイル用のデフォルト・ディレクトリを指定します。設定すると、テンポラリ・ファイルを作成するツールは、このディレクトリにテンポラリ・ファイルを作成します。

構文 directory_path

例 /u02/oracle/tmp

XENVIRONMENT 機能 X-Windowシステムのリソース定義を含むファイルを指定します。詳細は、X-Windowのドキュメントを参照してください。

警告警告警告警告 : できるだけ、個々に TZ値を変更しないでください。GMT+24などの異なる TZ値を使用すると、トランザクションが記録された日が変更されてしまいます。 その場合、SYSDATEを使用する Oracleアプリケーション(Oracle Financialsなど)が影響を受けます。この問題を回避するために、表の順序を決定する場合は、日付列ではなく順序番号を使用してください。

表表表表 1-2 Oracle8iで使用するで使用するで使用するで使用する UNIX 環境変数環境変数環境変数環境変数

環境変数環境変数環境変数環境変数 項目項目項目項目 定義定義定義定義

Oracle8iの管理 1-9

Page 22: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

初期化パラメータ

オプションの初期化パラメータのほとんどは、Oracle8i関連マニュアルで参照できます。

initsid.oraファイルのカスタマイズファイルのカスタマイズファイルのカスタマイズファイルのカスタマイズここでは、Oracle8iソフトウェアとともに提供されるデフォルトの initsid.oraファイルについて説明します。 Oracle Universal Installer(OUI)は、$ORACLE_BASE/admin/sid/pfileディレクトリ中にファイルを作成します。このファイルを変更することによって、Oracle8iインストールをカスタマイズできます。

サンプル initsid.oraファイルは、$ORACLE_HOME/dbsディレクトリにあります。このファイルは、Oracle8iインストールをカスタマイズする際に使用すると便利です。

デフォルトの初期化パラメータの値デフォルトの初期化パラメータの値デフォルトの初期化パラメータの値デフォルトの初期化パラメータの値次の表に、AIXでの初期化パラメータのデフォルト値を示します。initsid.oraファイルのこれらのパラメータに別の値を設定しなければ、すべての Oracle8iインスタンスでこれらの値が使用されます。initsid.oraファイルには、デフォルトとは異なる値のパラメータのみを設定してください。 詳細は、『Oracle8i リファレンス・マニュアル』を参照してください。

システムでの現在のパラメータ値を表示するには、SQL*Plusを使用して SQL文 SHOW PARAMETERSを実行します。

参照参照参照参照 : 詳細は、『Oracle8i 管理者ガイド』 および『Oracle8i パフォーマンスのための設計およびチューニング』を参照してください。

表表表表 1-3 デフォルトの初期化パラメータデフォルトの初期化パラメータデフォルトの初期化パラメータデフォルトの初期化パラメータ

パラメータパラメータパラメータパラメータ デフォルト値デフォルト値デフォルト値デフォルト値 許容値許容値許容値許容値

BACKGROUND_DUMP_DEST $ORACLE_HOME/rdbms/log 有効なディレクトリ名

BITMAP_MERGE_AREA_SIZE 1048576 65536~無制限

COMMIT_POINT_STRENGTH 1 0~ 255

CONTROL_FILES $ORACLE_HOME/dbs/ctrlsid.dbfこの場合、sidは ORACLE_SIDを表します。

有効なファイル名

CREATE_BITMAP_AREA_SIZE 8388608 65536~無制限

DB_BLOCK_BUFFERS 12288 50~無制限

DB_BLOCK_SIZE 4096 2KB~ 16KB

DB_FILE_DIRECT_IO_COUNT 64 0~ 1048576

1-10 Oracle8i for IBM AIX管理者リファレンス

Page 23: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

初期化パラメータ

DB_FILE_MULTIBLOCK_READ_COUNT 8 1~ 128(ただし、最大値は、次の小さい方の値以下で設定してください。)

� DB_BLOCK_BUFFERS/4

� 1048576/DB_BLOCK_SIZE

DB_FILES 200 1~ 2000000

DISTRIBUTED_TRANSACTIONS TRANSACTIONS/4 0~無制限

HASH_AREA_SIZE 2× SORT_AREA_SIZE 0~無制限

HASH_MULTIBLOCK_IO_COUNT 0(セルフ・チューニング) 0~ 127(ただし、最大値は、次の小さい方の値以下で設定してください。)

� DB_BLOCK_BUFFERS/4

� 1048576/DB_BLOCK_SIZE

JAVA_POOL_SIZE 20000000

LOCK_SGA FALSE TRUE、FALSE

LOG_ARCHIVE_BUFFER_SIZE 64

LOG_ARCHIVE_BUFFERS 4 1~ 128

LOG_ARCHIVE_DEST なし 有効なディレクトリ名

LOG_ARCHIVE_FORMAT "%t_%s.dbf" 有効なファイル名

LOG_BUFFER 524288 66560~無制限

LOG_CHECKPOINT_INTERVAL 0 0~無制限

LOG_SMALL_ENTRY_MAX_SIZE 80

MTS_LISTENER_ADDRESS なし 有効なディレクトリ名

MTS_MAX_DISPATCHERS 5 MTS_DISPATCHERS値とPROCESSES値の間の数

MTS_MAX_SERVERS MTS_SERVERS< 20の場合は 2×MTS_SERVERS、それ以外の場合は 20

MTS_SERVERS値と PROCESSES値の間の数

MTS_SERVERS MTS_DISPATCHERSが指定されている場合は 1、それ以外の場合は 0

1と PROCESSES値の間の数

NLS_LANGUAGE AMERICAN 有効な言語名

NLS_TERRITORY AMERICA 有効な地域名

OBJECT_CACHE_MAX_SIZE_PERCENT 10 0~無制限

OBJECT_CACHE_OPTIMAL_SIZE 102400 102400~無制限

表表表表 1-3 デフォルトの初期化パラメータデフォルトの初期化パラメータデフォルトの初期化パラメータデフォルトの初期化パラメータ

パラメータパラメータパラメータパラメータ デフォルト値デフォルト値デフォルト値デフォルト値 許容値許容値許容値許容値

Oracle8iの管理 1-11

Page 24: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

データベースの制限

データベースの制限データベースの制限データベースの制限データベースの制限表 1-4に、CREATE DATABASE文または CREATE CONTROL FILE文のパラメータの最大値およびデフォルト値を示します。また、表 1-5に、Oracle固有のファイル・サイズ制限を示します。

OPEN_CURSORS 50 1~無制限

OS_AUTH_PREFIX ops$ 任意の文字列

PROCESSES PARALLEL_AUTOMATIC_TUNINGが設定されていない場合は 30

6~無制限

SHARED_POOL_SIZE 8000K 300000~無制限

SORT_AREA_SIZE 65536 0~無制限

USER_DUMP_DEST $ORACLE_HOME/rdbms/log 有効なディレクトリ名

注意注意注意注意 : それらのパラメータ間の相互依存によって、正当な値に影響を与える場合があります。

表表表表 1-4 CREATE DATABASE 文および文および文および文および CREATE CONTROL FILE文のパラメータ文のパラメータ文のパラメータ文のパラメータ

パラメータパラメータパラメータパラメータ デフォルト値デフォルト値デフォルト値デフォルト値 最大値最大値最大値最大値

MAXDATAFILES 30 16383

MAXINSTANCES 1 7

MAXLOGFILES 16 16512

MAXLOGMEMBERS 2 5

MAXLOGHISTORY 100 31676

表表表表 1-5 Oracle固有のファイル・サイズ制限固有のファイル・サイズ制限固有のファイル・サイズ制限固有のファイル・サイズ制限

ファイル・タイプファイル・タイプファイル・タイプファイル・タイプ 最大サイズ最大サイズ最大サイズ最大サイズ

db_block_size = 2048 の場合のデータ・ファイル 8,589,932,544

db_block_size = 4096 の場合のデータ・ファイル 17,179,865,088

db_block_size = 8192 の場合のデータ・ファイル 34,359,730,176

db_block_size = 16384の場合のデータ・ファイル 68,719,460,352

表表表表 1-3 デフォルトの初期化パラメータデフォルトの初期化パラメータデフォルトの初期化パラメータデフォルトの初期化パラメータ

パラメータパラメータパラメータパラメータ デフォルト値デフォルト値デフォルト値デフォルト値 許容値許容値許容値許容値

1-12 Oracle8i for IBM AIX管理者リファレンス

Page 25: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

特殊アカウントおよび特殊グループの管理

特殊アカウントおよび特殊グループの管理特殊アカウントおよび特殊グループの管理特殊アカウントおよび特殊グループの管理特殊アカウントおよび特殊グループの管理データベース管理者(DBA)には、Oracle Serverが必要とする特殊アカウントに関する知識と経験が必要で、それらのアカウントが適切なグループに属するように設定する必要があります。表 1-6に UNIXアカウント、表 1-7に Oracle Serverアカウントを示します。 また、表 1-8に特殊グループ・アカウントを示します。

インポート /エクスポート・ファイル 2,147,483,647

SQL*Loader 2,147,483,647

表表表表 1-6 UNIXアカウントアカウントアカウントアカウント

oracle Oracleソフトウェア所有者は、Oracle8iソフトウェアを所有するアカウントを示します。このメンテナンス・アカウントには、データベースを作成、起動、停止、または INTERNALとして接続するための DBA権限が必要です。Oracleソフトウェア所有者は、スーパーユーザーであってはいけません。

root rootユーザーは、最高の権限(スーパーユーザー権限)が与えられた特殊 UNIXアカウントです。このアカウントを使用することによって、UNIXカーネルを構成したり、ネットワーク・ソフトウェアを構成およびインストールしたりできます。また、ユーザー・アカウントおよびグループを作成できます。

表表表表 1-7 Oracle8iアカウントアカウントアカウントアカウント

SYS インストール時に自動的に作成され、DBA権限が与えられた標準的な Oracle8iアカウントです。SYSアカウントは、データ・ディクショナリのベース表すべてを所有します。このアカウントはDBAが使用します。

SYSTEM インストール時に自動的に作成され、DBA権限が与えられた標準的な Oracle8iアカウントです。SYSTEMユーザーで追加の表またはビューを作成できます。DBAは SYSTEMとしてログインし、データベースを監視またはメンテナンスします。

表表表表 1-5 Oracle固有のファイル・サイズ制限固有のファイル・サイズ制限固有のファイル・サイズ制限固有のファイル・サイズ制限

ファイル・タイプファイル・タイプファイル・タイプファイル・タイプ 最大サイズ最大サイズ最大サイズ最大サイズ

Oracle8iの管理 1-13

Page 26: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

セキュリティの管理

セキュリティの管理セキュリティの管理セキュリティの管理セキュリティの管理Oracle8iでは、UNIXオペレーティング・システムのいくつかの機能を使用し、ユーザーに安全性の高い環境を提供します。それらの機能には、ファイル所有権、グループ・アカウント、および実行時にそのユーザー IDを変更するプログラム機能が含まれます。

Oracle8iの 2タスク・アーキテクチャによって、ユーザー・プログラムと Oracleプログラム間で作業(およびアドレス領域)を分割し、セキュリティを高めることができます。すべてのデータベース・アクセスは、このシャドウ・プロセスおよび Oracleプログラムへの特殊権限によって行うことができます。

グループとセキュリティグループとセキュリティグループとセキュリティグループとセキュリティOracle8iデータベースのセキュリティを高めるため、オペレーティング・システム・レベルでユーザー・グループを作成します。グループは、UNIXファイルの /etc/groupが制御します。Oracleプログラムは、セキュリティを高めるために 2つのグループに分けられます。すべてのユーザー(UNIX用語では other)がアクセスできる実行プログラムおよびDBA専用の実行プログラムです。次のようにして、セキュリティを高めることをお薦めします。

表表表表 1-8 特殊グループ・アカウント特殊グループ・アカウント特殊グループ・アカウント特殊グループ・アカウント

dbaグループ Oracleソフトウェア所有者は、dbaグループの唯一の必須メンバーです。dbaグループには、他の UNIXユーザーを追加できます。このグループのメンバーは、SQL*Plusの特殊権限機能にアクセスできます。アカウントが dbaグループのメンバーでない場合、INTERNALとして接続するためにパスワードを入力するか、または SQL*Plusのその他の管理機能へのアクセス権限を取得する必要があります。デフォルトの OSDBAグループは、dbaです。

oinstallグループ ORACLE_HOMEでは、Oracle8iをインストールするすべてのユーザーは同じ UNIX グループに属している必要があります。マシン上のすべての ORACE_HOMEは、OUI Inventoryを共有します。また、グループの書込み権限もあります。主グループとしてoinstallでインストールすることをお薦めします。

operグループ ユーザーが作成できるオプションの UNIXグループです。メンバーには、データベースの OPERATOR権限が与えられます。DBA権限の一部を制限したものが OPERATOR権限です。

root グループ rootグループのメンバーになれるのは rootユーザーのみです。

hagsuserグループ Oracle Parallel Serverの場合、Oracleユーザーは、hagsuserグループのメンバーである必要があります。

参照参照参照参照 : セキュリティ問題の詳細は、『Oracle8i 管理者ガイド』の「Oracleデータベース管理者」を参照してください。

1-14 Oracle8i for IBM AIX管理者リファレンス

Page 27: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

セキュリティの管理

� Oracle8iをインストールする前に、データベース管理者の UNIXグループを作成します。このグループには、特殊なグループ権限が与えられます。グループには任意の名前を指定できますが、このマニュアルでは、dbaグループとしています。Oracleアカウントには、dbaグループを 2次グループとする必要があります。Oracleアカウントの主グループは、oinstallグループである必要があります。

� oinstallという名前のグループを作成します。oinstallグループは、OUI oraInventoryを所有します。また、Oracle8iシステムのインストールおよびアップグレードに対する責任があります。グループには任意の名前を指定できますが、このマニュアルでは、oinstallグループとしています。すべての Oracleアカウントは、oinstallグループを主グループとする必要があります。

� DBA権限を必要とするユーザー・アカウントは、dbaグループに属することができますが、oinstallグループに属することができるのは、Oracleアカウントのみです。

Server ManagerコマンドのセキュリティコマンドのセキュリティコマンドのセキュリティコマンドのセキュリティSQL*Plusがない場合は、Server Managerを使用して SQL問合せを実行できます。ただし、Server Managerへのアクセスを割り当てるには注意が必要です。システム権限が与えられた次の文にアクセスできるのは、特別なオペレーティング・システム権限を持つ Oracleソフトウェア所有者および dbaグループのユーザーのみにしてください。

� STARTUP

� SHUTDOWN

� CONNECT INTERNAL

データベース・ファイルのセキュリティデータベース・ファイルのセキュリティデータベース・ファイルのセキュリティデータベース・ファイルのセキュリティOracle8iのインストールに使用するユーザー IDは、データベース・ファイルの所有者である必要があります。デフォルトのユーザー IDは、Oracleソフトウェア所有者です。これらのファイルの認可を 0600に設定します。これによって、所有者のみに読込みおよび書込み(rw)権限が与えられ、グループや他のユーザーに書込み権限は与えられません。

Oracleソフトウェア所有者は、データベース・ファイルを含むディレクトリを所有する必要があります。セキュリティを高めるために、グループおよび他のユーザーの読込み権限を取り消してください。

保護されているデータベース・ファイルにアクセスするには、Oracleプログラムでそのセット・ユーザー ID(setuid)ビットをオンにする必要があります。

警告警告警告警告 : システム権限が与えられた文は、正しく使用しないとデータベースを破壊する可能性があります。dbaグループ以外のユーザーでも、必要なパスワードを知っていれば、INTERNALとして接続できるので注意してください。

Oracle8iの管理 1-15

Page 28: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

セキュリティの管理

Oracle Universal Installerは、Oracle実行ファイルの権限を自動的に次のように設定します。

-rwsr-s--x 1 oracle dba 443578 Mar 10 23:03 oracle

ユーザーの実行フィールドにある「s」によって、そのプログラムを起動した実際のユーザー IDに関係なく、そのプログラムの事実上のユーザー IDを Oracleとして Oracleプログラムを実行できます。

これを手動で設定する必要がある場合は、次のように入力します。

$ chmod 6751 $ORACLE_HOME/bin/oracle

セキュリティとリモート・パスワードセキュリティとリモート・パスワードセキュリティとリモート・パスワードセキュリティとリモート・パスワードオペレーティング・システム・アカウントがなくても、パーソナル・コンピュータなどのリモート・マシンからデータベースにアクセスしたり、データベースを管理することができます。ユーザー検証は、orapwdユーティリティで作成および管理される Oracle8iパスワード・ファイルを使用して行われます。オペレーティング・システム・アカウントをサポートするシステムでは、パスワード・ファイル検証も行えます。

ローカル・パスワード・ファイルは $ORACLE_HOME/dbsディレクトリにあり、1つのデータベースのユーザー名およびパスワード情報が入っています。1つのマシンに複数の$ORACLE_HOMEディレクトリがある場合、それぞれにパスワード・ファイルがあります。データベースで、パスワード・ファイルを使用可能にするには、initsid.oraファイルのパラメータ remote_login_passwordfileを EXCLUXIVEに設定します。

orapwd の実行の実行の実行の実行orapwdユーティリティは $ORACLE_HOME/binにあり、Oracleソフトウェア所有者が実行します。orapwdを実行するには、次のように入力します。

$ orapwd file=filename password=password entries=max_users

表 1-9に、orapwdの構文を示します。

表表表表 1-9 orapwdの実行構文の実行構文の実行構文の実行構文

filename パスワード情報が書き込まれているファイル名です。ファイル名は orapwsidで、フルパス名を指定します。その内容は暗号化されていて、ユーザーには読めません。このパラメータの入力は必須です。

password INTERNALおよび SYS用に指定する初期パスワードです。このパスワードは、データベースの作成後に ALTER USER文を使用して変更できます。このパラメータの入力は必須です。

1-16 Oracle8i for IBM AIX管理者リファレンス

Page 29: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

セキュリティの管理

orapwd の例の例の例の例$ orapwd file=/u01/app/oracle/product/8.1.6/dbs/orapwV816 \ password=rsdb3t4 entries=30

リモートリモートリモートリモート PC からデータベースへのアクセスからデータベースへのアクセスからデータベースへのアクセスからデータベースへのアクセスOracle8iパスワード・ファイルがあれば、DBA権限を持つネットワーク上の PCユーザーは、このデータベースに INTERNALとしてアクセスできます。権限を持つユーザーがデータベースに対して DBA機能を実行する場合は、SQL*Plusコマンドに dbaユーザーのパスワードを追加して入力します。次に例を示します。

SQL> connect internal/dba_password@alias as {sysdba|sysoper}

リモート認証リモート認証リモート認証リモート認証表 1-10に、安全性の低いプロトコルを使用したリモート接続の動作を制御するinitsid.oraファイルのパラメータを示します。

max_users データベースに SYSDBA または SYSOPERとして接続できるユーザーの最大数です。このパスワード・ファイルを EXCLUSIVEにする必要がある場合のみ、このパラメータの入力は必須です。max_usersには、必要だと予想される数より大きい値を設定してください。ユーザー数がこの値より多くなる場合、新しいパスワード・ファイルを作成する必要があります。

参照参照参照参照 : 詳細は、『Oracle8i 管理者ガイド』 を参照してください。

表表表表 1-10 リモート接続を制御するパラメータリモート接続を制御するパラメータリモート接続を制御するパラメータリモート接続を制御するパラメータ

REMOTE_OS_AUTHENT ops$接続を使用可能または使用禁止にします。

OS_AUTHENT_PREFIX ops$アカウントによって使用されます。

REMOTE_OS_ROLES リモート接続でロールを使用可能または使用禁止にします。

表表表表 1-9 orapwdの実行構文の実行構文の実行構文の実行構文

Oracle8iの管理 1-17

Page 30: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

Oracle8i のメモリー使用量の見積り

Oracle8iのメモリー使用量の見積りのメモリー使用量の見積りのメモリー使用量の見積りのメモリー使用量の見積りOracle8iを起動する前に、Oracle8iのメモリー使用量を知っておく必要があります。必要なメモリーの使用量を把握しておくと、システム上のユーザー数を決定するのに役立ちます。また、必要な物理メモリーおよびスワップ領域を決定するのにも役立ちます。次の式を使用して、必要なメモリーを見積もります。

<Oracle実行ファイルのテキストのサイズ >+ <SGAのサイズ >+ n ×( <Tool実行ファイルのプライベート・データ・セクションのサイズ >

+ <Oracle実行ファイルの未初期化データ・セクションのサイズ >+ <スタック用に 8192バイト >+ <プロセス・ユーザー領域用に 2048バイト >)

この場合、nはバックグラウンド・プロセスの数を示します。

SGAサイズを見積もるには、 1-20ページの「SGAのサイズの計算」を参照してください。

各クライアント /サーバー接続に対して、次の式を使用して仮想メモリー要件を見積もります。

<Oracle実行ファイルのデータ・セクションのサイズ >+ <Oracle実行ファイルの未初期化データ・セクションのサイズ >+ <スタック用に 8192バイト >+ <プロセス・ユーザー領域用に 2048バイト >+ <アプリケーションで必要なカーソル領域 >

実行ファイルのテキスト・サイズ、プライベート・データ・セクションのサイズおよび未初期化データ・セクションのサイズ(または bss)を見積もるには、sizeコマンドを使用します。すべての Oracle実行テキストは常に共有されているため、プログラムが何度起動されても、プログラム・テキストがカウントされるのは 1回のみです。

実行中のデータベースにユーザーが接続しているときに、実際の Oracle物理メモリーの使用量を計算するには、ps-elfコマンドを使用します。すべてのフロント・エンド、サーバーおよび Oracleバックグラウンド・プロセスの項目を検索します。各項目について、SZ列を合計します。

psコマンドは、ページでのプロセス・サイズを返します。システムのページ・サイズは、アーキテクチャによって異なります。pagesizeコマンドを使用して、サイズが 4096バイトか、または 8192バイトかを確認します。各プロセスについて、SZ値とページ・サイズを掛けます。

参照参照参照参照 : psコマンドで使用できるスイッチのリストについては、AIXのmanページまたはドキュメントを参照してください。

1-18 Oracle8i for IBM AIX管理者リファレンス

Page 31: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

システム・グローバル領域の制御

最後に、Oracle実行ファイルのテキスト・サイズと、システムで実行中のその他のすべてのOracle Tool実行ファイルのテキスト・サイズを、その小計に加算します。実行ファイルが何度起動されても、実行ファイルのサイズがカウントされるのは 1回です。

サーバー・リソースの制限サーバー・リソースの制限サーバー・リソースの制限サーバー・リソースの制限AIXでは、親プロセスからリソースの制限を継承します(/etc/security/limitsファイルおよび getrlimit(2)の manページを参照)。この制限は、ユーザー・プロセスに対して実行される Oracle8iのシャドウ・プロセスに適用されます。AIXのデフォルトのリソース制限は、どの Oracle8iのシャドウ・プロセスまたはバックグラウンド・プロセスに対しても十分高い値です。この制限を低くすると、Oracle8iシステムに影響が出る場合があります。詳細は、AIXのシステム管理者にお問い合せください。

ファイル・システムで 1GB以上の Oracleデータ・ファイルを使用する場合は、すべてのユーザーに対するデフォルトのファイル・サイズ制限を高くする必要があります。詳細は、『Oracle8i for IBM AIXインストレーション・ガイド』の「サイズが大きなファイル」を参照してください。

Oracleユーザー ID用に設定したディスクの割当て制限によって、Oracle8iシステムの操作性が悪くなる場合があります。ディスクの割当て制限を設定する前に、Oracle8iのデータベース管理者および AIXのシステム管理者にお問い合せください。

システム・グローバル領域の制御システム・グローバル領域の制御システム・グローバル領域の制御システム・グローバル領域の制御システム・グローバル領域(SGA)は、共有メモリー内に常駐する Oracle構造体です。この構造体には、静的データ構造体、ロックおよびデータ・バッファが含まれています。各Oracleプロセスが SGA全体をアドレス指定するために、十分な共有メモリーが必要です。

SGAのサイズ制限のサイズ制限のサイズ制限のサイズ制限AIXでの単一共有メモリー・セグメントの最大サイズは 256MBです。プロセスでは、最大10個の連続共有メモリー・セグメントを割り当てられるので、AIXでの最大 SGAサイズは2.5GBです。

SGAのサイズは、initsid.oraパラメータによって決まります。

� DB_BLOCK_BUFFERS

� DB_BLOCK_SIZE

注意注意注意注意 : Oracle8iを実行するときに、環境変数 EXTSHMを設定しないでください。EXTSHMが設定されていると、Oracle8iを実行できません。

Oracle8iの管理 1-19

Page 32: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

デモンストレーションの作成と実行

� JAVA_POOL_SIZE

� LARGE_POOL_SIZE

� SORT_AREA_SIZE

� SHARED_POOL_SIZE

これらのパラメータの値は、十分注意して設定してください。値が大きすぎると、マシンの物理メモリーに対する共有メモリーの割合が大きくなりすぎて、パフォーマンスが低下します。

SGAのサイズの計算のサイズの計算のサイズの計算のサイズの計算次のいずれかの方法で、SGAサイズを判断できます。

� インスタンスあたりの SGAの適切なサイズは、次の式で計算します。

( DB_BLOCK_BUFFERS × DB_BLOCK_SIZE)+ SORT_AREA_SIZE+ SHARED_POOL_SIZE + LOG_BUFFER+ LARGE_POOL_SIZE + JAVA_POOL_SIZE

� 実行中のデータベースの SGAサイズを表示するには、SQL*Plusの show sgaコマンドを使用します。

� データベース・システムを起動するときに、SGAのサイズも検索できます。 ヘッダー「Total System Global Area」の横に SGAサイズが表示されます。

デモンストレーションの作成と実行デモンストレーションの作成と実行デモンストレーションの作成と実行デモンストレーションの作成と実行

SQL*LoaderのデモンストレーションのデモンストレーションのデモンストレーションのデモンストレーションSQL*Loaderのデモンストレーションには、次の要件があります。

� ユーザー scott/tigerに CONNECT権限と RESOURCE権限がある

� 空の EMP表および DEPT表がある

デモンストレーションを作成して実行するには、次の手順に従います。

1. 実行するデモンストレーションの ulcasen.sqlスクリプトを実行します。 これによって、このデモンストレーションで使用されるオブジェクトが作成されます。 次のように入力して、scott/tigerでコマンドラインから SQL*Plusを起動します。

$ sqlplus scott/tiger @ulcasen.sql

1-20 Oracle8i for IBM AIX管理者リファレンス

Page 33: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

デモンストレーションの作成と実行

2. 次のように入力して、scott/tigerでコマンドラインからデモンストレーションを起動します。

$ sqlldr scott/tiger ulcasen.ctl

これによって、手順 1で作成されたオブジェクトにデモンストレーション・データがロードされますが、デモンストレーションは実行されません。

scott/tigerで、次の順に SQL*Loaderのデモンストレーションを実行します。

� ulcase1: 前述の手順 1~ 2を実行します。

� ulcase2: デモンストレーションを起動するために、手順 2を実行します(ulcase2.sqlスクリプトを実行する必要はありません)。

� ulcase3: 前述の手順 1~ 2を実行します。

� ulcase4: 前述の手順 1~ 2を実行します。

� ulcase5: 前述の手順 1~ 2を実行します。

� ulcase6: scott/tigerで ulcase6.sqlスクリプトを実行し、コマンドラインに次のように入力します。

$ sqlldr scott/tiger ulcase6 DIRECT=true

� ulcase7: scott/tigerで ulcase7s.sqlスクリプトを実行し、コマンドラインに次のように入力します。

$ sqlldr scott/tiger ulcase7

例を実行した後、ulcase7e.sqlを実行して、挿入トリガーおよびグローバル変数パッケージを削除します。

SQL*Loaderの管理の管理の管理の管理Oracle8iには、SQL*Loader機能が組み込まれています。 デモンストレーション・ファイルおよびメッセージ・ファイルは、rdbmsディレクトリにあります。

ファイル処理オプションファイル処理オプションファイル処理オプションファイル処理オプションSQL*Loaderの制御ファイルには、次のファイル処理オプション文字列が追加されています。デフォルトは strで、引数は指定されていません。

[ "str" | "fix n" | "var n" ]

Oracle8iの管理 1-21

Page 34: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

デモンストレーションの作成と実行

ファイル処理オプションを選択しないと、情報はデフォルトでレコード・ストリーム(str)として処理されます。 fixモードではレコード終了記号をスキャンする必要がないため、デフォルトの strモードより高いパフォーマンスが得られます。

固定長レコードでの改行固定長レコードでの改行固定長レコードでの改行固定長レコードでの改行各レコードが改行で終了する固定長レコードを含むファイルを読むために fixオプションを使用する場合、レコード長に改行文字の長さ(1文字)を含めて、SQL*Loaderに指定してください。

次に例を示します。

AAA [改行]BBB [改行]CCC [改行]

改行文字も含めるため、fix 3ではなく fix 4を指定します。

固定長レコードのファイルの最後のレコードが改行文字で終了しない場合は、その他のレコードも改行文字で終了しないでください。 同様に、最後のレコードを改行文字で終了する場合は、 すべてのレコードを改行文字で終了してください。

表表表表 1-11 ファイル処理オプションファイル処理オプションファイル処理オプションファイル処理オプション

str (デフォルト)。 改行文字で終了するレコードを、一度に 1レコードずつ読み込むストリームを指定します。

fix ファイルが nバイトの固定長レコードで構成されていることを示します。nは整数です。

var ファイルが nバイトの可変長レコードで構成されていることを示します。nは整数です。レコードの最初の 5文字を指定します。

警告警告警告警告 : viなどの特定のテキスト・エディタを使用すると、ファイルの最後のレコードは自動的に改行文字で終了します。 この場合、ファイル内のその他のレコードが改行文字で終了していないと、不整合が発生します。

1-22 Oracle8i for IBM AIX管理者リファレンス

Page 35: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

デモンストレーションの作成と実行

改行文字の削除改行文字の削除改行文字の削除改行文字の削除改行文字をロードしないで、固定長レコードから改行文字を削除するには、制御ファイルのposition(x:y)関数を使用します。 これを行うには、制御ファイルに次のように入力します。

load datainfile xyz.dat "fix 4"into table abc( dept position(01:03) char )

これによって、固定長レコードの 4桁目にあるために、改行文字は削除されます。

PL/SQLデモンストレーションのロードデモンストレーションのロードデモンストレーションのロードデモンストレーションのロードPL/SQLには、ロードできるサンプル・プログラムが多数あります。 デモンストレーション・ファイルおよびメッセージ・ファイルは、plsqlディレクトリにあります。 Oracle8iデータベースを起動してマウントした状態で、次の操作を行ってください。

1. SQL*Plusを起動し、ユーザー /パスワードを scott/tigerで接続します。

$ cd $ORACLE_HOME/plsql/demo$ sqlplus scott/tiger

2. デモンストレーションをロードするために、SQL*Plusから exampbld.sqlを起動します。

SQL > @exampbld

注意注意注意注意 : デモンストレーションの作成は、必要な権限を持つ Oracleアカウントで行ってください。 また、デモンストレーションの実行も、同じアカウントで行ってください。

Oracle8iの管理 1-23

Page 36: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

デモンストレーションの作成と実行

PL/SQLデモンストレーションの実行デモンストレーションの実行デモンストレーションの実行デモンストレーションの実行表 1-12に、カーネルのデモンストレーションを示します。

表 1-13に、プリコンパイラのデモンストレーションを示します。

PL/SQLデモンストレーションを実行するには、そのデモンストレーションを作成するときに使用したユーザー /パスワードで SQL*Plusを起動し、データベースに接続します。 デモンストレーション名の前に @マークまたは startを入力し、デモンストレーションを起動します。 たとえば、examp1のデモンストレーションを起動するには、次のように入力します。

$ sqlplus scott/tigerSQL > @examp1

プリコンパイラ PL/SQLデモンストレーションを作成するには、次のように入力します。

$ cd $ORACLE_HOME/plsql/demo$ make -f demo_plsql.mk demos

1つのデモンストレーションを作成する場合は、makeコマンドにそのデモンストレーション名を引数として指定します。 たとえば、examp9.pc実行ファイルを作成する場合、次のように入力します。

$ make -f demo_plsql.mk examp9

現行のシェルから examp9デモンストレーションを起動するには、次のように入力します。

$ ./examp9

extprocデモンストレーションを実行するには、まず、ファイル tnsnames.oraに次の行を追加します。

(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=plsff))(CONNECT_DATA=(SID=extproc)))

表表表表 1-12 カーネルのデモンストレーションカーネルのデモンストレーションカーネルのデモンストレーションカーネルのデモンストレーション

examp1.sql examp5.sql examp11.sql sample1.sql

examp2.sql examp6.sql examp12.sql sample2.sql

examp3.sql examp7.sql examp13.sql sample3.sql

examp4.sql examp8.sql examp14.sql sample4.sql

extproc.sql

表表表表 1-13 プリコンパイラのデモンストレーションプリコンパイラのデモンストレーションプリコンパイラのデモンストレーションプリコンパイラのデモンストレーション

examp9.pc examp10.pc sample5.pc sample6.pc

1-24 Oracle8i for IBM AIX管理者リファレンス

Page 37: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

ネットワーク実行ファイルの再リンク

次に、listener.oraファイルに次の行を追加します。

SC=((SID_NAME=extproc)(ORACLE_HOME=/u01/app/oracle/8.1.6)(PROGRAM=extproc))

SQL*Plusセッションで次のように入力します。

SQL> connect system/managerConnected.SQL> grant create library to scott;Grant succeeded.SQL> connect scott/tigerConnected.SQL> create library demolib as '$ORACLE_HOME/plsql/demo/extproc.so';Library created.

最後に、テストを実行します。

SQL> connect scott/tigerConnected.SQL> @extproc

ネットワーク実行ファイルの再リンクネットワーク実行ファイルの再リンクネットワーク実行ファイルの再リンクネットワーク実行ファイルの再リンク$ORACLE_HOME/binディレクトリ内のシェル・スクリプトの再リンクによって、製品実行ファイルを手動で再リンクできます。再リンクは、オペレーティング・システム・パッチの適用後またはオペレーティング・システムのアップグレード後に必要となります。

再リンク・スクリプトは、ORACLE_HOMEにインストールされているものに基づいてOracle製品実行ファイルの再リンクを手動で実行します。

データベースの再リンク前に、この ORACLE_HOMEにある、Oracle Intelligent Agent、Oracle WebDBリスナーおよびその他の Oracleプログラムを停止してください。再リンクするには、次のように入力します。

$ relink parameter

表表表表 1-14 再リンク・スクリプト・パラメータ再リンク・スクリプト・パラメータ再リンク・スクリプト・パラメータ再リンク・スクリプト・パラメータ

パラメータパラメータパラメータパラメータ 値値値値

all インストールされたものすべて

oracle Oracleデータベースの実行ファイルのみ

network net_client、net_server、nau、cman、cnames

client net_client、otrace、plsql、client_sharedlib

Oracle8iの管理 1-25

Page 38: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

ネットワーク実行ファイルの再リンク

interMedia ctx、ordimg、ordaud、ordvir、md

precomp インストールされたすべてのプリコンパイラ

utilities ユーティリティ

oemagent oemagent、odg

表表表表 1-14 再リンク・スクリプト・パラメータ再リンク・スクリプト・パラメータ再リンク・スクリプト・パラメータ再リンク・スクリプト・パラメータ

1-26 Oracle8i for IBM AIX管理者リファレンス

Page 39: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

AIXでの Oracle8iのチューニ

2

AIXでのでのでのでの Oracle8iのチューニングのチューニングのチューニングのチューニング

チューニングを行うと、AIXシステムにおける Oracle8iのパフォーマンスおよびスケーラビリティを改善できます。この章の情報とともに、汎用的なチューニング方法が記載された『Oracle8i パフォーマンスのための設計およびチューニング』および 2-28ページに記載されている IBM関連ドキュメントを参照してください。

� AIXパフォーマンス・ツール

� Oracleパフォーマンス・ツール

� Oracle8i のチューニング

� メモリーおよびページング

� ディスク I/Oの問題

� CPUのスケジューリングとプロセスの優先順位

� その他のチューニングのヒント

� 関連ドキュメント

ング 2-1

Page 40: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

AIXパフォーマンス・ツール

AIXパフォーマンス・ツールパフォーマンス・ツールパフォーマンス・ツールパフォーマンス・ツール

AIX Base Operation SystemツールツールツールツールAIX Base Operation System(BOS)には、履歴的に UNIXシステムの一部であったツールや実装固有の AIX機能を管理するのに必要なパフォーマンス・ツールがあります。主要なBOS機能は、次のとおりです。

AIX Performance ToolboxAIX Performance Toolbox(PTX)には、システム・アクティビティをローカルおよびリモートで監視およびチューニングするツールがあります。PTXは、PTX Managerおよび PTX Agentという 2つの主なコンポーネントで構成されています。PTX Managerは、xmperfというプログラムを使用して、構成内の様々なシステムからデータを収集し、表示します。PTX Agentは、xmserdというプログラムを使用して、データを収集して PTX Managerに送信します。PTX Agentは、Performance Aide for AIXという独立した製品としても提供されています。

iostat CPUおよび I/O統計をレポートします。

lsattr デバイスの属性を表示します。

lslv 論理ボリュームまたは物理ボリュームの論理ボリューム割当ての情報を表示します。

netstat ネットワーク関連のデータ構造の内容を表示します。

nfsstat Network File System(NFS)および Remote Procedure Call(RPC)アクティビティの統計を表示します。

nice プロセスの最初の優先順位を変更します。

no ネットワーク・オプションを表示または設定します。

ps プロセスの状態を表示します。

reorgvg ボリューム・グループ内の物理的なパーティションの割当てを再編成します。

sar システム・アクティビティ情報を収集し、レポートまたは記録します。

time 実行が終了するまでの経過時間、ユーザーおよびシステムのCPU処理時間を出力します。

trace 選択されたシステム・イベントを記録およびレポートします。

vmstat 仮想記憶アクティビティおよびその他のシステム統計をレポートします。

2-2 Oracle8i for IBM AIX管理者リファレンス

Page 41: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

AIX パフォーマンス・ツール

PTXおよび Performance Aideには、監視用とチューニング用のツールが個別に含まれています。

PTXの詳細は、『AIX Performance Toolbox/6000 User's Guide 1.2 and 2.1』を参照してください。一部のツール・コマンドの構文は、『AIX Version 4.x Commands Reference』にも記載されています。

AIX System Management Interface ToolAIX System Management Interface Tool(smit)は、様々なシステム管理ツールおよびパフォーマンス・ツールに対するメニュー方式のインタフェースを提供します。smitを使用すると、多数のツールを容易に操作でき、実行するジョブのみに集中できます。

fdpr 特定の作業負荷について実行プログラムを最適化します。

filemon トレース機能を使用して AIXファイル・システムのアクティビティを監視し、レポートします。

fileplace 論理ボリュームまたは物理ボリューム内でのファイルのブロックの配置を表示します。

lockstat カーネル・ロックの競合について統計を表示します。

lvedit ボリューム・グループ内の論理ボリュームの対話形式の配置を簡易化します。

netpmon トレース機能を使用してネットワーク I/Oおよびネットワークに関連した CPU使用率をレポートします。

rmss 様々なサイズのメモリーでシステムをシミュレートして、パフォーマンスをテストします。

svmon 仮想メモリーの使用方法について情報を獲得し、分析します。

syscalls システム・コールを記録およびカウントします。

tprof トレース機能を使用してモジュールおよびソース・コード文レベルでの CPU使用率をレポートします。

BigFoot プロセスのメモリー・アクセス・パターンをレポートします。

stem 既存の実行ファイルをサブルーチン・レベルでの入口または出口として使用できます。

AIXでの Oracle8iのチューニング 2-3

Page 42: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

Oracleパフォーマンス・ツール

Oracleパフォーマンス・ツールパフォーマンス・ツールパフォーマンス・ツールパフォーマンス・ツールここでは、オラクル社のパフォーマンス監視ツールについて説明します。

Utlbstat / Utlestatによる統計の収集による統計の収集による統計の収集による統計の収集utlbstat.sqlおよび utlestat.sqlスクリプトは、$ORACLE_HOME/rdbms/adminディレクトリに存在します。通常の作業負荷期間の開始時に SQL*Plusから utlbstatを実行し、期間の終わりに utlestatを実行します。これによって、utlestatスクリプトを実行したディレクトリに report.txtファイルが作成されます。このレポートには、測定期間のパフォーマンス統計が含まれているので、データベース競合の発見とチューニングに役立ちます。初期化パラメータ TIMED_STATISTICSを TRUEに設定しない場合は、タイミング測定がすべて 0で表示されます。詳細は、『Oracle8i パフォーマンスのための設計およびチューニング』を参照してください。

動的パフォーマンス表動的パフォーマンス表動的パフォーマンス表動的パフォーマンス表Oracle8iには、リソースの競合およびボトルネック、パフォーマンス問題の検出に役立つ多数の動的サーバー・パフォーマンス表またはビューがあります。よく使用される表の一部を次に示します。

� V$system_event

� V$resource_limit

� V$waitstat

� V$session_wait

� V$rowcache

� V$ping

� V$file_ping

� V$lock_activity

SQLトレーストレーストレーストレース初期化パラメータ SQL_TRACE=TRUEを設定すると、インスタンスのすべてのセッションでSQLトレースがオンに設定されます。または、コマンドALTER SESSION SET SQL_TRACE=TRUEを発行して、SQLトレースをセッション・レベルでオンに設定することもできます。該当する各セッションのトレース・ファイルは、初期化パラメータ USER_DUMP_DESTで指定されたディレクトリに作成されます。このパラメータのデフォルト値は、$ORACLE_HOME/rdbms/logです。

2-4 Oracle8i for IBM AIX管理者リファレンス

Page 43: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

Oracle パフォーマンス・ツール

Oracleの TKPROFコマンドを実行して、生成されたトレース・ファイルを分析できます。SQLトレース機能および TKPROFの詳細は、『Oracle8i パフォーマンスのための設計およびチューニング』を参照してください。

Oracle Enterprise Manager Performance Tuning PackOracle Enterprise Manager リリース 2.1では、システムのパフォーマンスを監視およびチューニングするために次のパッケージが提供されています。

Oracle Diagnostics PackOracle Diagnostics Packは、次のパッケージから構成されます。

� Oracle Performance Manager

� Oracle Capacity Planner

� Oracle Trace Manager and Viewer

� Oracle TopSessions

� Oracle Lock Manager

Oracle Performance ManagerOracleデータベース・サーバーおよびオペレーティング・システムのパフォーマンス・データをグラフィカルおよび動的に表示する、リアルタイム・パフォーマンス・モニターです。Oracleデータベース・カートリッジおよびオペレーティング・システム・カートリッジは、ホストにインストールする必要があります。

Oracle Capacity PlannerOracle Capacity Plannerを使用すると、システムおよびデータベース管理者は、データベースおよびオペレーティング・システムのパフォーマンス統計値を収集し、そのデータを履歴データベースに記録できます。さらに、履歴データを分析して、将来的に必要な容量を見積もることができます。

Oracleデータベース・カートリッジおよびオペレーティング・システム・カートリッジのほかに、エージェント・データの採集サービスを、オペレーティング・システムのデータを収集するすべてのホストにインストールする必要があります。

Oracle Trace Manager and Viewerグラフィカルな Oracle Trace Managerアプリケーションでは、Oracle Trace APIを使用して計測された製品に対する Oracle Traceの収集データを作成、スケジューリングおよび管理できます。Oracle Intelligent Agentをホストにインストールして、Oracle Trace Collection Servicesを使用可能な状態にしておく必要があります。

Oracle TopSessions上位 n個の Oracleセッションのパフォーマンス・アクティビティをいつでも集中的に表示できます。

AIXでの Oracle8iのチューニング 2-5

Page 44: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

Oracle8i のチューニング

Oracle Lock Managerロックによってブロックされたセッションを表示および解決するために使用します。

Oracle Tuning PackOracle Tuning Packは、次のパッケージから構成されます。

� Oracle Expert

� Oracle Tablespace Manager

� Oracle SQL Analyze

Oracle Expertデータベースの初めての構築や、既存データベースのパフォーマンスに見られる特徴の収集および評価をサポートして、データベース環境のパフォーマンスを最適化します。

Oracle Tablespace Manager表領域の詳細情報を提供し、表の断片化を解消したり使用されていない領域の割当てを解除することができます。

Oracle SQL Analyzeツールを使用して、データベース環境およびスキーマ・オブジェクト情報の収集、SQLパフォーマンスの解析、異なるオプティマイザ手法の識別や比較、および最適なパフォーマンスの文例の編集を自動的に行えます。

Oracle8i のチューニングのチューニングのチューニングのチューニングOracle8iは、高度に最適化できるソフトウェア製品です。Oracle for AIXアプリケーションの有効範囲が拡大し、複雑化するなかで、チューニングを頻繁に行うことで、システム・パフォーマンスが最適化され、データ障害の発生を防ぎます。

Oracle8iのチューニング順序のチューニング順序のチューニング順序のチューニング順序Oracle8iのパフォーマンスを最大にするために、多数のタスクを実行します。1つのチューニング・アクションでの決定が後続のチューニング手順に影響を与える可能性があるため、次の順序で作業してください。

1. アプリケーション設計のチューニング

2. データ・アクセスのチューニング

3. メモリー管理のチューニング

2-6 Oracle8i for IBM AIX管理者リファレンス

Page 45: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

メモリーおよびページング

4. ディスク I/Oのチューニング

5. CPUの使用率のチューニング

6. Oracleリソース競合のチューニング

7. Oracle Parallel Serverの Oracleリソースのチューニング

この章では、メモリーおよびディスク I/O、CPUの使用率に関連した作業 3、4および 5を説明します。作業 1、2、6および 7の詳細は、「関連ドキュメント」のドキュメントを参照してください。

メモリーおよびページングメモリーおよびページングメモリーおよびページングメモリーおよびページングメモリーの競合は、プロセスが使用できるメモリーが不足した場合に発生します。システムはメモリー不足に対処するために、メモリーとディスクとの間でプログラムおよびデータのページングを行います。

バッファ・キャッシュ間のページング・アクティビティの制御バッファ・キャッシュ間のページング・アクティビティの制御バッファ・キャッシュ間のページング・アクティビティの制御バッファ・キャッシュ間のページング・アクティビティの制御過度なページング・アクティビティは、パフォーマンスを大きく低下させます。特に JFSファイルで作成されたデータベースでは、パフォーマンスが著しく低下することがあります。この場合は、JFSバッファに入っている最も頻繁に参照されるデータが、多数の SGAデータ・バッファにも入ることがあります。ファイル・システムのバッファ・キャッシュ・マネージャの動作は、パフォーマンスに重大な影響を与えます。I/Oボトルネックが発生し、システム全体のスループットを低下させる可能性があります。

AIXでは、バッファ・キャッシュ間のページング・アクティビティをチューニングできますが、回数を控えて慎重に行う必要があります。

チューニング可能な AIXシステム・パラメータは、次の 4つです。

vmtuneコマンドで前述の値を変更するには、root権限が必要です。AIXの vmtuneユーティリティは、オペレーティング・システムのバージョンに固有のユーティリティです。異なるリリースで実行可能な vmtuneコマンドを実行すると、オペレーティング・システムに障害が発生する可能性があります。

minfree 空きリスト・サイズの最小値。このサイズ以下では、ページ・スティーリングによって空きリストが補充されます。

maxfree 空きリスト・サイズの最大値。このサイズを超えると、ページ・スティーリングが終了します。

minperm ファイル I/O用のバッファ・ページ数の最小値。

maxperm ファイル I/O用のバッファ・ページ数の最大値。

AIXでの Oracle8iのチューニング 2-7

Page 46: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

メモリーおよびページング

minfree とととと maxfree のチューニングのチューニングのチューニングのチューニング迅速な応答が要求されるプログラムのワーキング・セット・サイズに基づいて minfreeを設定できます。基本的には、ロードしたプログラムが空きリストを補充する必要がないように、空きリストには十分なページを用意しておく必要があります。vmstatコマンドによってプログラムのワーキング・セットのサイズを設定します。maxfreeは、8またはmaxpgaheadの値だけ minfreeよりも大きい必要があります。たとえば、maxpgaheadが16で、minfreeを 128に設定する場合は、次のコマンドを使用します。

/usr/lpp/bos/samples/vmtune -f 128 -F 144

これによって、minfreeが 128、maxfreeが 144に設定されます。

AIXファイル・バッファ・キャッシュのチューニングファイル・バッファ・キャッシュのチューニングファイル・バッファ・キャッシュのチューニングファイル・バッファ・キャッシュのチューニングAIXバッファ・キャッシュは、JFSファイルを使用するときにディスクへのアクセス回数を減らすために使用します。キャッシュが小さすぎると、ディスク使用率が増加し、1つ以上のディスクが一杯になる可能性があります(このパラメータの増加による影響の詳細は、「バッファ・キャッシュ間のページング・アクティビティの制御」を参照してください)。ただし、キャッシュが大きすぎても、貴重なメモリーが無駄になります。

minpermおよび maxpermパラメータを調整して、AIXバッファ・キャッシュを構成できます。一般的に、バッファのヒット率が低い場合(90%未満、sar -bを実行した結果を参照)、minpermを増やしてください。高いバッファ・ヒット率を維持する必要がない場合は、minpermを減らすと使用可能な物理メモリーが増えます。詳細は、AIXのドキュメントを参照してください。

パフォーマンスの向上は、マルチプログラミングの度合いおよび作業負荷の I/O特性に左右されるので、簡単に数値で示すことはできません。

minperm とととと maxperm のチューニングのチューニングのチューニングのチューニングAIXでは、minperm値と maxperm値を調整することで、ファイルで使用するページ枠数と計算可能(作業用またはプログラム・テキスト)セグメントで使用するページ枠数の比率を柔軟に制御する方法を管理者に提供します。これらの値は、次のガイドラインに従って調整します。

� 実メモリーでファイル・ページの占める割合が minperm値よりも低くなった場合は、リページ率にかかわらず、ページ置換アルゴリズムはファイルおよび計算可能ページの両方を奪います。

� 実メモリーでファイル・ページの占める割合が maxperm値よりも高くなった場合は、ページ置換アルゴリズムはファイル・ページのみを奪います。

� 実メモリーでファイル・ページの占める割合が minpermと maxpermの中間である場合、VMMは通常、ファイル・ページのみを奪いますが、ファイル・ページのリページ率が計算可能ページのリページ率よりも高いと、計算可能ページも奪います。

2-8 Oracle8i for IBM AIX管理者リファレンス

Page 47: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

メモリーおよびページング

デフォルト値の計算方法は、次のとおりです。

� minperm(ページ数) =((ページ枠数)- 1024)× 0.2

� maxperm(ページ数) =((ページ枠数)- 1024)× 0.8

デフォルト値を変換するには、次のコマンドを入力します。

vmtune -p 5 -P 20

このコマンドは、minpermと maxpermのデフォルト値がそれぞれ 20%と 80%であったのに対して、minpermを合計ページ枠数の 5%に変更し、maxpermを合計ページ枠数の 20%に変更します。

RAWデバイスのデータベース・ファイルの場合は、minpermと maxpermを低い値(たとえば、それぞれ 5%と 20%)に設定できます。これは、AIXファイル・バッファ・キャッシュが RAWデバイスには使用されないからです。メモリーを他の目的(Oracleシステム・グローバル領域など)に有効利用できます。

十分なページング領域の割当て十分なページング領域の割当て十分なページング領域の割当て十分なページング領域の割当てページング領域が不十分であると、システムがハングしたり、応答時間が非常に遅くなることがあります。AIXでは、ページング領域を RAWディスク・パーティションに動的に追加できます。必要なページング領域は、現在の物理メモリー容量および各アプリケーションのページング領域要件に応じて異なります。AIXコマンド lspsを使用して、ページング領域の使用率を監視し、vmstatコマンドを使用してシステムのページング・アクティビティを監視します。

通常は、ほとんどの作業負荷で必要とされる物理メモリー容量の 2倍または 3倍になるように、ページング領域を構成するのが最適です。CASE、Oracle Applications、または Oracle Officeを使用する場合は、もう少し高い値に設定してください。ページング領域の使用率を監視し、必要に応じて増やします。ページング領域を増やすには、smit pgspコマンドを使用します。かなり大きい物理メモリーを持つシステム(1GB以上)の場合は、物理メモリーの 1.5倍のページング領域で十分です。

ページングの制御ページングの制御ページングの制御ページングの制御ページングが定期的および頻繁に発生する場合は、実メモリーの負担が大きすぎることを示します。通常は、次のことを行います。

� Oracleが SGAとディスク間でデータを読み書きする速度よりも速くメモリーと拡張記憶領域間のページングを実行する、非常に高速な拡張記憶領域を装備したシステム以外では、定期的なページングを防止する必要があります。

AIXでの Oracle8iのチューニング 2-9

Page 48: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

メモリーおよびページング

� システム・パフォーマンスにとって一番有利な場所に、限定されたメモリー・リソースを割り当てます。メモリー・リソース要件とつり合いがとれるまで何回も均衡化処理を繰り返すことがあります。

� メモリーが不十分な場合は、メモリーが必要なシステムのプロセスまたは要素の優先順リストを作成します。パフォーマンスの増加が最大になるように、メモリーを割り当てます。各要素の優先順リストを示します。

1. OSおよび RDBMSのカーネル

2. ユーザー・プロセスおよびアプリケーション・プロセス

3. REDOログ・バッファ

4. PGAおよび共有プール

5. PCMロックおよび DLM

6. DBブロック・バッファ・キャッシュ

たとえば、Oracleの動的パフォーマンス表またはビューに対して問合せを実行し、共有プールおよびデータベース・バッファ・キャッシュの両方でメモリーの増加が必要であることが判明した場合は、限られた予備のメモリーをデータベース・ブロック・バッファ・キャッシュではなく、共有プールに割り当てた方が有利です。

次の AIXコマンドは、ページングの状況および統計を表示します。

$ vmstat -s $ vmstat interval [repeats] および $ sar -r interval [repeats]

データベース・ブロック・サイズの設定データベース・ブロック・サイズの設定データベース・ブロック・サイズの設定データベース・ブロック・サイズの設定Oracleデータベース・ブロック・サイズの設定によって I/Oスループットを向上できます。AIXでは、2KBから 16KBまでの範囲で DB_BLOCK_SIZEを設定できます。デフォルトは4KBです。JFS対応の Oracleデータベースの場合は、ブロック・サイズを JFSブロック・サイズ(AIXでは 4KB)の倍数で設定する必要があります。RAWパーティション上のデータベースでは、Oracleデータベース・ブロック・サイズは、オペレーティング・システムの物理ブロック・サイズ(AIXでは 512バイト)の倍数になります。

OLTP環境または複合的作業負荷の環境では小さい Oracleデータベース・ブロック・サイズ(2KBまたは 4KB)、DSSタイプの作業負荷では大きいブロック・サイズ(8KBまたは16KB)を設定することをお薦めします。

2-10 Oracle8i for IBM AIX管理者リファレンス

Page 49: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

メモリーおよびページング

アーカイバ・バッファのチューニングアーカイバ・バッファのチューニングアーカイバ・バッファのチューニングアーカイバ・バッファのチューニング専用の大きいバッファを割り当てることによって、データベース・アーカイブ速度を向上させることができます。ただし、過剰な設定はシステム全体のパフォーマンスを低下させる場合があります。init.oraファイルのパラメータ LOG_ARCHIVE_BUFFER_SIZEを 128まで増やせます。LOG_ARCHIVE_BUFFERSのデフォルトは 4です。

通常のデータベース・アクティビティが大きく低下することがないように、慎重にチューニングします。アーカイブ・プロセスにおいて 0~ 20%のパフォーマンスの向上が見込まれます。これ以上の向上が得られる場合もあります。

SGAサイズのチューニングサイズのチューニングサイズのチューニングサイズのチューニングSGAでの複数の共有メモリー・セグメントの使用を制約する要因は、現在のハードウェア・アーキテクチャがサポートできる物理メモリー容量です。できるだけ、メイン・メモリー不足による Oracle SGAのページ・アウトは回避します。多数のユーザーが同時にデータベースを利用する場合は、SGAを大きくすることをお薦めします。

SGAサイズに最も影響する init.oraファイルのパラメータは、DB_BLOCK_BUFFERSおよび SHARED_POOL_SIZEです。Oracle Parallel Serverが実行中の場合、init.oraファイルの LM_LOCKS、LM_RESSおよび LM_PROCSパラメータは、SGAサイズに大きく影響します。これらのパラメータをどれだけ増やせるかは、SGAに割り当てられるメモリーに左右されます。DB_BLOCK_BUFFERSおよび SHARED_POOL_SIZEに大きい値を設定すると、パフォーマンスのオーバーヘッドが生じるので、これらの値を小さくすれば CPU使用率が減少します。initsid.oraファイル内の db_block_buffersパラメータを変更し、インスタンスを再起動することによって、Oracle8iバッファ・キャッシュを大きくまたは小さくできます。

I/Oバッファとバッファとバッファとバッファと SQL*Loaderデータをパラレルでロードする以外に、SQL*Loaderダイレクト・パス・オプションなどの高速なデータ・ロード方法を使用すると、CPUが I/O操作の完了を待っている時間が長くなります。バッファ数を増やすと、通常は CPU使用量が増加し、全体的なスループットが向上します。

選択するバッファ数(SQL*Loaderの BUFFERSパラメータ)は、使用可能なメモリー量および CPU使用率の拡大範囲に応じて決定します。BUFFERSパラメータのファイル処理オプション文字列の調整方法の詳細は、『Oracle8i ユーティリティ・ガイド』を参照してください。

パフォーマンスの向上は、CPU使用率およびロードするときに使用される並行度によって異なります。SQL*Loaderユーティリティの一般情報は、『Oracle8i ユーティリティ・ガイド』を参照してください。

AIXでの Oracle8iのチューニング 2-11

Page 50: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

ディスク I/O の問題

imp のののの BUFFER パラメータパラメータパラメータパラメータimpの BUFFERパラメータは、imp使用時の高速ネットワークのパフォーマンスを実現するために、大きい値に設定する必要があります。たとえば、SPスイッチを使用する場合、1MB以上の値が必要です。

ディスクディスクディスクディスク I/Oの問題の問題の問題の問題ディスク I/Oの競合は、(後続のページングおよびスワッピングを伴った)不適切なメモリー管理、ディスク間での不適切な表領域およびファイルの分布によって生じることがあります。I/O負荷が高い場合は、索引と表を別々のドライブに保存して負荷を分散させる必要があります。

索引と表の分離索引と表の分離索引と表の分離索引と表の分離索引とその参照先の表が同じディスク・ドライブに存在すると、索引検索に関連するすべての I/Oが同じディスク上に集中します。I/O負荷が高い場合は、索引と表を別々のドライブに保存して負荷を分散させる必要があります。

REDOログの専用ディスク・デバイスへの配置ログの専用ディスク・デバイスへの配置ログの専用ディスク・デバイスへの配置ログの専用ディスク・デバイスへの配置INSERTおよび UPDATEアクティビティが頻繁に発生する Oracleアプリケーションでは、その他のディスク・アクティビティをサポートしないディスク上に REDOログを配置することで、Oracleパフォーマンスを最大化できます。また、ARCHIVELOGオプションが使用可能になっている場合は、すべての REDOログをそれぞれのディスクに配置し、LGWRプロセス(現行 REDOログへの書込み)と ARCH プロセス(クローズされた REDOログからの読込み)との間で生じるディスク競合を最小化します。REDOログを RAWデバイス上に配置すれば、さらにパフォーマンスが向上します。次の理由から、REDOログは、最初のファイルの 1つとして RAWデバイスに配置してください。

� REDOファイルではデータが順次に読み書きされ、RAWデバイスの効果が最大になります。

� REDOログのファイル・サイズは固定されているので、RAWデバイスの管理コストが最小になります。

ホット・ファイルの他のディスクへの移動ホット・ファイルの他のディスクへの移動ホット・ファイルの他のディスクへの移動ホット・ファイルの他のディスクへの移動頻繁にアクセスされるホット・ファイルを、あまり利用されていないディスク・デバイスに分散し、I/Oのバランスをとります。ファイル全体を使用頻度の高いディスクから低いディスクに移動するか、または各ディスク上にホット・ファイルの一部分が配置されるように、ホット・ファイルを複数のディスクに分散させます。

2-12 Oracle8i for IBM AIX管理者リファレンス

Page 51: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

ディスク I/Oの問題

ホット・ファイルのホット・ファイルのホット・ファイルのホット・ファイルの I/Oの削減の削減の削減の削減ディスク・デバイス上にホット・ファイルが 1つのみ存在し、このファイルが担当する要求キューが大きい場合は、ファイルを別のディスクに移動しても効果はありません。問題のOracleファイルまたは表領域に、複数のセグメント(表、索引など)のデータが入っている場合は、頻繁にアクセスされるセグメントを別の表領域に移動し、別々のファイルに移動します。データベース・セグメントの物理デバイスは、表領域レベルで指定する必要があります。1つのセグメントのみが関与している場合は、1つの表領域内の複数のファイルにセグメント・データを配置するように、表のストライプ化を検討してください。

データベースの過剰な断片化のチェックデータベースの過剰な断片化のチェックデータベースの過剰な断片化のチェックデータベースの過剰な断片化のチェックOracleデータ構造を断片化すると、複数の物理 I/Oから 1つの論理 I/Oの要素を結合する必要があります。余分なオーバーヘッドは、応答時間を長くします。

エクステントの断片化エクステントの断片化エクステントの断片化エクステントの断片化データベース・セグメントは、複数の連続していないディスク領域エクステントを含むことができます。ディスクを順次に読み込めないため、または複数の I/Oに分割されるため、I/O時間が長くなります。ディスク上で物理的に連続していない複数のエクステントにデータが分散しているために、1つの I/O要求を 2つ以上の物理 I/Oに分割しなければならないときに、I/O分割が発生します。

表領域の断片化表領域の断片化表領域の断片化表領域の断片化Oracle表領域は、いくつかの個別ファイルで構成されています。表領域内で、Oracleセグメント(表、索引など)は多数の個別エクステントで構成されており、表領域の断片化を生じます。表のストライプ化のように、断片化が好ましい場合もありますが、通常は好ましくありません。データベース・セグメントを削除するたびに、表領域の断片化が起こります。表領域が断片化すると、空き領域を有効に使用できません。

表領域を断片化すると、Oracleのマルチブロック読込み機能が利用できなくなります。また、連続した空きエクステントよりも大きいエクステントが存在すると、データベース領域が無駄になります。次の SQL文で表領域の断片化を識別できます。

SELECT * FROM DBA_EXTENTS;

次の SQL文を使用し、空き領域に問合せを実行できます。

SELECT * FROM DBA_FREE_SPACE;

空き領域の断片化には、次の 2つの形式があります。

� 泡立ち状

アクティブなエクステント間に挟まっていたエクステントを削除したときに、泡のように小さく連続していない空き領域が形成されます。

AIXでの Oracle8iのチューニング 2-13

Page 52: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

ディスク I/O の問題

� 蜂の巣状

隣接したエクステントが削除されるたびに、空き領域が連続的な断片に区分化されます。

utlbstatおよび utlestatで高い再帰コール値が報告された場合は、表領域の断片化が考えられます(ただし、データ・ディクショナリ・キャッシュが適切にチューニングされている場合)。

AIX論理ボリューム・マネージャ論理ボリューム・マネージャ論理ボリューム・マネージャ論理ボリューム・マネージャAIX論理ボリューム・マネージャ(LVM)には、ディスク競合を削減するために、複数のディスク装置にわたってデータをストライプ化する機能があります。 ストライプ化の主な目的は、大きい順次ファイルを読み書きするときに、高パフォーマンスを得ることです。LVMのストライプ化機能を有効に使用することで、I/Oを複数のディスクに均等に分散でき、全体的にパフォーマンスが向上します。

ストライプ化した論理ボリュームの設計ストライプ化した論理ボリュームの設計ストライプ化した論理ボリュームの設計ストライプ化した論理ボリュームの設計ストライプ化した論理ボリュームを定義するときに、次の項目を指定する必要があります。

ストライプ化した論理ボリュームの推奨パラメータストライプ化した論理ボリュームの推奨パラメータストライプ化した論理ボリュームの推奨パラメータストライプ化した論理ボリュームの推奨パラメータ次に、通常では最高の順次 I/Oスループットを達成する、ストライプ化した論理ボリュームのパラメータを示します。

参照参照参照参照 : 詳細は、『Avoiding a Database Reorganization』(Craig A.Shallahamer著)を参照してください。WWW(http://www.europa.com/~orapub)から入手可能です。

ドライブ 2つ以上の物理ドライブ。パフォーマンス・クリティカルな順次I/Oを実行するときに、これらのドライブのアクティビティを最小限に抑える必要があります。2つ以上のアダプタ間での論理ボリュームのストライプ化が必要になる場合があります。

ストライプ・ユニット・サイズ

2KBから 128KBまでの範囲内にある、任意の 2の累乗です。ただし、32KBおよび 64KBがほとんどの作業負荷に適しています。Oracleデータベース・ファイルでは、データベース・ブロック・サイズの倍数である必要があります。

サイズ 論理ボリュームに割り当てる物理パーティション数は、使用するディスク・ドライブ数の倍数である必要があります。

属性 ミラー化できません。つまり、copies=1です。

2-14 Oracle8i for IBM AIX管理者リファレンス

Page 53: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

ディスク I/Oの問題

(注意注意注意注意 : minpgahead、maxpgaheadおよび maxfreeは、vmtuneの調整可能なパラメータです。)

filemon、sar、iostatまたはその他のパフォーマンス・ツールなどの AIXユーティリティを使用して、ホット・ディスクがないかを調べることで、I/Oアクティビティが複数のディスク装置に均等に分散していることを確認します。

その他の考慮事項その他の考慮事項その他の考慮事項その他の考慮事項LVMを有効に利用した場合にどれだけパフォーマンスが向上するかは、使用した LVMおよび作業負荷の特性によって大きく異なります。意思決定支援システム(DSS)の作業負荷では、パフォーマンスが大きく向上する場合があります。OLTPタイプまたは複合的な作業負荷でも、かなりのパフォーマンスの向上を期待できます。

異なるデータベース・ファイルの同一ディスクへの配置の回避異なるデータベース・ファイルの同一ディスクへの配置の回避異なるデータベース・ファイルの同一ディスクへの配置の回避異なるデータベース・ファイルの同一ディスクへの配置の回避同時にアクセスされる可能性があるパーティションの場合、同じ物理ディスクからパーティションを使用するのは避けてください。たとえば、データ・ファイルとログ・ファイルは同時にアクセスされることがたいへん多いので、これらのファイルは別々のディスク・セットにストライプ化する必要があります。そうしないと、ディスク・ヘッドのシーク時間がかかり、パフォーマンスが低下します。このとき、ディスク上のパーティションの位置が互いに離れていると、パフォーマンスがさらに低下します。

ジャーナル・ファイル・システム(ジャーナル・ファイル・システム(ジャーナル・ファイル・システム(ジャーナル・ファイル・システム(JFS)と)と)と)と RAWパーティションの使用パーティションの使用パーティションの使用パーティションの使用この話題は、時折論議の的になります。この話題が論議の的になるいくつかの理由を示します。

� 様々なファイル・システムが実装されるなかで、ファイル・システムは絶えず進歩し続けています。ファイル・システムの方が RAWデバイスよりも優れたパフォーマンスを提供する場合があります。

ストライプ・ユニット・サイズ

64KB

minpgahead 2(最小先読みページ数)

maxpgahead ディスク・ドライブ数の 16倍(最大先読みページ数)。ストライプ・ユニット・サイズ(64KB)とディスク・ドライブ数の積を単位として先読みします。つまり、1回の先読みで、1ディスク・ドライブにつき 1ストライプ化ユニットを読み込みます。

maxfree maxpgaheadの変更を保存します。

AIXでの Oracle8iのチューニング 2-15

Page 54: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

ディスク I/O の問題

� 様々なベンダーが、様々なディスクの長所を利用して、独自の方法でファイル・システム層を実装しています。これによって、各プラットフォームに対するユーザーの理解がますます複雑化します。

� パワフルな LVMインタフェースの導入によって、RAWパーティションを基盤とした論理ディスクの構成や元に戻す作業の負担が著しく軽減されます。

パフォーマンスがどの程度向上するかは、作業負荷の特性によって大きく異なります。

JFSを使用した方が、RAWデバイスを使用する場合よりも、データベース・ファイルの管理およびメンテナンスが簡単です。ただし、JFSではバッファの読み書きのみがサポートされており、データを I/Oシステム(Oracleバッファ・キャッシュ以外、SGA)に転送したり受け取ったりするたびに、追加の AIXファイル・バッファ・キャッシュが作成されます。これは、JFSベースのデータ・ファイルの主な短所であり、I/Oサブシステムの負荷が高いときほど重大な欠点となります。

また、負荷が高いシステムでは、AIXバッファの競合が主なボトルネックになります。次のような影響があります。

� データをファイル・システム・バッファ・キャッシュからディスクへフラッシュするページデーモンの負担が増加します。

� さらに多くのメモリーが、AIXバッファ・キャッシュの犠牲になります。

使用しているサイトに、少なくとも Oracleデータ・ファイルと同数の RAWディスク・パーティションがある場合のみ、Oracleファイルに RAWデバイス /ボリュームを使用してください。RAWディスク・パーティションがすでにフォーマットされている場合、データ・ファイルのサイズをパーティションのサイズにできるだけ合わせることによって、無駄な領域をなくします。

RS/6000プラットフォームでのオラクル社の経験では、作業負荷に応じて異なりますが、一般的に、ファイル・システムに比べて RAWデバイスを使用したときの方が全体的なパフォーマンスおよびスケーラビリティが向上します。したがって、使用頻度が高いデータベース構成では、RAWデバイスの使用をお薦めします。

ファイル・システムからファイル・システムからファイル・システムからファイル・システムから RAWデバイスへの移動デバイスへの移動デバイスへの移動デバイスへの移動1. UNIXの ddコマンドを使用すると、データを簡単に JFSから RAWデバイスに移動でき

るため、すべてのデータを手動で再ロードする必要がありません。次のように ddコマンドを入力します。

dd if=/home/old_JFS_file of=/dev/new_raw_device seek=1 bs=4k

必ず、次のことを実行してください。

注意注意注意注意 : Oracle Parallel Serverの場合は、データベース・ファイルに JFSではなく、RAWデバイスを使用してください。

2-16 Oracle8i for IBM AIX管理者リファレンス

Page 55: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

ディスク I/Oの問題

� RAWデバイスの最初の 4KBブロックは、AIX論理ボリューム・マネージャが使用するためスキップします。

注意注意注意注意 : RAWデバイスが HSDの場合、最初の 4KBブロックはスキップする必要はありません。

� 領域が無駄にならないように RAWデバイスのサイズを決定します(RAWデバイスは、JFSファイルよりも数ブロック大きくする必要があります)。

� データ・ファイルを改名します。

� RAWパーティションに権限を設定します。

2. 順次読込みを多少遅くできます。アプリケーションで多数のフル・テーブル・スキャンを実行していた場合は、これらの表が AIXファイル・バッファ・キャッシュによってキャッシュされないので、フル・テーブル・スキャンでサーバーのパフォーマンスが低下する場合があります。

3. メモリが不十分な構成では、AIXバッファ・キャッシュのサイズ変更が必要です。詳細は、「メモリーとページング」の項を参照してください。

4. RAWデバイスの名前が変更される可能性があるため、AIX環境ではできる限りシンボリック・リンクの使用をお薦めします。たとえば、ディスクの周辺装置を再構成したり、データベースを新しいハードウェア構成に移動するときに、名前が変更されることがあります。詳細は、IBMのドキュメントを参照してください。

RAWデバイスの使用に関連した操作の詳細は、『Oracle8i for IBM AIXインストレーション・ガイド』を参照してください。

JFS とととと RAW デバイスの両方の長所の利用デバイスの両方の長所の利用デバイスの両方の長所の利用デバイスの両方の長所の利用AIXでは一部のデータ・ファイル用に JFSを、その他のデータ・ファイル用に RAWパーティションを自由に選択できます。非同期 I/Oは、RAWパーティションおよび JFSの両方で動作します。データベース・オブジェクトの I/Oアクティビティの性質が事前にわかっている場合は、特定のオブジェクトに対応するデータ・ファイルを JFSまたは RAWパーティションのどちらかに配置し、可能であれば LVMを伴った体系を考えることができます。

パフォーマンスの向上は、作業負荷の性質、ディスクまたはファイル・システムの構成に応じて大きく異なります。

非同期非同期非同期非同期 I/Oの使用方法の使用方法の使用方法の使用方法Oracle8iでは、AIXが提供する非同期 I/O(AIO)を最大限に活用し、高速なデータベース・アクセスを実現します。AIOは複数の I/O操作を混ぜ合せて I/Oサブシステムのスループットを向上します。データを各ディスク間に適切に分散しなければ、AIOの利点は利用できません(データ・ファイル、ログ・ファイルおよび制御ファイルの分散については、『Oracle8i パフォーマンスのための設計およびチューニング』を参照してください)。

AIXでの Oracle8iのチューニング 2-17

Page 56: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

ディスク I/O の問題

論理ボリューム・マネージャ(LVM)を使用してストライプ化を行うと、AIOの効果が増します。LVMは、データを複数のディスク装置にストライプ化することで、ディスク競合を削減します(詳細は、「AIX論理ボリューム・マネージャ」の項を参照してください)。AIOを LVMと一緒に使用すると、RDBMSパフォーマンスが著しく向上します。

AIX 4.xでは、ファイル・システム・パーティションおよび RAWデバイスの両方で作成されたデータベース・ファイルに対して AIOをサポートします。AIO要求を発行した後に、アプリケーション・プロセスの実行を継続できます。ファイル・システムでの AIO要求の場合、要求をキューから取り出した時点から要求が完了するまで、サーバーと呼ばれるカーネル・プロセス(kproc)がそれぞれの要求を管理します。システムで同時に実行できるAIO要求数は、サーバーの台数によって制限されます。RAWデバイスでの AIOはカーネル化されます。つまり、AIOサーバーは AIO要求を処理する必要がありません。

サーバーの台数は、smit(smit -> Devices -> Asynchronous I/O -> Change/Show Characteristics of Asynchronous I/O -> {MINIMUM|MAXIMUM} number of serversまたは smit aio)または chdevで設定します。最小値は、システムのブート時に起動されるサーバー数です。最大値は、同時に発生した多数の要求を処理するために起動可能なサーバー数を制限します。

デフォルト値は、minservers=1および maxservers=10です。通常、これらの値はカーネル化された AIOを使用しないで Oracle RDBMSを実行するには小さすぎます。次のように設定することをお薦めします。

� maxservers= 10×(AIOが同時にアクセスするディスク数)以上

� minservers= maxservers/2

I/OスレーブスレーブスレーブスレーブI/Oスレーブは、I/Oの実行だけを目的とするプロセスです。I/Oスレーブは Oracle7の複数 DBWRにかわる機能です(実際は、複数 DBWRを汎用にしたもので、他のプロセスでも同様に実行できます)。また、非同期 I/Oが使用可能かどうかに関係なく動作します。I/Oスレーブは、LARGE_POOL_SIZEが設定されている場合はそこから割り当てられます。そうでない場合は、共有メモリー・バッファから割り当てられます。I/Oスレーブには、初期化パラメータ・セットが付属しています。このパラメータ・セットによって、スレーブの動作を制御できます。表 2-1に、I/Oスレーブの初期化パラメータを示します。

注意注意注意注意 : カーネル化された AIOを VSDおよび HSDで使用する場合、最大バッファ・サイズは 128KB以上にしてください。そうしないと、EMSGSIZE「Message too long」エラーになります。

2-18 Oracle8i for IBM AIX管理者リファレンス

Page 57: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

ディスク I/Oの問題

非同期 I/Oが必要でなかったり、使用できない場合があります。表 2-1のパラメータのうち、最初の 2つ(DISK_ASYNCH_IOおよび TAPE_ASYNCH_IO)によって、ディスクおよびテープ・デバイスに対する非同期 I/Oをオフにできます。各プロセス・タイプの I/Oスレーブ数のデフォルトは 0なので、特に設定しない限り、I/Oスレーブは実行されません。

DISK_ASYNCH_IOまたは TAPE_ASYNCH_IOが使用できない場合、DBWR_IO_SLAVESを 0より大きい値に設定する必要があります。そうしないと、DBWRがボトルネックを起こします。AIXでは、このような場合の DBWR_IO_SLAVESの最適値は 4です。

DB_WRITER_PROCESSES(Oracle7の DB_WRITERSパラメータの後継)には、インスタンスに対するデータベース・ライター・プロセス数の初期値を指定します。 DBWR_IO_SLAVESを使用する場合、DB_WRITER_PROCESSESの設定に関係なく、使用されるデータベース・ライター・プロセスの数は 1つのみです。

DB_FILE_MULTIBLOCK_READ_COUNTの使用の使用の使用の使用一般的に、init.oraファイルのパラメータ DB_FILE_MULTIBLOCK_READ_COUNTの値が大きい方が、I/Oスループットが優れています。AIXでは、このパラメータの範囲は1~ 512ですが、通常は 16より大きい値に変更してもパフォーマンスは向上しません。

このパラメータは、DB_BLOCK_SIZEと DB_FILE_MULTIBLOCK_READ_COUNTを掛けた値が LVMストライプ・サイズよりも大きくなるように設定する必要があります。これによって、I/O要求を満たすために、ディスク装置が多く起用されます。

表表表表 2-1 I/Oスレーブの初期化パラメータスレーブの初期化パラメータスレーブの初期化パラメータスレーブの初期化パラメータ

パラメータパラメータパラメータパラメータ 許容値許容値許容値許容値 デフォルト値デフォルト値デフォルト値デフォルト値

DISK_ASYNCH_IO TRUE/FALSE TRUE

TAPE_ASYNCH_IO TRUE/FALSE TRUE

BACKUP_TAPE_IO_SLAVES TRUE/FALSE FALSE

DBWR_IO_SLAVES 0~ 999 0

DB_WRITER_PROCESSES 1~ 10 1

AIXでの Oracle8iのチューニング 2-19

Page 58: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

ディスク I/O の問題

RAID機能の使用機能の使用機能の使用機能の使用RAID 5は、順次読込みのパフォーマンスを向上させますが、全体的な書込みパフォーマンスを低下させます。一般的に、書込みが少ない場合にのみ RAID 5を使用することをお薦めします。RAID 5での大量の書込みは、RAID以外の環境に比べてパフォーマンスが低下する場合があります。

RAID 0/1では、通常、ストライプ化 /ミラー化をハードウェア・レベルで導入するとパフォーマンスが向上します。これは、AIXまたは Oracleレベルで行うより効率的です。

RAID 7は、非同期 I/O(デバイス、パス、バスなど)および複数のホスト・インタフェースを得るために、埋込み OSを採用します。これによって、少量および大量の読込み /書込みにおいて RAID 0~ 6よりも優れたパフォーマンスを提供できます。

後書きの使用後書きの使用後書きの使用後書きの使用ファイル・システムでは、書込みパフォーマンスを増加し、メモリー内の使用済ページ数を制限し、ディスクの断片化を最小化するために、各ファイルを 16KBパーティションに分割します。プログラムが次の 16KBパーティションの先頭バイトに書き込むまで、パーティションのページはディスクに書き込まれません。vmtuneコマンドを使用して、後書きパーティションのサイズを変更できます。

vmtune -c 8

このコマンドは、後書き用のバッファ・サイズを 8個の 16KBパーティションに設定します。

vmtune -c 0

このコマンドは、後書きを使用禁止にします。後書きを使用禁止にすると、パフォーマンスがいくらか向上することがあります。

順次ファイルの先読みのチューニング順次ファイルの先読みのチューニング順次ファイルの先読みのチューニング順次ファイルの先読みのチューニングVirtual Memory Manager(VMM)は、順次ファイルのページの必要性を予知します。VMMはプロセスがファイルにアクセスするパターンを監視します。プロセスがファイルにアクセスし、連続した 2ページを読み込むと、VMMはプログラムが引続きファイルに順次アクセスすると仮定して、追加の順次読込みをスケジューリングします。これらの読込みは、プログラムの処理とオーバーラップし、通常よりも速くデータを使用可能にします。先読みするページ数は、次の 2つの VMMしきい値によって決定します。

� minpgahead

VMMが最初に順次アクセス・パターンを検出したときに先読みするページ数。

2-20 Oracle8i for IBM AIX管理者リファレンス

Page 59: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

ディスク I/Oの問題

� maxpgahead

順次ファイルで VMMが先読みする最大ページ数。

minpgaheadおよび maxpgaheadは、アプリケーションに応じて適切な値に設定します。デフォルト値は、それぞれ 2および 8です。vmtuneコマンドを使用して、これらの値を変更できます。ストライプ化した論理ボリュームの順次パフォーマンスが最も重要であるシステムでは、maxpgaheadの大きい値を使用できます。vmtuneを使用して、minpgaheadおよび maxpgaheadを設定できます。

vmtune -r 512 -R 1024

このコマンドは、minpgaheadを 512ページに、maxpgaheadを 1024ページに設定します。minpgaheadおよび maxpgaheadは、2の累乗に設定します。

ディスクディスクディスクディスク I/Oの歩調合せの歩調合せの歩調合せの歩調合せAIXのメカニズムであるディスク I/Oの歩調合せによって、システム管理者はファイルに対して保留される I/O要求の数を制限できます。これによって、ディスク I/Oが激しいプロセスによって CPUが占領されるのを防止できます。したがって、対話形式のプロセスおよび CPU使用量の激しいプロセスの応答が遅くなることはありません。

最高水位標および最低水位標の 2つのシステム・パラメータを調整して、ディスク I/Oの歩調合せを達成します。保留中の I/O要求が最高水位標に達しているファイルに対してプロセスが書込みを実行すると、そのプロセスはスリープ状態に設定されます。待機中の I/O要求が最低水位標以下に下がったとき、このプロセスはスリープ状態から解放されます。

smitを使用して、最高水位標および最低水位標を変更できます。smit-> System Environment -> Change/Show Characteristics of Operating Systemのように選択し、新しい最高水位標および最低水位標を入力します。試行錯誤しながら、水位標を判断します。適切に設定しないと、パフォーマンスに悪影響を及ぼすことがあるため、慎重に設定してください。ディスク I/Oが 4KBを超える場合は、最高水位標および最低水位標をチューニングしても、あまり効果はありません。

ディスク配置の考慮事項ディスク配置の考慮事項ディスク配置の考慮事項ディスク配置の考慮事項AIXでは、ディスク上の論理ボリュームの配置をある程度制御できます。ホット論理ボリュームを相互に近接して配置すれば、ディスクのシーク時間が短くなり、全体的なパフォーマンスが向上します。

リモートリモートリモートリモート I/Oの最小化の最小化の最小化の最小化SPアーキテクチャで実行中の Oracle Parallel Serverでは、仮想共有ディスク(VSD)またはハッシュ共有ディスク(HSD)を、異なるノード上で実行しているすべての OPSインスタンスからアクセス可能な共通記憶装置として使用します。論理ボリュームがノードから見てローカルな VSDに対して I/O要求が出された場合は、ローカル I/Oが実行されます。ローカルでない VSDへの I/O通信量は、ネットワーク通信レイヤーを経由します。

AIXでの Oracle8iのチューニング 2-21

Page 60: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

ディスク I/O の問題

優れたパフォーマンスを得るには、リモート I/Oをできる限り少なくすることが重要です。各インスタンスの REDOログは、ローカル論理ボリュームの VSDに配置する必要があります。更新および挿入が激しい場合、ローカル論理ボリュームにマップされる VSD上のプライベート・ロールバック・セグメントを各インスタンスが持っている必要があります。

各セッションで、各ユーザーが使用できる一時表領域は 1つのみです。一時表領域では、OPSを実行中の各ノードに対してローカルなデータ・ファイルが 1つ以上必要です。

アプリケーションおよびデータベースを慎重に設計し(たとえば、インスタンスに対してアプリケーションおよびデータベースをパーティション化する)、リモート I/Oを少なくしてください。

VSDキャッシュ・バッファを使用しないキャッシュ・バッファを使用しないキャッシュ・バッファを使用しないキャッシュ・バッファを使用しないIBMでは、通常の状態では VSDキャッシュ・バッファを使用しないこと(nocache)をお薦めします。これは、VSD LRUキャッシュ・バッファが、確保されたカーネル・メモリーをより有効な方法で使用するためです。また、キャッシュ・バッファが使用可能な状態に設定されていると、物理読込みのたびにオーバーラップしたページを検索するためにキャッシュ・ブロックが検索され、キャッシュ・バッファの内外へのデータのコピーによってオーバーヘッドが生じます。

VSD のパフォーマンスをチェックするには、statvsdコマンドを使用します。要求がキューに入ったままバッファを待機している状態が持続している場合でも、バッファを追加しないでください。かわりに、切替え送信プールのサイズを、次のようにして増やします。

# /usr/lpp/ssp/css/chgcss -l css0 -a spoolsize=new_size_in_byte

送信プール・サイズを増やした場合は、mbufの上限値も増やす必要があります。

# /etc/no -o thewall=new_size_in_kbyte (Maximum 64MB)

現行の送受信プールのサイズをチェックするには、次のように入力します。

$ /usr/sbin/lsattr -El css0

参照参照参照参照 : SPおよび VSDのチューニングの詳細は、http://www.rs6000.ibm.com/support/sp/perf/、http://www.rs6000.ibm.com/resource/technology/およびhttp://www.rs6000.ibm.com/resource/technology/#spを参照してください。

2-22 Oracle8i for IBM AIX管理者リファレンス

Page 61: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

CPUのスケジューリングとプロセスの優先順位

CPUのスケジューリングとプロセスの優先順位のスケジューリングとプロセスの優先順位のスケジューリングとプロセスの優先順位のスケジューリングとプロセスの優先順位CPUは、プロセス間で競合が生じる可能性のあるもう 1つのシステム・コンポーネントです。通常は AIXカーネルが効率的に CPUを割り当てますが、多くのプロセスが CPUサイクルのために競合します。CPUを 2つ以上搭載したシステム(SMP)では、それぞれのCPUで異なるレベルの競合が発生する可能性があります。

プロセスのランタイム・スライスの変更プロセスのランタイム・スライスの変更プロセスのランタイム・スライスの変更プロセスのランタイム・スライスの変更AIX RRディスパッチャのランタイム・スライスのデフォルト値は、10ミリ秒です。schedtuneコマンドを使用して、タイム・スライスを変更できます。ただし、十分に注意して変更してください。アプリケーションの自発的な切替え率の平均が低い場合、タイム・スライスを長くすると、コンテキスト切替え率が低くなります。結果的に、プロセスでコンテキスト切替えに消費される CPUサイクルが減少し、システム・スループットが向上します。

ただし、特に単一プロセッサ・システムでは、ランタイム・スライスが長くなると、応答時間が長くなる場合があります。デフォルトのランタイム・スライス(10ミリ秒)は通常、標準アプリケーションにとって適切な値です。実行キューが高く、多くのアプリケーションおよび Oracleシャドウ・プロセスで長時間の実行が可能なときは、次のように入力してタイム・スライスを増やします。

# /usr/samples/kernel/schedtune -t n

この場合、nの値は 0=10ms、1=20ms、2=30ms、3=40msなどです。

SMPマシンでのプロセッサ・バインディングマシンでのプロセッサ・バインディングマシンでのプロセッサ・バインディングマシンでのプロセッサ・バインディングSMPマシンで、特定のプロセスをプロセッサにバインドすると、パフォーマンスが大きく向上することがあります。プロセッサのバインディングは、AIX 4.xで使用可能であり、全機能がサポートされています。

プロセッサ・バインディングの利点は、次のとおりです。

� 優先順位の高いアプリケーションに対して CPU時間が相対的に多く割り当てられます。

� プロセス・コンテキストの維持期間が長くなります。

AIXでのプロセッサ・バインディングは、自動ではありません。 bindprocessorコマンド(manページ参照)を使用して、マルチプロセッサで明示的にプロセスをプロセッサにバインドする必要があります。Oracleプロセスをプロセッサにバインドできるのは、スーパーユーザーか Oracle所有者のみです。子プロセスは、プロセッサ・バインディングを継承します。

様々な Oracleバックグラウンド・プロセス(dbwr以外)を別々のプロセッサにバインドし、1つの空きプロセッサを dbwr用に残しておくことをお薦めします。これによって、dbwrを実行するプロセッサが保証されるのと同時に、CPUバウンドになった場合、dbwrが自由に他のプロセッサへ移行できます。

AIXでの Oracle8iのチューニング 2-23

Page 62: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

CPUのスケジューリングとプロセスの優先順位

プロセスとプロセッサのバインドは、排他的ではありません。プロセッサは自由に他のプロセスを実行できます。

ネットワーク化したクライアント・サーバー環境でのプロセッサ・バイネットワーク化したクライアント・サーバー環境でのプロセッサ・バイネットワーク化したクライアント・サーバー環境でのプロセッサ・バイネットワーク化したクライアント・サーバー環境でのプロセッサ・バインディングンディングンディングンディングOracleクライアント・プロセスが Net8リスナーを通じて Oracleサーバー・プロセスに接続されているとき(つまり、ネットワーク化した Oracleクライアント・サーバーを実行しているとき)、Net8リスナー・プロセスをバインドすることで、サーバー・プロセスを簡単にプロセッサとバインドできます。リスナーから発生する後続のすべての Oracleサーバー・プロセスは、同一プロセッサにバインドされます。

これを達成する 1つの方法として、すべてのリスナーにそれぞれのポートを割り当て、複数のリスナーを起動します。これには、各リスナーが 1連になるように、ファイル$ORACLE_HOME/network/admin/listener.oraをカスタマイズする必要があります。サーバー側で、複数のリスナーを起動します。クライアント側では、tnsnames.oraをカスタマイズし、クライアントだけでなくアプリケーションも、別々のリスナーが割り当てた異なるポートに接続します。たとえば、listener.oraを変更し、リスナー L1および L2にそれぞれポート 1521および 1522を割り当てるには、次のように入力します。

L1 = (ADDRESS_LIST = (ADDRESS= (PROTOCOL= TCP)(Host= nowhere)(Port= 1521)) )SID_LIST_L1 = (SID_LIST = (SID_DESC = (ORACLE_HOME= /oracle) (SID_NAME = ordb) ) )L2 = (ADDRESS_LIST = (ADDRESS= (PROTOCOL= TCP)(Host= nowhere)(Port= 1522)) )SID_LIST_L2 = (SID_LIST = (SID_DESC = (ORACLE_HOME= /oracle)

注意注意注意注意 : プロセッサ・バインディングは複雑であるため、慎重に扱う必要があります。プロセッサにバインドされたプロセスは、プロセッサが空いている場合でも、別のプロセッサに移行できません。これによって、アプリケーションのパフォーマンスが低下する場合があります。プロセッサ・バインディングに適しているのは、負荷が均等に分散した同一アプリケーション環境です。

2-24 Oracle8i for IBM AIX管理者リファレンス

Page 63: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

CPUのスケジューリングとプロセスの優先順位

(SID_NAME = ordb) ) )

次のように入力して 2つのリスナーを起動します。

$ lsnrctl start L1$ lsnrctl start L2

2つのリスナーのプロセス IDを取得します。

$ ps -ef|grep tnslsnr

これらのリスナーをプロセッサにバインドします。

$ bindprocessor process_id_for_L1 processor_id$ bindprocessor process_id_for_L2 processor_id

この場合、processor_idは、次のとおりです。

processor_id = 0 ... number_of_CPUs - 1

特定のクライアント・アプリケーションの CPU使用を制限する場合は、この方法でリスナーをバインドすれば、そのプロセッサが使用可能なときに常に同一プロセッサでアプリケーションを実行することができます。

ローカル環境でのプロセッサ・バインディングローカル環境でのプロセッサ・バインディングローカル環境でのプロセッサ・バインディングローカル環境でのプロセッサ・バインディングパイプ・ドライバを 2タスクで使用し、クライアントおよび Oracle Serverが同じマシン上で実行している場合は、プロセッサ・バインディングはさらに複雑です。これには、各サーバーのプロセス IDを見つけて手動でプロセッサとバインドする必要があります。管理用に過度なオーバーヘッドが生じ、サーバー・プロセスの寿命が長い場合以外は、努力する価値はありません。

Oracleプロセスをプロセッサとバインドすると、同じマシンで実行している Oracle以外のアプリケーションのパフォーマンスが低下する場合があります。慎重なチューニングと監視が必要です。

AIXでの Oracle8iのチューニング 2-25

Page 64: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

その他のチューニングのヒント

その他のチューニングのヒントその他のチューニングのヒントその他のチューニングのヒントその他のチューニングのヒント

UDPのチューニングのチューニングのチューニングのチューニングOracle Parallel Serverは、プロセス間通信で UDPを使用します。UDPカーネルの設定によって、Oracleパフォーマンスを改善するようにチューニングできます。AIXでの UDPカーネルのバッファリングは、ネットワーク・オプション udp_sendspaceおよびudp_recvspaceを変更することによって変更できます。

� udp_sendspaceは、最大値の 65536に設定する必要があります。

� udp_recvspaceは、sb_maxの値より小さくする必要があります。

udp_recvspaceの値は、通常、udp_sendspaceの 10倍の値で開始する必要があります。これは、UDPが、他のパケットに到達する前にアプリケーションにパケットを送信できない場合があるためです。

udp_recvspaceの設定を評価するには、次のコマンドを実行します。

$ netstat -s | grep "socket buffer overflows"

オーバーフロー数が 0でない場合、udp_recvspaceを増加します。

RAWデバイスのバックアップデバイスのバックアップデバイスのバックアップデバイスのバックアップRAWデバイスのバックアップには、ddコマンドを使用します。RAWデバイスの最初の4KBブロックは、AIX論理ボリューム・マネージャが使用するので、上書きしないでください。4KBより大きいブロック・サイズでバックアップした方が早く終了します。テープへのバックアップに適したブロック・サイズは 256KBです。次に、RAWデバイスをテープにバックアップおよびリストアするときに使用できるサンプル・スクリプトを示します。

1. RAWデバイスのバックアップをテープに作成します。

dd if=/dev/<raw_device> of=/dev/rmt0.1 bs=256k

2. RAWデバイスをテープからリストアします。

dd if=/dev/rmt0.1 of=/dev/<raw_device> count=63 seek=1 skip=1 bs=4kmt -f /dev/rmt0.1 bsf 1dd if=/dev/rmt0.1 of=/dev/<raw_device> seek=1 skip=1 bs=256k

注意注意注意注意 : HSDの場合、最初の 4KBはスキップしないでください。リストア・コマンドは次のように入力します。

dd if=/dev/remt0.1 of=/dev/<raw_device> bs=256K

2-26 Oracle8i for IBM AIX管理者リファレンス

Page 65: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

その他のチューニングのヒント

パラレル・リカバリの使用方法パラレル・リカバリの使用方法パラレル・リカバリの使用方法パラレル・リカバリの使用方法init.oraファイルのパラメータ RECOVERY_PARALLELISM= N(Nは 1より大きい整数で、通常はマシンのプロセッサ数)を設定することで、さらにパフォーマンスは向上します。これによって、ログ・ファイルの変更をデータベースに適用するタスクを分担するために、複数のリカバリ・スレーブ・プロセスが生成されます。

Pro*CプログラムのコンパイルプログラムのコンパイルプログラムのコンパイルプログラムのコンパイルAIX XLCコンパイラを使用すると、いくつかのコンパイラ・フラグによって、Pro*CまたはOracle OCIインタフェースで書かれた Oracleアプリケーションのパフォーマンスを向上させることができます。次に例を示します。

1. 最高の最適化レベル(-O3)を使用します。

2. アーキテクチャ固有のコンパイル・オプションを使用します。AIX XLCコンパイラがサポートするアーキテクチャ固有のコンパイル・オプションは次のとおりです。

� -qarch=com

3つの命令セットの共通サブセットのコンパイルです。このオプションでコンパイルしたプログラムは、3つのアーキテクチャのすべてで正しく実行されます。

� -qarch=pwr

元の RS/6000の POWERアーキテクチャのコンパイルです。このオプションでコンパイルしたプログラムは、3つのアーキテクチャのすべてで正しく実行されます。ただし、パフォーマンスを犠牲にしていくつかの命令が PowerPCでシミュレートされる場合があります。

� -qarch=pwrx

特に、Power2アーキテクチャに対するコンパイルです。倍精度浮動小数点または浮動小数点平方根をよく使用するプログラムでは、パフォーマンスが向上する場合があります。この実行プログラムは、Power2でのみ実行できます。

� -qarch=ppc

特に、PowerPCアーキテクチャに対するコンパイルです。単精度浮動小数点をよく使用するプログラムでは、パフォーマンスが向上する場合があります。この実行プログラムは、Power PCでのみ実行できます。

アプリケーションの性質に応じて、このように積極的に最適化するとパフォーマンスが向上する場合があります。これらのフラグの詳細は、コンパイラのドキュメントを参照してください。

AIXでの Oracle8iのチューニング 2-27

Page 66: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

関連ドキュメント

関連ドキュメント関連ドキュメント関連ドキュメント関連ドキュメント

Oracle ドキュメントドキュメントドキュメントドキュメント1. 『Oracle8i for IBM AIXインストレーション・ガイド』

2. 『Oracle8i パフォーマンスのための設計およびチューニング』

3. 『Oracle8i Net8管理者ガイド』

4. 『Oracle8i SQLリファレンス』

5. 『Oracle8i ユーティリティ・ガイド』

6. 『Oracle8i アプリケーション開発者ガイド』

IBM ドキュメントドキュメントドキュメントドキュメント1. 『AIX Versions 4.x Performance Tuning Guide』

2. 『AIX Performance Toolbox/6000 User's Guide 1.2 and 2.1』

3. 『AIX Version 4.x System Management Guide: Operating System and Devices』

4. 『AIX Version 4.x System Management Guide: Communication and Networks』

5. 『AIX Version 4.x Commands Reference』

2-28 Oracle8i for IBM AIX管理者リファレンス

Page 67: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

SQL*Plusの

3

SQL*Plusの管理の管理の管理の管理

AIXシステムで SQL*Plusを管理する方法について説明します。

� SQL*Plusの管理

� SQL*Plusの使用

� 制限事項

管理 3-1

Page 68: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

SQL*Plusの管理

SQL*Plusの管理の管理の管理の管理

設定ファイル設定ファイル設定ファイル設定ファイルSQL*Plusの設定ファイルには、サイトごとに定義するグローバルなファイル glogin.sql、およびユーザーごとに定義するファイル login.sqlがあります。glogin.sqlおよびlogin.sqlファイルには、SQL*Plusセッションの最初に実行する SQL*Plusコマンドが記述されています。SQL*Plusを起動すると、最初に glogin.sqlが読み込まれ、次にlogin.sqlが読み込まれます。

Site ProfileSite Profileファイルは、$ORACLE_HOME/sqlplus/admin/glogin.sqlです。SQL*Plusは、ユーザーが SQL*Plusを起動すると、このコマンド・ファイルを実行します。SQL*Plusをインストールすると、デフォルトの Site Profileは $ORACLE_HOME/sqlplus/adminに保存されます。Site Profileがすでに存在する場合は、上書きされます。SQL*Plusを削除すると、既存の Site Profileも削除されます。

User ProfileUser Profileファイルは、login.sqlです。SQL*Plusは、ユーザーが SQL*Plusを起動すると、Site Profileファイルを実行した後で、このコマンド・ファイルを実行します。SQL*Plusは、User Profileの現行のディレクトリを最初に検索します。環境変数 SQLPATHには、SQL*Plusが login.sqlファイルを検索するディレクトリのリストをコロンで区切って設定します。たとえば、現行のディレクトリが /u02/oracleで、SQLPATH が次のように設定されているとします。

/home:/home/oracle:/u01/oracle

SQL*Plusは、最初に現行のディレクトリ /u02/oracleで login.sqlスクリプトを検索します。現行のディレクトリに login.sqlがない場合、SQL*Plusは /home、/home/oracleおよび /u01/oracleディレクトリをそれぞれ検索します。SQL*Plusは、最初に見つかった login.sqlファイルのみを実行します。

login.sqlは最後に実行されるので、login.sqlに設定されているオプションはglogin.sqlに設定されているオプションを上書きします。

PRODUCT_USER_PROFILE表表表表Typicalインストール時に、PRODUCT_USER_PROFILE(PUP)表が自動的に作成されます。PUP表は、特定の SQLおよび SQL*Plusコマンドを使用禁止にする場合に使用します。

参照参照参照参照 : 詳細は、『Oracle8i SQL*Plusユーザーズ・ガイドおよびリファレンス』の第 3章を参照してください。

3-2 Oracle8i for IBM AIX管理者リファレンス

Page 69: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

SQL*Plusの管理

この表を再作成する必要がある場合は、SYSTEMスキーマの$ORACLE_HOME/sqlplus/admin/pupbld.sqlスクリプトを実行します。

次に例を示します。

$ sqlplus system/managerSQL> @?/sqlplus/admin/pupbld.sql

SQL*Plusは、"?"が指定されている場所に $ORACLE_HOMEの値を使用します。

デモンストレーション表デモンストレーション表デモンストレーション表デモンストレーション表SQL*Plusには、テスト用のデモンストレーション表が用意されています。

Typical インストールインストールインストールインストールTypicalインストールの場合、ユーザー SCOTTおよびデモンストレーション表が自動的に作成されます。

デモンストレーション表の手動作成デモンストレーション表の手動作成デモンストレーション表の手動作成デモンストレーション表の手動作成デモンストレーション表を作成するには、SQLスクリプト$ORACLE_HOME/sqlplus/demo/demobld.sqlを実行します。SQL*Plusでdemobld.sqlファイルを実行すると、ユーザーはスキーマにデモンストレーション表を作成できます。次に例を示します。

$ sqlplus scott/tiger SQL> @?/sqlplus/demo/demobld.sql

次のようにシェル・スクリプト $ORACLE_HOME/bin/demobldを使用することによっても、$ORACLE_HOME/sqlplus/demo/demobld.sqlを実行できます。

$ demobld scott tiger

デモンストレーション表の削除デモンストレーション表の削除デモンストレーション表の削除デモンストレーション表の削除デモンストレーション表を削除するには、SQLスクリプト$ORACLE_HOME/sqlplus/demo/demodrop.sqlを実行します。SQL*Plusでdemodrop.sqlファイルを実行すると、ユーザーのスキーマからデモンストレーション表を削除できます。次に例を示します。

$ sqlplus scott/tiger SQL> @?/sqlplus/demo/demodrop.sql

次のようにシェル・スクリプト $ORACLE_HOME/bin/demodropを使用することによっても、$ORACLE_HOME/sqlplus/demo/demodrop.sqlを実行できます。

$ demodrop scott tiger

SQL*Plusの管理 3-3

Page 70: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

SQL*Plusの管理

ヘルプ機能ヘルプ機能ヘルプ機能ヘルプ機能

Typical インストールインストールインストールインストールTypicalインストール、または Oracle Database Configuration Assistantのオプションで、事前作成済のデータ・ファイルを含む初期データベースをコピーする場合、ヘルプ機能は自動的にインストールされます。

Database Configuration AssistantOracle Database Configuration Assistantは、データベースを作成する際にヘルプ表を作成するためのオプションを提供します。

ヘルプ機能の手動インストールヘルプ機能の手動インストールヘルプ機能の手動インストールヘルプ機能の手動インストール手動でヘルプ機能をインストールするには、シェル・スクリプト$ORACLE_HOME/bin/helpinsを使用します。スクリプトを実行する前に、環境変数SYSTEM_PASSに、SYSTEMスキーマ名およびパスワードを設定しておく必要があります。次に例を示します。

$ setenv SYSTEM_PASS SYSTEM/MANAGER$ helpins

環境変数 SYSTEM_PASSが設定されていない場合、helpinsから、SYSTEMパスワードの入力を求めるプロンプトが表示され、SYSTEMスキーマにヘルプ・データがロードされます。ヘルプ機能をインストールするには、$ORACLE_HOME/sqlplus/help/helpbld.sql helpus.sqlを実行することもできます。システム・ユーザーは、SQL*Plusで、ファイルhelpbld.sqlおよびその引数 helpus.sqlを実行して、ヘルプ機能表を作成できます。次に例を示します。

$ sqlplus system/managerSQL> @?/sqlplus/admin/help/helpbld.sql helpus.sql

注意注意注意注意 : SQLスクリプト demobld.sqlおよび demodrop.sqlはどちらも、EMP、DEPT、BONUS、SALGRADEおよび DUMMY表を削除します。これらと同じ名前の表が 1つもスキーマに存在しないことを確認してから、どちらかのスクリプトを実行してください。そうしないと、表のデータが失われます。

3-4 Oracle8i for IBM AIX管理者リファレンス

Page 71: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

SQL*Plusの使用

SQL*Plusで $ORACLE_HOME/sqlplus/help/helpdrop.sqlを実行して、スキーマにあるヘルプ機能表を手動で削除することもできます。次に例を示します。

$ sqlplus system/managerSQL> @?/sqlplus/admin/help/helpdrop.sql

SQL*Plusの使用の使用の使用の使用

SQL*Plusからのシステム・エディタの使用からのシステム・エディタの使用からのシステム・エディタの使用からのシステム・エディタの使用SQL*Plusプロンプトで editコマンドを入力すると、ed、emacs、ned、viなどのオペレーティング・システム・エディタが起動されます。起動するには、環境変数 PATH にエディタのディレクトリが含まれている必要があります。

エディタを起動すると、現行の SQLバッファはエディタに入れられます。エディタを終了すると、変更された SQLバッファが SQL*Plusに戻されます。

SQL*Plusの _editor変数の定義によって、エディタを起動するように指定できます。この変数は、glogin.sqlまたは login.sqlに設定するか、または SQL*Plusセッション中に入力します。たとえば、デフォルト・エディタを viに設定するには、次のように入力します。

define_editor=vi

_editor変数が設定されていない場合は、環境変数 EDITORまたは VISUALのどちらかの値が使用されます。環境変数 EDITORおよび VISUALが両方設定されている場合は、環境変数 EDITORの値が優先されます。_editor、EDITORおよび VISUALが設定されていない場合は、デフォルト・エディタは edになります。

エディタを起動すると、SQL*Plusはエディタにテキストを渡すために afiedt.bufというテンポラリ・ファイルを使用します。このファイル名を変更するには、SET EDITFILEコマンドを使用します。次に例を示します。

SQL> SET EDITFILE/tmp/myfile.sql

SQL*Plusは、テンポラリ・ファイルを削除しません。

注意注意注意注意 : シェル・スクリプト helpinsおよび SQL*Plusスクリプトhelpbld.sqlはどちらも、新しい表を作成する前に既存のヘルプ機能表を削除します。

参照参照参照参照 : 詳細は、『Oracle8i SQL*Plusユーザーズ・ガイドおよびリファレンス』を参照してください。

SQL*Plusの管理 3-5

Page 72: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

制限事項

SQL*Plusからのオペレーティング・システム・コマンドの実行からのオペレーティング・システム・コマンドの実行からのオペレーティング・システム・コマンドの実行からのオペレーティング・システム・コマンドの実行SQL*Plusプロンプトの後に最初の文字として HOSTコマンドまたは感嘆符(!)を入力すると、後続の文字がサブシェルに渡されます。オペレーティング・システム・コマンドを実行する際に使用するシェルは、環境変数 SHELLによって設定されます。デフォルトのシェルは、/bin/sh (sh)です。シェルが実行できない場合は、エラー・メッセージが表示されます。

HOSTコマンドまたは !を入力することによって、SQL*Plusを終了しなくても、オペレーティング・システム・コマンドを実行できます。たとえば、1つのコマンドを実行するには、次のように入力します。

SQL>! command

この場合、commandは実行するオペレーティング・システム・コマンドを表します。一度コマンドを実行すると、制御は SQL*Plusに戻ります。

1つ以上のオペレーティング・システム・コマンドを実行するには、!または HOSTコマンドを入力した後に [Enter]を押します。

SQL*Plusへの割込みへの割込みへの割込みへの割込みSQL*Plusを実行している間、AIXの場合は [Ctrl]+[c]を押すと、スクロール中のレコード表示を停止し、SQL文を終了できます。

SPOOLコマンドの使用コマンドの使用コマンドの使用コマンドの使用SPOOLコマンドで生成されるファイルの拡張子のデフォルトは、.lstです。拡張子を変更するには、ピリオド(.)を含めたスプール・ファイル名を指定します。次に例を示します。

SQL> SPOOL query.lis

制限事項制限事項制限事項制限事項

ウィンドウのサイズ変更ウィンドウのサイズ変更ウィンドウのサイズ変更ウィンドウのサイズ変更SQL*Plusの LINESIZEおよび PAGESIZEのデフォルト値によって、ウィンドウ・サイズが自動的に調整されるわけではありません。

リターン・コードリターン・コードリターン・コードリターン・コードUNIXのリターン・コードは 1バイトですが、Oracleエラー・コードを返すには 1バイトでは不十分です。リターン・コードの範囲は、0~ 255です。

3-6 Oracle8i for IBM AIX管理者リファレンス

Page 73: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

AIXでの Oracleプリコンパイラおよび Oracleコール・インタフェースの

4

AIXでのでのでのでの OracleプリコンパイラおよびプリコンパイラおよびプリコンパイラおよびプリコンパイラおよびOracleコール・インタフェースの使用コール・インタフェースの使用コール・インタフェースの使用コール・インタフェースの使用

Oracleプリコンパイラおよび Oracleコール・インタフェースには、次のマニュアルで説明されている他に、AIX固有の要件およびタスクがあります。

� 『Oracle8i Pro*C/C++プリコンパイラ・プログラマーズ・ガイド』

� 『Oracle8i Pro*COBOLプリコンパイラ・プログラマーズ・ガイド』

� 『Oracle8iコール・インタフェース・プログラマーズ・ガイド』

� 『Oracle8iアプリケーション開発者ガイド』

� 『Programmer's Guide to SQL*Module for Ada』

この章では、AIX固有の情報を説明します。

� Oracleプリコンパイラの概要

� Pro*C/C++

� Pro*COBOL

� Pro*FORTRAN

� SQL*Module for Ada

� Oracleコール・インタフェース

� Oracleプリコンパイラと Oracleコール・インタフェースのリンクおよびMakeファイル

� スレッドのサポート

� Oracleライブラリを使用した静的リンクおよび動的リンク

� シグナル・ハンドラの使用

� XA機能

使用 4-1

Page 74: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

Oracleプリコンパイラの概要

Oracleプリコンパイラの概要プリコンパイラの概要プリコンパイラの概要プリコンパイラの概要Oracleプリコンパイラとは、Oracleデータベースの SQL文と高水準言語で書かれたプログラムを組み合せて使用するアプリケーション設計ツールです。Oracleプリコンパイラは、ANSI SQLと互換性があり、Oracle8iやその他の ANSI SQL DBMSで実行するオープンでカスタマイズされたアプリケーションを開発するために使用します。

プリコンパイラ構成ファイルプリコンパイラ構成ファイルプリコンパイラ構成ファイルプリコンパイラ構成ファイル$ORACLE_HOME/precomp/adminには、6つの .cfgシステム構成ファイルがあります。表 4-1に、製品とその構成ファイルを示します。

すべてのプリコンパイラに共通の問題すべてのプリコンパイラに共通の問題すべてのプリコンパイラに共通の問題すべてのプリコンパイラに共通の問題

大文字から小文字への変換大文字から小文字への変換大文字から小文字への変換大文字から小文字への変換C言語以外では、コンパイラによって大文字の関数またはサブプログラム名が小文字に変換されます。これによって、「No such user exit」エラーが発生する場合があります。この場合、オプション・ファイルの関数またはサブプログラム名の大文字 /小文字が、iapxtb表の文字と一致しているかどうかを確認してください。

ベンダー提供のデバッガ・プログラムベンダー提供のデバッガ・プログラムベンダー提供のデバッガ・プログラムベンダー提供のデバッガ・プログラムベンダー提供のデバッガとプリコンパイラに互換性がない場合があります。デバッガで動作するプログラムが、オペレーティング・システムでは動作しない可能性があります。

ireclen およびおよびおよびおよび oreclenの値の値の値の値ireclenおよび oreclenパラメータに最大値はありません。

表表表表 4-1 システム構成ファイルシステム構成ファイルシステム構成ファイルシステム構成ファイル

製品製品製品製品 構成ファイル構成ファイル構成ファイル構成ファイル

Pro*C/C++ 8.1.6 pcscfg.cfg

Pro*COBOL 8.1.6 pcbcfg.cfg

Pro*COBOL 1.8.51 pcccob.cfg

Pro*FORTRAN 1.8.51 pccfor.cfg

Oracle SQL*Module for Ada 8.1.6 pmscfg.cfg

Object Type Translator 8.1.6 ottcfg.cfg

4-2 Oracle8i for IBM AIX管理者リファレンス

Page 75: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

Pro*C/C++

Pro*C/C++Pro*C/C++ 8.1.6の追加情報は、READMEファイル$ORACLE_HOME/precomp/doc/proc2/readme.docを参照してください。

Pro*C/C++の管理の管理の管理の管理

システム構成ファイルシステム構成ファイルシステム構成ファイルシステム構成ファイルPro*C/C++のシステム構成ファイルは、$ORACLE_HOME/precomp/admin/pcscfg.cfgです。

Pro*C/C++の使用の使用の使用の使用Pro*C/C++を使用する前に、適切なバージョンの AIXコンパイラがインストールされていることを確認してください。必要なバージョンについては、『Oracle8i for IBM AIXインストレーション・ガイド』を参照してください。

デモンストレーション・プログラムデモンストレーション・プログラムデモンストレーション・プログラムデモンストレーション・プログラムデモンストレーション・プログラムは、Pro*C/C++プリコンパイラの様々な機能を参照するために提供されています。デモンストレーション・プログラムには、C、C++およびObjectプログラムの 3種類があります。Objectプログラムでは、Oracle8i Objectの新機能が表示されます。すべてのデモンストレーション・プログラムは$ORACLE_HOME/precomp/demo/procにあり、すべてのデモンストレーション・プログラムでは、$ORACLE_HOME/sqlplus/demo/demobld.sqlで作成したデモンストレーション表が SCOTTスキーマにあり、パスワードは TIGERであると仮定しています。

デモンストレーション・プログラムの詳細は、『Oracle8i Pro*C/C++プリコンパイラ・プログラマーズ・ガイド』を参照してください。

Makeファイル $ORACLE_HOME/precomp/demo/proc/demo_proc.mkは、デモンストレーション・プログラムの作成に必要です。たとえば、sample1というデモンストレーション・プログラムをプリコンパイル、コンパイルおよびリンクする場合は、次のように入力します。

$ make -f demo_proc.mk sample1

また、次のコマンドは構文が明示的になっているだけで、同様の結果になります。

$ make -f demo_proc.mk build OBJS=sample1.o EXE=sample1

デフォルトでは、すべてのプログラムは、クライアント共有ライブラリ$ORACLE_HOME/lib/libclntsh.aに動的にリンクされます。Makeファイルでは、環境変数 ORA_CLIENT_LIBは使用されなくなりました。

AIXでの Oracleプリコンパイラおよび Oracleコール・インタフェースの使用 4-3

Page 76: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

Pro*C/C++

すべての Pro*C/C++の Cデモンストレーション・プログラムを作成するには、次のように入力します。

$ make -f demo_proc.mk samples

すべての Pro*C/C++の C++デモンストレーション・プログラムを作成するには、次のように入力します。

$ make -f demo_proc.mk cppsamples

すべての Pro*C/C++の Objectデモンストレーション・プログラムを作成するには、次のように入力します。

$ make -f demo_proc.mk object_samples

デモンストレーション・プログラムによっては、$ORACLE_HOME/precomp/demo/sqlにある SQLスクリプトを実行する必要があります。このようなデモンストレーション・プログラムを作成し、それに対応する SQLスクリプトを実行するには、コマンドラインに makeマクロ引数 RUNSQL=runを追加する必要があります。たとえば、calldemoデモンストレーション・プログラムを作成し、必要な$ORACLE_HOME/precomp/demo/sql/calldemo.sqlスクリプトを実行する場合は、次のように入力します。

$ make -f demo_proc.mk calldemo RUNSQL=run

Objectデモンストレーション・プログラムを作成し、必要な SQLスクリプトを実行するには、次のように入力します。

$ make -f demo_proc.mk object_samples RUNSQL=run

SQLスクリプトを手動で実行することもできます。

ユーザー・プログラムユーザー・プログラムユーザー・プログラムユーザー・プログラムMakeファイル $ORACLE_HOME/precomp/demo/proc/demo_proc.mkは、ユーザー・プログラムを作成する場合に使用できます。ユーザー・プログラムを demo_proc.mkにリンクする構文は、次のとおりです。

$ make -f demo_proc.mk target OBJS="objfile1 objfile2 ..." EXE=exename

たとえば、Pro*C/C++のソース myprog.pcからプログラム myprogを作成する場合、実行ファイルのソースとファイルによって、次のように入力します。

� Cソースの場合で、クライアント共有ライブラリに動的にリンクする場合

$ make -f demo_proc.mk build OBJS=myprog.o EXE=myprog

4-4 Oracle8i for IBM AIX管理者リファレンス

Page 77: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

Pro*COBOL

� Cソースの場合で、静的にリンクする場合

$ make -f demo_proc.mk build_static OBJS=myprog.o EXE=myprog

� C++ソースの場合で、クライアント共有ライブラリに動的にリンクする場合

$ make -f demo_proc.mk cppbuild OBJS=myprog.o EXE=myprog

� C++ソースの場合で、静的にリンクする場合

$ make -f demo_proc.mk cppbuild_static OBJS=myprog.o EXE=myprog

Pro*COBOL今回のリリースの Pro*COBOLには、次の 2つのバージョンがあります。

� Pro*COBOL 8.1.6

� Pro*COBOL 1.8.51

表 4-2に、この 2つのバージョンのネーミング方法の違いを示します。

Pro*COBOLでは、静的リンク、動的リンク、または動的読込みプログラムをサポートしています。動的リンク・プログラムでは、Oracleクライアント共有ライブラリ$ORACLE_HOME/lib/libclntsh.aが使用されます。動的読込みプログラムでは、rtsora実行ファイルが使用されます。

Pro*COBOL 8.1.6の追加情報は、READMEファイル$ORACLE_HOME/precomp/doc/procob2/readme.docを参照してください。

Pro*COBOL1.8.51の追加情報は、READMEファイル$ORACLE_HOME/precomp/doc/pro1x/readme.txtを参照してください。

Pro*COBOLの管理の管理の管理の管理

システム構成ファイルシステム構成ファイルシステム構成ファイルシステム構成ファイルPro*COBOL 8.1.6のシステム構成ファイルは、$ORACLE_HOME/precomp/admin/pcbcfg.cfgです。

表表表表 4-2 Pro*COBOLのネーミング方法の違いのネーミング方法の違いのネーミング方法の違いのネーミング方法の違い

Pro*COBOL 8.1.6 Pro*COBOL 1.8.51

実行ファイル実行ファイル実行ファイル実行ファイル procob procob18

デモ・ディレクトリデモ・ディレクトリデモ・ディレクトリデモ・ディレクトリ procob2 procob

Make ファイルファイルファイルファイル((((MicroFocus COBOL))))

demo_procob.mk demo_procob18.mk

AIXでの Oracleプリコンパイラおよび Oracleコール・インタフェースの使用 4-5

Page 78: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

Pro*COBOL

Pro*COBOL 1.8.51のシステム構成ファイルは、$ORACLE_HOME/precomp/admin/pcccob.cfgです。

環境変数環境変数環境変数環境変数

MicroFocus COBOL コンパイラコンパイラコンパイラコンパイラMicroFocus COBOLコンパイラには、環境変数 COBDIRおよび LIBPATHを設定する必要があります。COBDIRには、コンパイラがインストールされているディレクトリを設定します。次に例を示します。

$ setenv COBDIR /usr/lpp/mfcobol

LIBPATHには、$COBDIR/coblibディレクトリを設定します。たとえば、次のように入力して $COBDIR/coblibを LIBPATHに追加します。

$ setenv LIBPATH ${LIBPATH}:$COBDIR/coblib

LIBPATHに $COBDIR/coblibが設定されていないと、プログラムをコンパイルしたときに次のエラーが発生します。

System error - error data is: rts32Cannot load library libfhutil.2.0.a[shr.o]System error: A file or directory in the pathname does not exist

Pro*COBOLの使用の使用の使用の使用Pro*COBOLを使用する前に、適切なバージョンの COBOLコンパイラがインストールされていることを確認してください。必要なバージョンについては、『Oracle8i for IBM AIXインストレーション・ガイド』の第 1章を参照してください。

Oracle ランタイム・システムランタイム・システムランタイム・システムランタイム・システムOracleでは、動的読込み Pro*COBOLプログラムを実行するために、rtsoraという専用のランタイム・システムが提供されています。rtsoraランタンム・システムは、動的読込みPro*COBOLプログラムを実行する際に、MicroFocusの cobrunランタイム・システムのかわりに使用します。cobrunで Pro*COBOLプログラムを実行すると、次のエラーが発生します。

$ cobrun sample1.gntLoad error : file 'SQLADR'error code: 173, pc=0, call=1, seg=0173 Called program file not found in drive/directory

4-6 Oracle8i for IBM AIX管理者リファレンス

Page 79: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

Pro*COBOL

デモンストレーション・プログラムデモンストレーション・プログラムデモンストレーション・プログラムデモンストレーション・プログラムデモンストレーション・プログラムは、Pro*COBOLプリコンパイラの様々な機能を参照するために提供されています。すべてのプログラムは、Pro*COBOLのバージョンによって、$ORACLE_HOME/precomp/demo/procobまたは$ORACLE_HOME/precomp/demo/procob2に保存されています。すべてのプログラムでは、$ORACLE_HOME/sqlplus/demo/demobld.sqlで作成したデモンストレーション表は SCOTTスキーマにあり、パスワードは TIGERであると仮定しています。

デモンストレーション・プログラムの詳細は、『Oracle8i Pro*COBOLプリコンパイラ・プログラマーズ・ガイド』を参照してください。

デモンストレーション Makeファイルは、サンプル・プログラムを作成する場合に必要です。Pro*COBOL 8.1.6のデモンストレーションMakeファイルは、$ORACLE_HOME/precomp/demo/procob2/demo_procob.mkです。Pro*COBOL 1.8.51のデモンストレーションMakeファイルは、$ORACLE_HOME/precomp/demo/procob/demo_procobl8.mkです。たとえば、Pro*COBOL 8.1.6のデモンストレーション・プログラム sample1をプリコンパイル、コンパイルおよびリンクするには、次のコマンドを使用します。

$ cd $ORACLE_HOME/precomp/demo/procob2$ make -f demo_procob.mk sample1

また、次のコマンドは構文が明示的になっているだけで、同様の結果になります。

$ make -f demo_procob.mk build COBS=sample1.cob EXE=sample1

デフォルトでは、すべてのプログラムは、クライアント共有ライブラリ$ORACLE_HOME/lib/libclntsh.aに動的にリンクされます。

すべての Pro*COBOLデモンストレーション・プログラムを作成するには、次のように入力します。

$ make -f demo_procob.mk samples

rtsoraで使用する動的読込みプログラム sample1.gntを作成するには、次のように入力します。

$ make -f demo_procob.mk sample1.gnt

その後、次のように入力して、rtsoraでプログラムを実行します。

$ rtsora sample1.gnt

デモンストレーション・プログラムによっては、$ORACLE_HOME/precomp/demo/sqlにある SQLスクリプトを実行する必要があります。そのようなデモンストレーション・プログラムを作成し、それに対応する SQLスクリプトを実行するには、コマンドラインに makeマクロ引数 RUNSQL=runを追加する必要があります。

AIXでの Oracleプリコンパイラおよび Oracleコール・インタフェースの使用 4-7

Page 80: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

Pro*COBOL

たとえば、sample9デモンストレーション・プログラムを作成し、必要な$ORACLE_HOME/precomp/demo/sql/calldemo.sqlスクリプトを実行する場合は、次のように入力します。

$ make -f demo_procob.mk sample9 RUNSQL=run

SQLスクリプトを手動で実行することもできます。

ユーザー・プログラムユーザー・プログラムユーザー・プログラムユーザー・プログラムデモンストレーション Makeファイルは、ユーザー・プログラムを作成する場合に使用できます。ご使用の Pro*COBOLのバージョンおよび COBOLコンパイラに応じて、適切なMakeファイルを使用してください。ユーザー・プログラムをデモンストレーションMakeファイルにリンクする構文は、次のとおりです。

$ make -f demo_procob.mk target COBS="cobfile1 cobfile2 ..." EXE=exename

たとえば、Pro*COBOLのソース myprog.pcoからプログラム myprogを作成する場合、実行ファイルのタイプと使用する共有ライブラリ・リソースの使用の有無によって、次のいずれかのコマンドを実行します。

クライアント共有ライブラリに動的にリンクする実行ファイルの場合

$ make -f demo_procob.mk build COBS=myprog.cob EXE=myprog

クライアント共有ライブラリを使用しないで静的にリンクする実行ファイルの場合

$ make -f demo_procob.mk build_static COBS=myprog.cob EXE=myprog

rtsoraで使用できる動的読込みモジュールの場合

$ make -f demo_procob.mk myprog.gnt

FORMAT プリコンパイラ・オプションプリコンパイラ・オプションプリコンパイラ・オプションプリコンパイラ・オプションFORMATプリコンパイラ・オプションは、COBOLの入力行の形式を指定します。FORMAT=ANSI(デフォルト)を指定した場合、カラム 1~ 6はオプションの順序番号、カラム 7はコメントまたは継続行を示す標識です。さらに、カラム 8~ 11は段落の名前で、カラム 12~ 72が文となります。

FORMAT=TERMINALを指定した場合、カラム 1~ 6は削除され、カラム 7が左端のカラムになります。

4-8 Oracle8i for IBM AIX管理者リファレンス

Page 81: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

Pro*FORTRAN

Pro*FORTRANPro*FORTRAN 1.8.51の追加情報は、READMEファイル$ORACLE_HOME/precomp/doc/pro1x/readme.txtを参照してください。

Pro*FORTRANの管理の管理の管理の管理

システム構成ファイルシステム構成ファイルシステム構成ファイルシステム構成ファイルPro*FORTRANのシステム構成ファイルは、$ORACLE_HOME/precomp/admin/pccfor.cfgです。

Pro*FORTRANの使用の使用の使用の使用Pro*FORTRANを使用する前に、適切なバージョンのコンパイラが正しくインストールされていることを確認してください。必要なバージョンについては、『Oracle8i for IBM AIXインストレーション・ガイド』の第 1章を参照してください。

デモンストレーション・プログラムデモンストレーション・プログラムデモンストレーション・プログラムデモンストレーション・プログラムデモンストレーション・プログラムは、Pro*FORTRANプリコンパイラの様々な機能を参照するために提供されています。すべてのプログラムは、$ORACLE_HOME/precomp/demo/proforにあり、すべてのデモンストレーション・プログラムでは、$ORACLE_HOME/sqlplus/demo/demobld.sqlで作成したデモンストレーション表が SCOTTスキーマにあり、パスワードは TIGERであると仮定しています。

デモンストレーション・プログラムの詳細は、『Oracleプリコンパイラ・ガイドPro*FORTRANサプリメント』を参照してください。

Makeファイル $ORACLE_HOME/precomp/demo/profor/demo_profor.mkは、デモンストレーション・プログラムの作成に必要です。たとえば、sample1というデモンストレーション・プログラムをプリコンパイル、コンパイルおよびリンクする場合は、次のように入力します。

$ make -f demo_profor.mk sample1

また、次のコマンドは構文が明示的になっているだけで、同様の結果になります。

$ make -f demo_profor.mk build FORS=sample1.pfo EXE=sample1

デフォルトでは、すべてのプログラムは、クライアント共有ライブラリ$ORACLE_HOME/lib/libclntsh.aに動的にリンクされます。

すべての Pro*FORTRANデモンストレーション・プログラムを作成するには、次のように入力します。

$ make -f demo_profor.mk samples

AIXでの Oracleプリコンパイラおよび Oracleコール・インタフェースの使用 4-9

Page 82: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

SQL*Module for Ada

デモンストレーション・プログラムによっては、$ORACLE_HOME/precomp/demo/sql内の SQLスクリプトを実行する必要があります。このようなデモンストレーション・プログラムを作成し、それに対応する SQLスクリプトを実行するには、コマンドラインに makeマクロ引数 RUNSQL=runを追加する必要があります。たとえば、sample11デモンストレーション・プログラムを作成し、必要な$ORACLE_HOME/precomp/demo/sql/sample11.sqlスクリプトを実行する場合は、次のように入力します。

$ make -f demo_profor.mk sample11 RUNSQL=run

SQLスクリプトを手動で実行することもできます。

ユーザー・プログラムユーザー・プログラムユーザー・プログラムユーザー・プログラムMakeファイル $ORACLE_HOME/precomp/demo/profor/demo_profor.mkは、ユーザー・プログラムを作成する場合に使用できます。ユーザー・プログラムをdemo_profor.mkにリンクする場合の構文は、次のとおりです。

$ make -f demo_profor.mk target FORS="forfile1 forfile2 ..." EXE=exename

たとえば、Pro*FORTRANのソース myprog.pfoからプログラム myprogを作成する場合、実行ファイルのタイプによって、次のように入力します。

クライアント共有ライブラリに動的にリンクする実行ファイルの場合

$ make -f demo_profor.mk build FORS=myprog.f EXE=myprog

静的にリンクする実行ファイルの場合

$ make -f demo_profor.mk build_static FORS=myprog.f EXE=myprog

SQL*Module for Ada

SQL*Module for Adaの管理の管理の管理の管理

システム構成ファイルシステム構成ファイルシステム構成ファイルシステム構成ファイルOracle SQL*Moduleのシステム構成ファイルは、$ORACLE_HOME/precomp/admin/pmscfg.cfgです。

4-10 Oracle8i for IBM AIX管理者リファレンス

Page 83: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

SQL*Module for Ada

SQL*Module for Adaの使用の使用の使用の使用SQL*Module for Adaを使用する前に、適切なバージョンのコンパイラが正しくインストールされていることを確認してください。必要なバージョンについては、『Oracle8i for IBM AIXインストレーション・ガイド』の第 1章を参照してください。

デモンストレーション・プログラムデモンストレーション・プログラムデモンストレーション・プログラムデモンストレーション・プログラムデモンストレーション・プログラムは、SQL*Module for Adaの様々な機能を参照するために提供されています。すべてのプログラムは、$ORACLE_HOME/precomp/demo/modadaに格納されています。

デモンストレーション・プログラム ch1_drvでは、$ORACLE_HOME/sqlplus/demo/demobld.sqlで作成したデモンストレーション表がSCOTTスキーマにあり、パスワードは TIGERであると仮定しています。

デモンストレーション・プログラム demcalspおよび demohostでは、$ORACLE_HOME/precomp/demo/sql/mktables.sqlで作成した大学のサンプル・データベースがMODTESTスキーマにあると仮定しています。

すべてのプログラムでは、Net8の接続文字列またはインスタンスの別名 INST1_ALIASが定義されていて、適切な表が存在するデータベースに接続できると仮定しています。

デモンストレーション・プログラムの詳細は、『Programmer's Guide to SQL*Module for Ada』を参照してください。

Makeファイル $ORACLE_HOME/precomp/demo/modada/demo_modada.mkは、デモンストレーション・プログラムの作成に必要です。たとえば、ch1_drvというデモンストレーション・プログラムをコンパイルおよびリンクするには、次のように入力します。

$ make -f demo_modada.mk ch1_drv

また、次のコマンドは構文が明示的になっているだけで、同様の結果になります。

$ make -f demo_modada.mk ada OBJS="ch1_mod.ada ch1_drv.ada" \ EXE=ch1_drv MODARAGS=user=modtest/yes

デフォルトでは、すべてのプログラムは、クライアント共有ライブラリ$ORACLE_HOME/lib/libclntsh.aに動的にリンクされます。

すべての SQL*Module for Adaデモンストレーション・プログラムを作成するには、次のように入力します。

$ make -f demo_modada.mk samples

AIXでの Oracleプリコンパイラおよび Oracleコール・インタフェースの使用 4-11

Page 84: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

Oracleコール・インタフェース

サンプル・プログラム demcalspおよび demohostでは、MODTESTスキーマの$ORACLE_HOME/precomp/demo/sql/mktables.sqlで作成した大学のサンプル・データベースが必要です。MODTESTユーザーは、SQLスクリプト$ORACLE_HOME/precomp/demo/sql/grant.sqlを実行して作成できます。MODTESTユーザーおよび大学のサンプル・データベースを作成し、デモンストレーション・プログラムを作成する場合、作成ターゲットとして makeuserおよび loaddbを使用します。たとえば、必要な SQLスクリプトを実行して demohostプログラムを作成するには、次の構文のコマンドを実行します。

$ make -f demo_modada.mk makeuser loaddb demohost

SQLスクリプトを手動で実行することもできます。

すべての SQL*Module for Adaデモンストレーション・プログラムを作成し、必要な SQLスクリプトを実行して MODTESTユーザーを作成し、大学のサンプル・データベースを作成する場合、次のように入力します。

$ make -f demo_modada.mk all

ユーザー・プログラムユーザー・プログラムユーザー・プログラムユーザー・プログラムMakeファイル $ORACLE_HOME/precomp/demo/modada/demo_modada.mkは、ユーザー・プログラムを作成する場合に使用します。ユーザー・プログラムをdemo_modada.mkにリンクする構文は、次のとおりです。

$ make -f demo_modada.mk ada OBJS="module1 module2 ..." \ EXE=exename MODARAGS=SQL*Module_arguments

Oracleコール・インタフェースコール・インタフェースコール・インタフェースコール・インタフェース

Oracleコール・インタフェースの使用コール・インタフェースの使用コール・インタフェースの使用コール・インタフェースの使用Oracleコール・インタフェース(OCI)を使用する前に、適切なバージョンのコンパイラが正しくインストールされていることを確認してください。必要なバージョンについては、『Oracle8i for IBM AIXインストレーション・ガイド』の第 1章を参照してください。

デモンストレーション・プログラムデモンストレーション・プログラムデモンストレーション・プログラムデモンストレーション・プログラムデモンストレーション・プログラムは、OCIの様々な機能を参照するために提供されています。デモンストレーション・プログラムには、Cおよび C++の 2種類があります。すべてのデモンストレーション・プログラムは、$ORACLE_HOME/rdbms/demoにあります。ほとんどのデモンストレーション・プログラムでは、$ORACLE_HOME/sqlplus/demo/demobld.sqlで作成したデモンストレーション表がSCOTTにあり、パスワードは TIGERであると仮定しています。

4-12 Oracle8i for IBM AIX管理者リファレンス

Page 85: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

Oracle コール・インタフェース

デモンストレーション・プログラムの詳細は『Oracle8iコール・インタフェース・プログラマーズ・ガイド』を、各プログラムの詳細はプログラム・ソースを参照してください。

Makeファイル $ORACLE_HOME/rdbms/demo/demo_rdbms.mkを使用して、デモンストレーション・プログラムを作成できます。たとえば、cdemo1をコンパイルおよびリンクするには、次のように入力します。

$ make -f demo_rdbms.mk cdemo1

また、次のコマンドは構文が明示的になっているだけで、同様の結果になります。

$ make -f demo_rdbms.mk build OBJS=cdemo1.o EXE=cdemo1

デフォルトでは、すべてのプログラムは、クライアント共有ライブラリ$ORACLE_HOME/lib/libclntsh.aに動的にリンクされます。

すべての OCIの Cデモンストレーション・プログラムを作成するには、次のように入力します。

$ make -f demo_rdbms.mk demos

すべての OCIの C++デモンストレーション・プログラムを作成するには、次のように入力します。

$ make -f demo_rdbms.mk c++demos

デモンストレーション・プログラムによっては、プログラムを実行する前に、$ORACLE_HOME/rdbms/demoにある SQLスクリプトを手動で実行する必要があります。ほとんどの場合、SQLスクリプト名はプログラム名と同じで、拡張子は .sqlです。たとえば、プログラム oci02の SQLスクリプトは oci02.sqlです。

プログラムの先頭にコメントがある場合は、そのコメントから必要な SQLスクリプトを判断します。

ユーザー・プログラムユーザー・プログラムユーザー・プログラムユーザー・プログラムMakeファイル $ORACLE_HOME/rdbms/demo/demo_rdbms.mkは、ユーザー・プログラムを作成する場合に使用します。ユーザー・プログラムを demo_rdbms.mkにリンクする構文は、次のとおりです。

$ make -f demo_rdbms.mk target OBJS="objfile1 objfile2 ..." EXE=exename

たとえば、Cのソース myprog.cからプログラム myprogを作成する場合、実行ファイルのタイプによって、次のように入力します。

� Cソースの場合で、クライアント共有ライブラリに動的にリンクする場合

$ make -f demo_rdbms.mk build OBJS=myprog.o EXE=myprog

AIXでの Oracleプリコンパイラおよび Oracleコール・インタフェースの使用 4-13

Page 86: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

Oracleプリコンパイラと Oracleコール・インタフェースのリンクおよび Make ファイル

� Cソースの場合で、静的にリンクする場合

$ make -f demo_rdbms.mk build_static OBJS=myprog.o EXE=myprog

C++のソース myprog.ccからプログラム myprogを作成する場合は、実行ファイルのタイプによって、次のいずれかのコマンドを実行します。

� C++ソースの場合で、クライアント共有ライブラリに動的にリンクする場合

$ make -f demo_rdbms.mk buildc++ OBJS=myprog.o EXE=myprog

� C++ソースの場合で、静的にリンクする場合

$ make -f demo_rdbms.mk buildc++_static OBJS=myprog.o EXE=myprog

Oracleプリコンパイラとプリコンパイラとプリコンパイラとプリコンパイラと Oracleコール・インタフェースのリンコール・インタフェースのリンコール・インタフェースのリンコール・インタフェースのリンクおよびクおよびクおよびクおよび Makeファイルファイルファイルファイル

カスタムカスタムカスタムカスタム Makeファイルファイルファイルファイルこの章で説明している各製品には、オラクル社が提供している Makeファイルdemo_product.mkを使用してユーザー・プログラムをリンクすることをお薦めします。このMakeファイルを修正する必要がある場合、またはカスタムMakeファイルを使用する場合は、次のことに注意してください。

� Oracleライブラリの順番は変更しないでください。

� リンク行に独自のライブラリを追加する場合は、リンク行の最初または最後に追加します。ユーザー・ライブラリは、Oracleライブラリの間に置かないでください。

� nmakeまたは GNU makeなどの makeユーティリティを使用する場合は、マクロおよび接尾辞の処理について、AIXで提供されている makeユーティリティ(/usr/ccs/bin/make)との違いに注意してください。OracleのMakeファイルは、すでにテスト済で、AIXの makeユーティリティでサポートされています。

� Oracleライブラリの名前および内容は、リリース間で変更されることがあります。必要なライブラリを判断するには、現行のリリースで提供されているMakeファイルdemo_product.mkを必ず使用してください。

未定義シンボル未定義シンボル未定義シンボル未定義シンボルプログラムのリンク時に共通するエラーに、次のような未定義シンボルがあります。

$ make -f demo_proc.mk sample1ld: 0711-317 ERROR: Undefined symbol: .sqlcex

4-14 Oracle8i for IBM AIX管理者リファレンス

Page 87: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

Oracle ライブラリを使用した静的リンクおよび動的リンク

ld: 0711-317 ERROR: Undefined symbol: .sqlglmld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.

このエラーは、参照するシンボルの定義をリンカーが検出できなかった場合に発生します。通常、このような問題を解決するには、シンボルが定義されているライブラリまたはオブジェクト・ファイルがリンク行にあるかどうか、およびリンカーが検索しているファイルのディレクトリが正しいかどうかを確認します。

オラクル社が提供している symfindというユーティリティを使用すると、シンボルが定義されているライブラリまたはオブジェクト・ファイルの場所を調べるのに役立ちます。次に、シンボル sqlcexが定義されている場所を調べる symfindの出力例を示します。

$ symfind sqlcex

SymFind - Find Symbol <sqlcex> in <**>.a, .o, .so------------------------------------------------------Command: /u01/app/oracle/product/8.1.6/bin/symfind sqlcexLocal Directory: /u01/app/oracle/product/8.1.6Output File: (none)Note: I do not traverse symbolic links Use '-v' option to show any symbolic links

Locating Archive and Object files ...[11645] | 467572| 44|FUNC |GLOB |0 |8 |sqlcex^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ./lib/libclntsh.a[35] | 0| 44|FUNC |GLOB |0 |5 |sqlcex^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ./lib/libsql8.a

スレッドのサポートスレッドのサポートスレッドのサポートスレッドのサポート今回のリリースで提供されている Oracleライブラリはスレッド・セーフで、マルチスレッド・アプリケーションをサポートできます。AIX 4.3に関連した制限および詳細は、『Oracle8i for IBM AIXインストレーション・ガイド』の第 1章の「スレッド・セーフ・ライブラリ」を参照してください。

Oracleライブラリを使用した静的リンクおよび動的リンクライブラリを使用した静的リンクおよび動的リンクライブラリを使用した静的リンクおよび動的リンクライブラリを使用した静的リンクおよび動的リンクプリコンパイラおよび OCIアプリケーションは、静的または動的に Oracleライブラリにリンクできます。静的リンクの場合、アプリケーション全体のライブラリおよびオブジェクトは、1つの実行ファイル・プログラムにリンクされます。そのため、アプリケーションの実行ファイルのサイズは非常に大きくなります。

AIXでの Oracleプリコンパイラおよび Oracleコール・インタフェースの使用 4-15

Page 88: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

Oracleライブラリを使用した静的リンクおよび動的リンク

動的リンクの場合、実行コードは一部分のみが実行プログラムに存在し、他の部分は実行時にアプリケーションと動的にリンクされるライブラリに存在します。実行時にリンクされるライブラリを、動的ライブラリまたは共有ライブラリといいます。動的リンクには、主に次の利点があります。

� 必要なディスク領域が少なくて済む

異なるアプリケーション、または同一アプリケーションからの異なる呼出しであっても、同一の共有ライブラリまたは動的ライブラリを使用できます。その結果、必要なディスク領域を削減できます。

� 必要なメイン・メモリーが少なくて済む

異なるアプリケーションで、同一の共有ライブラリ・イメージまたは動的ライブラリ・イメージ(メモリー内コピー)を共有できます。つまり、1つのライブラリをメイン・メモリーに 1回のみ読み込めば、複数のアプリケーションでそのライブラリを使用できます。その結果、必要なメイン・メモリーを削減できます。

Oracle 共有ライブラリ共有ライブラリ共有ライブラリ共有ライブラリOracle共有ライブラリは、$ORACLE_HOME/lib/libclntsh.aです。オラクル社が提供しているMakeファイル demo_product.mkを使用してアプリケーションをリンクする場合、デフォルトで Oracle共有ライブラリが使用されます。

環境変数 LIBPATHは、プロセスの起動時にランタイム・ローダーが Oracle共有ライブラリを検索できるように設定する必要があります。実行ファイルの起動時に次のエラーが発生する場合は、LIBPATHに Oracle共有ライブラリがあるディレクトリを設定してください。

% sample1exec(): 0509-036 Cannot load program ./sample1 because of the followingerrors:0509-022 Cannot load library libclntsh.a[shr.o].0509-026 System error: A file or directory in the path name does not exist.

LIBPATHを次のように設定します。

% setenv LIBPATH $ORACLE_HOME/lib

Oracle共有ライブラリは、インストール時に自動的に作成されます。Oracle共有ライブラリを再作成する必要がある場合は、Oracle共有ライブラリを使用している SQL*Plus、Recovery Managerなどのすべてのクライアント・アプリケーションを終了し、Oracleユーザーでログインして、次のように入力します。

% cd $ORACLE_HOME/rdbms/lib% make -f ins_rdbms.mk libclntsh.a

4-16 Oracle8i for IBM AIX管理者リファレンス

Page 89: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

シグナル・ハンドラの使用

シグナル・ハンドラの使用シグナル・ハンドラの使用シグナル・ハンドラの使用シグナル・ハンドラの使用ここでは、2タスク通信で Oracle8iが使用するシグナル、および独自のシグナル・ハンドラを設定する方法について説明します。

シグナルシグナルシグナルシグナルシグナルは、データベースに接続するとユーザー・プロセスに作成され、切断すると削除されます。

表 4-3に、Oracle8iの 2タスク通信で使用するシグナルを示します。

ここに示されているシグナルは、Pro*Cまたはその他のプリコンパイラ・アプリケーションに影響します。Oracleプロセスへの接続時に、SIGCLD(または SIGCHLD)およびSIGPIPEに 1つのシグナル・ハンドラをインストールできます。osnsui()ルーチンを呼び出して設定すると、複数のシグナル・ハンドラを SIGINT用にインストールできます。そ

表表表表 4-3 2タスク通信で使用するシグナルタスク通信で使用するシグナルタスク通信で使用するシグナルタスク通信で使用するシグナル

シグナルシグナルシグナルシグナル 用途用途用途用途

SIGCONT アウトオブバンド・ブレークをユーザー・プロセスから Oracleプロセスに送信する場合に、パイプ 2タスク・ドライバが使用します。

SIGINT ユーザーの割込み要求を検出する場合に、すべての 2タスク・ドライバが使用します。SIGINTは、Oracleプロセスではなく、ユーザー・プロセスが受け取ります。

SIGPIPE 通信チャネルでファイルの終わりを検出するために、パイプ・ドライバが使用します。パイプへの書込み時に、読込みプロセスが存在していなければ、SIGPIPEシグナルが書込みプロセスに送信されます。SIGPIPEは、Oracleプロセスおよびユーザー・プロセスが受け取ります。

SIGCLD パイプ・ドライバが使用します。SIGCLDは SIGPIPEと似ていますが、ユーザー・プロセスに適用され、Oracleプロセスには適用されません。Oracleプロセスが異常終了すると、UNIXカーネルはユーザー・プロセスに SIGCLDを送ります(サーバー・プロセスが異常終了しているかどうかを調べるには、シグナル・ハンドラでwait()を使用します)。SIGCLDは、Oracleプロセスではなく、ユーザー・プロセスが受け取ります。

SIGTERM パイプ・ドライバが、ユーザー側から Oracleプロセスに割込みシグナルを送る場合に使用します。ユーザーが割込みキー([Ctrl]+[c])を押すと、このシグナルが送られます。SIGTERMは、ユーザー・プロセスではなく、Oracleプロセスが受け取ります。

SIGIO ネットワーク・イベントの着信を示すために、Oracle Net8プロトコル・アダプタが使用します。

SIGURG アウトオブバンド・ブレークをユーザー・プロセスから Oracleプロセスへ送信する場合に、Oracle Net8 TCP/IPドライバが使用します。

AIXでの Oracleプリコンパイラおよび Oracleコール・インタフェースの使用 4-17

Page 90: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

シグナル・ハンドラの使用

の他のシグナルには、必要なだけのシグナル・ハンドラをインストールできます。Oracleプロセスに接続していない場合は、複数のシグナル・ハンドラをインストールできます。

シグナル・ルーチンの例シグナル・ルーチンの例シグナル・ルーチンの例シグナル・ルーチンの例次に、独自のシグナル・ルーチンおよび受取りルーチンを設定する方法を示します。SIGINTの場合、osnsui()および osncui()を使用してシグナル受取りルーチンを登録および削除します。

/* user side interrupt set */word osnsui( /*_ word *handlp, void (*astp), char * ctx, _*/)/*** osnsui: Operating System dependent Network Set **User-side** Interrupt. Add an interrupt handling procedure **astp. ** Whenever a user interrupt(such as a ^C) occurs, **call astp** with argument ctx. Put in *handlp handle for this **handler so that it may be cleared with osncui.** Note that there may be many handlers; each should ** be cleared using osncui. An error code is **returned if an error occurs.*/

/* user side interrupt clear */word osncui( /*_ word handle _*/ );/*** osncui: Operating System dependent Clear User-side **Interrupt.** Clear the specified handler. The argument is the **handle obtained from osnsui. An error code is ** returned if an error occurs.*/

次に、アプリケーション・プログラムで osnsui()および osncui()を使用する場合のテンプレートを示します。

/*** My own user interrupt handler.*/void sig_handler(){...}

main(argc, argv)int arc;

4-18 Oracle8i for IBM AIX管理者リファレンス

Page 91: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

XA機能

char **argv; {

int handle, err; ... /* set up my user interrupt handler */ if (err = osnsui(&handle, sig_handler, (char *) 0)) { /* if the return value is non-zero, an error has occurred Do something appropriate here. */ ... } ... /* clear my interrupt handler */ if (err = osncui(handle)) { /* if the return value is non-zero, an error has occurred Do something appropriate here. */ ... } ... }

XA機能機能機能機能TPモニター XAアプリケーションを作成する場合、TPモニター・ライブラリ(シンボルax_regおよび ax_unregを定義するライブラリ)が、リンク行で Oracleライブラリより前に設定されていることを確認してください。このリンク制限は、XAの動的登録(Oracle XAスイッチ xaoswd)を使用する場合のみ必要です。

Oracle8iでは、Oracle7リリース 7.1.6の XAコールをサポートしていません(リリース 7.3の XAコールはサポートしています)。そのため、リリース 7.1.6の XAコールを使用するTPモニター XAアプリケーションは、Oracle8iの XAライブラリにリンクする必要があります。Oracle8iの XAコールは、共有ライブラリ $ORACLE_HOME/lib/libclntsh.aおよび静的ライブラリ $ORACLE_HOME/lib/libclient8.aの両方で定義されています。

AIXでの Oracleプリコンパイラおよび Oracleコール・インタフェースの使用 4-19

Page 92: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

XA機能

4-20 Oracle8i for IBM AIX管理者リファレンス

Page 93: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

Net8の

5

Net8の構成の構成の構成の構成

Net8の全般情報については、次のドキュメントを参照してください。

� 『Oracle8i Net8管理者ガイド』

� 『Oracle8i Advanced Security管理者ガイド』

この章では、AIX固有の情報について説明します。

� READMEファイル

� 主な Net8製品および機能

� Net8プロトコルのサポート

� BEQプロトコル

� IPCプロトコル

� RAWプロトコル

� TCP/IPプロトコル

� SPX/IPXプロトコル

� APPC/LU6.2プロトコル

� Net8 Naming Supprt

� Oracle SNMPでの Oracle Intelligent Agentの構成

� Oracle Advanced Security

構成 5-1

Page 94: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

READMEファイル

READMEファイルファイルファイルファイル表 5-1 に、各バンドル製品の READMEファイルの保存場所を示します。READMEファイルには、前回のリリースからの変更情報が記載されています。

主な主な主な主な Net8製品および機能製品および機能製品および機能製品および機能サンプル構成ファイルについては、『Oracle8i Net8管理者ガイド』を参照してください。

Net8ファイルおよびユーティリティファイルおよびユーティリティファイルおよびユーティリティファイルおよびユーティリティ

Net8 の構成ファイルの保存場所の構成ファイルの保存場所の構成ファイルの保存場所の構成ファイルの保存場所AIXでは、Net8構成ファイルのデフォルトのディレクトリは、/etcです。

Net8は、グローバル・ファイルを次の順に検索します。

1. 環境変数 TNS_ADMINに設定されたディレクトリ(設定されている場合)

2. /etcディレクトリ

3. $ORACLE_HOME/network/admin

ファイルがデフォルトのディレクトリにない場合、すべてのネットワーク・ユーザーの起動ファイルの環境変数 TNS_ADMINで、異なるディレクトリを設定します。

Cシェルの場合、次のように入力します。

% setenv TNS_ADMIN directory_name

Bourneまたは Kornシェルの場合、次のように入力します。

%TNS_ADMIN=directory_path %export TNS_ADMIN

システム・レベルの構成ファイルごとに、ローカルのプライベート構成ファイル(ユーザーのホーム・ディレクトリに保存されている)があります。プライベート・ファイルの設定は、システム・レベル・ファイルの設定を上書きします。sqlnet.oraのプライベート構成ファイルは、$HOME/.sqlnet.oraです。tnsnames.oraのプライベート構成ファイル

表表表表 5-1 Oracle 製品の製品の製品の製品の READMEファイルの保存場所ファイルの保存場所ファイルの保存場所ファイルの保存場所

製品製品製品製品 README ファイルファイルファイルファイル

Net8 $ORACLE_HOME/network/doc/README.Net8

Oracle Advanced Security $ORACLE_HOME/network/doc/README.OAS

Oracle Intelligent Agent $ORACLE_HOME/network/doc/README.oemagent

5-2 Oracle8i for IBM AIX管理者リファレンス

Page 95: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

主な Net8 製品および機能

は、$HOME/.tnsnames.oraです。これらのファイルの構文は、対応するシステム・ファイルの構文と同じです。

サンプル構成ファイルサンプル構成ファイルサンプル構成ファイルサンプル構成ファイルcman.ora、listener.ora、names.ora、sqlnet.oraおよび tnsnames.oraのサンプル構成ファイルは、$ORACLE_HOME/network/admin/samplesに保存されています。

アダプタ・ユーティリティアダプタ・ユーティリティアダプタ・ユーティリティアダプタ・ユーティリティNet8では、様々なネットワーク・プロトコルおよびネーミング方法をサポートしています。それぞれのソフトウェア・モジュールであるアダプタは、個々の実行ファイルにリンクされ、ネットワーク・プロトコルと Net8間のインタフェースを提供します。インストールされている Net8アダプタを表示するには、次のように入力します。

% adapters

指定した実行ファイルにリンクされているアダプタを表示するには、次のように入力します。

% adapters executable

たとえば、次のコマンドを実行すると、Oracle実行ファイルにリンクされているアダプタが表示されます。

% adapters oracleNet Protocol Adapters linked with oracle are:

BEQueathIPCTCP/IPRAW

Net Naming Adapters linked with oracle are:Oracle TNS Naming AdapterOracle Naming Adapter

Oracle Advanced Security/Network Security products linked with oracle are:

Net8の構成 5-3

Page 96: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

Net8プロトコルのサポート

Oracle Connection Manager

参照参照参照参照 : Oracle Connection Managerの詳細は、『Oracle8i Net8管理者ガイド』を参照してください。

マルチスレッド・サーバーマルチスレッド・サーバーマルチスレッド・サーバーマルチスレッド・サーバーマルチスレッド・サーバーの詳細は、『Oracle8i Net8管理者ガイド』および『Oracle8i 管理者ガイド』を参照してください。

Oracle Names

Net8 AssistantOracle Java Runtime Environmentは、Net8 Assistant($ORACLE_HOME/bin/netasst)とともにインストールされます。Net8 Assistantのコマンド・スクリプトを実行すると、その他の Java製品をシステムにインストールしているかどうかに関係なく、JRE 1.1.8.3で提供されている Javaのコマンド・スクリプトが実行されます。

Net8プロトコルのサポートプロトコルのサポートプロトコルのサポートプロトコルのサポートAIXでは、Net8リリース 8.1.6に対して次のプロトコルがサポートされています。

� BEQプロトコル

� IPCプロトコル

� RAWプロトコル

� TCP/IPプロトコル

� SPX/IPXプロトコル

� APPC/LU6.2プロトコル

TCP/IP、APPC/LU6.2または SPX/IPXプロトコルをインストールする前に、適切なオペレーティング・システム・ソフトウェアがインストールおよび構成されていることを確認してください。要件の詳細は、『Oracle8i for IBM AIXインストレーション・ガイド』を参照してください。BEQおよび IPCプロトコルに固有のオペレーティング・システム要件はありません。

参照参照参照参照 : Oracle Namesの詳細は、『Oracle8i Net8管理者ガイド』を参照してください。

参照参照参照参照 : Net8 Assistantの詳細は、『Oracle8i Net8管理者ガイド』を参照してください。

5-4 Oracle8i for IBM AIX管理者リファレンス

Page 97: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

Net8プロトコルのサポート

ADDRESSの指定の指定の指定の指定IPC、TCP/IP、APPC/LU6.2および SPX/IPXプロトコルには、それぞれのプロトコル固有の ADDRESS指定があります。ADDRESS指定は、Net8構成ファイルおよび initsid.oraファイル中のデータベース初期化パラメータ MTS_LISTENER_ADDRESSを設定する場合に必要です。詳細は、この章に記載している各プロトコルの項を参照してください。

表 5-2 に、各プロトコルの ADDRESS指定を示します。

表表表表 5-2 ADDRESS 指定指定指定指定

サポート・サポート・サポート・サポート・プロトコルプロトコルプロトコルプロトコル

ADDRESS の指定の指定の指定の指定

BEQ (ADDRESS=(PROTOCOL = BEQ)(PROGRAM = ORACLE_HOME/bin/oracle)(ARGV0 = oracleORACLE_SID)(ARGS = '(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=BEQ)))')(ENVS = 'ORACLE_HOME=ORACLE_HOME,ORACLE_SID=ORACLE_SID')

)

IPC (ADDRESS=(PROTOCOL=IPC)(KEY=key)

)

RAW なし

TCP/IP (ADDRESS=(PROTOCOL=TCP) (HOST=hostname) (PORT=port_id)

)

SPX/IPX (ADDRESS=(PROTOCOL=SPX)(SERVICE=servicename)

)

APPC/LU6.2 (ADDRESS=(PROTOCOL=LU62) (TP_NAME=transaction_program_name) (SIDE_INFO_PROFILE=side_info_profile) (MODE=mode_name) (PLU=partner_lu_name)

)

Net8の構成 5-5

Page 98: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

BEQプロトコル

BEQプロトコルプロトコルプロトコルプロトコルBEQプロトコルは、通信メカニズムであり、また、プロセス起動メカニズムでもあります。クライアントおよびサーバーは、同一のマシン上に存在する必要があります。ネット・サービス名を指定(コマンドラインまたはログイン画面でユーザーが直接指定するか、またはTWO_TASKなどの環境変数で間接的に指定する)しなかった場合、BEQプロトコルが使用されます。その場合、専用サーバーが使用され、マルチスレッド・サーバーは使用されません。この専用サーバーは、BEQプロトコルによって自動的に起動された後、サーバー・プロセスが起動されて既存の SGAに割り当てられるのを待ちます。サーバー・プロセスが正常に起動されると、BEQプロトコルで、UNIXパイプを介してプロセス間通信ができるようになります。

BEQプロトコルが動作するためにリスナーは不要です。これは、プロトコルがクライアント・ツールにリンクされていて、外部から操作しなくてもそのサーバー・プロセスを直接起動するためです。ただし、BEQプロトコルは、クライアント・プログラムおよび Oracle8iが同一のマシンに常駐する場合にのみ使用できます。BEQプロトコルは常にインストールされ、すべてのクライアント・ツールおよび Oracle8iにリンクされています。

BEQのののの ADDRESS指定指定指定指定ADDRESSのキーワードとその値の組合せが BEQプロトコルの接続パラメータです。パラメータの入力順に決まりはありません。

(ADDRESS =(PROTOCOL = BEQ)(PROGRAM = ORACLE_HOME/bin/oracle)(ARGV0 = oracleORACLE_SID)(ARGS = '(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=BEQ)))')(ENVS = 'ORACLE_HOME=ORACLE_HOME,ORACLE_SID=ORACLE_SID')

)

表 5-3 に、BEQプロトコルの接続パラメータの構文を示します。

表表表表 5-3 BEQプロトコルの接続パラメータの構文プロトコルの接続パラメータの構文プロトコルの接続パラメータの構文プロトコルの接続パラメータの構文

PROTOCOL 使用するプロトコルを指定します。値は beqで、大文字または小文字のどちらかで指定できます。

PROGRAM Oracle実行ファイルのフルパス名を指定します。

ARGV0 psコマンドで表示されるプロセスの名前を指定します。推奨値はoracleORACLE_SIDです。

ARGS '(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=BEQ)))'

ENVS 環境を指定します。ORACLE_HOME には、接続先データベースのORACLE_HOMEディレクトリをフルパスで指定します。ORACLE_SIDには、接続先データベースのシステム識別子を指定します。

5-6 Oracle8i for IBM AIX管理者リファレンス

Page 99: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

IPCプロトコル

クライアントを指定するためのクライアントを指定するためのクライアントを指定するためのクライアントを指定するための BEQ ADDRESS次に、BEQ ADDRESSの例を示します。

(ADDRESS =(PROTOCOL = BEQ)(PROGRAM = /u01/app/oracle/product/8.1.6/bin/oracle)(ARGV0 = oracleV816)(ARGS = '(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=BEQ)))')(ENVS = 'ORACLE_HOME=/u01/app/oracle/product/8.1.6,ORACLE_SID=V816')

)

通常、ADDRESSの指定は、接続記述子、構成ファイルなどを構成している内容の一部です。

IPCプロトコルプロトコルプロトコルプロトコルIPCプロトコルは、クライアント・プログラムおよび Oracle8iが同一マシンに常駐する場合にのみ使用できるという点が、BEQプロトコルと似ています。IPCプロトコルと BEQプロトコルの違いは、IPCプロトコルが専用サーバーおよびマルチスレッド・サーバーで使用できることです。IPCプロトコルが動作するには、リスナーが必要です。IPCプロトコルは常にインストールされ、すべてのクライアント・ツールおよび Oracle8iにリンクされています。

IPCプロトコルでは、Oracle7リリース 7.1以降、UNIXでの UNIX Domain Socket(IPC)ファイルの保存場所が変わりました。そのため、Oracle7リリース 7.1を Oracle8iと同じマシンにインストールし、2つのインスタンス間で IPC接続しようとすると失敗します。この問題を解決するには、IPCファイルが以前に保存されていたディレクトリ(/tmp/o)、および現在保存されているディレクトリ(/tmp/.oracle)間にシンボリック・リンクを作成します。

IPCのののの ADDRESS指定指定指定指定ADDRESSのキーワードとその値の組合せが IPCプロトコルの接続パラメータです。パラメータの入力順に決まりはありません。

(ADDRESS=(PROTOCOL=IPC)(KEY=key)

)

表 5-4 に、IPCプロトコルの接続パラメータの構文を示します。

Net8の構成 5-7

Page 100: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

RAWプロトコル

クライアントを指定するためのクライアントを指定するためのクライアントを指定するためのクライアントを指定するための IPC ADDRESS

次に、IPC ADDRESSの例を示します。

(ADDRESS=(PROTOCOL=IPC)(KEY=PROD)

)

通常、ADDRESSの指定は、接続記述子、構成ファイルなどを構成している内容の一部です。

RAWプロトコルプロトコルプロトコルプロトコルデータがクライアントとサーバー間で転送されると、Net8は、そのヘッダー情報を各パケット(ネットワークを介して送信される情報のひとまとまり)に追加します。Raw Transport機能によって、ネットワークを介する各パケットのヘッダー情報を最小限に抑えることができます。

接続後、2種類の情報(データおよびブレーク・ハンドリング)がネットワーク上に送信されます。接続パケットには、適切に接続するための Net8のヘッダー情報が必要です。ただし、接続後、すべてのデータ・パケットは Net8のヘッダー情報から削除され、Net8のネットワークおよびプロトコル・レイヤーを通過して、直接オペレーティング・システムに渡されます。データが流れるプロトコル・スタック・レイヤーの数が減り、ネットワーク上に送信されるデータのバイト数が減るため、接続のパフォーマンスが向上します。

この機能は、ユーザーが意識しなくても、必要な場合に有効になります。つまり、ヘッダー情報を送信しなくてもよい場合、ヘッダーは削除されます。たとえば、暗号化および認証では、各情報のパケットと一緒に特定の情報を送信する必要があります。そのため、Raw Transportは有効になりません。

この機能を使用する場合、特別な構成はありません。Net8では、ユーザーが意識しなくても、Raw Transportモードに切り替える必要があるかどうかが判断され、必要な場合には切り替えられます。

表表表表 5-4 IPCプロトコルの接続パラメータの構文プロトコルの接続パラメータの構文プロトコルの接続パラメータの構文プロトコルの接続パラメータの構文

PROTOCOL 使用する IPCプロトコルを指定します。値は ipcで、大文字または小文字のどちらかで指定できます。

KEY データベースのサービス名またはデータベースの識別子(ORACLE_SID)を指定します。

5-8 Oracle8i for IBM AIX管理者リファレンス

Page 101: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

TCP/IPプロトコル

TCP/IPプロトコルプロトコルプロトコルプロトコルリスナー・ポートを定義するネットワーク上の各ノードの /etc/servicesファイルで、リスナー用のポートを予約してください。ほとんどの場合、ポートは 1521です。たとえば、次のように入力します。

listener 1521/tcp

この場合、listenerは listener.oraで定義されているリスナーの名前を示します。

複数のリスナーを起動する場合は、複数のポートを予約してください。

TCP/IPのののの ADDRESS指定指定指定指定ADDRESSのキーワードとその値の組合せが TCP/IPプロトコルの接続パラメータです。パラメータの入力順に決まりはありません。

(ADDRESS=(PROTOCOL=TCP)(HOST=hostname)(PORT=port_id)

)

表 5-5 に、TCP/IPプロトコルの接続パラメータの構文を示します。

クライアントを指定するためのクライアントを指定するためのクライアントを指定するためのクライアントを指定するための TCP/IP ADDRESS次に、MADRIDホストにクライアントを指定する TCP/IP ADDRESSの例を示します。

(ADDRESS=(PROTOCOL=TCP)(HOST=MADRID)(PORT=1521)

)

最後のフィールドは、PORT=listenerというように名前を指定することもできます。通常、ADDRESSの指定は、接続記述子、構成ファイルなどを構成している内容の一部です。

表表表表 5-5 TCP/IP プロトコルの接続パラメータの構文プロトコルの接続パラメータの構文プロトコルの接続パラメータの構文プロトコルの接続パラメータの構文

PROTOCOL 使用するプロトコルを指定します。値は大文字でも小文字でもかまいません。デフォルトは tcpです。

HOST ホスト名またはホスト IPアドレスを指定します。

PORT TCP/IPのポートを指定します。/etc/servicesファイルで指定されている番号または名前を指定します。推奨値は 1521です。

Net8の構成 5-9

Page 102: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

SPX/IPXプロトコル

SPX/IPXプロトコルプロトコルプロトコルプロトコルOracle SPX/IPXプロトコルは、Oracle8iと、DOS、UNIX、OS/2または Novell Netware OSで実行するクライアント・アプリケーションとの間の透過的な 2タスク通信インタフェースをサポートします。

ntisbsdmブロードキャスト・デーモンブロードキャスト・デーモンブロードキャスト・デーモンブロードキャスト・デーモンクライアントは名前を使用し、その名前を SPXアドレスに変換してサーバーを識別し、サーバーと通信します。Netwareバインダリは、変換メカニズムを提供するディレクトリ・サービスです。サーバーがバインダリに登録されると、そのアドレスのバインダリを定期的に通知します。これは、サーバー通知プロトコル(SAP)を使用して行われます。

サーバーは、IPXデータグラムで 60秒ごとに SAPパケットをブロードキャストします。この SAPパケットには、関連するすべてのアドレス情報が含まれています。その後、どのクライアントからも、必要なサーバーのアドレスに最も近いサーバーに対して問合せできます。

Oracle SPX/IPXプロトコルは、$ORACLE_HOME/binの ntisbsdmブロードキャスト・デーモンを使用してブロードキャストします。ntisbsdmは、ntspxctlユーティリティによって起動および停止されます。

Oracle SPX/IPXプロトコル・アダプタを使用する前に、Network Transportが動作していることを確認してください。

1. 次のコマンドを実行して、Network Transportが動作していることを確認します。

# ps -aef | grep npsd

2. Network Transportが実行されていない場合は、次のようにして実行します。

# cd /usr/lpp/netware/bin# sconsole

3. SPデーモンおよび Netwareプロトコル・スタックが実行されていることを確認します。

# ps -aef | grep npsd# ps -aef | grep sapd

5-10 Oracle8i for IBM AIX管理者リファレンス

Page 103: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

SPX/IPXプロトコル

ntspxctlユーティリティユーティリティユーティリティユーティリティntspxctlユーティリティには、名前の登録と取消し、およびバインダリの問合せを実行する機能が含まれています。また、ブロードキャスト・デーモンを起動または停止する場合に使用します。リスナーは、このデーモンを使用して、使用中のサービス名を登録します。

ntspxctl ユーティリティの使用ユーティリティの使用ユーティリティの使用ユーティリティの使用ntspxctlユーティリティは、コマンドラインからコマンドを読み取ります。パラメータを指定していない場合、それらのパラメータを指定するためのプロンプトが表示されます。

ntspxctlを起動するには、次のように入力します。

$ ntspxctl

次のように表示されます。

ntspxctl: Version 8.1.6 - on Fri Jul 3 11:43:50 1998

ブロードキャスト・デーモンを起動するには、次のように入力します。

ntspxctl> startup

次のように表示されます。

ntisbsdm started at Fri Jul 3 11:43:47 1998

デーモンがすでに起動されている場合は、システム・メッセージが表示されます。

ブロードキャスト・デーモンは、マシンの起動時に常に自動的に起動されるように設定する必要があります。/etc/inittabファイルにエントリを追加して、デーモンの起動を自動化します。たとえば、システムの起動時に ntisbsdmを起動するには、/etc/inittabに次の行を追加します。

ntspxctl:2:once:/u/oracle/bin/ntisbsdm &

この場合、/u/oracleは $ORACLE_HOMEへのフルパス名を示します。

テスト用の名前を登録するには、registerおよび名前を入力します。

ntspxctl> register YYY

これによって ntisbsdmが所有するソケットが作成され、登録されます。

次のメッセージが表示されます。

Name YYY successfully registeredYYY address 00eee045:000000000001:4454

Net8の構成 5-11

Page 104: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

SPX/IPXプロトコル

ntisbsdmの状態を表示するには、次のように入力します。

ntspxctl> status

または

ntspxctl> summary

次のメッセージが表示されます。

ntisbsdm started at Fri Jul 3 11:43:47 1998Tracing is offPid: 14784 YYY

SPX/IPXプロトコルのコマンドの要約プロトコルのコマンドの要約プロトコルのコマンドの要約プロトコルのコマンドの要約表 5-6 に、SPX/IPXプロトコルの helpコマンドを示します。

getnameコマンドコマンドコマンドコマンドgetnameコマンドは、Novellシステムに名前を要求する場合に使用します。ブロードキャスト・デーモンは必要ありません。次のように入力します。

getname name servicetype

次のメッセージが表示されます。

getname name servicetype (address number_of_hops)

表表表表 5-6 helpコマンド概要コマンド概要コマンド概要コマンド概要

register name エントリを登録します。

remove name エントリを取り消します。

shutdown [force] ntisbsdmを停止します。

startup 状態の要約を表示します。

traceon トレースをアクティブにします。

traceoff トレースを非アクティブにします。

status 状態の詳細情報を表示します。

getname name | hex_number ネーム・サービスの問合せを実行します。

exit プログラムを終了します。

help [command] コマンド情報を印刷します。

! シェルを取り消します。

5-12 Oracle8i for IBM AIX管理者リファレンス

Page 105: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

SPX/IPXプロトコル

表 5-7 に、getnameコマンドの構文を示します。

指定可能なすべての名前を表示するには、次のように入力します。

getname * *

例 5-1 に、getnameコマンドで取得される名前を示します。

例例例例 5-1 getnameコマンドの使用コマンドの使用コマンドの使用コマンドの使用

ntspxctl> getname YYY *YYY servertype x0103 address 00eee045:000000000001: 4465 hops 0000ntspxctl> getname * 103LSNR servertype x0103 address 00eee053:000000000001: 502c hops 0000IBM6 servertype x0103 address 00eee058:000000000001: 507f hops 0000DESK servertype x0004 address 00eee055:000000000001: 5451 hops 0000DESK servertype x0107 address 00eee055:000000000001: 5104 hops 0000CXY4 servertype x009e address 00eee055:000000000001: 5063 hops 0000IBM2 servertype x0004 address 00eee057:000000000001: 5451 hops 0000

ntisbsdmを停止するには、次のように入力します。

ntspxctl> shutdown

このデーモンは、名前がまだ登録されている場合は停止しません。次のメッセージが表示されます。

1 names are registeredntisbsdm not stopped

表表表表 5-7 getnameコマンドの構文コマンドの構文コマンドの構文コマンドの構文

name 入力した名前です。

servicetype Novellで割り当てられた番号です。Oracleの番号は 103です。

address 入力した名前のアドレスです。

number_of_hops 宛先までのホップ数(16進数)です。値が 10の場合は、名前が登録解除されたことを表します。SAP問合せがサポートされていない場合、値は 0000です。

Net8の構成 5-13

Page 106: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

SPX/IPXプロトコル

名前を取り消すには、removeおよび名前を入力します。名前が YYYの場合の例を次に示します。

ntspxctl> remove YYY

次のメッセージが表示されます。

Name YYY removed.ntspxctl> shutdownntisbsdm stopped

強制終了するには、次のように入力します。

ntspxctl> shutdown force

次のメッセージが表示されます。

ntisbsdm stopped

SPX/IPXのののの ADDRESS指定指定指定指定SPX/IPXプロトコルおよび Oracle SPX/IPXプロトコルがシステムにインストールされている場合、TNS接続記述子を指定した SPX/IPXパラメータを使用して、SPX/IPXコミュニティ・ノードを識別できます。

ADDRESSのキーワードとその値の組合せが SPX/IPXプロトコル・パラメータです。

(ADDRESS=(PROTOCOL=spx)(SERVICE=servicename)

)

表 5-8 に、SPX/IPXプロトコル接続の構文を示します。

例 5-2 に、リモート・サーバー上にサービスMAILDB1を指定する SPX/IPX ADDRESSを示します。

表表表表 5-8 SPX/IPXプロトコル接続の構文プロトコル接続の構文プロトコル接続の構文プロトコル接続の構文

PROTOCOL プロトコル名を指定します。SPX/IPXの場合、値は spxです。

SERVICE ネットワーク上のアプリケーションを示す一意の名前を 30文字以下で指定します。サービスには起動中に名前が付けられ、ネットワーク全体で使用できます。クライアントは、ネットワーク・ディレクトリのバインダリの検索を使用してこのサービスを参照します。

5-14 Oracle8i for IBM AIX管理者リファレンス

Page 107: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

APPC/LU6.2プロトコル

例例例例 5-2 SPX/IPXプロトコル接続プロトコル接続プロトコル接続プロトコル接続

(ADDRESS=(PROTOCOL=SPX)(SERVICE=MAILDB1)

)

通常、ADDRESSは、接続記述子、構成ファイルなどを構成している内容の一部です。

APPC/LU6.2プロトコルプロトコルプロトコルプロトコルOracle APPC/LU6.2プロトコルは、Oracleプログラム間の通信に LU6.2サービスを使用するネットワークで使用できます。たとえば、APPC/LU6.2を使用することで TNSアプリケーションは、標準インタフェースとして APIを使用できるようになります。

図 5-1 に、LU6.2通信サービスおよび Oracle APPC/LU6.2プロトコルを使用した Oracleプログラム間での通信レイヤーを示します。

図図図図 5-1 Oracle プログラムおよびプログラムおよびプログラムおよびプログラムおよび LU6.2間での通信レイヤー間での通信レイヤー間での通信レイヤー間での通信レイヤー

APPC/LU6.2のののの ADDRESS指定指定指定指定APPC/LU6.2プロトコル・パラメータは、各ノードの接続記述子で指定します。各接続記述子には、[キーワード ]=[値 ]という形の組合せがいくつか含まれています。APPC/LU6.2固有のキーワードは、接続記述子内で任意の順に入力できます。

(ADDRESS=(PROTOCOL=LU62)(TP_NAME=tpname)

SQ

L*P

lus

TN

S

Ora

cle

LU6.

2プロトコル

LU6.

2

LU6.

2

Ora

cle

LU6.

2プロトコル

TN

S

Ora

cle

LOCAL(クライアント)

PARTNER(サーバー)

API(APPCまたは CPI-C)

API(APPCまたは CPI-C)

Net8の構成 5-15

Page 108: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

Net8 Naming Supprt

(LU_NAME=luname)(MODE=modename)(PLU=partner_lu_name)

)

表 5-9 に、APPC/LU6.2プロトコル接続の構文を示します。

Net8 Naming SupprtNIS Naming Supportの構成の詳細は、『Oracle8i Net8管理者ガイド』を参照してください。

Oracle Enterprise Manager((((OEM))))

エージェント・サービスの展開および自動構成エージェント・サービスの展開および自動構成エージェント・サービスの展開および自動構成エージェント・サービスの展開および自動構成Simple Network Management Protocol(SNMP)システムで統合しない限り、Oracle Intelligent Agentでの構成は必要ありません(「Oracle SNMPでの Oracle Intelligent Agentの構成」を参照)。

表表表表 5-9 APPC/LU6.2プロトコルの構文プロトコルの構文プロトコルの構文プロトコルの構文

PROTOCOL 使用するプロトコルを指定します。値は大文字でも小文字でもかまいません。APPC/LU6.2の場合、値は lu62です。

TP_NAME ターゲットで実行するトランザクション・プログラム名、または着信接続要求をリスニングするときに使用するトランザクション・プログラム名を指定します。この値は必須です。

SIDE_INFO_PROFILE このパラメータには、リモート TPと対話する場合に使用する特性を指定します。AIX SNA構成に対応するプロファイルの名前を指定します。

MODE 論理デバイス間のセッションの特性を定義します。モードは、パートナ LUおよびトランザクション・プログラム名とともに、ALLOCATEセグメントで指定します。modenameは、ローカル LUおよびパートナ LUの両方に共通である必要があります。この値は必須です。

PLU パートナ LUの名前を指定します。

参照参照参照参照 : 詳細は、『Oracle Enterprise Manager構成ガイド』を参照してください。

5-16 Oracle8i for IBM AIX管理者リファレンス

Page 109: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

Oracle SNMP での Oracle Intelligent Agentの構成

tcl スクリプトのデバッグスクリプトのデバッグスクリプトのデバッグスクリプトのデバッグoratclsh実行ファイルは、tclスクリプトをデバッグする場合に必要です。oratclshを実行する前に、環境変数 TCL_LIBRARYに、$ORACLE_HOME/network/agent/tclを設定してください。

Oracle SNMPでのでのでのでの Oracle Intelligent Agentの構成の構成の構成の構成Oracle Intelligent Agentが動作するために、Simple Network Management Protocol(SNMP)は必要ありませんが、Intelligent Agentを起動する前に Oracle SNMP用に構成することができます。

マスター・エージェントの構成マスター・エージェントの構成マスター・エージェントの構成マスター・エージェントの構成次の行を /etc/snmpd.confファイルに追加します。

snmp 0.0 "" ip_address

この場合、ip_addressは Oracleサブエージェントを実行しているホストの IPアドレスです。

SNMP コンポーネントの起動コンポーネントの起動コンポーネントの起動コンポーネントの起動次の手順を実行して、SNMPコンポーネントを起動します。

1. snmpdが実行されていないことを確認します。

$ ps -aef | grep snmpd

実行されている場合、次に進む前に rootユーザーでログインして、killコマンドを使用してプロセスを終了させます。

2. rootユーザーでネイティブな AIX SNMPエージェントを起動するために、startsrcスクリプトを実行します。次のように入力します。

# ./startsrc -s snmpd "-f /tmp/snmpd.log"

このコマンドは、snmpdデーモンを起動して /tmp/snmpd.logに情報を記録します。

3. 次のように入力して、SNMPコンポーネントが実行されていることを確認します。

# ps -aef | grep snmpd

データベース・サブエージェントの構成および起動データベース・サブエージェントの構成および起動データベース・サブエージェントの構成および起動データベース・サブエージェントの構成および起動データベース・サブエージェント(Oracle Intelligent Agent)の構成および起動については、『Oracle Enterprise Manager構成ガイド』を参照してください。

参照参照参照参照 : 詳細は、『Oracle Intelligent Agentユーザーズ・ガイド』を参照してください。

Net8の構成 5-17

Page 110: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

Oracle Advanced Security

Oracle Advanced Security

.bak ファイルファイルファイルファイルOracle Advanced Securityのインストール中に、3つの .bakファイル(naeet.o.bak、naect.o.bakおよび naedhs.o.bak)が作成されます。これらのファイルは、$ORACLE_HOME/libに保存されています。これらのファイルは、Oracle Advanced Securityの削除(デインストール)中の再リンクに必要なため、削除しないでください。

セキュリティおよびシングル・サインオンセキュリティおよびシングル・サインオンセキュリティおよびシングル・サインオンセキュリティおよびシングル・サインオンセキュリティおよびシングル・サインオンの構成の詳細は、『Oracle8i Advanced Security管理者ガイド』を参照してください。

DCE 統合統合統合統合DCE統合の構成の詳細は、『Oracle8i Advanced Security管理者ガイド』を参照してください。

5-18 Oracle8i for IBM AIX管理者リファレンス

Page 111: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

Oracleデータ・オプション・デモの

6

Oracleデータ・オプション・デモの実行データ・オプション・デモの実行データ・オプション・デモの実行データ・オプション・デモの実行

このリリースで使用できる Oracleオプション・デモの全般情報については、「参照ドキュメント」に示されているドキュメントを参照してください。この章では、このリリースに含まれているデモの AIX固有の情報について説明します。

� 参照ドキュメント

� Oracle8i interMedia

� Oracle8i Time Seriesデモ

� Oracle8i Visual Information Retrieval

� Oracle8i Spatial

実行 6-1

Page 112: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

参照ドキュメント

参照ドキュメント参照ドキュメント参照ドキュメント参照ドキュメントOracle8iリリース 8.1.6で使用可能な Oracleオプションの詳細は、次のドキュメントを参照してください。

� 『Oracle8i interMedia Audio, Image, Videoユーザーズ・ガイドおよびリファレンス』

� 『Oracle8i interMedia Audio, Image, Video Java Clientユーザーズ・ガイドおよびリファレンス』

� 『Oracle8i interMedia Web』

� 『Oracle8i interMedia Locatorユーザーズ・ガイドおよびリファレンス』

� 『Oracle8i interMedia Textリファレンス』

� 『Oracle8i interMedia Text移行ガイド』

� 『Oracle8i Visual Information Retrieval User's Guide』

� 『Oracle8i Visual Information Retrieval Java Client User’s Guide』

� 『Oracle8i Time Seriesユーザーズ・ガイド』

� 『Oracle8i Spatialユーザーズ・ガイドおよびリファレンス』

Oracle8i interMediaOracle8i interMediaには、次のコンポーネントがあります。

� Text

� Audio、Videoおよび Image

� Locator

Text

Oracle8iには、Textのデモはありません。ただし、interMedia Textには、コード・サンプルが含まれています。次の URLで、ご使用のブラウザをポイントしてください。

$ORACLE_HOME/ctx/sample/api/index.html

参照参照参照参照 : 詳細は、『Oracle8i interMedia Textリファレンス』および『Oracle8i interMedia Text移行ガイド』を参照してください。

6-2 Oracle8i for IBM AIX管理者リファレンス

Page 113: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

Oracle8i interMedia

Audio、、、、Videoおよびおよびおよびおよび Image

Oracle8i interMediaには、次に示すディレクトリにスクリプトおよびサンプル・プログラムが多数あります。

$ORACLE_HOME/ord/aud/demo/$ORACLE_HOME/ord/img/demo/$ORACLE_HOME/ord/vid/demo/

サンプルサンプルサンプルサンプル AudioスクリプトスクリプトスクリプトスクリプトAudioスクリプトは、次のファイルで構成されています。

� auddemo.sql - 次に示す Audioオブジェクトの機能を含む Audioデモンストレーションです。

– interMediaオブジェクトをチェックします。

– デモ内の Audioでサンプル表を作成します。

– Audio表にNULL行を挿入します。

– 行外をチェックします。

– すべての Audio属性を直接チェックします。

– すべての Audio属性をメソッドを呼び出すことによってチェックします。

– 2つのファイル(fplugins.sqlおよび fpluginb.sql)を使用してユーザー独自形式のプラグインをインストールします。これらのファイルについては、次の 2つの項目で説明します。また、新しい Audioデータ形式をサポートするためのinterMedia Audioの拡張方法については、『Oracle8i interMedia Audio, Image, Videoユーザーズ・ガイドおよびリファレンス』で説明しています。

� fplugins.sql - サポートする任意の形式のプラグインを書き込むためのガイドラインとして使用するデモ形式のプラグイン仕様です。

� fpluginb.sql - サポートする任意の形式のプラグインを書き込むためのガイドラインとして使用するデモ形式のプラグイン本体です。

この SQLデモを実行する要件および手順の詳細は、$ORACLE_HOME/ord/aud/demoディレクトリの README.txtファイルを参照してください。

参照参照参照参照 : 詳細は、『Oracle8i interMedia Audio, Image, Videoユーザーズ・ガイドおよびリファレンス』および『Oracle8i interMedia Audio, Image, Video Java Clientユーザーズ・ガイドおよびリファレンス』を参照してください。

Oracleデータ・オプション・デモの実行 6-3

Page 114: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

Oracle8i interMedia

Imageの変更またはの変更またはの変更またはの変更または Imageインストールのテスト用のサンプル・プログラムインストールのテスト用のサンプル・プログラムインストールのテスト用のサンプル・プログラムインストールのテスト用のサンプル・プログラム一度 Oracle8i interMedia Imageをインストールすると、Oracle8i interMedia Imageデモンストレーション・プログラムを実行できます。このプログラムは、インストールが正常に完了したかを確認するためのテストにも使用できます。

この項では、interMedia Imageデモを作成および実行するために必要な手順を示します。

interMedia Imageデモ・ファイルは、$ORACLE_HOME/ord/img/demoに保存されています。この場合、$ORACLE_HOMEは ORACLE_HOMEディレクトリです。

デモンストレーション(デモ)・インストールの手順デモンストレーション(デモ)・インストールの手順デモンストレーション(デモ)・インストールの手順デモンストレーション(デモ)・インストールの手順1. Oracle8i interMedia Imageデモは、SCOTT/TIGERデータベース・ユーザーを使用しま

す。このユーザーが存在しない場合は、作成する必要があります。次のように入力します。

% svrmgrl SVRMGR> connect internal; SVRMGR> create user SCOTT identified by tiger; SVRMGR> grant connect,resource to SCOTT;

2. $ORACLE_HOMEが ORACLE_HOMEディレクトリを示すように Imageデモ・ディレクトリを作成します。

% svrmgrl SVRMGR> connect internal; SVRMGR> create or replace directory imgdemodir as ‘$ORACLE_HOME/ord/img/demo';

3. 次のように入力して、ディレクトリの権限を PUBLICに与えます。

SVRMGR> grant read on directory imgdemodir to public with grant option;

4. 必要ならば、imgdemoプログラムを作成します。

% cd $ORACLE_HOME/ord/img/demo % make -f demo_ordimg.mk imgdemo

デモの実行デモの実行デモの実行デモの実行imgdemoファイルは、Oracle8i interMedia Imageをプログラム内からどのようにして使用できるかを示すサンプル・プログラムです。デモは C言語で書かれており、OCI(Oracle Call Interface)を使用して、データベースにアクセスし、Oracle8i interMedia Imageを実行します。

6-4 Oracle8i for IBM AIX管理者リファレンス

Page 115: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

Oracle8i interMedia

プログラムは、デモ・ディレクトリ内にビットマップ(BMP)・イメージがあるimgdemo.datで動作します。オプションとして、ファイルがデモと同じディレクトリに常駐する場合は、コマンドラインでイメージ・ファイル名を指定できます。いずれの場合も、一度イメージが Oracle8i interMedia Imageで処理されると、結果のイメージはimgdemo.outファイルに書き込まれて、指定した共通のレンダリング・ツールで表示されます。

デモが実行されると、デフォルト・データベースの SCOTT/TIGERスキーマ内のIMGDEMOTABという名前の表が削除および再作成されます。この表は、デモ・データを保持するために使用されます。一度表が作成されると、イメージ・ファイルへの参照が表に挿入されます。次に、データが表にロードされ、ORDImageの processCopy( )メソッドを使用して JFIFに変換されます。

イメージ・プロパティは、setProperties( )メソッドを使用してデータベース内に抽出されます。UPDATEコマンドは、setProperties( )の起動後に発行されます。これは、setProperties( )の起動がタイプ属性のローカル・コピーを更新するのみなので必須となります。

次に、Oracle8i interMedia Imageの process( )メソッドが、データベース内でイメージをカットおよびスケール変更するために使用されます。この次に、変更をコミットする更新が行われます。プログラムは、ピクセル位置(100,100)から始めて、100ピクセルの幅、100ピクセルの高さでイメージの一部分をカットします。このサブイメージは、元のサイズの 2倍の大きさになります。結果のイメージは、現行のディレクトリにある imgdemo.outという名前のファイルへ書き込まれます。

例例例例 6-1 コマンドラインでのデモの実行コマンドラインでのデモの実行コマンドラインでのデモの実行コマンドラインでのデモの実行

コマンドラインで imgdemoを入力することによって、デモを実行できます。オプションとして、デモ内で異なるイメージを使用できます。そうするには、最初にデモがあるディレクトリにファイルをコピーしてから、imgdemoの引数としてコマンドラインでそのファイル名を指定します。次のコマンドを入力します。

$ imgdemo optional-image-filename

デモは、その進行状況を示す多くのメッセージを表示します。それとともに、何かが正しく設定されていない場合に発生するエラーも表示します。たとえば、次のようなメッセージが表示されます。

Dropping table IMGDEMOTAB... Creating and populating table IMGDEMOTAB... Loading data into cartridge... Modifying image characteristics... Writing image to file imgdemo.out... Disconnecting from database... Logged off and detached from server. Demo completed successfully.

Oracleデータ・オプション・デモの実行 6-5

Page 116: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

Oracle8i interMedia

プログラムでエラーが発生した場合、Oracle8i interMediaソフトウェアが正しくインストールされない、またはデータベースが起動されない場合があります。プログラムが正常に完了した場合、前述したカットおよびスケール変更によって処理された元のイメージおよび結果のイメージは共通のイメージ・レンダリング・ツールで表示できます。

サンプルサンプルサンプルサンプル VideoスクリプトスクリプトスクリプトスクリプトVideoスクリプトは、次のファイルで構成されています。

� viddemo.sql - 次に示す Videoオブジェクトの機能を含む Videoデモです。

– interMediaオブジェクトをチェックします。

– デモ内の Videoでサンプル表を作成します。

– Video表にNULL行を挿入します。

– 行外をチェックします。

– すべての Video属性を直接チェックします。

– すべての Video属性をメソッドを呼び出すことによってチェックします。

– 2つのファイル(fplugins.sqlおよび fpluginb.sql)を使用してユーザー独自形式のプラグインをインストールします。これらのファイルについては、次の 2つの項目で説明します。また、新しい Videoデータ形式をサポートするためのinterMedia Videoの拡張方法については、『Oracle8i interMedia Audio, Image, Videoユーザーズ・ガイドおよびリファレンス』で説明しています。

� fplugins.sql - サポートする任意の形式のプラグインを書き込むためのガイドラインとして使用するデモ形式のプラグイン仕様です。

� fpluginb.sql - サポートする任意の形式のプラグインを書き込むためのガイドラインとして使用するデモ形式のプラグイン本体です。

この SQLデモの実行方法の要件および手順の詳細は、$ORACLE_HOME/ord/vid/demoディレクトリの README.txtファイルを参照してください。

JavaデモデモデモデモJavaデモは、Audioおよび Video両方のクライアント側で Javaクラスを使用して、ユーザー独自のアプリケーションの作成方法を理解するのに役立ちます。これら 2つのデモでは、Audioおよび Videoオブジェクトがクライアント側で即座に、多数のアクセサ方式が呼ばれます。Audioの Javaデモ・ファイルは、ORACLE_HOME/ord/aud/demoディレクトリに保存されています。また、Videoの Javaデモ・ファイルは、$ORACLE_HOME/ord/vid/demoディレクトリに保存されています。それぞれの Javaデモを実行する要件および手順の詳細は、README.txtファイルを参照してください。

6-6 Oracle8i for IBM AIX管理者リファレンス

Page 117: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

Oracle8i interMedia

MediaAnnotatorMediaAnnotatorプログラムは、Oracle8i interMediaに含まれていません。その他の使用可能な Oracleソフトウェアとともに、次の URLで検索できます。

http://www.oracle.com/products/

LocatorOracle8i interMedia Locatorには、変更および実行できるスクリプトが多数あります。

サンプル・スクリプトサンプル・スクリプトサンプル・スクリプトサンプル・スクリプトOracle8i interMedia Locatorのサンプル・スクリプトは、この製品をインストールした後に、次のディレクトリで使用可能となります。

$ORACLE_HOME/md/demo/geocoder これらのスクリプトは、次のファイルで構成されています。

� geohttp.sql

このファイルは、2つに分かれています。1つは、対話モードでジオコード機能を実行します。もう 1つは、バッチ・モードでジオコード機能を実行します。

– 対話モード

ファイルのこの部分のリストについては、『Oracle8i interMedia Locatorユーザーズ・ガイドおよびリファレンス』の「GEOCODE1ファンクション(最終行フィールド)」の例 1を参照してください。

– バッチ・モード

バッチ・モードで geohttp.sqlを実行する前に、nh_cs.sqlファイルで設定表を更新しておく必要があります。ファイルのこの部分のリストについては、『Oracle8i interMedia Locatorユーザーズ・ガイドおよびリファレンス』の「GEOCODE1ファンクション(lastlineフィールドを含む)」の例 2または例 3を参照してください。

参照参照参照参照 : 詳細は、『Oracle8i interMedia Locatorユーザーズ・ガイドおよびリファレンス』を参照してください。

Oracleデータ・オプション・デモの実行 6-7

Page 118: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

Oracle8i interMedia

� geoindex.sql

このファイルには、次のものが含まれています。

– ESTIMATE_LEVELという名前のファンクションです。このファンクションは、100マイルを超える半径距離を使用しての問合せを、WITHIN_DISTANCE空間ロケータ索引で使用する索引レベルでの見積りを改善します。このファイルのリストについては、『Oracle8i interMedia Locatorユーザーズ・ガイドおよびリファレンス』の「ESTIMATE_LEVEL」の例を参照してください。

– SETUP_LOCATOR_INDEX という名前のプロシージャ文です。このプロシージャ文は、空間情報が格納されている cust_table表内の空間情報を含む位置列において、セットアップ空間ロケータ索引を作成します。このファイルのリストについては、『Oracle8i interMedia Locatorユーザーズ・ガイドおよびリファレンス』の第2章の「SETUP_LOCATOR_INDEX」の例を参照してください。

� geolocate.sql

このファイルには、ルーチンが含まれています。このルーチンは、関心事の形状を動的に作成して、オフィスの半径 10マイルの範囲内でどのくらい格納されているかを検索するために NH_COMPUTER_STORES表に対して問い合せます。このファイルのリストについては、『Oracle8i interMedia Locatorユーザーズ・ガイドおよびリファレンス』の「LOCATOR_WITHIN_DISTANCE」の例 2を参照してください。

6-8 Oracle8i for IBM AIX管理者リファレンス

Page 119: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

Oracle8i Time Seriesデモ

Oracle8i Time Seriesデモデモデモデモ

表 6-1 に、Oracle8i Time Seriesに含まれるデモを示します。この表では、各デモの説明およびそれらのファイルがインストールされるデフォルト・ディレクトリを示します。

デモ・ディレクトリは、$ORACLE_HOME/ord/tsで検索できます。

参照参照参照参照 : 詳細は、『Oracle8i Time Seriesユーザーズ・ガイド』を参照してください。

表表表表 6-1 Oracle8i Time Series デモデモデモデモ

説明説明説明説明 ディレクトリディレクトリディレクトリディレクトリ

クイック・スタート・デモは、素早く簡単に Oracle8i Time Seriesの使用を開始します(詳細は、『Oracle8i Time Seriesユーザーズ・ガイド』の第1章を参照)。

demo/tsquick

使用方法デモは、エンド・ユーザー向けおよび既存の Oracle8i Time Series機能を使用する製品開発者向けです(詳細は、『Oracle8i Time Seriesユーザーズ・ガイド』の第 1章を参照)。

demo/usage

電子ユーティリティ・アプリケーションは、15分間のデータのサマリーをピークおよびオフ・ピークで計算する方法を示します。

demo/usageutl

Time Seriesデータの Javaベース検索は、Oracle8i Time Series Java APIのプロトタイプを使用して、Webブラウザで実行するために設計されています(詳細は、『Oracle8i Time Seriesユーザーズ・ガイド』の第 1章を参照)。

demo/applet

Javaコードのサンプル・セグメントは、Time Seriesを操作して、その結果を印刷します(詳細は、『Oracle8i Time Seriesユーザーズ・ガイド』の第 1章を参照)。

demo/java

管理ツールを使用して既存の Time Seriesディテール表をレトロフィットする手順を示すデモです。また、Time Seriesディテール表の複数の修飾子列に対する、Time Series問合せのサポート方法も示します。

demo/retrofit

上級開発者デモは、Oracle8i Time Seriesファンクションを拡張するためのものです。

demo/extend

OCIデモは、Oracleコール・インタフェースを使用して Oracle8i Time Seriesファンクションを呼び出す方法を示します。

demo/oci

Pro*C/C++デモは、Oracle Pro*C/C++プリコンパイラを使用して作成されるアプリケーションの Oracle8i Time Seriesファンクションを呼び出す方法を示します。

demo/proc

Oracle Developerデモは、Oracle Formsアプリケーションで Oracle8i Time Seriesファンクションを呼び出す方法を示します。

demo/dev2k

Oracleデータ・オプション・デモの実行 6-9

Page 120: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

Oracle8i Visual Information Retrieval

デモ・ディレクトリにある README.txtファイルは、デモを説明しています。また、各デモ用のディレクトリには、そのデモの詳細を説明している README.txtファイルが含まれています。

Oracle8i Visual Information Retrieval

Visual Information Retrievalには、サンプル・プログラムが含まれています。このサンプル・プログラムは、2つのイメージをデータベースへロードする方法、それらのシグネチャを生成する方法、および類似の重み付け機能を使用してシグネチャを比較する方法を示します。

このプログラムは、2つのデータ・ファイル(virdemo1.datおよび virdemo2.dat)をそれらの入力のために使用します。その他の入力またはパラメータは必要ありません。

環境環境環境環境次のように仮定されています。

� Visual Information Retrievalがインストールされていて、PUBLICに EXECUTE権限があります。

� インストール・スクリプトが実行されています。VIRDEMODIRディレクトリが作成されていて、PUBLICに READ権限が与えられていて、イメージ・データ・ファイルをデータベースに読み込むことができます。

� virdemo1.datおよび virdemo2.datが、VIRDEMODIRディレクトリに常駐する有効なイメージ・ファイルです。また、ユーザーはそのディレクトリに対して読込み /書込みができます。

� ユーザー SCOTTには、デフォルトのパスワード TIGERが設定されています。このサンプル・プログラムを正常に実行するためには、SCOTTに割り当てる表領域を増やす必要があります。

サンプル・プログラムの実行サンプル・プログラムの実行サンプル・プログラムの実行サンプル・プログラムの実行サンプル・プログラムを実行するには、2つの方法があります。1つは、含まれているサンプル・イメージを使用する方法、もう 1つはユーザー独自のイメージを使用する方法です。

例 6-2に、含まれているイメージ・ファイルを使用してサンプル・プログラムを実行する例を示します。イメージは、同じ属性の重みを使用して比較されます。

� Globalcolor = 1.0

� Localcolor = 1.0

参照参照参照参照 : 詳細は、『Oracle8i Visual Information Retrieval User's Guide and Reference』および『Oracle8i Visual Information Retrieval Java Client User's Guide and Reference』を参照してください。

6-10 Oracle8i for IBM AIX管理者リファレンス

Page 121: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

Oracle8i Spatial

� Texture = 1.0

� Structure = 1.0

例例例例 6-2 含まれているイメージでのサンプル・プログラムの実行含まれているイメージでのサンプル・プログラムの実行含まれているイメージでのサンプル・プログラムの実行含まれているイメージでのサンプル・プログラムの実行

% virdemoImage 1 and 2 have a similarity score of 0.0

例 6-3に、コマンドラインでユーザー独自のイメージを指定する方法を示します。イメージは、$ORACLE_HOME/ord/vir/demoディレクトリに保存しておく必要があります。

例例例例 6-3 ユーザー独自のイメージでのサンプル・プログラムの実行ユーザー独自のイメージでのサンプル・プログラムの実行ユーザー独自のイメージでのサンプル・プログラムの実行ユーザー独自のイメージでのサンプル・プログラムの実行

% virdemo image1 image2 global_color local_color texture structure 6つすべてのパラメータである、2つのファイル名および 4つの属性の重み(0.0から 1.0まで)が、このサンプル・プログラムでは指定されている必要があります。ユーザー独自のアプリケーションで VIRScore( )演算子を使用する場合は、少なくとも 1つの属性の重みを指定する必要があります。

いくつかのサンプル・イメージ・ファイルが、異なるビジュアル属性を強調する効果を示すために VIRDEMODIRディレクトリに提供されています。イメージを表示して、サンプル・プログラムを使用して異なる重みを比較してみるには、イメージ・ビューア(xvなど)を使用できます。

Oracle8i Spatial

より詳細な情報は、$ORACLE_HOME/md/demo/readme.txtを参照してください。

参照参照参照参照 : 詳細は、『Oracle8i Visual Information Retrieval User's Guide and Reference』の Appendix Bを参照してください。

参照参照参照参照 : 詳細は、『Oracle8i Spatialユーザーズ・ガイドおよびリファレンス』を参照してください。

Oracleデータ・オプション・デモの実行 6-11

Page 122: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

Oracle8i Spatial

6-12 Oracle8i for IBM AIX管理者リファレンス

Page 123: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

AIXでの Optimal Flexible Archite

A

AIXでのでのでのでの Optimal Flexible Architecture

オラクル社では、Oracle8iに対して Optimal Flexible Architecture(OFA)標準を適用することをお薦めしています。 OFA標準は、高速で、メンテナンスの必要性を最小限に抑えた信頼性の高いデータベース構成を実現するためのガイドラインです。

OFAには、次の目的があります。

� デバイスのボトルネックやパフォーマンスの低下が起きないように、ディスク上の大量で複雑なソフトウェアおよびデータを編成します。

� データの損傷を起こす可能性のある管理タスク(ソフトウェアやデータのバックアップ機能など)を簡略化します。

� 複数の Oracleデータベースでの移動を簡単にします。

� データベースの拡張を適切に管理します。

� データ・ディクショナリの空き領域の断片化を回避し、その他の領域で起きる断片化を分離し、リソースの競合を最小限に抑えます。

この章では、OFAの AIX固有の情報について説明します。

� Optimal Flexible Architecture(OFA)の概要

� UNIXで適用される OFA

cture A-1

Page 124: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

Optimal Flexible Architecture(OFA)の概要

Optimal Flexible Architecture((((OFA)の概要)の概要)の概要)の概要

ファイル・システムの編成ファイル・システムの編成ファイル・システムの編成ファイル・システムの編成ファイル・システムは、管理が容易で、かつ次のスケーラビリティに対応できるように編成されています。

� 既存のデータベースへのデータの追加

� ユーザーの追加

� データベースの作成

� ハードウェアの追加

I/O負荷の分散負荷の分散負荷の分散負荷の分散I/O負荷を十分な数のディスク・ドライブに分散させるので、パフォーマンスのボトルネックが起きません。

ハードウェア・サポートハードウェア・サポートハードウェア・サポートハードウェア・サポート操作上の考慮事項に矛盾しない範囲で、ハードウェア・コストを最小限に抑えられます。

ドライブの障害に対する予防措置ドライブの障害に対する予防措置ドライブの障害に対する予防措置ドライブの障害に対する予防措置複数ドライブにアプリケーションを分散することによって、ドライブに障害が起きた場合でも、アプリケーションへの影響を最小限に抑えられます。

ホーム・ディレクトリの分散ホーム・ディレクトリの分散ホーム・ディレクトリの分散ホーム・ディレクトリの分散次のものを、複数のディスク・ドライブに分散できます。

� 複数のホーム・ディレクトリ

� 各ホーム・ディレクトリの内容

ログイン・ホーム・ディレクトリの整合性ログイン・ホーム・ディレクトリの整合性ログイン・ホーム・ディレクトリの整合性ログイン・ホーム・ディレクトリの整合性ログイン・ホーム・ディレクトリを参照するプログラムを修正しなくても、ログイン・ホーム・ディレクトリを追加、移動または削除できます。

UNIX ディレクトリ・サブツリーの独立性ディレクトリ・サブツリーの独立性ディレクトリ・サブツリーの独立性ディレクトリ・サブツリーの独立性ファイルのカテゴリは、独立した UNIXディレクトリ・サブツリーに分類されています。そのため、あるカテゴリのファイルでの操作によって、別のカテゴリのファイルが受ける影響を最小限に抑えることができます。

A-2 Oracle8i for IBM AIX管理者リファレンス

Page 125: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

Optimal Flexible Architecture(OFA)の概要

アプリケーション・ソフトウェアの同時実行サポートアプリケーション・ソフトウェアの同時実行サポートアプリケーション・ソフトウェアの同時実行サポートアプリケーション・ソフトウェアの同時実行サポート複数バージョンのアプリケーション・ソフトウェアを同時に実行できます。これによって、ユーザーはアプリケーションの古いバージョンを削除しなくても、新しいリリースのアプリケーションを使用できます。 アップグレード後に新しいバージョンへ移行する作業は、管理者にとっては簡単な作業で、ユーザーがその作業を意識する必要はありません。

各データベースの管理情報の区別各データベースの管理情報の区別各データベースの管理情報の区別各データベースの管理情報の区別データベースごとに管理情報を区別できるため、管理データをわかりやすい構造で編成および保存できます。

データベース・ファイルの命名規則データベース・ファイルの命名規則データベース・ファイルの命名規則データベース・ファイルの命名規則データベース・ファイルには、次の命名規則があります。

� 他のファイルと区別しやすい名前にします。

� 2つのデータベースに属するファイルが、どちらのデータベースに属するかを区別できる名前にします。

� 制御ファイル、REDOログ・ファイルおよびデータ・ファイルであることが識別できる名前にします。

� データ・ファイルと表領域の関係が明確に識別できる名前にします。

表領域の内容の分割表領域の内容の分割表領域の内容の分割表領域の内容の分割表領域の内容が分割されているため、次の利点があります。

� 表領域内の空き領域の断片化を最小限に抑えられます。

� I/O要求の競合を最小限に抑えられます。

� 管理面の柔軟性が高くなります。

すべてのドライブに分散されているすべてのドライブに分散されているすべてのドライブに分散されているすべてのドライブに分散されている I/O負荷のチューニング負荷のチューニング負荷のチューニング負荷のチューニングOracleデータを RAWデバイスに保存しているドライブを含め、すべてのドライブへの I/O負荷をチューニングします。

Parallel Server におけるにおけるにおけるにおける OFA のその他の利点のその他の利点のその他の利点のその他の利点Oracle Parallel Serverのインストールでは、他にも次の利点があります。

� すべての管理データを一元管理できます。

� あるインスタンスの管理データは、ファイル名によってそのインスタンスと対応付けることができます。

AIXでの Optimal Flexible Architecture A-3

Page 126: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

UNIXで適用される OFA

UNIXで適用されるで適用されるで適用されるで適用される OFAデータベース・ファイルの命名規則に従うことによって、データ管理の様々な問題を回避できます。 ここで説明している OFA規則は、『The OFA Standard: Oracle for Open Systems』に記載されている OFA推奨事項に対応しています。

マウント・ポイントマウント・ポイントマウント・ポイントマウント・ポイント

マウント・ポイントの作成マウント・ポイントの作成マウント・ポイントの作成マウント・ポイントの作成Oracle8iで 2つ以上のマウント・ポイント(ソフトウェア用に 1つおよびデータベース・ファイル用に 1つ以上)が必要です。 Optimal Flexible Architecture(OFA)に準拠してインストールするには、4つ以上のマウント・ポイント(ソフトウェア用に 1つおよびデータベース・ファイル用に 3つ以上)が必要です。

マウント・ポイントの構文マウント・ポイントの構文マウント・ポイントの構文マウント・ポイントの構文すべてのマウント・ポイントは、/pmという構文で名前を付けます。この場合、pは文字列定数、mは各マウント・ポイントを区別するための一意の固定長キー(通常、2桁の数字)です。 たとえば、/u01および /u02、/disk01および /disk02などです。

超大規模データベース(超大規模データベース(超大規模データベース(超大規模データベース(VLDB)のマウント・ポイントの名前)のマウント・ポイントの名前)のマウント・ポイントの名前)のマウント・ポイントの名前1つのアプリケーションが使用するデータベース・ファイルが各ディスク・ドライブにあり、各データベースで I/Oのボトルネックが発生しないほど十分なドライブがある場合、/q/dm という構文で、マウント・ポイントに名前を付けます。表 A-1 に、この構文について示します。

たとえば、/u01/oradata/testおよび /u02/oradata/testという名前のマウント・ポイントは、Oracleテスト・データベースに 2つのドライブを割り当てます。

表表表表 A-1 マウント・ポイントの名前の構文マウント・ポイントの名前の構文マウント・ポイントの名前の構文マウント・ポイントの名前の構文

q Oracleデータが保存されていることを示す文字列

dm 初期化パラメータ DB_NAMEの値(単一インスタンス・データベースのインスタンス sidと同じ)

A-4 Oracle8i for IBM AIX管理者リファレンス

Page 127: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

UNIXで適用される OFA

ディレクトリの名前ディレクトリの名前ディレクトリの名前ディレクトリの名前

ホーム・ディレクトリの構文ホーム・ディレクトリの構文ホーム・ディレクトリの構文ホーム・ディレクトリの構文/pm/h/uという構文で、ホーム・ディレクトリに名前を付けます。表 A-2 に、この構文について示します。

たとえば、/u01/app/oracleは、Oracleソフトウェア所有者のホーム・ディレクトリ(ORACLE_BASEの値で、OUIを使用してインストールする場合のデフォルト値)で、/u01/app/applmgrは、Oracleアプリケーション・ソフトウェア所有者のホーム・ディレクトリです。

ホーム・ディレクトリを UNIXファイル・システム内の同一レベルに置くと、別のマウント・ポイントにあるアプリケーション所有者のログイン・ホーム・ディレクトリの集まりを、決まった形式(たとえば、/*/app/*)で参照できます。

パス名の参照パス名の参照パス名の参照パス名の参照明示的なパス名は、そのパス名を特別に保存するファイル(/etc/passwd、Oracle/etc/oratabファイルなど)で参照します。 グループのメンバーは、/etc/groupファイルで参照します。

ソフトウェア・ディレクトリソフトウェア・ディレクトリソフトウェア・ディレクトリソフトウェア・ディレクトリ複数バージョンのアプリケーション・ソフトウェアを同時に実行するための OFA要件を満たすために、各バージョンの Oracle8iソフトウェアを /pm/h/product/vという構文の 1つのディレクトリに保存します。表 A-3 に、この構文について示します。

たとえば、/u01/app/oracle/product/8.1.6 は、Oracle8iファイルが保存されているディレクトリ構造の先頭を示します。 環境変数 ORACLE_HOMEは、この値に設定します。

表表表表 A-2 ホーム・ディレクトリの名前の構文ホーム・ディレクトリの名前の構文ホーム・ディレクトリの名前の構文ホーム・ディレクトリの名前の構文

pm マウント・ポイントの名前

h 標準のディレクトリ名

u ディレクトリの所有者の名前

表表表表 A-3 Oracle8iソフトウェアを保存するディレクトリ名の構文ソフトウェアを保存するディレクトリ名の構文ソフトウェアを保存するディレクトリ名の構文ソフトウェアを保存するディレクトリ名の構文

h 標準のディレクトリ名

v ソフトウェアのバージョン

AIXでの Optimal Flexible Architecture A-5

Page 128: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

UNIXで適用される OFA

ファイルの名前ファイルの名前ファイルの名前ファイルの名前

管理ファイル管理ファイル管理ファイル管理ファイル管理データの編成を簡略化するために、データベース固有の管理ファイルをh/admin/d/a/というサブディレクトリに保存しておくことをお薦めします。この場合、hは Oracleソフトウェア所有者のホーム・ディレクトリ、dはデータベース名(DB_NAME)、aは表 A-4 に示すデータベース管理ファイルのそれぞれのサブディレクトリを表しています。

たとえば、sabという名前のデータベースの一部である場合、サブディレクトリ adhocのパス名は、/u01/app/oracle/admin/sab/adhoc/です。

データベース・ファイルデータベース・ファイルデータベース・ファイルデータベース・ファイル次の命名規則に従ってデータベース・ファイルに名前を付けることによって、それらの識別が簡単になります。

� 制御ファイルの場合、/pm/q/d/control.ctl

� REDOログ・ファイルの場合、/pm/q/d/redon.log

� データ・ファイルの場合、/pm/q/d/tn.dbf

表 A-5 に、この構文について示します。

表表表表 A-4 データベース管理ファイルのサブディレクトリデータベース管理ファイルのサブディレクトリデータベース管理ファイルのサブディレクトリデータベース管理ファイルのサブディレクトリ

adhoc 指定したデータベースの非定型 SQLスクリプト

arch アーカイブ REDOログ・ファイル

adump 監査ファイル(configdb_name.oraの AUDIT_FILE_DESTを、この位置に設定します。 このサブディレクトリは、定期的に整理してください。)

bdump バックグラウンド・プロセスのトレース・ファイル

cdump コア・ダンプ・ファイル

create データベースを作成するプログラム

exp データベース・エクスポート・ファイル

logbook データベースの状態および履歴を記録するファイル

pfile インスタンス・パラメータ・ファイル

udump ユーザー SQLトレース・ファイル

A-6 Oracle8i for IBM AIX管理者リファレンス

Page 129: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

UNIXで適用される OFA

たとえば、この規則に従って /u03/oradata/sab/system01.dbfという名前のデータ・ファイルを作成すると、そのファイルが属しているデータベースを簡単に判断できます。

要件に応じた個々のセグメント要件に応じた個々のセグメント要件に応じた個々のセグメント要件に応じた個々のセグメント異なる表領域間で、存在期間、I/O要求の必要性およびバックアップの頻度別に、セグメントをいくつかのグループに分類します。

Oracleデータベースごとに、表 A-6 に示す特殊な表領域を作成します。 アプリケーション・セグメントに必要な表領域以外に、これらの表領域が必要です。

この方法でセグメントを分割すると、ディクショナリ・セグメントが削除されることはなく、また、削除できるその他のセグメントが SYSTEM表領域に保存されることはありません。 これによって、表領域の空き領域が断片化したために SYSTEM表領域を再作成する必要はなくなります。

表表表表 A-5 データベース・ファイルの名前の構文データベース・ファイルの名前の構文データベース・ファイルの名前の構文データベース・ファイルの名前の構文

pm マウント・ポイント名

q Oracleデータを他の Oracleファイルと区別するための文字列(通常、ORACLEまたは oradata)

d データベースの DB_NAME

t Oracle表領域名

n 2桁の数字

注意注意注意注意 : /pm/q/dに、データベース dに対応付けられた制御ファイル、REDOログ・ファイル、データ・ファイル以外のファイルは保存しないでください。

表表表表 A-6 特殊な表領域特殊な表領域特殊な表領域特殊な表領域

SYSTEM データ・ディクショナリ・セグメント

TEMP テンポラリ・セグメント

RBS ロールバック・セグメント

USERS その他のユーザー・セグメント

INDX USERS表領域のデータに対応付けられた索引

OEM_REPOSITORY Oracle Enterprise Managerのリポジトリ

DRSYS Oracle interMediaセグメント

AIXでの Optimal Flexible Architecture A-7

Page 130: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

UNIXで適用される OFA

アプリケーション・データが保存されている表領域にロールバック・セグメントが保存されることはないため、管理者は、アプリケーションの表領域をオフラインにしてメンテナンスを行うことができます。 セグメントは種類別に分割されているので、管理者は、複雑なツールを使用しなくてもデータ拡張の記録および見積りができます。

表領域の名前表領域の名前表領域の名前表領域の名前表領域の名前は、8文字以下で指定します。 Oracle8iでは表領域に 30文字の名前を付けることができますが、UNIXファイル名としては、14文字までに制限されています。 データ・ファイル名は、tnn.dbfという構文で指定することをお薦めします。この場合、tは表領域名、nnは 2桁の数字からなる文字列です。nnおよび .dbfで 14文字のうち 6文字を使用するため、表領域に使用できるのは 8文字までになります。

データ・ファイルの名前とそのデータ・ファイルを使用する表領域の関連性がわかるような名前にします。 たとえば、General Ledgerデータと索引を保存するための表領域には、それぞれ GLDおよび GLXという名前を指定します。

OFA構造に基づいた構造に基づいた構造に基づいた構造に基づいた Oracleファイルファイルファイルファイル 表 A-7 に、ファイルのクラスを識別するための構文を示します。

注意注意注意注意 : 表領域の名前に「tablespace」という語を連想させる文字列を付ける必要はありません。 表領域は、前後関係から識別できるので、名前によってタイプに関する情報を示す必要はありません。

表表表表 A-7 ファイルのクラスを識別するためのディレクトリ構造の構文ファイルのクラスを識別するためのディレクトリ構造の構文ファイルのクラスを識別するためのディレクトリ構造の構文ファイルのクラスを識別するためのディレクトリ構造の構文

/u[0-9][0-9] ユーザー・データ・ディレクトリ

/*/home/* ユーザー・ホーム・ディレクトリ

/*/app/* ユーザー・アプリケーション・ソフトウェア・ディレクトリ

/*/app/applmgr Oracle appsソフトウェアのサブツリー

/*/app/oracle/product Oracleソフトウェアのサブツリー

/*/app/oracle/product/8.1.6 Oracle8iリリース 8.1.6の配布ファイル

/*/app/oracle/admin/sab sabデータベースの管理サブツリー

/*/app/oracle/admin/sab/arch/* sabデータベースのアーカイブ・ログ・ファイル

/*/oradata Oracleデータのディレクトリ

/*/oradata/sab/* sabデータベース・ファイル

/*/oradata/sab/*.log sabデータベースの REDOログ・ファイル

A-8 Oracle8i for IBM AIX管理者リファレンス

Page 131: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

UNIXで適用される OFA

OFAファイルのマッピングファイルのマッピングファイルのマッピングファイルのマッピング表 A-8 に、ファイルのマウント・ポイント、アプリケーション、データベース、表領域などが含まれる、OFAに準拠したサンプル・データベースのファイル・マッピングの階層を示します。 ファイル名によって、ファイルの種類(制御、ログまたはデータ)がわかります。

表表表表 A-8 OFAインストールの階層型ファイル・マッピングインストールの階層型ファイル・マッピングインストールの階層型ファイル・マッピングインストールの階層型ファイル・マッピング

/ ルート・マウント・ポイントu01/ Oracleソフトウェアのマウント・ポイント #1

app/ appソフトウェアのサブツリーoracle/ Oracleソフトウェア所有者のホーム・ディレクトリ

admin/ データベース管理ファイルのサブツリーTAR/ サポート・ログのサブツリーdb_name1/ db_name1データベースの管理サブツリー

bdump/ background_dump_dest

cdump/ core_dump_dest

udump/ user_dump_dest

create/ データベース作成 SQLスクリプトpfile データベース initパラメータ・ファイルdb_name2/ db_name2データベースの管理サブツリー

doc/ オンライン・ドキュメントlocal/ ローカルの Oracleソフトウェアのサブツリー

aps6/ Oracle6管理パッケージaps7/ Oracle7管理パッケージ

product/ 配布ファイル7.3.4/ 7.3.4インスタンスの ORACLE_HOME

8.0.6/ 8.0.6インスタンスの ORACLE_HOME

8.1.6/ 8.1.6インスタンスの ORACLE_HOME

oraInventory Oracle8i Inventoryのサブツリーlogs インストール・ログ・ファイル

home/ ログイン・ホーム・ディレクトリのサブツリーltb/ ユーザーのホーム・ディレクトリsbm/ ユーザーのホーム・ディレクトリ

u02/ Oracleソフトウェアのマウント・ポイント #2

home/ ログイン・ホーム・ディレクトリのサブツリーcvm/ ユーザーのホーム・ディレクトリvrm/ ユーザーのホーム・ディレクトリ

oradata/ Oracleデータのサブツリー

AIXでの Optimal Flexible Architecture A-9

Page 132: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

UNIXで適用される OFA

RAWデバイスのサイズデバイスのサイズデバイスのサイズデバイスのサイズOracleデータベース・ファイルを保存するための RAWデバイスはすべて、標準的なサイズに設定できます。 できるだけ 1つのサイズに標準化してください。 これによって RAWファイルをあるパーティションから別のパーティションに確実に移動できます。 必要な数のデータベース・ファイルを保存できる程度の大きさで、かつ、操作しにくくならない程度の大きさに設定してください。

たとえば、2GBのドライブの場合、サイズと数のバランスを取るために、大きさが 200MBの 10個のパーティションに分割します。 RAWデバイスを使用するすべての表領域は、複数のドライブにストライプ化してください。 できれば、論理ボリューム・マネージャを使用してストライプ化してください。

複数インスタンスにおける複数インスタンスにおける複数インスタンスにおける複数インスタンスにおける OFAに準拠したデータベースのファイル・マッに準拠したデータベースのファイル・マッに準拠したデータベースのファイル・マッに準拠したデータベースのファイル・マッピングピングピングピング

Oracle Parallel Serverを使用する場合、そのクラスタに対して Oracle管理ホーム・ディレクトリとして機能するノードを 1つ選択します。 管理ホーム・ディレクトリには、管理サブツリーが含まれます。 ~/admin/d/にある bdump、cdump、logbook、pfileおよび udumpディレクトリのデータベースにアクセスする各インスタンスにサブディレクトリを作成します。 管理ホームの adminディレクトリは、すべてのインスタンスの adminディレクトリにマウントする必要があります。 表 A-9 に例を示します。

db_name1/ db_name1データベース・ファイルのサブツリー

db_name2/ db_name2データベース・ファイルのサブツリー

u03/ ユーザー・データのマウント・ポイント #3

oradata/ Oracleデータのサブツリーdb_name1/ db_name1データベース・ファイルのサブツリー

db_name2/ db_name2データベース・ファイルのサブツリー

u04/ ユーザー・データのマウント・ポイント #4

oradata/ Oracleデータのサブツリーdb_name1/ db_name1データベース・ファイルのサブツリー

db_name2/ db_name2データベース・ファイルのサブツリー

/var

opt/

oracle/ oratabおよび oraInst.locの保存場所

/usr ユーザー・データのマウント・ポイント #4

lbin/ oraenv/coraenv/dbhomeスクリプト

表表表表 A-8 OFAインストールの階層型ファイル・マッピングインストールの階層型ファイル・マッピングインストールの階層型ファイル・マッピングインストールの階層型ファイル・マッピング

A-10 Oracle8i for IBM AIX管理者リファレンス

Page 133: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

UNIXで適用される OFA

表表表表 A-9 二重インスタンスを持つ二重インスタンスを持つ二重インスタンスを持つ二重インスタンスを持つ Oracle Parallel Serverの管理ディレクトリ構造の管理ディレクトリ構造の管理ディレクトリ構造の管理ディレクトリ構造

u01/ app/oracle/admin/sab/ sabデータベース用の管理ディレクトリ

adhoc/ スクリプト用のディレクトリarch/ すべてのインスタンス用のログ・アーカイブ先

redo001.arc アーカイブ REDOログ・ファイル

bdump/ バックグラウンド・ダンプ・ファイルのディレクトリinst1/ inst1インスタンスのバックグラウンド・ダンプ先

inst2/ inst2インスタンスのバックグラウンド・ダンプ先

cdump/ コア・ダンプ・ファイル用のディレクトリinst1/ inst1インスタンスのコア・ダンプ先

inst2/ inst2インスタンスのコア・ダンプ先

create/ 作成スクリプト用のディレクトリ1-rdbms.sql instデータベース作成用の SQLスクリプト

exp/ エクスポート用のディレクトリ19990120full.dmp 1999年 1月 20日のフル・エクスポート・ダンプ・ファ

イルexport/ エクスポート・ファイル用のディレクトリimport/ インポート・ファイル用のディレクトリ

logbook/ instログブック・エントリ用のディレクトリ

inst1/ inst1インスタンス・レポート用のディレクトリ

params.lst inst1インスタンスの v$parameterレポート

inst2/ inst2インスタンス・レポート用のディレクトリ

params.lst inst2インスタンスの v$parameterレポート

user.lst dba_usersレポート

pfile/ インスタンス・パラメータ・ファイル用のディレクトリinst1/ inst1インスタンス・パラメータ用のディレクトリ

init inst1インスタンスのインスタンス・パラメータ

inst2/ inst2インスタンス・パラメータ用のディレクトリ

init inst2インスタンスのインスタンス・パラメータ

udump/ ユーザー・ダンプ・ファイル用のディレクトリinst1/ inst1インスタンスのユーザー・ダンプ先

inst2/ inst2インスタンスのユーザー・ダンプ先

AIXでの Optimal Flexible Architecture A-11

Page 134: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

UNIXで適用される OFA

ディレクトリ構造ディレクトリ構造ディレクトリ構造ディレクトリ構造

ORACLE_BASE ディレクトリディレクトリディレクトリディレクトリORACLE_BASEは、Oracleディレクトリ構造のルートです。 表 A-10 に、ORACLE_BASEディレクトリ構造の詳細を示します。 Oracle Universal Installerを使用して OFAに準拠したデータベースをインストールすると、ORACLE_BASEはデフォルトで /pm/app/oracleに設定されています。

ORACLE_HOME ディレクトリディレクトリディレクトリディレクトリOFAに準拠した Oracle8iをインストールした場合、ORACLE_HOMEディレクトリは、/pm/app/oracle/product/release_numberです。 表 A-11 に、ORACLE_HOMEディレクトリ構造の詳細を示します。 UNIXの場合、ORACLE_HOMEディレクトリには、次のサブディレクトリ、および選択した各 Oracle製品用のサブディレクトリが含まれます。 インストールした製品用にのみディレクトリがあります。

表表表表 A-10 ORACLE_BASE ディレクトリ構造および内容ディレクトリ構造および内容ディレクトリ構造および内容ディレクトリ構造および内容

admin 管理ファイル

doc オンライン・ドキュメント

local ローカルの Oracleソフトウェアのサブツリー

product Oracleソフトウェア

注意注意注意注意 : ディレクトリの表示は、対応する製品がインストールされているかどうかによって異なります。

表表表表 A-11 ORACLE_HOMEディレクトリ構造および内容ディレクトリ構造および内容ディレクトリ構造および内容ディレクトリ構造および内容

assistants 構成アシスタント

bin すべての製品のバイナリ・ファイル

ctx interMedia Textオプション

dbs initsid.ora、lksid

install インストールした関連ファイル

lib Oracle製品ライブラリ

jlib Javaクラス

md Spatialオプション

mlx Xerox Stemmer(interMedia Textオプション用)

A-12 Oracle8i for IBM AIX管理者リファレンス

Page 135: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

UNIXで適用される OFA

製品のサブディレクトリの内容製品のサブディレクトリの内容製品のサブディレクトリの内容製品のサブディレクトリの内容各製品のサブディレクトリには、表 A-12 に示すサブディレクトリが含まれます。

network Net8

nlsrtl NLSランタイム読込み可能データ

ocommon すべての製品に共通のファイル

odg データ収集機能

opsm Parallel Server Management Components

oracore コア・ライブラリ

ord データ・オプション

otrace Oracle TRACE

plsql PL/SQL

precomp プリコンパイラ

rdbms データベースに必要なサーバー・ファイルおよびライブラリ

slax SLAXパーサー

sqlplus SQL*Plus

表表表表 A-12 製品のサブディレクトリの内容製品のサブディレクトリの内容製品のサブディレクトリの内容製品のサブディレクトリの内容

admin 管理 SQLおよびシェル・スクリプト(catalog.sql、catexp.sql、demo.sqlなど)

admin/* 他の製品専用ディレクトリ

admin/resource リソース・ファイル

admin/terminal ランタイム端末ファイル

demo デモンストレーション・スクリプトおよびデータ・ファイル

doc READMEファイル(readmeunix.docなど)

install 製品のインストール・スクリプト

jlib 製品の Javaクラス

lib 製品ライブラリおよび配布されたMakeファイル

log トレース・ファイルおよびログ・ファイル(orasrv.log、*.trcファイルなど)

mesg アメリカ英語メッセージ・ファイル、多言語オプション(旧各国語サポート)のメッセージ・テキストおよびバイナリ・ファイル(oraus.msg、oraus.msbなど)

表表表表 A-11 ORACLE_HOMEディレクトリ構造および内容ディレクトリ構造および内容ディレクトリ構造および内容ディレクトリ構造および内容

AIXでの Optimal Flexible Architecture A-13

Page 136: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

UNIXで適用される OFA

製品のサブディレクトリの例製品のサブディレクトリの例製品のサブディレクトリの例製品のサブディレクトリの例表 A-13 に、製品のサブディレクトリの例を示します。

admin ディレクトリのファイルの命名規則ディレクトリのファイルの命名規則ディレクトリのファイルの命名規則ディレクトリのファイルの命名規則表 A-14 に、rdbms/adminディレクトリに含まれる SQLスクリプトを示します。

ファイル名の拡張子ファイル名の拡張子ファイル名の拡張子ファイル名の拡張子表 A-15 に、ファイル名の拡張子を示します。

表表表表 A-13 製品のサブディレクトリの例製品のサブディレクトリの例製品のサブディレクトリの例製品のサブディレクトリの例

rdbms install、lib、admin、doc、mesg、log

sqlplus install、demo、lib、admin、doc、mesg

表表表表 A-14 adminディレクトリのファイルの命名規則ディレクトリのファイルの命名規則ディレクトリのファイルの命名規則ディレクトリのファイルの命名規則

cat*.sql カタログおよびデータ・ディクショナリ表およびビューを作成します。インストール時に次のファイルが自動的に実行されます。

� catalog.sql(すべてのインストール用)

� catproc.sql(すべてのインストール用)

� catparr.sql(Parallel Serverのインストール用)

� catrep.sql(すべてのインストール用)

catproc.sqlは、標準の PL/SQLパッケージ(DBMS_SQL、DMS_OUTPUTなど)を作成するためにスクリプトを順に実行します。

d*.sql ダウングレード・スクリプト

dbms*.sql その他のデータベース・パッケージ

u*.sql アップグレード・スクリプト

utl*.sql データベース・ユーティリティ用の表およびビューを作成するスクリプト

表表表表 A-15 ファイル名の拡張子ファイル名の拡張子ファイル名の拡張子ファイル名の拡張子

.a オブジェクト・ファイル・ライブラリ(Adaランタイム・ライブラリ)

.aud Oracle監査ファイル

.bdf X11フォント記述ファイル

.bmp X11ビットマップ・ファイル

.c Cソース・ファイル

.ctl SQL*Loader制御ファイル、Oracle制御ファイル

A-14 Oracle8i for IBM AIX管理者リファレンス

Page 137: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

UNIXで適用される OFA

.dat SQL*Loaderデータ・ファイル

.dbf Oracle表領域ファイル

.dmp エクスポート・ファイル

.doc ASCIIテキスト・ファイル

.env 環境設定用のシェル・スクリプト・ファイル

.h Cヘッダー・ファイル(sr.hは SQL*Report Writerのヘルプ・ファイル)

.jar Javaクラス・アーカイブ

.l UNIXマニュアル・ページ

.lst SQL*Plusスクリプトの出力

.log インストール・ログ・ファイル(Oracle REDOログ・ファイル)

.mk Makeファイル

.msb NLSメッセージ・ファイル(バイナリ)

.msg NLSメッセージ・ファイル(テキスト)

.o オブジェクト・モジュール

.ora Oracle構成ファイル

.orc インストール・プロトタイプ・ファイル

.pc Pro*Cソース・ファイル

.pco Pro*COBOLソース・ファイル

.ppd プリンタ・ドライバ・ファイル

.sh Bourneシェル・スクリプト・ファイル

.sql SQL*スクリプト・ファイル

.sys Bourneシェル・スクリプト・ファイル

.tab SQL*スクリプト・ファイル

.trc トレース・ファイル

.tut Bourneシェル・スクリプト・ファイル

.utd ユニフォーム端末定義

.zip Zipファイル

表表表表 A-15 ファイル名の拡張子ファイル名の拡張子ファイル名の拡張子ファイル名の拡張子

AIXでの Optimal Flexible Architecture A-15

Page 138: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

UNIXで適用される OFA

A-16 Oracle8i for IBM AIX管理者リファレンス

Page 139: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

索引索引索引索引

記号記号記号記号?使用例,1-7

@$ORACLE_SID,1-7

数字数字数字数字2タスク,1-14アーキテクチャセキュリティ,1-14

シグナル,4-17

AADDRESS指定プロトコル,5-5

AIXシステム・パラメータ,2-7

APPC/LU6.2プロトコル,5-15ADDRESS,5-15

BBEQプロトコル,5-6

ADDRESS,5-6接続パラメータの構文,5-6

Bourneシェル・スクリプトのトレース,1-6BUFFER

impのパラメータ,2-12

CC

Pro*C/C++,4-3CATPROC.SQL,A-14CLASSPATH環境変数,1-7

COBOLPro*COBOL,4-5

CONNECT INTERNALセキュリティ,1-15

coraenv,1-6

DDB_BLOCK_SIZE,2-10dbaグループ再リンク,1-15メンバー,1-14

Developer/2000(Oracle Developer)デモ,6-9

Eechoコマンド,1-2

FFORMATプリコンパイラ

Pro*COBOL,4-8

Ggetnameコマンド,5-12glogin.sqlファイル,3-2

索引索引索引索引 -1

Page 140: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

Iimp

BUFFERパラメータ,2-12Intelligent Agent

SNMPでの構成,5-17interMedia

Javaデモ,6-6MediaAnnotator,6-7サンプル Audioスクリプト,6-3サンプル Videoスクリプト,6-6サンプル・プログラム,6-4

interMedia Audio、Video、Image,6-3interMedia Locator,6-7interMedia Text,6-2I/Oスレーブ,2-18IPCプロトコル,5-7

ADDRESS,5-7ireclen,4-2

JJAVA_POOL_SIZE,1-20Javaデモ,6-9

LLARGE_POOL_SIZE,1-20login.sqlファイル,3-2

MMAXDATAFILESパラメータ,1-12maxfree,2-7MAXINSTANCESパラメータ,1-12MAXLOGFILESパラメータ,1-12MAXLOGHISTORYパラメータ,1-12MAXLOGMEMBERSパラメータ,1-12maxper,2-8maxperm,2-7MicroFocus COBOLコンパイラ,4-6minfree,2-7minperm,2-7,2-8

NNet8

ADDRESS指定,5-5APPC/LU6.2プロトコル,5-15BEQプロトコル,5-6IPCプロトコル,5-7Naming Support,5-16Oracle Advanced Security,5-18Oracle Connection Manager,5-4Oracle Enterprise Manager Intelligent Agent,5-16Oracle Names,5-4RAWプロトコル,5-8READMEファイル,5-2SPX/IPXプロトコル,5-10TCP/IPプロトコル,5-9アダプタ・ユーティリティ,5-3ファイルおよびユーティリティ,5-2プロトコルのサポート,5-4マルチスレッド・サーバー,5-4

Net8の構成ファイル,5-2NLS_LANG環境変数,1-5

ntisbsdmブロードキャスト・デーモン,5-10ntspxctlユーティリティ,5-11

OOCIデモ,6-9OFA「Optimal Flexible Architecture」を参照

Optimal Flexible Architecture,A-1OFAの特徴,A-2Oracle8 for UNIXでの実装,A-2ディレクトリ構造,A-12ファイル・マッピング,A-2,A-9

ORA_NLS環境変数,1-5Oracleメモリーの使用量,1-19

Oracle Advanced Security,5-18.bakファイル,5-18DCE 統合,5-18セキュリティおよびシングル・サインオン,5-18

Oracle Connection Manager,5-4Oracle Diagnostics Pack,2-5Oracle Enterprise Manager Intelligent Agent,5-16

tclスクリプトのデバッグ,5-17

索引索引索引索引 -2

Page 141: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

エージェント・サービスの展開および自動構成,5-16

Oracle Formsデモ,6-9Oracle Names,5-4Oracle Serverアカウント,1-13Oracle Tuning Pack,2-6ORACLE_HOME

?の使用,1-7環境変数,1-5

ORACLE_SID環境変数,1-6プロンプトの抑制,1-3

Oracle8i Spatial,6-11Oracle8iで使用する UNIX環境変数,1-7Oracle Developerデモ,6-9Oracle環境変数

EPC_DISABLED,1-5NLS_LANG,1-5ORA_NLS33,1-5ORACLE_BASE,1-5ORACLE_HOME,1-5ORACLE_PATH,1-5ORACLE_SID,1-6ORACLE_TRACE,1-6ORAENV_ASK,1-6TNS_ADMIN,1-6TWO_TASK,1-6UNIX環境変数,1-7

Oracleコール・インタフェース,4-12使用,4-12デモンストレーション・プログラム,4-12ユーザー・プログラム,4-13

Oracleコール・インタフェース(OCI)・デモ,6-9Oracleソフトウェア所有者,1-13特殊アカウント,1-13

Oracleデータ・オプション・デモの実行,6-1Oracleのシステム ID,1-6Oracleプリコンパイラと OCIのリンクおよびMake

ファイル,4-14カスタム Makeファイル,4-14未定義シンボル,4-14

OracleライブラリOracle共有ライブラリ,4-16静的リンクと動的リンク,4-15

Oracleランタイム・システムPro*COBOL,4-6

ORAENV_ASK,1-6

設定,1-3oraenvファイル説明,1-2データベース間の移動,1-3

orapwdコマンド,1-16oreclen,4-2

PPL/SQLデモンストレーションロード,1-23

Pro*C/C++Makeファイル,4-3,4-4管理,4-3シグナル,4-18システム構成ファイル,4-3使用,4-3デモ,6-9デモンストレーション・プログラム,4-3ユーザー・プログラム,4-4

Pro*COBOL,4-5FORMATプリコンパイラ,4-8Oracleランタイム・システム,4-6環境変数,4-5,4-6管理,4-5システム構成ファイル,4-5デモンストレーション・プログラム,4-6,4-7ネーミング方法の違い,4-5ユーザー・プログラム,4-8

PRODUCT_USER_PROFILE表,3-2PTX Agent,2-2PTX Manager,2-2

RRAWプロトコル,5-8README.txtファイル,6-10READMEファイル

Net8,5-2rootユーザー,1-13

SServer Manager

SHOW PARAMETERS,1-10

索引索引索引索引 -3

Page 142: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

コマンド,1-15セキュリティ,1-15

SGA,2-11SHELL,1-8SHUTDOWNコマンド,1-15セキュリティ,1-15

SIGCLD 2タスク・シグナル,4-17SIGIO 2タスク・シグナル,4-17SIGINT 2タスク・シグナル,4-17SIGPIPE 2タスク・シグナル,4-17SIGTERM 2タスク・シグナル,4-17SIGURG 2タスク・シグナル,4-17Site Profile SQL*Plus,3-2smit「System Management Interface Tool」を参照

SNMPIntelligent Agent,5-17

Spatialデモンストレーション,6-11SPOOL コマンド

SQL*Plus,3-6使用,3-6

SPX/IPXプロトコル,5-10ADDRESS,5-14getnameコマンド,5-12ntisbsdmブロードキャスト・デーモン,5-10ntspxctlユーティリティ,5-11コマンドの要約,5-12

SQL*DBASHOW PARAMETERS,1-10

SQL*Loader,2-11SQL*Module

Ada用,4-10C用,4-10

SQL*Module for Ada,4-10管理,4-10システム構成ファイル,4-10使用,4-11デモンストレーション・プログラム,4-11ユーザー・プログラム,4-12

SQL*PlusPRODUCT_USER_PROFILE 表,3-2Site Profile,3-2SPOOL コマンド,3-6User Profile,3-2オペレーティング・システム・コマンドの実行,

3-6システム・エディタ,3-5

使用,3-5制限事項,3-6設定ファイル,3-2デフォルト・エディタ,3-5デモンストレーション表,3-3ヘルプ機能,3-4割込み,3-6

SQLPATH環境変数,1-6

SQLトレース,2-4SQLの管理,3-2STARTUPコマンドセキュリティ,1-15

SYSDATETZ,1-9

System Management Interface Tool,2-3SYSTEMアカウント権限,1-13

SYSアカウント権限,1-13

TTCP/IPプロトコル,5-9

ADDRESS,5-9TIMED_STATISTICS,2-4TKPROF,2-5TNS_ADMIN環境変数,1-6

TNSリスナーOracle TCP/IPプロトコル用の構成,5-9

TWO_TASK環境変数,1-6

UUDPのチューニング,2-26UNIXセキュリティ,1-14

User ProfileSQL*Plus,3-2

utlbstat.sql,2-4utlestat.sql,2-4

Vvmtune,2-7

索引索引索引索引 -4

Page 143: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

XXA機能,4-19

ああああアカウント,1-13アダプタ・ユーティリティ,5-3

うううう受取りルーチン例,4-18

おおおおオペレーティング・システム・コマンドの実行,3-6

かかかか各国語サポート(NLS)変数,1-5

環境変数,4-6MicroFocus COBOLコンパイラ,4-6NLS_LANG,1-5ORA_NLS,1-5ORACLE_HOME,1-5ORACLE_SID,1-6ORACLE_TRACE,1-6ORAENV_ASK,1-6Pro*COBOL,4-5,4-6SHELL,1-8TNS_ADMIN,1-6,5-2TWO_TASK,1-6

関連ドキュメント,ix

きききき疑問符使用例,1-7

共通の環境oraenvファイル,1-2設定,1-2

共有メモリーSGA,1-19

けけけけ権限

dbaグループ,1-15言語,1-5

ここここ構成マスター・エージェント,5-17

構成ファイルNet8,5-2プリコンパイラ,4-2

コマンドorapwd,1-16

コマンド・インタプリタ,1-8

ささささ再リンクパラメータ,1-25

ししししシグナル

2タスク,4-17ハンドラの作成,4-17

シグナル・ハンドラシグナル,4-17使用,4-17

シグナル・ルーチン例,4-18

システム・エディタSQL*Plus,3-5

システム・グローバル領域(SGA)要件,1-19

システム構成ファイルPro*C/C++,4-3Pro*COBOL,4-5SQL*Module for Ada,4-10

システム時刻設定,1-9

システム・パラメータAIX,2-7

自動ログインremote_os_roles,1-17

シャドウ・プロセス,1-14

索引索引索引索引 -5

Page 144: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

セキュリティ,1-14上級開発者デモ,6-9初期化パラメータ

BACKGROUND_DUMP_DEST,1-10BITMAP_MERGE_AREA_SIZE,1-10COMMIT_POINT_STRENGTH,1-10CONTROL_FILES,1-10CREATE_BITMAP_AREA_SIZE,1-10DB_BLOCK_BUFFERS,1-10DB_BLOCK_SIZE,1-10DB_FILE_DIRECT_IO_COUNT,1-10DB_FILE_MULTIBLOCK_READ_COUNT,1-11DB_FILES,1-11DISTRIBUTED_TRANSACTIONS,1-11HASH_AREA_SIZE,1-11HASH_MULTIBLOCK_IO_COUNT,1-11LOG_ARCHIVE_BUFFER_SIZE,1-11LOG_ARCHIVE_BUFFERS,1-11LOG_ARCHIVE_DEST,1-11LOG_ARCHIVE_FORMAT,1-11LOG_BUFFER,1-11LOG_CHECKPOINT_INTERVAL,1-11LOG_SMALL_ENTRY_MAX_SIZE,1-11MTS_LISTENER_ADDRESS,1-11MTS_MAX_DISPATCHERS,1-11MTS_MAX_SERVERS,1-11MTS_SERVERS,1-11NLS_LANGUAGE,1-11NLS_TERRITORY,1-11OBJECT_CACHE_MAX_SIZE_PERCENT,1-11OBJECT_CACHE_OPTIMAL_SIZE,1-11OPEN_CURSORS,1-12OS_AUTHENT_PREFIX,1-12PROCESSES,1-12SHARED_POOL_SIZE,1-12SHOW PARAMETERSコマンド,1-10SORT_AREA_SIZE,1-12USER_DUMP_DEST,1-12デフォルト,1-10

すすすすスーパーユーザー,1-13スレッドのサポート,4-15

せせせせ制限リソース,1-19

制限事項(SQL*Plus),3-6ウィンドウのサイズ変更,3-6リターン・コード,3-6

静的リンクと動的リンクOracleライブラリ,4-15

セキュリティ,1-142タスク・アーキテクチャ,1-14CONNECT INTERNAL,1-15Server Managerアクセス,1-15SHUTDOWNコマンド,1-15STARTUPコマンド,1-15グループ・アカウント,1-14権限の割当て,1-15デフォルト・グループ名,1-15ファイル所有権,1-14

設定ファイルSQL*Plus,3-2

ちちちちチューニング

SGA,2-11UDP,2-26アーカイバ・バッファ,2-11メモリーおよびページング,2-7

チューニング、パフォーマンス,2-5

ててててディスク割当て制限,1-19

ディスク I/OI/Oスレーブ,2-18

データ・オプション,6-1データベース管理者実行プログラムへの権限,1-15

ファイルセキュリティ,1-15認可,1-15

ブロック・サイズ,2-10データベースの変更,1-3デバッガ・プログラム,4-2

索引索引索引索引 -6

Page 145: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

デモの使用,6-9デモンストレーションプリコンパイラ,1-24プロシージャ・オプション、PL/SQL,1-23

デモンストレーション表SQL*Plus,3-3削除,3-3手動で作成,3-3

デモンストレーション・プログラムOracleコール・インタフェース,4-12Pro*C/C++,4-3Pro*COBOL,4-6SQL*Module for Ada,4-11

デモ(デモンストレーション・ファイル)Java,6-9Oracle Developer,6-9Oracleコール・インタフェース(OCI),6-9Pro*C/C++,6-9既存表のレトロフィット,6-9上級開発者,6-9使用方法,6-9

とととと動的リンクと静的リンク

Oracleライブラリ,4-15特殊アカウント,1-13特殊グループ

root,1-14

はははは配布ソフトウェア,1-5パスワードリモート,1-16

バッファ・キャッシュ間チューニング,2-7

パフォーマンス監視ツールAIX,2-2AIX Performance Toolbox,2-2Oracle,2-4

ふふふふ複数のシグナル・ハンドラ,4-18プリコンパイラ

ireclenおよび oreclenの値,4-2

値,4-2大文字から小文字への変換,4-2概要,4-2シグナル,4-18デモンストレーションの実行,1-24ベンダー提供のデバッガ・プログラム,4-2

プリコンパイラ構成ファイル,4-2ブロック・サイズ,2-10プロトコル,5-4

ADDRESS指定,5-5

へへへへページング過度な,2-7,2-9不十分な,2-9

ヘルプ機能,3-4

ままままマスター・エージェントの構成,5-17マルチスレッド・サーバー,5-4

めめめめメモリー仮想,1-18競合,2-7共有,1-19使用量の見積り,1-18

ゆゆゆゆユーザー・プログラム

Oracleコール・インタフェース,4-13Pro*C/C++,4-4Pro*COBOL,4-8SQL*Module for Ada,4-12

ユーザー割込みハンドラ,4-18

りりりりリソースの制限,1-19リモート接続パラメータ

OS_AUTHENT_PREFIX,1-17REMOTE_OS_AUTHENT,1-17REMOTE_OS_ROLES,1-17

索引索引索引索引 -7

Page 146: Oracle8i for IBM AIX管理者リファレンス, リリースഀ …otndnld.oracle.co.jp/.../oracle8i/816/aix/J01205-01.pdfOracle8i for IBM AIX管理者リファレンス リリース8.1.6

れれれれレトロフィット・デモ,6-9

索引索引索引索引 -8