39.2 Oracle Machine Learning for SQLのアップグレードまたはダウングレード

Oracle Machine Learning for SQLのアップグレード方法とダウングレード方法について説明します。

39.2.1 アップグレード前のステップ

アップグレード前の考慮事項。

アップグレードの前に、Oracle Data Minerで作成した機械学習のモデルと機械学習のアクティビティを削除する必要があります。

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

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

39.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$を使用する表またはビューは存在しなくなります。

39.2.2 Oracle Machine Learning for SQLのアップグレード

Oracle Machine Learning for SQLのアップグレード方法について説明します。

すべてのモデルと機械学習メタデータは、19c以前のリリースからのOracle Databaseのアップグレード・プロセスに完全に統合されています。

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

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

39.2.2.1 Database Upgrade Assistantを使用したOracle Machine Learning for SQLのアップグレード

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

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

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

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

  3. Upgrade Assistantを起動します。

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

39.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には存在しません。

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

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

39.2.2.2 エクスポートとインポートを使用した機械学習モデルのアップグレード

Oracle Databaseのエクスポート機能とインポート機能を使用して、これまでに作成したモデルをエクスポートし、そのモデルをOracle Databaseバージョンのインスタンスにインポートします。

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

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

39.2.2.2.2 Oracle Machine Learning for SQLのモデルのエクスポートとインポート

Oracle Machine Learning for SQLのモデルのエクスポートとインポート。

以前のリリースのOracle Databaseインスタンスからダンプ・ファイルにモデルをエクスポートする場合は、「Oracle Machine Learning for SQLモデルのエクスポートとインポート」に示した手順を実行してください。

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

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

39.2.3 アップグレード後のステップ

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

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

アップグレードを検証し、ダウングレードの必要がないことを確認したら、初期化パラメータCOMPATIBLE20.0.0に設定する必要があります。Oracle Database 20cでは、COMPATIBLE初期化パラメータがパラメータ・ファイルで設定されていないと、COMPATIBLEパラメータの値が20.0.0にデフォルト設定されます。

ノート:

CREATE MINING MODEL権限は、機械学習モデルの作成に使用するOracle Machine Learning for SQLユーザー・アカウントに付与しておく必要があります。

39.2.4 Oracle Machine Learning for SQLのダウングレード

Oracle Database 20cデータベースを以前のバージョンにダウングレードする前に、モデルが存在していないことを確認してください。ダウングレードする前に、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;