プライマリ・コンテンツに移動
Oracle® Data Miningユーザーズ・ガイド
12c リリース1 (12.1)
B72967-05
目次へ移動
目次
索引へ移動
索引

前
次

EXPORT_MODELおよびIMPORT_MODELの使用

この項の例は、EXPORT_MODELIMPORT_MODELを使用した様々なエクスポートおよびインポート・シナリオを示しています。各例では、例8-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

例8-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

例8-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です。

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

例8-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

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

この例では、例8-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

例8-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

関連項目:

他の例については、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』を参照してください。