この章では、downgrade Oracle Data Mining 11g Release 2 (11.2)をアップグレードまたはダウングレードする方法について説明します。内容は次のとおりです。
Oracle Data Miningのアップグレードは、Oracle Databaseのアップグレード・プロセスと完全に統合されています。リリース11.1とリリース10gのどちらからアップグレードする場合でも、データ・マイニング・モデルとメタデータはOracle Databaseのアップグレード中に自動的にアップグレードされます。
データベースのアップグレードには、Database Upgrade Assistant (DBUA)を使用することも、エクスポートおよびインポート・ユーティリティを使用して手動アップグレードを実行することもできます。
|
関連項目: データベースの完全なアップグレード手順については、『Oracle Databaseアップグレード・ガイド』を参照してください。 |
アップグレードされたモデルは、引き続き以前のリリースの場合と同様に機能します。アップグレードされた環境で作成した新しいモデルが、新しいリリースで導入された新しいマイニング機能を利用できます。
Oracle Data Mining 10gでは、データ・マイニング・メタデータおよびPL/SQLパッケージはDMSYSスキーマに格納されます。Oracle Data Mining 11gにはDMSYSが存在せず、データ・マイニング・メタデータ・オブジェクトはSYSに格納されます。
10gから11gへのアップグレード中には、Data Miningのすべてのメタデータ・オブジェクトとPL/SQLパッケージがDMSYSからSYSに移行されます。アップグレード後に、ダウングレードの必要がないと確定したときには、初期化パラメータCOMPATIBLEを11.2に設定し、DMSYSスキーマとそれに関連するオブジェクトを、次のようにしてアップグレード後のデータベースから削除します。
SQL> CONNECT / AS sysdba; SQL> DROP USER dmsys CASCADE; SQL> DELETE FROM sys.exppkgact$ WHERE schema = 'DMSYS'; SQL> SELECT COUNT(*) FROM dba_synonyms WHERE table_owner = 'DMSYS';
結果がゼロ以外の行になる場合は、次のようにSQLスクリプトを作成して実行します。
SQL> set head off SQL> spool directory_path/drop_dmsys_synonyms.sql SQL> SELECT 'Drop public synonym ' ||'"'||SYNONYM_NAME||'";' FROM DBA_SYNONYMS WHERE TABLE_OWNER = 'DMSYS'; SQL> spool off SQL> @directory_path/drop_dmsys_synonyms.sql
DMSYSを削除すると、Oracle Data MiningはSYS.DBA_REGISTRYにコンポーネントとして表示されなくなります。
11gへのアップグレード後は、Data Mining Scoring Engine (DMSE)に切り替えられなくなります。スコアリング・エンジンは11gでは存在しません。
Oracle Database Upgrade Assistantには、アップグレード・プロセスをインタラクティブに順を追って説明するグラフィカル・ユーザー・インタフェースが用意されています。Upgrade Assistantを起動するには、次の手順に従います。
Windowsの「スタート」メニューから、Oracleホーム・ディレクトリを選択します。
「コンフィグレーションおよび移行ツール」メニューを選択します。
Linuxプラットフォームでは、DBUAユーティリティを実行してOracle Databaseをアップグレードします。
必要に応じて、Oracle Data Miningを手動でアップグレードすることも可能です。以前のバージョンのOracle Databaseで作成されたモデルをエクスポートし、新しい11gリリース2 (11.2)データベースにインポートできます。
モデルを11.1データベースからダンプ・ファイルへエクスポートして11.2データベースにインポートするには、「マイニング・モデルのエクスポートおよびインポート」の手順に従います。
モデルを10gデータベースからダンプ・ファイルへエクスポートするには、「マイニング・モデルのエクスポートおよびインポート」の手順に従います。10.1のJava APIで作成したモデルがある場合は、エクスポートに含めないでください。11gではサポートされていません。
ダンプ・ファイルからモデルをインポートする前に、DMEIDMSYSスクリプトを実行して、11gデータベースにDMSYSスキーマを作成します。
SQL>CONNECT / as sysdba;
SQL>@ORACLE_HOME\RDBMS\admin\dmeidmsys.sql
SQL>EXIT;
|
注意: TEMP表領域がすでに11gデータベースに存在している必要があります。DMEIDMSYSスクリプトは、TEMP表領域およびSYSAUX表領域を使用してDMSYSスキーマを作成します。 |
ダンプ・ファイルをデータベースにインポートするには、次のコマンドを発行します。
%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('11.0.0'); SQL>ALTER SYSTEM FLUSH SHARED_POOL; SQL>EXIT;
アップグレードされたマイニング・モデルで操作を実行する前にデータベースを停止する場合、共有プールがフラッシュされます。
データベースのアップグレード後、アップグレード・ログ・ファイルおよびSYS.DBA_REGISTRYビューをチェックして、アップグレード・プロセスが正常に完了したことを確認します。アップグレードしたデータベースのDBA_MINING_MODELSビューも確認します。新しくアップグレードされたマイニング・モデルが、このビューに表示されます。
アップグレードを検証し、ダウングレードの必要がないことを確認した後は、初期化パラメータCOMPATIBLEを11.2に設定する必要があります。
|
重要: Oracle 11gでは、データ・マイニングのユーザー・アカウントにCREATE MINING MODEL権限を付与する必要があります。この権限は、11gでデータ・マイニング・モデルを作成する際に必要です。詳細は、第4章「データ・マイニング用のユーザーと権限」を参照してください。 |
データベースを以前のバージョンにダウングレードする前に、アップグレードしたデータベースで11gリリース2 (11.2)のマイニング・モデルが作成されていないことを確認します。確認には、SYSで次のSQL文を発行します。
SQL>SELECT o.name FROM sys.model$ m, sys.obj$ o
WHERE m.obj#=o.obj# AND m.version=2;
データベースに11gリリース2 (11.2)のマイニング・モデルがある場合、データベースをダウングレードする前に、DBMS_DATA_MINING.DROP_MODELルーチンを使用して手動で削除します。削除しないと、データベースのダウングレード・プロセスは異常終了します。DROP_MODELを呼び出す構文の詳細は、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』を参照してください。