34.2 Oracle Data Miningのアップグレードまたはダウングレード
Oracle Data Miningのアップグレードまたはダウングレードの方法を理解します。
34.2.1 アップグレード前のステップ
34.2.1.1 Javaで作成されたモデルの削除
10gまたは11gデータベースにJavaで作成されたモデルが含まれている場合は、データベースのアップグレード前に、DBMS_DATA_MINING.DROP_MODEL
ルーチンを使用してモデルを削除します。
34.2.1.2 Oracle Data Miner Classicで作成されたマイニング操作の削除
データベースにOracle Data Miner Classicからのマイニング操作が含まれている場合は、データベースのアップグレード前に、マイニング操作の削除とリポジトリの削除を行います。次のステップを実行します。
-
Data Miner Classicユーザー・インタフェースを使用して、マイニング操作を削除します。
-
SQL*PlusまたはSQL Developerで、次の表を削除します。
DM4J$ACTIVITIES DM4J$RESULTS DM4J$TRANSFORMS
さらに次の表も削除します。
DM4J$MODEL_RESULTS_V DM4J$RESULTS_STATE_V
これらのステップの完了後は、データベースのスキーマ内に接頭辞DM4J$
を使用する表またはビューは存在しなくなります。
34.2.2 Oracle Data Miningのアップグレード
Oracle Data Miningをアップグレードする方法を学習します。
アップグレード前のステップを完了すると、11gまたは10gのどちらのリリースからのアップグレードの場合でも、すべてのモデルとマイニング・メタデータはOracle Databaseのアップグレード・プロセスに完全に統合されます。
アップグレードされたモデルは、引き続き以前のリリースの場合と同様に機能します。アップグレードされたモデルおよびアップグレードされた環境で作成した新しいモデルの両方が、新しいリリースで導入された新しいマイニング機能を利用できます。
データベースのアップグレードには、Database Upgrade Assistant (DBUA)を使用することも、エクスポートおよびインポート・ユーティリティを使用して手動アップグレードを実行することもできます。
34.2.2.1 Database Upgrade Assistantを使用したOracle Data Miningのアップグレード
Oracle Database Upgrade Assistantには、アップグレード・プロセスをインタラクティブに順を追って説明するグラフィカル・ユーザー・インタフェースが用意されています。
Windowsプラットフォームでは、次のステップに従ってUpgrade Assistantを起動します。
-
Windowsの「スタート」メニューに移動し、Oracleホーム・ディレクトリを選択します。
-
「コンフィグレーションおよび移行ツール」メニューを選択します。
-
Upgrade Assistantを起動します。
Linuxプラットフォームでは、DBUA
ユーティリティを使用してOracle Databaseをアップグレードします。
34.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には存在しません。
34.2.2.2 エクスポートとインポートを使用したデータ・マイニング・モデルのアップグレード
34.2.2.2.1 リリース10gのデータ・マイニング・モデルのエクスポートとインポート
データ・マイニング・モデルをエクスポートおよびインポートするには、次の手順に従います。
モデルをOracle Database 10gのインスタンスからダンプ・ファイルへエクスポートするには、「マイニング・モデルのエクスポートおよびインポート」の手順に従いますダンプ・ファイルからモデルをインポートする前に、DMEIDMSYS
スクリプトを実行して、Oracle Database 12cにDMSYS
スキーマを作成します。
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
文を発行します。データベース・スマート・フラッシュ・キャッシュのフラッシュは、リライトされた問合せ、または同一の開始点からの一連の問合せのパフォーマンスを測定する必要がある場合に有効です。
関連トピック
34.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
文を発行します。データベース・スマート・フラッシュ・キャッシュのフラッシュは、リライトされた問合せ、または同一の開始点からの一連の問合せのパフォーマンスを測定する必要がある場合に有効です。
34.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;