キャッシュ・グループ・ユーザー
キャッシュの使用時に必要なユーザーが存在します。
この項では、キャッシュ・グループ・ユーザーに関する次のトピックについて説明します。
キャッシュに必要なユーザー
キャッシュを使用するには、OracleとTimesTenの両方のデータベースで管理ユーザーおよびスキーマ・ユーザーを作成する必要があります。
キャッシュを使用するには、Oracle Databaseで次のユーザーが必要です:
-
TimesTenデータベース用のキャッシュ環境の管理および特定のキャッシュ・グループ・タイプの定義済動作の実行に使用される情報を格納するOracle Databaseオブジェクトを作成、所有および保持するOracleキャッシュ管理ユーザーを作成します。
-
TimesTenデータベースにキャッシュされるOracle Database表を所有する1人以上のスキーマ・ユーザーを指定します。
キャッシュを使用するには、TimesTenデータベースに次のユーザーを作成する必要があります:
-
キャッシュ・グループ処理を実行するTimesTenキャッシュ管理ユーザー。TimesTenのキャッシュ管理ユーザーのユーザー名は、キャッシュされたOracle Database表にアクセスできる、キャッシュに対して作成されたOracleキャッシュ管理ユーザーの名前と同じである必要があります。TimesTenキャッシュ管理ユーザーのパスワードは、コンパニオンOracleキャッシュ管理ユーザーとは別のパスワードにすることができます。
-
キャッシュ表を所有する1人以上のキャッシュ表ユーザー。TimesTenデータベースにキャッシュされるOracle Database表を所有している各Oracle Databaseスキーマ・ユーザーと同じユーザー名でTimesTenキャッシュ表ユーザーを作成する必要があります。キャッシュ表ユーザーのパスワードは、同じ名前を持つOracle Databaseスキーマ・ユーザーとは別のパスワードにすることができます。
TimesTenキャッシュ表の所有者および名前は、対応するキャッシュされたOracle Database表の所有者および名前と同じです。
キャッシュ管理ユーザーとパスワードの両方の指定
最初に、CREATE USER
またはALTER USER
SQL文を使用してキャッシュ管理ユーザーとそのパスワードを作成または変更します。「データベース・ユーザーの作成または識別」を参照してください。
キャッシュ管理ユーザーがそれぞれのパスワードで作成されると、これらの資格証明に次のいずれかの方法を指定する必要があります。
Oracleウォレットでのキャッシュ管理ユーザー名とパスワードの指定
接続時に資格証明を提供する最も安全な方法は、ユーザーのパスワードをOracleウォレットに格納することです。接続時に、ユーザー名とウォレットを指定して、接続の資格証明を指定します。ユーザー名を指定すると、ウォレット内から取得するユーザーのパスワードが識別されます。
ttUser
ユーティリティを使用して、キャッシュ・ユーザーとキャッシュ管理ユーザーの両方およびその関連するパスワードの既存の資格証明をOracleウォレットに格納できます。
-
キャッシュ・ユーザーの場合、「Oracleウォレットでのユーザー名とパスワードの指定」の説明に従って、このユーザーのパスワードをTimesTenユーザーと同じ方法でウォレットに追加できます。
-
キャッシュ管理ユーザーとして接続するには、TimesTenキャッシュ管理ユーザーとOracleキャッシュ管理ユーザーの両方にパスワードを指定する必要があります。
Oracleウォレットに資格証明を格納する方法の詳細は、「Oracleウォレットでのユーザー名とパスワードの指定」を参照してください。この項では、両方のキャッシュ管理ユーザー・パスワードをOracleウォレットに追加するプロセスについて説明します。
キャッシュ管理ユーザーのパスワードは、他のユーザーが使用するウォレット(DSNに接続するすべての資格証明を含むウォレットなど)に追加できます。または、キャッシュ管理ユーザーに対してのみウォレットを作成することもできます。
ttUser -setPwd
コマンドを使用して、TimesTenキャッシュ管理ユーザーのパスワードを格納します。ttUser -setOraclePwd
コマンドを使用して、Oracleキャッシュ管理ユーザーのパスワードを格納します。
次の例は、ttUser
ユーティリティを使用して、両方のキャッシュ管理ユーザーを/wallets/cacheadminwallet
ディレクトリのOracleウォレットに追加する方法を示しています。
-
まだ存在しない場合は、ウォレットのディレクトリを作成します。この例では、ウォレットのディレクトリとして
/wallets
を使用します。% mkdir /wallets
-
ttUser -setPwd
コマンドを実行して、TimesTenキャッシュ管理ユーザー資格証明を格納します。ウォレットを識別するサブディレクトリ名を指定します(OracleWalletの名前を変更できないため)。この例では、ウォレットのサブディレクトリ名としてcacheadminwallet
を指定します。cacheadminwallet
ディレクトリが存在しない場合、ttUser
ユーティリティはcacheadminwallet
サブディレクトリを作成し、/wallets/cacheadminwallet
ディレクトリにOracleウォレットを作成します。ttUser
ユーティリティは、ウォレットに追加されるTimesTenキャッシュ管理ユーザーcacheadmin
のパスワードの入力を求めます。% ttUser -setPwd -wallet /wallets/cacheadminwallet -uid cacheadmin Enter password:
-
ttUser -setOraclePwd
コマンドを実行して、Oracleキャッシュ管理ユーザー資格証明を格納します。ttUser
ユーティリティは、/wallets/cacheadminwallet
のウォレットに追加されるOracleキャッシュ管理ユーザーcacheadmin
のパスワードの入力を求めます。% ttUser -setOraclePwd -wallet /wallets/cacheadminwallet -uid cacheadmin Enter password:
『Oracle TimesTen In-Memory Databaseリファレンス』のttUserを参照してください。
データベースへの接続時にキャッシュ管理ユーザーを認証する場合は、キャッシュ管理ユーザーの名前および対応するウォレットの場所をUID
およびPwdWallet
接続属性を使用して指定します。UID
接続属性は、指定されたPwdWallet
を使用して認証するユーザーを指定します。
connect “dsn=mydb;uid=cacheadmin;PwdWallet=/wallets/cacheadminwallet”;
接続属性でのキャッシュ管理ユーザー名とパスワードの指定
UID
、PWD
およびOraclePWD
一般接続属性を使用して指定できます。キャッシュ管理ユーザーと関連するパスワードの両方を作成したら、データベースへの接続時にUID
、PWD
およびOraclePWD
接続属性を使用して接続文字列でこれらを指定できます。
TimesTenは、接続認証用のユーザー名とパスワードを検索するときに、次の優先順位を使用します:
-
キャッシュ管理ユーザー名とパスワードを含むOracleウォレット。「Oracleウォレットでのキャッシュ管理ユーザー名とパスワードの指定」を参照してください。
-
接続文字列で指定される
UID
、PWD
およびOraclePWD
接続属性。 -
クライアントDSNで指定される
UID
、PWD
およびOraclePWD
接続属性。
UID
、PWD
およびOraclePWD
接続属性は次のとおりです:
-
UID
: この場合、データベースへの接続に使用するキャッシュ管理ユーザー名を指定します。 -
PWD
: この場合、TimesTenキャッシュ管理ユーザーのパスワードを指定します。 -
OraclePWD
: Oracleキャッシュ管理ユーザーのパスワードを指定します。ノート:
一般接続属性
UID
、PWD
およびOraclePWD
の詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』のUIDとPWDを参照してください。『Oracle TimesTen In-Memory Databaseセキュリティ・ガイド』のTimesTenでの認証を参照してください。
次の例は、キャッシュ管理ユーザー名をcacheadmin
、TimesTenキャッシュ管理ユーザー・パスワードをttpwd
、Oracleキャッシュ管理ユーザー・パスワードをorapwd
として指定するdatabase1
への接続リクエストです。
% ttIsql "DSN=database1;UID=cacheadmin;PWD=ttpwd;OraclePWD=orapwd"
クライアントDSNでのキャッシュ管理ユーザー名とパスワードの指定
クライアントDSNに、キャッシュ管理ユーザー名とパスワードの両方を指定できます。
Windowsでは、「Oracle TimesTen Client DSN Setup」ダイアログで接続属性を指定します。このダイアログでは、User ID
およびPassword
接続属性を指定できます。ただし、OraclePWD
接続属性は接続文字列でのみ指定できます。『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のWindowsでのクライアントDSNの作成を参照してください。
LinuxおよびUNIXの場合、接続属性はodbc.ini
ファイルで指定します。odbc.ini
ファイルのクライアントDSNでは、UID
、PWD
およびOraclePWD
接続属性を指定できます。
次に、odbc.ini
ファイル内のクライアントDSNの構文を示します:
[ODBC Data Sources]
Client_DSN=TimesTen 22.1 Client Driver
『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のLinuxおよびTimesTen Classic用のUNIXでのDSNの作成を参照してください。
Oracle Database管理ユーザーとパスワードの登録
キャッシュ環境を設定するための前提条件の1つは、TimesTenにOracleキャッシュ管理ユーザーおよびパスワードを登録することです。TimesTenは、これらの資格証明を使用してOracleデータベースに接続します。
TimesTenによって実行されるキャッシュ操作があります。TimesTenがこれらのキャッシュ操作を正常に実行するためにOracleデータベースに接続するには、TimesTenにOracleキャッシュ管理ユーザーおよびパスワード資格証明が内部的に登録されている必要があります。これは、TimesTen ClassicのttCacheUidPwdSet
組込みプロシージャまたはTimesTen ScaleoutのttGridAdmin dbCacheCredentialSet
を実行する場合に実行されます。デフォルトでは、Oracleキャッシュ管理ユーザーおよびパスワードはメモリーに格納されます。DSNにCacheAdminWallet
=1を最初の接続属性として設定することで、Oracleキャッシュ管理ユーザーおよびパスワードをシステム管理のOracleウォレット(優先)に保存するように指定できます。Oracleキャッシュ管理ユーザーおよびパスワードが(メモリー内またはシステム管理ウォレット内のいずれかに)登録されると、TimesTenは資格証明を使用してキャッシュ操作のためにバックエンドOracleデータベースに接続します。
『Oracle TimesTen In-Memory Databaseリファレンス』のCacheAdminWalletを参照してください。
この項では、TimesTen ClassicTimesTen Scaleoutでこれを行う方法について説明します。
TimesTen ClassicでのOracle Cache管理ユーザーとパスワードの登録
Oracleキャッシュ管理ユーザー名とパスワードは、TimesTen Classicに登録できます。
ノート:
TLSが使用されている場合にのみ、クライアント/サーバー接続を介してttCacheUidPwdSet
組込みプロシージャを実行できます。パスワードは、TLS接続を介して送信される場合にのみ暗号化されます。
『Oracle TimesTen In-Memory Databaseキャッシュ・ガイド』のOracle DatabaseおよびTimesTen Classicシステムの設定およびキャッシュ・インフラストラクチャの設定を参照してください。
「キャッシュ・グループの権限」を参照してください。
ノート:
または、ttAdmin
を使用して、Oracleキャッシュ管理ユーザーIDとパスワードを設定できます。詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』のキャッシュ・ポリシーの設定を参照してください。たとえば、次のように指定します:
% ttAdmin -cacheUidPwdSet -cacheUid cacheadmin -cachePwd orapwd database1
ttCacheUidPwdSet
組込みプロシージャを使用して、Oracleキャッシュ管理パスワードを後でいつでも変更したり、既存のキャッシュ・グループがないかぎり、Oracleキャッシュ管理ユーザー名(およびオプションでパスワードも)を変更できます。
TimesTen Scaleoutでのキャッシュ管理ユーザー・パスワードの登録
TimesTen Scaleoutでは、アクティブな管理インスタンスでttGridAdmin dbCacheCredentialSet
コマンドを使用して、Oracleキャッシュ管理ユーザー名とパスワードをTimesTen Scaleoutに登録します。
-
CacheAdminWallet
の接続属性が1に設定されていることを確認します。『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』のデータベース定義の作成を参照してください。 -
ttGridAdmin dbCacheCredentialSet
コマンド(1回のみ)を使用して、Oracleデータベース内のOracleキャッシュ管理ユーザー名とパスワードのTimesTenデータベースを登録します。CacheAdminWallet
=1以降、Oracleキャッシュ管理ユーザー名とパスワードは、システム管理のOracleウォレットに格納されます。次の例では、TimesTenデータベースとして
database1
を指定します。ttGridAdmin dbCacheCredentialSet
コマンドでは、ユーザー名とパスワードの入力が求められます。Oracleキャッシュ管理ユーザー名はcacheadmin
です。% ttGridAdmin dbCacheCredentialSet database1 Enter your Oracle user id: cacheadmin Enter Oracle password: Password accepted Configuring cache.....................................................OK
『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』のTimesTenデータベースでのキャッシュ管理ユーザー名とパスワードの設定および『Oracle TimesTen In-Memory Databaseリファレンス』の資格証明の設定(dbCacheCredentialSet)を参照してください。
ノート:
dbCacheCredentialSet
を使用して、Oracleキャッシュ管理パスワードを後でいつでも変更したり、既存のキャッシュ・グループがないかぎり、Oracleキャッシュ管理ユーザー名(およびオプションでパスワードも)を変更することもできます。- グリッドのアクティブな管理インスタンスが作成されると、
ttGridAdmin gridCreate -walletDir
では、暗号化情報を含むサーバー管理Oracleウォレットが格納されるディレクトリへのパスを指定します。この暗号化情報には、Oracleキャッシュ管理ユーザー、クライアント/サーバーおよびメンバーシップ・サービスの資格証明が含まれています。デフォルトは、timesten_home/info
です。複数のインスタンスのウォレットを同じディレクトリ(NFS経由などでインスタンス間で共有できるディレクトリ)に格納できます。これにより、ユーザーはグリッドにキャッシュ資格証明を安全に渡すことができます。「TimesTenでのセキュアなネットワーク通信」を参照してください。 ttGridAdmin modelApply
コマンドは、新しいウォレットをすべての新しいインスタンスに送信します。ttGridAdmin dbDistribute
コマンドは、データベースの分散マップに新しいインスタンスが追加されるたびに、Oracleキャッシュ管理ユーザーIDとパスワードを設定します。- データベースにインポートするキャッシュ・グループとともに
ttGridAdmin dbImport
を使用する場合は、dbImport
の前にdbCacheCredentialSet
を実行する必要があります。インポートを開始する前に、dbImport -dbCacheCredentialCheck
オプションを使用してこれを確認できます。