5 Oracle Data Minerユーザーの管理

この章では、Oracle Data Minerユーザー・アカウントを管理する方法を説明します。

5.1 ユーザー・オブジェクトとリポジトリ・オブジェクトについて

Oracle Data Minerのインストール環境は、1つのリポジトリと1つ以上のユーザー・アカウントで構成されます。ユーザーは、リポジトリに対するアクセス権とデータベースにおける機械学習操作に必要な権限、およびデータに対する適切なアクセス権を持っている必要があります。

Oracle Data Minerは、情報を、Oracle Data Minerユーザーのスキーマと、リポジトリ・スキーマ(ODMRSYS)に格納します。ワークフローをサポートする機械学習モデルとデータは、ユーザーのスキーマに格納されます。プロジェクトとワークフローの構造を定義するメタデータは、XMLドキュメントとしてODMRSYSに格納されます。

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接続でプロキシ・ユーザーを作成できます。

図5-1 SQL DeveloperにおけるBasic接続のプロキシ・ユーザー



SQL DeveloperのLDAPサービスを使用して、機能的にプロキシ・ユーザーと同等のユーザーを作成することもできます。LDAPを使用する場合、個々の(プロキシ)ユーザーを作成し、それぞれを既存のデータベース・ユーザー接続に関連付けます。

5.3 JVMプロパティの設定

プロキシまたはターゲット・ユーザー・プロトコルを利用しているOracle SQL Developer LDAP接続は、SQL問合せノードで実行すると、SQLランタイム・エラーが生成されることがあります。

プロキシ・ユーザーとして問合せを実行しているときに無効な名前パターン・エラーが発生した場合、JVMプロパティoracle.jdbc.createDescriptorUseCurrentSchemaForSchemaNametrueに設定します。

JVMプロパティを設定するには、Oracle SQL Developerを開き、コマンド・プロンプトから次を実行します: C:\<SQL Developer Installation Directory>\sqldeveloper\ide\bin\sqldeveloper.exe -JDoracle.jdbc.createDescriptorUseCurrentSchemaForSchemaName=true

永続的に変更するには、sqldeveloper.confファイルを更新し、次のプロパティ定義を含めます。

  1. Oracle SQL Developerを停止します。
  2. sqldeveloper.confファイルを開き、プロパティ定義を使用して更新します。
    C:\<SQL Developer Installation Directory>\sqldeveloper\ide\bin\sqldeveloper.exe -JDoracle.jdbc.createDescriptorUseCurrentSchemaForSchemaName=true
  3. sqldeveloper.confファイルを<SQL Developer Installation Directory>\sqldeveloper\bin\sqldeveloper.confに保存します。これにより、既存のファイルが上書きされます。
    更新されたsqldeveloper.conf ファイルを使用して、コマンド・ラインからOracle SQL Developerを起動する必要はありません。
新しいテキストを太字にして、sqldeveloper.confファイルの最初の部分を次に示します

IncludeConfFile ../../ide/bin/ide.conf

SetJavaHome ../../jdk

#Workaround for LDAP Proxy failure

AddVMOption

-Doracle.jdbc.createDescriptorUseCurrentSchemaForSchemaName=true

5.4 Oracle Data Minerのアクセス・モデルの選択

Oracle Data Minerのアクセスを単一のデータベース・ユーザーに制限することも、複数のデータベース・ユーザーにアクセスを許可することもできます。いずれの場合も、プロキシ・サーバーを作成すれば、ユーザーをグループ化してデータベースで1つの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リポジトリへのアクセス権を付与できます。スクリプトを実行することによっても、アクセス権を取り消せます。

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ユーザーは、リポジトリへのアクセスを自動的に失います。

5.5.4 データへのアクセスの付与

ユーザーは、マイニング・モデルの構築またはスコアリングに使用するデータへの読取りアクセスまたはSELECT権限を持っている必要があります。

ターゲット・ユーザーに直接、SELECT権限を付与する必要があります。間接的にユーザー・ロールに権限を付与しないでください。Oracle Data Minerがユーザーに代わってビューを作成できるように、SELECT権限は直接付与する必要があります。Oracle Data Minerがビューを作成できない場合、ユーザーはデータにアクセスできない場合があります。