The examples in this section illustrate various export and import scenarios with EXPORT_MODEL and IMPORT_MODEL. The examples use the directory object dmdir shown in Example 8-1 and two schemas, dm1 and dm2. Both schemas have data mining privileges. dm1 has two models. dm2 has one model.
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
See Also:
Oracle Database PL/SQL Packages and Types Reference for more examples
Example 8-1 Creating the Directory Object
-- 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
Example 8-2 Exporting All Models From DM1
-- connect as dm1
BEGIN
dbms_data_mining.export_model (
filename => 'all_dm1',
directory => 'dmdir');
END;
/
A log file and a dump file are created in /scratch/dmuser/expimp, the physical directory associated with dmdir. The name of the log file is dm1_exp_11.log. The name of the dump file is all_dm101.dmp.
Example 8-3 Importing the Models Back Into DM1
The models that were exported in Example 8-2 still exist in dm1. Since an import does not overwrite models with the same name, you must drop the models before importing them back into the same schema.
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
Example 8-4 Importing Models Into a Different Schema
In this example, the models that were exported from dm1 in Example 8-2 are imported into dm2. The dm1 schema uses the example tablespace; the dm2 schema uses the sysaux tablespace.
-- 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
Example 8-5 Exporting Specific Models
You can export a single model, a list of models, or a group of models that share certain characteristics.
-- 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