5 Oracle Data Minerユーザーの管理
- ユーザー・オブジェクトとリポジトリ・オブジェクトについて
Oracle Data Minerのインストール環境は、1つのリポジトリと1つ以上のユーザー・アカウントで構成されます。ユーザーは、リポジトリに対するアクセス権とデータベースにおける機械学習操作に必要な権限、およびデータに対する適切なアクセス権を持っている必要があります。 - Oracle Data Minerのプロキシ・ユーザーについて
SQL Developerには、独自のログイン資格証明を持ちながら同じターゲット・データベース・ユーザー・アカウントを共有するプロキシ・ユーザーをサポートする機能があります。 - JVMプロパティの設定
プロキシまたはターゲット・ユーザー・プロトコルを利用しているOracle SQL Developer LDAP接続は、SQL問合せノードで実行すると、SQLランタイム・エラーが生成されることがあります。 - Oracle Data Minerのアクセス・モデルの選択
Oracle Data Minerのアクセスを単一のデータベース・ユーザーに制限することも、複数のデータベース・ユーザーにアクセスを許可することもできます。いずれの場合も、プロキシ・サーバーを作成すれば、ユーザーをグループ化してデータベースで1つのData Minerユーザー・アカウントを共有できます。 - Oracle Data Minerリポジトリに対するアクセス権の付与と削除
GUIを使用するか、スクリプトを実行することによって、Oracle Data Minerリポジトリへのアクセス権を付与できます。スクリプトを実行することによっても、アクセス権を取り消せます。
5.1 ユーザー・オブジェクトとリポジトリ・オブジェクトについて
Oracle Data Minerのインストール環境は、1つのリポジトリと1つ以上のユーザー・アカウントで構成されます。ユーザーは、リポジトリに対するアクセス権とデータベースにおける機械学習操作に必要な権限、およびデータに対する適切なアクセス権を持っている必要があります。
Oracle Data Minerは、情報を、Oracle Data Minerユーザーのスキーマと、リポジトリ・スキーマ(ODMRSYS
)に格納します。ワークフローをサポートする機械学習モデルとデータは、ユーザーのスキーマに格納されます。プロジェクトとワークフローの構造を定義するメタデータは、XMLドキュメントとしてODMRSYS
に格納されます。
- ユーザーのスキーマのサイズの制御
ユーザーのスキーマのサイズを制御して、スキーマの記憶域を節約する必要があります。 - Oracle Data Minerユーザーのスキーマ内のオブジェクト
ワークフローは、オブジェクト、表およびビューを作成します。Oracle Data Minerは、次のオブジェクトをユーザーのスキーマに格納します。 - Oracle Data Minerの内部表について
ユーザーのスキーマにある内部表には、サポート・ワークフローと機械学習活動に関する情報が格納されます。
親トピック: Oracle Data Minerユーザーの管理
5.1.1 ユーザーのスキーマのサイズの制御
ユーザーのスキーマのサイズを制御して、スキーマの記憶域を節約する必要があります。
ユーザーのスキーマの記憶域を節約するには:
-
ワークフローが不要になったら削除します。
-
ワークフローをエクスポートし、ユーザーのスキーマで削除します。
-
ODMRSYS
に別個の表領域を使用して、リポジトリの記憶域消費をユーザーの表領域から分離します。
5.1.2 Oracle Data Minerユーザーのスキーマ内のオブジェクト
ワークフローは、オブジェクト、表およびビューを作成します。Oracle Data Minerは、次のオブジェクトをユーザーのスキーマに格納します。
ユーザーのスキーマ:
-
Data Minerノード・エディタを使用してユーザーが直接指定したモデル、表、ビュー。これには、モデル・ノードによって作成されるマイニング・モデルと、表作成ノードによって作成される表が含まれます。
-
生成された結果を格納および表示するために、Data Minerノードによって作成されたが、Data Minerノード・エディタを使用してユーザーが直接指定していない表およびビュー。たとえば、モデル構築時に作成されるテスト結果表は、内部表です。表の名前はユーザーに表示されませんが、ユーザーはテスト結果ビューアで表の内容を参照できます。
親トピック: ユーザー・オブジェクトとリポジトリ・オブジェクトについて
5.1.3 Oracle Data Minerの内部表について
ユーザーのスキーマにある内部表には、サポート・ワークフローと機械学習活動に関する情報が格納されます。
内部表は、次を実行します。
-
Oracle Machine Learningエンジンは、データベースに
DM$
接頭辞を持つ表を作成します。これらの表には、機械学習モデルに関する情報が格納されます。 -
Oracle Data Minerは、
ODMR$
接頭辞を持つ表を作成します。これらの表には、ワークフローに関する情報が格納されます。
SQL Developerスキーマ・ナビゲータを使用してOracle Data Minerユーザーが所有するオブジェクトを表示すると、内部表とビューは表示に含まれます。SQL Developerでフィルタを作成して内部表とビューを非表示にできます。Oracle Data Minerインタフェースを使用してユーザーのスキーマを表示すると、内部表とビューは自動的にフィルタされます。
親トピック: ユーザー・オブジェクトとリポジトリ・オブジェクトについて
5.2 Oracle Data Minerのプロキシ・ユーザーについて
SQL Developerには、独自のログイン資格証明を持ちながら同じターゲット・データベース・ユーザー・アカウントを共有するプロキシ・ユーザーをサポートする機能があります。
SQL Developer接続は通常、データベースに定義されている単一のユーザーにデータベース・アクセス権を提供します。SQL Developerには、プロキシ・ユーザーの作成に対応したいくつかの接続タイプがあります。
接続は、SQL Developerのオブジェクトであり、特定のユーザーのログイン資格証明を特定のデータベースに指定します。Data Miner接続はSQL Developer接続の1つで、Data Minerユーザーに必要な権限を含んでいます。Oracle Data Miner接続は、「Data Minerの接続」タブのナビゲータにリストされます。
Oracle Data Minerは、ベーシック・タイプおよびTNS接続タイプのプロキシ認証をサポートします。図5-1に、SQL Developerの「詳細プロパティ」ダイアログ・ボックスを示します。このダイアログ・ボックスで、既存のBasic接続でプロキシ・ユーザーを作成できます。
SQL DeveloperのLDAPサービスを使用して、機能的にプロキシ・ユーザーと同等のユーザーを作成することもできます。LDAPを使用する場合、個々の(プロキシ)ユーザーを作成し、それぞれを既存のデータベース・ユーザー接続に関連付けます。
親トピック: Oracle Data Minerユーザーの管理
5.3 JVMプロパティの設定
プロキシまたはターゲット・ユーザー・プロトコルを利用しているOracle SQL Developer LDAP接続は、SQL問合せノードで実行すると、SQLランタイム・エラーが生成されることがあります。
oracle.jdbc.createDescriptorUseCurrentSchemaForSchemaName
をtrue
に設定します。JVMプロパティを設定するには、Oracle SQL Developerを開き、コマンド・プロンプトから次を実行します: C:\<SQL Developer Installation Directory>\sqldeveloper\ide\bin\sqldeveloper.exe -JDoracle.jdbc.createDescriptorUseCurrentSchemaForSchemaName=true
永続的に変更するには、sqldeveloper.conf
ファイルを更新し、次のプロパティ定義を含めます。
sqldeveloper.conf
ファイルの最初の部分を次に示します
IncludeConfFile ../../ide/bin/ide.conf
SetJavaHome ../../jdk
#Workaround for LDAP Proxy failure
AddVMOption
-Doracle.jdbc.createDescriptorUseCurrentSchemaForSchemaName=true
親トピック: Oracle Data Minerユーザーの管理
5.4 Oracle Data Minerのアクセス・モデルの選択
Oracle Data Minerのアクセスを単一のデータベース・ユーザーに制限することも、複数のデータベース・ユーザーにアクセスを許可することもできます。いずれの場合も、プロキシ・サーバーを作成すれば、ユーザーをグループ化してデータベースで1つのData Minerユーザー・アカウントを共有できます。
選択するアクセス・モデルは、サポートの必要なユーザーの数によっても、またユーザーが共有環境での作業を必要とするかプライベート環境で単独で作業するかによっても異なります。
- 単一ユーザー・アクセス
単一ユーザー・アクセスでは、ユーザー・スキーマは1つです。ある人がOracle Data Minerを使用できるか、プロキシ・アカウントをもつ1つのグループの人々がOracle Data Minerを使用できるかのどちらかです。プロキシ・ユーザーは、同じモデルとデータベース・オブジェクトにアクセスできます。 - 複数ユーザー・アクセス
複数ユーザー・アクセスでは、複数のユーザー・スキーマがあります。スキーマは、個々のユーザーをサポートするか、プロキシ・ユーザーのワークグループをサポートします。 - 共有ユーザー環境
共有ユーザー環境はコラボレーションを推進します。複数のプロキシ・ユーザーが単一のデータベース・アカウントへのアクセスを共有する場合、Oracle Data Minerはロック・メカニズムを使用してワークフローへのアクセスを調整します。 - ドキュメント使用中条件について
データベースでワークフロー・セッションを実行中に、ユーザーがワークフローを編集しようとすると、ドキュメント使用中のメッセージが生成されます。
親トピック: Oracle Data Minerユーザーの管理
5.4.1 単一ユーザー・アクセス
単一ユーザー・アクセスでは、ユーザー・スキーマは1つです。ある人がOracle Data Minerを使用できるか、プロキシ・アカウントをもつ1つのグループの人々がOracle Data Minerを使用できるかのどちらかです。プロキシ・ユーザーは、同じモデルとデータベース・オブジェクトにアクセスできます。
すべてのユーザーが、データベース・オブジェクトを作成、変更、削除でき、すべてのユーザーが他のユーザーの作業を見ることができます。単一ユーザー・アクセスでは、プライベートなワークスペースが保証されますが、コラボレーションには向きません。
プロキシを使用しない場合、ユーザーはそれぞれのスキーマ内で自律的に機能します。Oracle Databaseのセキュリティ・メカニズムによって、ユーザーは他のユーザーのスキーマに属するオブジェクトを変更できないようになっています。
5.4.2 複数ユーザー・アクセス
複数ユーザー・アクセスでは、複数のユーザー・スキーマがあります。スキーマは、個々のユーザーをサポートするか、プロキシ・ユーザーのワークグループをサポートします。
個別アクセスと共有アクセスの組合せをいくつか設定できます。共有していないユーザーも含め、あらゆるユーザーに対してプロキシ認証を使用できます。
5.4.3 共有ユーザー環境
共有ユーザー環境はコラボレーションを推進します。複数のプロキシ・ユーザーが単一のデータベース・アカウントへのアクセスを共有する場合、Oracle Data Minerはロック・メカニズムを使用してワークフローへのアクセスを調整します。
実行中や実行の待機中、または編集中のワークフローはロックされます。
ワークフローのネームスペースはプロジェクトです。複数のユーザーが同じプロジェクトで作業する場合は、各自のワークフローには、他のユーザーのワークフローと区別できるような名前を付けるように留意してください。たとえば、各ユーザーのイニシャルを接頭辞として追加することに合意するなどが考えられます。
データベース・オブジェクト、たとえばマイニング・モデルや表のネームスペースは、共有スキーマ内で一意です。一意の名前を維持できるように、Oracle Data Minerはデータベース・オブジェクトのネーミング規則に従います。他のワークフローで参照される表に対してシステム生成された名前をユーザーが変更すると、警告が生成されます。
5.4.4 ドキュメント使用中条件について
データベースでワークフロー・セッションを実行中に、ユーザーがワークフローを編集しようとすると、ドキュメント使用中というメッセージが生成されます。
Oracle Data Minerクライアントがネットワークから切断された場合(たとえば、ケーブルが取り外されたか、ラップトップが休止状態になった場合)、ワークフローのロックは解放されません。切断されたセッションは、まだロックされ、データベースで実行されています。別のユーザーがワークフローを編集しようとすると、ドキュメント使用中のメッセージが生成されます。
ツールバー上のロックをクリックすることによって、ロックを再取得できます。ロックを再取得できない場合、ロックを保持しているデータベース・セッションを停止する必要があります。詳細は、『Oracle Database管理者ガイド』の、セッション終了に関する項を参照してください。
5.5 Oracle Data Minerリポジトリに対するアクセス権の付与と削除
GUIを使用するか、スクリプトを実行することによって、Oracle Data Minerリポジトリへのアクセス権を付与できます。スクリプトを実行することによっても、アクセス権を取り消せます。
- GUIを使用したアクセス権の付与
グラフィカル・ユーザー・インタフェース(GUI)を使用してOracle Data Minerリポジトリをインストールした場合、リポジトリへのアクセス権はユーザーIDに自動的に付与されます。プロキシまたはLDAPユーザーとしてログインした場合、Oracle Data Minerはターゲット・ユーザーにアクセス権を自動的に付与します。 - スクリプトを使用したアクセス権の付与
リポジトリへのアクセス権を付与するには、usergrants
スクリプトを実行して、ユーザー名を指定します。リポジトリは、スクリプトを実行する前に、すでにインストールされている必要があります。 - スクリプトを使用したアクセス権の削除
Oracle Data Minerリポジトリへのアクセス権を削除するには、dropusergrants
スクリプトを実行します。 - データへのアクセスの付与
ユーザーは、マイニング・モデルの構築またはスコアリングに使用するデータへの読取りアクセスまたはSELECT
権限を持っている必要があります。
親トピック: Oracle Data Minerユーザーの管理
5.5.1 GUIを使用したアクセス権の付与
グラフィカル・ユーザー・インタフェース(GUI)を使用してOracle Data Minerリポジトリをインストールした場合、リポジトリへのアクセス権はユーザーIDに自動的に付与されます。プロキシまたはLDAPユーザーとしてログインした場合、Oracle Data Minerはターゲット・ユーザーにアクセス権を自動的に付与します。
リポジトリがすでにインストールされているデータベースへの接続を初めて選択すると、アクセス権の付与と、(オプションで)サンプル・データのインストールの確認を求められます。
5.5.2 スクリプトを使用したアクセス権の付与
リポジトリへのアクセス権を付与するには、usergrants
スクリプトを実行して、ユーザー名を指定します。リポジトリは、スクリプトを実行する前に、すでにインストールされている必要があります。
usergrants.sql user_access
たとえば、次の文はユーザーdmuser1
にOracle Data Minerアクセス権を付与します。
@usergrants dmuser1
指定するユーザー名は、ターゲット・ユーザーである必要があります。このターゲット・ユーザーに基づいて認証されるすべてのプロキシまたはLDAPユーザーは、ターゲット・ユーザーの権限を自動的に取得します。
5.5.3 スクリプトを使用したアクセス権の削除
Oracle Data Minerリポジトリへのアクセス権を削除するには、dropusergrants
スクリプトを実行します。
dropusergrants.sql user_access
たとえば、次の文は、dmuser1
に付与されたアクセス権を削除します。
@dropusergrants dmuser1
usergrants
スクリプトと同様に、指定するユーザー名は、ターゲット・ユーザーである必要があります。このターゲット・ユーザーに基づいて認証されるすべてのプロキシまたはLDAPユーザーは、ターゲット・ユーザーの権限を自動的に取得します。ターゲット・ユーザーのアクセス権を削除すると、そのターゲット・ユーザーに基づくすべてのプロキシとLDAPユーザーは、リポジトリへのアクセスを自動的に失います。