6
DAD の作成 の作成 の作成 の作成
DADを作成するには、次のステップを実行します。
1. 接続文字列を作成します。
リモート・ホスト上のデータベースにアクセスするDADの場合は、接続文字列を指定 する必要があります。データベースがOracle Application Serverと同じホストにインス トールされていても、それが別のORACLE_HOMEに存在する場合は、リモート・デー タベースと見なされます。
接続文字列は、次のファイルに存在する必要があります。
■ (NT) %ORACLE_HOME%¥net80¥admin¥tnsnames.ora
■ (UNIX) $ORACLE_HOME/network/admin/tnsnames.ora
ORACLE_HOMEはOracle Application ServerのORACLE_HOMEを指します。
例6-1に、tnsnames.oraファイル内のdemoという接続文字列を示します。
例 例例
例6-1 tnsnames.oraファイルのサンプルファイルのサンプルファイルのサンプルファイルのサンプル
# Installation Generated Net8 Configuration
# Version Date: Nov-19-98
# Filename: Tnsnames.ora demo =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(Host = db_machine)(Port= 1521)) (CONNECT_DATA = (SID = orcl))
)
この例から次のことがわかります。
注意 注意注意
注意: PL/SQLカートリッジとともにDADを使用する例は、『Oracle
Application Server PL/SQLおよびODBCアプリケーション開発者ガイ
ド』の「PL/SQLカートリッジの概要」を参照してください。
注意 注意注意
注意: この手順では、データベースおよびデータベース・リスナーが稼 動していることを前提としています。接続文字列、ユーザー名、
tnsnames.oraファイル、SIDなどの詳細は、データベースのドキュメント
を参照してください。
■ プロトコルはTCP
■ データベース・ホスト(マシン名)はdb_machine
■ 接続するデータベースのポートは1521
■ データベース名またはインスタンスはorcl
2. (UNIXユーザーの場合)作成したtnsnames.oraファイルを指すようにTNS_ADMIN 変数を設定します。次のコマンドを使用して確認します。
echo $TNS_ADMIN
3. $ORACLE_HOME/bin/tnsping ユーティリティを使用してデータベースの接続をテス
トします(ORACLE_HOMEはOracle Application Server のORACLE_HOMEを指し ています)。
tnsping demo
次のメッセージのようなメッセージが返されます。
TNS Ping Utility for Solaris: Version 8.0.5.0.0 - Production on 14-APR-99 11:10:41
(c) Copyright 1997 Oracle Corporation. All rights reserved.
Attempting to contact (ADDRESS=(PROTOCOL=TCP) (Host=db_machine)(Port=1521)) OK (20 msec)
4. 「Welcome」ページで「OAS Manager」をクリックします。
5. 設定するサイト(デフォルトでは「website40」)のフォルダを拡張します。
6. 「Oracle Application Server」フォルダを拡張します。
7. 「DB Access Descriptor」をクリックします。
8. 右フレームで「追加」アイコン( )をクリックします。
「DAD:追加」フォームが表示されます。
図図図
図6-1 「「「「Database Access Descriptor (DAD)」フォーム」フォーム」フォーム」フォーム
9. このフォームの次のフィールドに値を入力します。
DAD 名 名 名 名
作成するDADの名前を入力します。DAD名には大/小文字の区別があり、任意の英数字
および"_"文字の組合せを使用できます。
注意 注意注意
注意: 一部のユーティリティ・フォームでは、フォームの下に「新規 DADの作成」ボタンが表示され、これを使用してDADを作成できます。
このボタンをクリックすると「DAD:追加」フォーム図6-1に直接アクセ スできます。
データベース・ユーザー データベース・ユーザー データベース・ユーザー データベース・ユーザー
新規DADのデータベース・ユーザーIDを入力します。
新規データベース・ユーザーの作成(推奨)
新規データベース・ユーザーの作成(推奨) 新規データベース・ユーザーの作成(推奨)
新規データベース・ユーザーの作成(推奨)
このフォームに名前とパスワードを入力し、フォームの下の「新規データベース・ユーザー を作成する」を選択することにより、新規ユーザーを作成できます。
既存のデータベース・ユーザーの使用 既存のデータベース・ユーザーの使用 既存のデータベース・ユーザーの使用 既存のデータベース・ユーザーの使用
既存のデータベース・ユーザーを使用する場合は、追加作業を実行する必要があります。
PL/SQL Toolkitをインストールした後で、SYSユーザーとして次の権限を付与します。
SVRMGR> grant ows_standard_role to <user>
SVRMGR> grant all on websys.owa_content to <user>
データベース・ユーザーのパスワード データベース・ユーザーのパスワード データベース・ユーザーのパスワード データベース・ユーザーのパスワード
データベース・ユーザーのログイン・パスワードを入力します。既存のパスワードを入力す るか、フォームの下の「データベースのパスワードを変更する」を選択してここでパスワー ドを変更することもできます。
パスワードの確認 パスワードの確認 パスワードの確認 パスワードの確認
ログイン・パスワードが正確に入力されたことを確認するために再入力します。
データベースの場所(ホスト)
データベースの場所(ホスト) データベースの場所(ホスト)
データベースの場所(ホスト)
データベースが存在するマシン名を指定します。たとえば、john-sunなどです。
データベース名(
データベース名( データベース名(
データベース名(ORACLE_SID) ) ) )
データベース名/インスタンスを入力します。デフォルトは、通常ORCLです。
接続文字列 接続文字列 接続文字列 接続文字列
ステップ 1で作成した接続文字列の名前を入力します。この例では、接続文字列はdemoで す。
注意注意注意
注意: Oracle Application Serverでは、Operating System Authentication
(ops$)アカウントの使用をサポートしていません。
トランザクションを使用可能なDADの場合、お使いのデータベースがローカルかリモート かにかかわらず、DADの接続文字列を指定する必要があります。
新規データベース・ユーザーを作成する 新規データベース・ユーザーを作成する 新規データベース・ユーザーを作成する 新規データベース・ユーザーを作成する
新規データベース・ユーザーを作成する場合は、このチェック・ボックスをクリックしま す。このリリースでPL/SQL Toolkitをインストールした場合、新規ユーザーには、コンテ ンツ・サービス・データベース・オブジェクトへのアクセスも許可されます。
データベースのパスワードを変更する データベースのパスワードを変更する データベースのパスワードを変更する データベースのパスワードを変更する
「データベース・ユーザーのパスワード」フィールドで指定したパスワ ードを変更するには、
このチェック・ボックスをチェックします。
ユーザー名とパスワードを ユーザー名とパスワードを ユーザー名とパスワードを
ユーザー名とパスワードを DAD に保管する に保管する に保管する に保管する
ユーザー名とパスワードをDatabase Access Descriptorに保存するには、このチェック・
ボックスをチェックします。これを選択すると、データベースに接続するたびにデータベー ス・ユーザー名とパスワードの入力を求めるプロンプトは表示されません。
これをトランザクションのDADにする場合、ユーザーが同じPL/SQLカートリッジ/DAD の組合せを使用して異なるスキーマにログインできるようにするには、このオプションが選 択されていないことを確認します。
10.「適用」をクリックします。
データベースがリモートの場合は、「DBAアカウント情報」フォームが表示されます。
図図図
図6-2 「「「「DBAアカウント情報」フォームアカウント情報」フォームアカウント情報」フォームアカウント情報」フォーム
12. すべての情報が正しければ、「成功」ウィンドウが表示されます。
図 図図
図6-3 「成功「成功「成功「成功!」」」」
エラーが表示された場合は、次のことを確認します。
■ データベースが稼動していること
■ データベース・リスナーが起動されていること
■ SIDが正しいこと
■ 接続文字列がtnsnames.oraファイルで入力した名前と一致すること
■ TNS_ADMIN変数が、Oracle Application Server $ORACLE_HOME/network/
adminフォルダのtnsnames.ora ファイルを指していること
■ 変更したtnsnames.oraファイルがデータベースのORACLE_HOMEではなく、
Oracle Application ServerのORACLE_HOMEに存在すること
13.「OK」をクリックします。
このDADをトランザクションで使用可能にするには、次の「トランザクションの追加」
の項を参照してください。
注意 注意注意
注意: TNS_ADMIN変数に問題がある場合は、正しい場所に再設定し
て、Oracle Application Serverをリロードしてください。
DAD の設定 の設定 の設定 の設定
DADを作成したら、それを使用してデータベースに接続できます。この項では、DADの詳 細設定オプションについて説明します。
■ トランザクションの追加
■ DADへの詳細機能の追加
トランザクションの追加 トランザクションの追加 トランザクションの追加 トランザクションの追加
次の2通りの方法で、DADをトランザクションで使用可能にできます。
■ DADの作成中に、「トランザクションによりこのDADをすぐに使用可能にする」ボタン をクリックする(図6-3を参照)。
■ DADの作成後に、「OAS Management」ページで「DB Access Descriptor」の下の「DAD」
を選択し、「トランザクション」をクリックする(図6-5を参照)。
どちらの場合も「DAD: トランザクション」フォーム(図6-4)が表示されます。
図 図図
図6-4 「「「「DAD:トランザクション」トランザクション」トランザクション」トランザクション」
注意 注意注意
注意: この機能は、Oracle Application ServerのEnterprise Editionでの み使用可能です。
トランザクション型と宣言されたDADを使用すると、アプリケーションで 分散トランザク ションを処理できるようになります。トランザクションは、複数の操作やリソースの変更
(データベースの更新やファイルの変更)をまとめて1つの単位にリンクします(1つのアプ リケーションで発生したか、複数のアプリケーションで発生したかにかかわらず)。
このフォームの次のフィールドに値を入力します。
注意注意注意
注意: トランザクションの詳細は、第11章「トランザクションを使用可 能にする」を参照してください。
分散トランザクション 分散トランザクション分散トランザクション
分散トランザクション DADをトランザクションで使用可能にするかどうかを指定しま す。使用できる値は次のとおりです。
「使用可能」: そのDADをトランザクション型にします。これはデ フォルトです。
「使用禁止」: そのDADを非トランザクション型にします。
データベース・タイプ データベース・タイプデータベース・タイプ
データベース・タイプ DADが接続するデータベースのタイプを指定します。使用できる 値は次のとおりです。
「Oracle 8」: DADはOracle8.xデータベースに接続します。
「Oracle 7」: DADはOracle7.xデータベースに接続します。
ロック・タイムアウト ロック・タイムアウトロック・タイムアウト
ロック・タイムアウト リソース・マネージャ(RM)のリソースに対して2つのリクエス トが競合する場合、2番目のリクエストは最初のリクエストが完了 するまで待機し、その後処理されます。これにより、パフォーマン スが低下したり、デッドロックの状態が起こる場合があります。こ の値は、2番目のリクエストが拒否されるまでの待ち時間の合計
(単位:秒)を指定します。デフォルトは600秒です。
DTCからのデータベース・からのデータベース・からのデータベース・からのデータベース・
リンク リンクリンク リンク
データベース・リンクの一意な名前を入力します。この名前は DTC (Distributed Transaction Coordinator)がDADに接続すると きに使用します。各DADには固有のデータベース・リンクが必要 です。たとえば、<SID>.<hostname>は、データベースのグロー バル・データベース名にすることもできますが、必ずしもそうする 必要はありません。