28 Oracle Data Miningの管理タスク

Oracle Data Miningに関連する管理タスクの実行方法について説明します。

28.1 データ・マイニング用のデータベースのインストールおよび構成

データ・マイニング用のデータベースのインストールおよび構成する方法を説明します。

28.1.1 インストールについて

Oracle Data Miningは、Oracle Database Enterprise EditionのオプションであるOracle Advanced Analyticsの構成要素です。

Oracle Databaseをインストールするには、ご使用のプラットフォームのインストール手順に従ってください。インストール時に「データ・ウェアハウス」構成を選択します。

Oracle Data Minerは、Oracle Data Miningのグラフィカル・ユーザー・インタフェースで、Oracle SQL Developerの拡張です。SQL DeveloperをダウンロードしてData Minerリポジトリをインストールする手順は、Oracle Technology Networkで参照できます。

例28-7で説明しているように、データ・マイニング操作を実行するには、Oracleデータベースにログオンが可能で、ユーザーIDがデータベース権限を持っている必要があります。

関連項目:

ご使用のプラットフォームに固有のインストール手順については、Oracle Databaseドキュメント・ライブラリ(http://docs.oracle.com/en/database/database.html)のインストールおよびアップグレードに関するページを参照してください。

28.1.2 データベース・オプションの有効化または無効化

インストール後にOracle Advanced Analyticsオプションを有効化または無効化する方法を説明します。

Oracle Advanced Analyticsオプションは、Oracle Database Enterprise Editionのインストール時にデフォルトで有効化されます。インストール後には、コマンドライン・ユーティリティchoptを使用して、データベース・オプションを有効化または無効化できます。手順については、ご使用のプラットフォームに対応したインストール・ガイドで、インストール後のデータベース・オプションの有効化または無効化に関する説明を参照してください。

28.1.3 データ・マイニング用のデータベース・チューニングに関する考慮事項

データ・マイニング用のデータベース・チューニングに関する考慮事項を理解します。

Oracle Data Miningをサポートしている本番データベースを管理するDBAは、『Oracle Database管理者ガイド』で説明されている標準的な管理方法に従う必要があります。

データ・マイニング・モデルの作成およびマイニング・モデルのバッチ・スコアリングは、システムに対してDSSに似た負荷をかける傾向があります。単一行のスコアリングは、システムに対してOLTPに似た負荷をかける傾向があります。

データベース・メモリーの管理は、データ・マイニングに大きな影響を与える場合があります。モデルの作成、複合問合せおよびバッチ・スコアリングでは、プログラム・グローバル領域(PGA)メモリーのサイズ指定を適切に行うことが非常に重要です。データ・マイニングの観点からは、システム・グローバル領域(SGA)は、一般的に重要度は低いと言えます。ただし、SGAは、SGAの共有カーソルにモデルをロードするリアルタイムのスコアリングに対応できるサイズに設定する必要があります。ほとんどの場合は、自動的にメモリーを管理するようにデータベースを構成できます。これを行うには、チューニング・パラメータMEMORY_TARGETで最大合計メモリー・サイズを指定します。自動メモリー管理を使用すると、Oracle Databaseは、必要に応じてSGAとインスタンスPGAとの間で動的にメモリーを交換し、処理需要を満たします。

ほとんどのデータ・マイニング・アルゴリズムで、パラレル実行を利用できます(データベースでパラレル実行が有効化されている場合)。INIT.ORAのパラメータは、パラレル実行の動作を制御します。

28.2 Oracle Data Miningのアップグレードまたはダウングレード

Oracle Data Miningのアップグレードまたはダウングレードの方法を理解します。

28.2.1 アップグレード前の手順

アップグレード前に、Javaで作成したデータ・マイニング・モデルおよびOracle Data Miner Classic (以前のバージョンのOracle Data Miner)で作成したマイニング操作を削除する必要があります。

注意:

Oracle Database 12cでは、Oracle Data MiningはJava APIをサポートしておらず、Oracle Data Miner ClassicをOracle Database 12cに対して実行することはできません。

28.2.1.1 Javaで作成されたモデルの削除

10gまたは11gデータベースにJavaで作成されたモデルが含まれている場合は、データベースのアップグレード前に、DBMS_DATA_MINING.DROP_MODELルーチンを使用してモデルを削除します。

28.2.1.2 Oracle Data Miner Classicで作成されたマイニング操作の削除

データベースにOracle Data Miner Classicからのマイニング操作が含まれている場合は、データベースのアップグレード前に、マイニング操作の削除とリポジトリの削除を行います。次の手順を実行します。

  1. Data Miner Classicユーザー・インタフェースを使用して、マイニング操作を削除します。

  2. SQL*PlusまたはSQL Developerで、次の表を削除します。

    DM4J$ACTIVITIES
    DM4J$RESULTS
    DM4J$TRANSFORMS
    

    さらに次のビューも削除します。

    DM4J$MODEL_RESULTS_V
    DM4J$RESULTS_STATE_V
    

これらの手順の完了後は、データベースのスキーマ内に接頭辞DM4J$を使用する表またはビューは存在しなくなります。

28.2.2 Oracle Data Miningのアップグレード

Oracle Data Miningをアップグレードする方法を説明します。

アップグレード前の手順を完了すると、11gまたは10gのどちらのリリースからのアップグレードの場合でも、すべてのモデルとマイニング・メタデータはOracle Databaseのアップグレード・プロセスに完全に統合されます。

アップグレードされたモデルは、引き続き以前のリリースの場合と同様に機能します。アップグレードされたモデルおよびアップグレードされた環境で作成した新しいモデルの両方が、新しいリリースで導入された新しいマイニング機能を利用できます。

データベースのアップグレードには、Database Upgrade Assistant (DBUA)を使用することも、エクスポートおよびインポート・ユーティリティを使用して手動アップグレードを実行することもできます。

28.2.2.1 Database Upgrade Assistantを使用したOracle Data Miningのアップグレード

Oracle Database Upgrade Assistantには、アップグレード・プロセスをインタラクティブに順を追って説明するグラフィカル・ユーザー・インタフェースが用意されています。

Windowsプラットフォームでは、次の手順に従ってUpgrade Assistantを起動します。

  1. Windowsの「スタート」メニューに移動し、Oracleホーム・ディレクトリを選択します。

  2. 「コンフィグレーションおよび移行ツール」メニューを選択します。

  3. Upgrade Assistantを起動します。

Linuxプラットフォームでは、DBUAユーティリティを使用してOracle Databaseをアップグレードします。

28.2.2.1.1 リリース10gからのアップグレード

Oracle Data Mining 10gでは、データ・マイニング・メタデータおよびPL/SQLパッケージはDMSYSスキーマに格納されます。Oracle Data Mining 11gおよび12cにはDMSYSが存在せず、データ・マイニング・メタデータ・オブジェクトはSYSに格納されます。

Oracle Database 10gを12cにアップグレードする場合、すべてのデータ・マイニング・メタデータ・オブジェクトおよびPL/SQLパッケージは、DMSYSからSYSに移行されます。DMSYSスキーマとその関連オブジェクトは、移行が成功すると削除されます。DMSYSが削除されると、SYS.DBA_REGISTRYビューには、コンポーネントとしてOracle Data Miningがリストされなくなります。

Oracle Database 12cへのアップグレード後は、Data Mining Scoring Engine (DMSE)に切り替えられなくなります。スコアリング・エンジンは、Oracle Database 11gまたは12cには存在しません。

28.2.2.1.2 リリース11gからのアップグレード

Oracle Database 11gをOracle Database 12cにアップグレードする際に、データベースが以前にOracle Database 10gからアップグレードしたものである場合は、DMSYSスキーマがまだ存在している可能性があります。アップグレード・プロセスでDMSYSが検出されると、警告メッセージが表示され、アップグレード中にDMSYSが削除されます。

28.2.2.2 エクスポートとインポートを使用したデータ・マイニング・モデルのアップグレード

必要に応じて、自動化の程度を下げた方法でデータ・マイニング・モデルをアップグレードできます。以前のリリースのOracle Databaseで作成したモデルをエクスポートし、それらをOracle Database 12cのインスタンスにインポートできます。

注意:

Javaで作成されたデータ・マイニング・モデルはインポートしないでください。これらはOracle Database 12cでサポートされていません。

28.2.2.2.1 リリース10gのデータ・マイニング・モデルのエクスポートとインポート

データ・マイニング・モデルをエクスポートおよびインポートするには、次の手順に従います。

モデルをOracle Database 10gのインスタンスからダンプ・ファイルへエクスポートするには、「マイニング・モデルのエクスポートおよびインポート」の手順に従いますダンプ・ファイルからモデルをインポートする前に、DMEIDMSYSスクリプトを実行して、Oracle Database 12cDMSYSスキーマを作成します。

SQL>CONNECT / as sysdba;
SQL>@ORACLE_HOME\RDBMS\admin\dmeidmsys.sql
SQL>EXIT;

注意:

TEMP表領域がすでにOracle Database 12gデータベースに存在している必要があります。DMEIDMSYSスクリプトは、TEMP表領域およびSYSAUX表領域を使用してDMSYSスキーマを作成します。

Oracle Database 12cデータベースにダンプ・ファイルをインポートするには、次のようにします。

%ORACLE_HOME\bin\impdp system\<password> 
       dumpfile=<dumpfile_name> 
       directory=<directory_name> 
       logfile=<logfile_name> .....
SQL>CONNECT / as sysdba;
SQL>EXECUTE dmp_sys.upgrade_models();
SQL>ALTER SYSTEM FLUSH SHARED_POOL;
SQL>ALTER SYSTEM FLUSH BUFFER_CACHE;
SQL>EXIT;

upgrade_modelsスクリプトは、すべてのデータ・マイニング・メタデータ・オブジェクトおよびPL/SQLパッケージをDMSYSからSYSへ移行し、モデルのアップグレード前にDMSYSを削除します。

ALTER SYSTEM文

データベース・スマート・フラッシュ・キャッシュをフラッシュするには、ALTER SYSTEM FLUSH FLASH_CACHE文を発行します。データベース・スマート・フラッシュ・キャッシュのフラッシュは、リライトされた問合せ、または同一の開始点からの一連の問合せのパフォーマンスを測定する必要がある場合に有効です。

28.2.2.2.2 リリース11gのデータ・マイニング・モデルのエクスポートとインポート

モデルをOracle Database 11gのインスタンスからダンプ・ファイルへエクスポートするには、「マイニング・モデルのエクスポートおよびインポート」の手順に従います

注意:

Javaで作成されたデータ・マイニング・モデルはインポートしないでください。これらはOracle Database 12cでサポートされていません。

Oracle Database 12cデータベースにダンプ・ファイルをインポートするには、次のようにします。

%ORACLE_HOME\bin\impdp system\<password> 
       dumpfile=<dumpfile_name> 
       directory=<directory_name> 
       logfile=<logfile_name> .....
SQL>CONNECT / as sysdba;
SQL>EXECUTE dmp_sys.upgrade_models();
SQL>ALTER SYSTEM flush shared_pool;
SQL>ALTER SYSTEM flush buffer_cache;
SQL>EXIT;

ALTER SYSTEM文

データベース・スマート・フラッシュ・キャッシュをフラッシュするには、ALTER SYSTEM FLUSH FLASH_CACHE文を発行します。データベース・スマート・フラッシュ・キャッシュのフラッシュは、リライトされた問合せ、または同一の開始点からの一連の問合せのパフォーマンスを測定する必要がある場合に有効です。

28.2.3 アップグレード後の手順

アップグレードされたデータベースを表示する手順を実行します。

データベースのアップグレード後、アップグレードされたデータベースのDBA_MINING_MODELSビューをチェックします。このビューには、新しくアップグレードされたマイニング・モデルがリストされます。

アップグレードを検証し、ダウングレードの必要がないことを確認したら、初期化パラメータCOMPATIBLE12.1に設定する必要があります。

注意:

マイニング・モデルの作成に使用されるデータ・マイニングのユーザー・アカウントにCREATE MINING MODEL権限を付与する必要があります。

28.2.4 Oracle Data Miningのダウングレード

Oracle Database 12cデータベースを以前のリリースにダウングレードする前に、特異値分解モデルまたは期待値最大化モデルが存在しないことを確認します。これらのアルゴリズムは、Oracle Database 12cでのみ使用できます。ダウングレードする前に、DBMS_DATA_MINING.DROP_MODELルーチンを使用して、これらのモデルを削除します。削除しないと、データベースのダウングレード・プロセスは終了します。

SYSで次のSQL文を発行して、ダウングレードを検証します。

SQL>SELECT o.name FROM sys.model$ m, sys.obj$ o 
                  WHERE m.obj#=o.obj# AND m.version=2;

28.3 マイニング・モデルのエクスポートおよびインポート

データ・マイニング・モデルをフラット・ファイルにエクスポートして作業途中の操作をバックアップしたり、Oracle Database Enterprise Editionの別のインスタンスに(たとえば、開発データベースからテスト・データベースに)モデルを移動したりできます。

モデルをエクスポートおよびインポートする方法は、いずれもOracle Data Pumpのテクノロジに基づいています。

DBMS_DATA_MININGパッケージには、個々のマイニング・モデルのエクスポートとインポートを行うためのEXPORT_MODELプロシージャとIMPORT_MODELプロシージャが含まれています。EXPORT_MODELIMPORT_MODELでは、Oracle Data Pumpのエクスポート機能とインポート機能を使用します。

関連項目

28.3.1 Oracle Data Pumpについて

Oracle Data Pumpは、2つのコマンドライン・クライアントと2つのPL/SQLパッケージで構成されています。コマンドライン・クライアント(expdpおよびimpdp)により、データ・ポンプ・エクスポートおよびインポート・ユーティリティに対する使いやすいインタフェースが提供されます。expdpimpdpを使用して、スキーマ全体またはデータベース全体のエクスポートとインポートを行うことができます。

データ・ポンプ・エクスポート・ユーティリティは、マイニング・モデルを構成する表およびメタデータを含むスキーマ・オブジェクトを、ダンプ・ファイル・セットに書き出します。データ・ポンプ・インポート・ユーティリティは、ダンプ・ファイル・セットからモデル表およびメタデータを含むスキーマ・オブジェクトを取得し、それらをターゲット・データベースにリストアします。

expdpおよびimpdpは、個々のマイニング・モデルのエクスポートおよびインポートには使用できません。

関連項目:

Oracle Data Pumpと、expdpおよびimpdpユーティリティの詳細は、『Oracle Databaseユーティリティ』を参照してください

28.3.2 マイニング・モデルのエクスポートおよびインポート用オプション

マイニング・モデルのエクスポートおよびインポート用のオプションをリストします。

マイニング・モデルのエクスポートおよびインポート用オプションについて、次の表で説明します。

表28-1 Oracle Data Miningのエクスポートおよびインポート・オプション

タスク 説明

データベース全体のエクスポートまたはインポート

(DBAのみ)データベース全体のエクスポートにはexpdpを、データベース全体のインポートにはimpdpを使用します。データベース内のすべてのマイニング・モデルが含まれます。

スキーマのエクスポートまたはインポート

スキーマのエクスポートにはexpdpを、スキーマのインポートにはimpdpを使用します。スキーマ内のすべてのマイニング・モデルが含まれます。

データベース内の個々のモデルのエクスポートまたはインポート

個々のモデルのエクスポートにはDBMS_DATA_MINING.EXPORT_MODELを、個々のモデルのインポートにはDBMS_DATA_MINING.IMPORT_MODELを使用します。これらのプロシージャは、単一のマイニング・モデル、すべてのマイニング・モデルまたは特定の基準に一致するマイニング・モデルのエクスポートとインポートを行うことができます。

デフォルトでは、IMPORT_MODELは、モデルのエクスポート元のスキーマにモデルをインポートします。モデルを別のスキーマにインポートする場合は、schema_remapパラメータを指定できます。モデルを別の表領域を使用するスキーマにインポートする場合は、schema_remapと共にtablespace_remapを指定できます。

モデルを別のスキーマにインポートするために、データベース内の特別な権限が必要になる場合があります。これらの権限は、EXP_FULL_DATABASEロールおよびIMP_FULL_DATABASEロールによって付与され、特権ユーザー(SYSユーザー、またはDBAロールを持つユーザーなど)のみが使用できます。独自のスキーマ内でモデルのエクスポートとインポートを行う場合は、これらのロールは必要ありません。

モデルをインポートするには、ダンプ・ファイル・セットを作成したユーザーと同じデータベース権限を付与されている必要があります。そうでない場合は、完全なシステム権限を持つDBAがモデルのインポートを行います。

リモート・データベースに対する個々のモデルのエクスポートまたはインポート

リモート・データベースへの個々のモデルのエクスポートまたはリモート・データベースからの個々のモデルのインポートを行うには、データベース・リンクを使用します。データベース・リンクとは、別のデータベースのオブジェクトへのアクセスを可能にする、あるデータベースのスキーマ・オブジェクトです。このリンクは、EXPORT_MODELまたはIMPORT_MODELを実行する前に作成する必要があります。

プライベート・データベース・リンクを作成する場合、CREATE DATABASE LINKシステム権限が必要です。パブリック・データベース・リンクを作成する場合、CREATE PUBLIC DATABASE LINKシステム権限が必要です。また、リモートのOracle Databaseに対するCREATE SESSION権限が必要です。なお、ローカルとリモートの両方のOracle Databaseに、Oracle Netをインストールしておく必要があります。

28.3.3 EXPORT_MODELおよびIMPORT_MODELのディレクトリ・オブジェクト

ディレクトリ・オブジェクトを使用して、ダンプ・ファイル・セットの場所を識別する方法について説明します。

EXPORT_MODELおよびIMPORT_MODELは、ディレクトリ・オブジェクトを使用してダンプ・ファイル・セットの場所を特定します。ディレクトリ・オブジェクトとは、ホスト・コンピュータ上の物理ディレクトリのデータベース内での論理名です。

データ・マイニング・モデルをエクスポートするには、ディレクトリ・オブジェクトおよびそれが表すファイル・システム・ディレクトリに対する書込みアクセス権を持っている必要があります。データ・マイニング・モデルをインポートするには、ディレクトリ・オブジェクトおよびファイル・システム・ディレクトリに対する読取りアクセス権を持っている必要があります。また、データベース自体にはファイル・システムのディレクトリに対するアクセス権が必要です。ディレクトリ・オブジェクトを作成するにはCREATE ANY DIRECTORY権限が必要です。

次のSQLコマンドを実行すると、dmuser_dirという名前のディレクトリ・オブジェクトが作成されます。このディレクトリ・オブジェクトが表すファイル・システム・ディレクトリは、すでに存在している必要があり、さらにオペレーティング・システムによって付与される共有の読取りおよび書込みアクセス権を所有している必要があります。

CREATE OR REPLACE DIRECTORY dmuser_dir AS '/dm_path/dm_mining';

次のSQLコマンドを実行すると、dmuser_dirへの読取りおよび書込みアクセス権の両方がユーザーdmuserに付与されます。

GRANT READ,WRITE ON DIRECTORY dmuser_dir TO dmuser;

28.3.4 EXPORT_MODELおよびIMPORT_MODELの使用

この例は、EXPORT_MODELIMPORT_MODELを使用した様々なエクスポートおよびインポート・シナリオを示しています。

各例では、例28-1に示すディレクトリ・オブジェクトdmdirと、2つのスキーマdm1およびdm2を使用します。どちらのスキーマもデータ・マイニング権限を持っています。dm1には2つのモデルがあります。dm2には1つのモデルがあります。

SELECT owner, model_name, mining_function, algorithm FROM all_mining_models;
 
OWNER      MODEL_NAME           MINING_FUNCTION      ALGORITHM
---------- -------------------- -------------------- --------------------------
DM1        EM_SH_CLUS_SAMPLE    CLUSTERING           EXPECTATION_MAXIMIZATION
DM1        DT_SH_CLAS_SAMPLE    CLASSIFICATION       DECISION_TREE
DM2        SVD_SH_SAMPLE        FEATURE_EXTRACTION   SINGULAR_VALUE_DECOMP

例28-1 ディレクトリ・オブジェクトの作成

-- connect as system user
CREATE OR REPLACE DIRECTORY dmdir AS '/scratch/dmuser/expimp';
GRANT READ,WRITE ON DIRECTORY dmdir TO dm1;
GRANT READ,WRITE ON DIRECTORY dmdir TO dm2;
SELECT * FROM all_directories WHERE directory_name IN 'DMDIR';

OWNER      DIRECTORY_NAME             DIRECTORY_PATH
---------- -------------------------- ----------------------------------------
SYS        DMDIR                      /scratch/dmuser/expimp

例28-2 DM1からのすべてのモデルのエクスポート

-- connect as dm1
BEGIN
  dbms_data_mining.export_model (
                   filename =>   'all_dm1',
                   directory =>  'dmdir');
END;
/
 

ログ・ファイルとダンプ・ファイルは、dmdirに関連付けられている物理ディレクトリ/scratch/dmuser/expimpで作成されます。ログ・ファイルの名前はdm1_exp_11.logです。ダンプ・ファイルの名前はall_dm101.dmpです。

例28-3 元のDM1へのモデルのインポート

例28-2でエクスポートされたモデルが、まだdm1に存在しています。インポートにより同じ名前のモデルが上書きされることはないため、モデルを同じスキーマに戻す前に、同じ名前のモデルを削除する必要があります。

BEGIN
  dbms_data_mining.drop_model('EM_SH_CLUS_SAMPLE');
  dbms_data_mining.drop_model('DT_SH_CLAS_SAMPLE');
  dbms_data_mining.import_model(
                   filename => 'all_dm101.dmp',
                   directory => 'DMDIR');
END;
/
SELECT model_name FROM user_mining_models;
 
MODEL_NAME
------------------------------
DT_SH_CLAS_SAMPLE
EM_SH_CLUS_SAMPLE

例28-4 別のスキーマへのモデルのインポート

この例では、例28-2dm1からエクスポートされたモデルが、dm2にインポートされます。dm1スキーマではexample表領域を使用し、dm2スキーマではsysaux表領域を使用します。

-- CONNECT as sysdba 
BEGIN
  dbms_data_mining.import_model (
                   filename => 'all_d101.dmp',
                   directory => 'DMDIR',
                   schema_remap => 'DM1:DM2',
                   tablespace_remap => 'EXAMPLE:SYSAUX');
END;
/
-- CONNECT as dm2
SELECT model_name from user_mining_models;
 
MODEL_NAME
--------------------------------------------------------------------------------
SVD_SH_SAMPLE
EM_SH_CLUS_SAMPLE
DT_SH_CLAS_SAMPLE

例28-5 特定のモデルのエクスポート

単一のモデル、モデルのリストまたは特定の特性を共有するモデルのグループをエクスポートできます。

-- Export the model named dt_sh_clas_sample
EXECUTE dbms_data_mining.export_model (
             filename => 'one_model', 
             directory =>'DMDIR',
             model_filter => 'name in (''DT_SH_CLAS_SAMPLE'')');
-- one_model01.dmp and dm1_exp_37.log are created in /scratch/dmuser/expimp

-- Export Decision Tree models
EXECUTE dbms_data_mining.export_model(
             filename => 'algo_models',
             directory => 'DMDIR',
             model_filter => 'ALGORITHM_NAME IN (''DECISION_TREE'')');
-- algo_model01.dmp and dm1_exp_410.log are created in /scratch/dmuser/expimp

-- Export clustering models 
EXECUTE dbms_data_mining.export_model(
             filename =>'func_models',
             directory => 'DMDIR',
             model_filter => 'FUNCTION_NAME = ''CLUSTERING''');
-- func_model01.dmp and dm1_exp_513.log are created in /scratch/dmuser/expimp

28.3.5 PMMLからのインポート

Predictive Model Markup Language (PMML)で表現された回帰モデルをインポートできます。

PMMLは、Data Mining Group(http://www.dmg.org)によって策定されたXMLベースの規格です。PMMLに準拠しているアプリケーションは、任意のベンダーによって作成されたPMML準拠のモデルを配置できます。Oracle Data Miningでは、回帰モデルに対応するPMML 3.1のコア機能をサポートしています。

PMMLで表現された回帰モデルをインポートできます。モデルのタイプは、RegressionModel (線形回帰またはバイナリ・ロジスティック回帰)である必要があります。

28.4 マイニング・モデルおよびデータへのアクセスの制御

データ・マイニング・ユーザーの作成方法および必要な権限の付与方法について理解します。

28.4.1 データ・マイニング・ユーザーの作成

データ・マイニング・ユーザーの作成方法について説明します。

データ・マイニング・ユーザーとは、データ・マイニング操作を実行するための権限を持つデータベース・ユーザー・アカウントです。例28-6では、データベース・ユーザーの作成方法を示しています。例28-7では、ユーザーにデータ・マイニング権限を割り当てる方法を示しています。

注意:

データ・マイニングのサンプル・プログラム用にユーザーを作成するには、「データ・マイニングのサンプル・プログラム」で説明されている2つの構成スクリプトを実行する必要があります。

例28-6 SQL*Plusでのデータベース・ユーザーの作成

  1. システム権限を使用してSQL*Plusにログインします。

        Enter user-name: sys as sysdba
        Enter password: password
    
  2. dmuserというユーザーを作成するには、次のコマンドを入力します。選択したパスワードを指定します。

    CREATE USER dmuser IDENTIFIED BY password
           DEFAULT TABLESPACE USERS
           TEMPORARY TABLESPACE TEMP
           QUOTA UNLIMITED ON USERS;
    Commit;
    

    USERS表領域およびTEMP表領域は、データベース・メディアに付属の事前構成済データベースに含まれています。USERSは通常、デモ・ユーザーによって使用され、「データ・マイニングのサンプル・プログラム」で説明されているサンプル・プログラムの実行に適しています。TEMPは、ほとんどのデータベース・ユーザーによって共有される一時表領域です。

    注意:

    データ・マイニング・ユーザー用の表領域は、システム・ロードとシステム・リソースに応じて、標準的なDBAの手順に従って割り当てる必要があります。

  3. dmuserとしてログインするには、次を入力します。

    CONNECT dmuser
    Enter password: password

関連項目:

CREATE USER文の完全な構文については、『Oracle Database SQL言語リファレンス』を参照してください。

28.4.1.1 データ・マイニングの権限の付与

独自のスキーマにモデルを作成するには、CREATE MINING MODEL権限を所有している必要があります。所有しているモデルに対しては、どのような操作も実行できます。これには、モデルの適用、コスト・マトリックスの追加、モデルの名前の変更、およびモデルの削除が含まれます。

次の例のGRANT文では、基本的なデータ・マイニング権限のセットをdmuserアカウントに割り当てます。これらの権限のうち一部はどのマイニング操作にも必要ありませんが、これらすべてをグループとして付与することをお薦めします。

特定のマイニング操作の有効化または制限を行うには、追加のシステム権限およびオブジェクト権限が必要です。

例28-7 データ・マイニングに必要な権限

GRANT CREATE MINING MODEL TO dmuser;
GRANT CREATE SESSION TO dmuser;
GRANT CREATE TABLE TO dmuser;
GRANT CREATE VIEW TO dmuser;
GRANT EXECUTE ON CTXSYS.CTX_DDL TO dmuser;

自分のスキーマ内にないデータに対してはREADまたはSELECT権限が必要です。たとえば、次の文は、sh.customers表にSELECTアクセス権を付与します。

GRANT SELECT ON sh.customers TO dmuser;

28.4.2 データ・マイニングのシステム権限

マイニング・モデルに対する操作を制御する様々な権限について説明します。

システム権限は、データベース内の特定のアクションを実行する権限または1つのタイプのスキーマ・オブジェクトに対してアクションを実行する権限を付与します。たとえば、表領域を作成する権限や、データベース内の任意の表から行を削除する権限などがシステム権限です。

適切なシステム権限を所有している場合、他のスキーマのマイニング・モデルに対しても特定の操作を実行できます。たとえば、CREATE ANY MINING MODELを所有している場合、他のスキーマにモデルを作成できます。SELECT ANY MINING MODELを所有している場合、他のスキーマにあるモデルを適用できます。モデルにコメントを追加するには、COMMENT ANY MINING MODEL権限を所有している必要があります。

システム権限を付与するには、ADMIN OPTIONを指定したシステム権限またはGRANT ANY PRIVILEGEシステム権限が付与されている必要があります。

次の表に示されているシステム権限は、マイニング・モデルに対する操作を制御します。

表28-2 データ・マイニングのシステム権限

システム権限 許可される操作

CREATE MINING MODEL

ユーザー自身のスキーマへマイニング・モデルを作成する。

CREATE ANY MINING MODEL

任意のスキーマへマイニング・モデルを作成する。

ALTER ANY MINING MODEL

任意のスキーマ内の任意のマイニング・モデルの名前またはコスト・マトリックスを変更する。

DROP ANY MINING MODEL

任意のスキーマ内のマイニング・モデルを削除する。

SELECT ANY MINING MODEL

任意のスキーマ内のマイニング・モデルの適用および任意のスキーマ内のモデルの詳細の表示を行う。

COMMENT ANY MINING MODEL

任意のスキーマ内の任意のマイニング・モデルへコメントを追加する。

AUDIT_ADMINロール

任意のスキーマ内の任意のマイニング・モデルの監査証跡を生成する。(詳細は、『Oracle Databaseセキュリティ・ガイド』を参照。)

例28-8 データ・マイニングのシステム権限の付与

次の文は、dmuserによる任意のスキーマ内のデータのスコアリングおよびモデルの詳細の表示を許可します(SELECTアクセス権がデータに付与されている場合)。ただし、dmuserがモデルを作成できるのはdmuserスキーマ内のみです。

GRANT CREATE MINING MODEL TO dmuser;
GRANT SELECT ANY MINING MODEL TO dmuser;

次の文は、他のスキーマ内のスコアリングまたはモデルの詳細の表示の権限を取り消します。この文が実行されると、dmuserがデータ・マイニング操作を実行できるのはdmuserスキーマ内のみになります。

REVOKE SELECT ANY MINING MODEL FROM dmuser;

28.4.3 マイニング・モデルのオブジェクト権限

オブジェクト権限は、特定のスキーマ・オブジェクトに対して特定のアクションを実行する権限を付与します。たとえば、SH.PRODUCTS表から行を削除する権限は、オブジェクト権限の例です。

ユーザーには、自身のスキーマに含まれるスキーマ・オブジェクトに対するオブジェクト権限がすべて自動的に付与されています。ユーザーは、自身のスキーマのオブジェクトに対するオブジェクト権限を、他のユーザーまたはロールに付与できます。

次の表に示されているオブジェクト権限は、特定のマイニング・モデルに対する操作を制御します。

表28-3 マイニング・モデルのオブジェクト権限

オブジェクト権限 許可される操作

ALTER MINING MODEL

特定のマイニング・モデル・オブジェクトの名前またはコスト・マトリックスを変更する。

SELECT MINING MODEL

特定のマイニング・モデル・オブジェクトの適用およびそのモデルの詳細表示を行う。

例28-9 マイニング・モデルに対するオブジェクト権限の付与

次の文は、dmuserによるsales表へのモデルtestmodelの適用を許可し、適用ごとに異なるコスト・マトリックスを指定します。ユーザーdmuserは、モデルtestmodelの名前を変更することもできます。testmodelモデルおよびsales表は、dmuserスキーマ内ではなく、shスキーマ内にあります。

GRANT SELECT ON MINING MODEL sh.testmodel TO dmuser;
GRANT ALTER ON MINING MODEL sh.testmodel TO dmuser;
GRANT SELECT ON sh.sales TO dmuser;

次の文は、dmusertestmodelのコスト・マトリックスの名前の変更またはコスト・マトリックスの変更を行うのを防ぎます。ただし、dmuserは引き続きtestmodelsales表に適用できます。

REVOKE ALTER ON MINING MODEL sh.testmodel FROM dmuser;

28.5 マイニング・モデルに対する監査およびコメントの追加

マイニング・モデル・オブジェクトは、SQLのCOMMENT文とAUDIT文をサポートしています。

28.5.1 マイニング・モデルへのコメントの追加

コメントは、記述情報をデータベース・オブジェクトに関連付けるために使用できます。SQL COMMENT文を使用して、コメントをマイニング・モデルに関連付けることができます。

COMMENT ON MINING MODEL schema_name.model_name IS string;

注意:

別のスキーマのモデルにコメントを追加するには、COMMENT ANY MINING MODELシステム権限を所有している必要があります。

コメントを削除するには、コメントを空の文字列''に設定します。

次の文は、ユーザー自身のスキーマに含まれるモデルDT_SH_CLAS_SAMPLEにコメントを追加します。

COMMENT ON MINING MODEL dt_sh_clas_sample IS
           'Decision Tree model predicts promotion response';

コメントは、カタログ・ビューUSER_MINING_MODELSを問い合せることによって表示できます。

SELECT model_name, mining_function, algorithm, comments FROM user_mining_models; 

MODEL_NAME        MINING_FUNCTION  ALGORITHM      COMMENTS
----------------- ---------------- -------------- -----------------------------------------------
DT_SH_CLAS_SAMPLE CLASSIFICATION   DECISION_TREE  Decision Tree model predicts promotion response 

次の文は、データベースからこのコメントを削除します。

COMMENT ON MINING MODEL dt_sh_clas_sample '';

関連項目:

28.5.2 マイニング・モデルの監査

Oracle Database監査システムは、本番環境のスキーマ・オブジェクトに対する操作を追跡するための、強力で高度に構成可能なツールです。監査システムは、データ・マイニング・モデルに対する操作の追跡に使用できます。

注意:

マイニング・モデルの監査を行うには、AUDIT_ADMINロールを所有している必要があります。

統合監査については、『Oracle Databaseセキュリティ・ガイド』を参照してください。ただし、完全に統合された監査システムは、デフォルトでは有効になっていません。統合監査への移行手順については、『Oracle Databaseアップグレード・ガイド』を参照してください。

関連項目: