プライマリ・コンテンツに移動
Oracle(c) Data Minerインストレーションおよび管理ガイド
リリース4.1
E62043-01
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

5 Oracle Data Minerリポジトリの管理

この章では、スクリプトを使用したOracle Data Minerリポジトリの管理方法について説明します。この章には次のトピックが含まれます:

5.1 Oracle Data Miner管理スクリプトについて

Oracle Data Minerには、リポジトリのインストールと管理に使用する一連のSQLスクリプトが用意されています。スクリプトは、SQL Developerとともに次のディレクトリにインストールされます。

\SQL_Developer_Home\sqldeveloper\dataminer\scripts

スクリプトは、SQL*PlusまたはSQL Developer Worksheetで実行できます。Oracle Data Minerのスクリプトはすべて、SYSとして実行する必要があります。


注意:

Oracle Data Minerスクリプトの多くはSQL Developerと統合されているため、Data GUIを介していくつかの管理機能を使用できます。

5.1.1 Oracle Data Minerスクリプトのパスの設定

スクリプトのデフォルトの検索パスを設定する手順:

  • SQL*Plus: scriptsディレクトリからSQL*Plusを起動します。

    \SQL_Developer_Home\sqldeveloper\dataminer\scripts
    
  • SQL Developer Worksheet: Worksheetのプロパティで、デフォルトの検索パスをscriptsディレクトリに設定します。

    SQL Developer Worksheetのプロパティについては、スクリプトで出力する最大行数を500000に変更することも必要です。

5.2 リポジトリのステータスとバージョンの判定

リポジトリのバージョンは、Oracle Data Minerクライアントのバージョンと互換である必要があります。クライアントとサーバーのバージョンに互換性がない場合、クライアントはサーバーに接続できません。

次の問合せは、リポジトリのバージョンとステータスを返します。

set echo on;
-- value of VERSION and REPOSITORY_STATUS
SELECT property_name, property_str_value 
   FROM ODMRSYS.ODMR$REPOSITORY_PROPERTIES
   WHERE property_name IN ('VERSION','REPOSITORY_STATUS', 'WF_VERSION');
PROPERTY_NAME             PROPERTY_STR_VALUE
------------------------------ ------------------------------
REPOSITORY_STATUS         LOADED
VERSION                   12.1.0.2.3
WF_VERSION                12.1.0.2.3 

Oracle Data Minerリポジトリには、ステータスを示す値としてNOT_LOADEDLOADEDの2つがあります。ステータスNOT_LOADEDは通常、SQL Developerの新しいバージョンまたは新しいパッチ・リリースをサポートするためにリポジトリをアップグレード中であることを示します。アップグレードが完了すると、ステータスがLOADEDになります。

5.3 リポジトリのバックアップとリストア

Oracle Data Minerリポジトリをアップグレードするか、データベース・アップグレードを実行する前に、ODMRSYSとOracle Data Minerユーザー・スキーマを含む、Oracle Data Minerのフル・バックアップを実行する必要があります。Oracle Data Minerには、ユーザー・スキーマを含まずにODMRSYS内のワークフロー・メタデータをバックアップするためのスクリプトも用意されています。

5.3.1 全体バックアップとリストア

Database 11.2.0.4以降では、フル・データベース・バックアップと独立に、Oracle Data Minerリポジトリとユーザー・スキーマの、フル・バックアップおよびリストアを実行することができます。Database 11.2.0.1から11.2.0.3では、Oracle Data Minerのフル・バックアップは、フル・データベース・バックアップの一部としてのみ可能です。

5.3.1.1 Database 11.2.0.1の、11.2.0.3へのフル・バックアップおよびリストア

Oracle Database 11.2.0.1、11.2.0.2および11.2.0.3では、Oracle Data MinerリポジトリのXML記憶域はオブジェクト・リレーショナルです。これらのデータベースでは、Oracle Data Minerリポジトリとユーザー・スキーマを、データベースのフル・バックアップおよびリストアと独立にバックアップおよびリストアするメカニズムがありません。

データベースをバックアップおよびリストアするには、Oracle Recovery Manager (Oracle RMAN)を使用できます。バックアップからリストアすると、データベースは正確にバックアップ以前の状態になります。部分リストアはサポートされていません。


関連項目:

Oracle RMANの詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。

5.3.1.2 Database 11.2.0.4以降のフル・バックアップおよびリストア

Oracle Database 11.2.0.4以降では、Oracle Data MinerリポジトリのXML記憶域はバイナリです。これらのデータベースでは、Oracle Data Pumpを使用して、データベースのフル・バックアップおよびリストアと独立に、ODMRSYSとユーザー・スキーマをバックアップおよびリストアできます。Oracle Data Pumpでは、個々のスキーマをバックアップおよびリストアできます。

別の方法としては、Oracle RMANでOracle Data Minerをバックアップおよびリストアできます。


関連項目:


5.3.2 ワークフローのみのバックアップ

Oracle Data Minerには、ワークフローによって生成されるユーザーのスキーマ内のオブジェクトを含まず、リポジトリ内のワークフロー・メタデータをバックアップするスクリプトが用意されています。この簡略化されたバックアップ戦略はワークフロー仕様を保護し、ユーザーがワークフローをうっかり削除してもリストアできるようにします。ワークフローがリストアされたら、ユーザーはそれを再実行して、すべてのサポート・オブジェクトがユーザーのスキーマに存在することを確認する必要があります。

creatxmlworkflowsbackup2スクリプトは、ODMRSYS内のすべてのワークフローを、別個のバックアップ・アカウントのODMR$WORKFLOWS_BACKUPと呼ばれる表にバックアップします。スクリプトを実行する前に、バックアップ・スキーマが存在し、利用できることを確認します。

構文:

createxmlworkflowsbackup2.sql backup_account

パラメータ:

backup_accountは、バックアップ表ODMR$WORKFLOWS_BACKUPのスキーマの名前です。

例:

この例は、BACKUPACCTと呼ばれるバックアップ・アカウントのワークフローをバックアップします:

set serveroutput on
@createxmlworkflowsbackup2l BACKUPACCT

注意:

dropRepositoryAndUserObjectsスクリプトは、リポジトリを削除するときに、すべてのバックアップ表を削除します。dropRepositoryAndUserObjectsスクリプトを実行してリポジトリを削除すると、すべてのワークフロー・バックアップが失われます。

createxmlworkflowsbackup2を実行するたびに、ワークフローの完全なセットがバックアップ表に追加されます。バックアップ・スクリプトには、バックアップ表内に30個までのバックアップが保持されます。古いバックアップは自動的に削除されます。たとえば、毎日バックアップを実行する場合、最大30日間、各ワークフローのリストアを要求できます。

バックアップ・スクリプトでは、DEFINE_MAX_VERSIONSが、バックアップ表に維持されるバックアップの数を指定します。30以上のバックアップを維持する場合、バックアップ・スクリプトcreatexmlworkflowsbackup2で、DEFINE_MAX_VERSIONSの値を希望する数に変更します。


関連項目:

dropRepositoryAndUserObjectsスクリプトの詳細は、「リポジトリの削除」

5.3.3 ワークフローのみのリストア

createxmlworkflowsbackup2で作成されたバックアップ表からワークフローをリストアするには、restorexmlworkflowfrombackup2スクリプトを実行します。

restorexmlworkflowfrombackup2.sqlは、バックアップ表からOracle Data Minerリポジトリにワークフローをリストアします。使用方法は次のとおりです。

構文:

restorexmlworkflowfrombackup2.sql [option] [backup_account] [workflow_definition]

パラメータ:

optionは、次の値を1つ取るオプションのパラメータです。

  • ADD_ONLY - リポジトリにすでに存在していないワークフローをリストアし、存在しないプロジェクトを必要に応じて作成します。(デフォルト)

  • DROP_AND_ADD - リポジトリにある既存のワークフローとプロジェクトを削除したうえで、すべてのワークフローをバックアップからリストアし、存在しないプロジェクトは必要に応じて作成します。

  • OVERRIDE_ONLY - リポジトリにすでに存在するワークフローのみをリストアします。

  • OVERRIDE_AND_ADD - OVERRIDE_ONLYADD_ONLYの両方のオプションを適用します。

backup_accountは、workflow_definitionが指定されない限りオプションで、指定された場合には必須です。バックアップ・アカウントを指定しない場合、ワークフローはリポジトリにあるバックアップ表からリストアされます。バックアップ表が存在しない場合、例外が発生します。

workflow_definitionは、どのワークフローをバックアップからリストアするかを指定する表またはビューを特定する、オプションのパラメータです。表またはビューには、USER_NAMEPROJECT_NAMEWORKFLOW_NAMEVERSIONの4つの列が必要です。表の各行が、リストアするワークフローを特定します。VERSIONの値がnullの場合は、最新バージョンの値がリストアに使用されます。ワークフロー定義を何も指定しない場合は、最新のバックアップ・バージョンがデフォルトになります

例:

この例は、リポジトリ内のすべてのワークフローを削除して、BACKUPACCT内のバックアップ表からワークフローをリストアします。

set serverput on
@restorexmlworkflowfrombackup2 DROP_AND_ADD BACKUPACCT

関連項目:

バックアップ表からのワークフローのリストアの詳細は、「ワークフローのみのバックアップ」

5.3.4 ワークフローのみのリストアの例

このトピックでは、選択的ワークフロー・リストアとフル・ワークフロー・リストアの例を示します。

例5-1 選択的ワークフロー・リストア

先週、ユーザーSCOTTが誤ってすべてのワークフローを削除してしまったと仮定しましょうADD_ONLYオプションを使用して、ワークフローをリストアできます。削除してしまったワークフローがどのバージョンのバックアップに含まれているかを確認するには、バックアップの問合せが必要です。バージョンが12の場合、次のスクリプト例はSYSとして実行され、それらのワークフローのみをリロードします。

@restorexmlworkflowfrombackup2.sql ADD_ONLY BACKUPACCT BACKUPACCT.WORKFLOW_V

次に示すWORKFLOW_Vビューは、ユーザーSCOTTに存在するすべてのワークフローを、指定したバージョンのバックアップから選択します。

CREATE VIEW BACKUPACCT.WORKFLOW_V AS 
       SELECT user_name, project_name, workflow_name, version
       FROM backupacct.odmr$workflows_backup 
       WHERE user_name='SCOTT' AND version = 12;

例5-2 フル・ワークフロー・リストア

致命的なリポジトリ障害が発生し、最新のバックアップからすべてのワークフローを完全に再ロードすることが必要になった仮定します。DROP_AND_ADDオプションを使用すると、古いワークフローをすべて削除して、バックアップにあるすべてのワークフローを再ロードすることができます。この例では、ODMRSYSアカウントとは異なる別のアカウントにバックアップ表が存在します。リカバリには最新バージョンのバックアップが使用されるので、ワークフロー定義のパラメータは必要ありません。

@restorexmlworkflowfrombackup2.sql DROP_AND_ADD BACKUPACCT

5.4 リポジトリの移行

SQL Developer 4.0からは、特定のアップグレード・パスにOracle Data Minerの移行スクリプトを使用できます。表5-1で説明されているスクリプトで、Oracle Data Minerリポジトリ・ソフトウェアを以前のバージョンから最新バージョンにアップグレードします。ワークフローはすべて、アップグレード中に保持されます。


関連項目:

『Oracle Data Minerユーザーズ・ガイド』のData Minerリポジトリの移行に関する項を参照してください

表5-1 Oracle Data Minerのアップグレード・スクリプト

SQL Developerのバージョン データベースのバージョン スクリプト 説明

任意のバージョン

11.2.0.1 - 11.2.0.3

migrateodmr.sql

ODMRSYSをアップグレードします。

詳細は5.4.1項を参照してください。

3.2.2以下

11.2.0.4以上(デフォルトのODMRSYS表領域がASSMベースではない)

upgradeRepoWithNewTableSpace.sql

入力パラメータとしてASSM表領域が必要です。これは、ワークフロー・データをXMLオブジェクト記憶域からXMLバイナリ記憶域に移行するために使用されます。

詳細は5.4.2項を参照してください。

3.2.2以下

11.2.0.4以上(デフォルトのODMRSYS表領域がASSMベース)。

upgradeRepoFromORtoBinary.sql

ワークフロー・データが、XMLオブジェクト記憶域からXMLバイナリ記憶域に移行されます。

詳細は、5.4.3項を参照してください。

4.0以上

11.2.0.4以上

migratebinaryodmr.sql

今後のリリースで、オブジェクト記憶域からバイナリ記憶域へのXML変換が不要になったときに該当します。

詳細は、5.4.4項を参照してください。

4.0以上

当初は11.2.0.3以下。データベースを11.2.0.4以上にアップグレード

upgradeRepoWithNewTableSpace.sql

または、upgradeRepoFromORtoBinary.sql

データベースは、Oracle Data Minerリポジトリとは別にアップグレードできるので、これを考慮する必要があります。スクリプトの選択は、ODMRSYS表領域がASSMかどうかによって異なります。

詳細は、5.4.2項または5.4.3項を参照してください。



注意:

表5-1にリストされているように、Oracle Data Minerのバージョン番号はSQL Developerのバージョン番号と同じです。

5.4.1 ODMRSYSのアップグレード

migrateodmrスクリプトは、ODMRSYSを、データベースでサポートされている最新のバージョンにアップグレードします。

ODMRUSERロールを持つセッションが現在実行中の場合、セッション・オブジェクト・ロックによりアップグレードがブロックされます。session_disconnectパラメータを使用してアクティブなセッションをすべて切断し、それによりアップグレード・プロセスの進行を可能にすることができます。

構文:

migrateodmr.sql session_disconnect

パラメータ:

session_disconnectは、次の値の1つを持つことができます。

R - アクティブなセッションをレポートします。切断はしません。

D — アクティブなセッションを切断します。レポートはしません。

DRまたはRD - アクティブなセッションを切断し、レポートします。

例:

この例はODMRSYSをアップグレードして、アクティブなODMRUSERセッションをすべて切断し、レポートします。

@migrateodmr DR

5.4.2 新しいODMRSYS表領域のオブジェクト・リレーショナルからバイナリへのアップグレード

upgradeRepoWithNewTableSpaceスクリプトは、指定された表領域を、オブジェクト・リレーショナルからバイナリのXML記憶域にアップグレードし、ODMRSYS内のワークフロー・データを新しい表領域に移行します。新しい表領域は、Oracle Automatic Segment Space Management (Oracle ASSM)表領域である必要があります。

ODMRUSERロールを持つセッションが現在実行中の場合、セッション・オブジェクト・ロックによりアップグレードがブロックされます。session_disconnectパラメータを使用してアクティブなセッションをすべて切断し、それによりアップグレード・プロセスの進行を可能にすることができます。

構文:

upgradeRepoWithNewTableSpace.sql ASSMtablespace session_disconnect

パラメータ:

ASSMtablespaceは、ASSM表領域の名前です。

session_disconnectは、次の値の1つを持つことができます。

R - アクティブなセッションをレポートします。切断はしません。

D — アクティブなセッションを切断します。レポートはしません。

DRまたはRD - アクティブなセッションを切断し、レポートします。

:

この例は、ODMRSYS内のオブジェクト・リレーショナルXMLデータを、バイナリXML記憶域を使用する新しいASSM表領域、my_ASSM_spaceに移行します。いずれかのODMRUSERセッションがアクティブである場合、それは切断され、レポートされます。

@upgradeRepoWithNewTableSpace my_ASSM_space DR

関連項目:

Oracle Database管理者ガイド

5.4.3 ODMRSYSのオブジェクト・リレーショナルからバイナリへのアップグレード

upgradeRepoFromORtoBinaryスクリプトは、ODMRSYSワークフロー・データを、オブジェクト・リレーショナルのXML記憶域からバイナリXML記憶域に移行します。アップグレードされたODMRSYS表領域は、Oracle Automatic Segment Space Management (ASSM)表領域です。

ODMRUSERロールを持つセッションが現在実行中の場合、セッション・オブジェクト・ロックによりアップグレードがブロックされます。session_disconnectパラメータを使用してアクティブなセッションをすべて切断し、それによりアップグレード・プロセスの進行を可能にすることができます。

構文:

@upgradeRepoFromORtoBinary.sql session_disconnect

パラメータ:

session_disconnectは、次の値の1つを持つことができます。

R - アクティブなセッションをレポートします。切断はしません。

D — アクティブなセッションを切断します。レポートはしません。

DRまたはRD - アクティブなセッションを切断し、レポートします。

例:

この例は、ODMRSYSをオブジェクト・リレーショナルXML記憶域からバイナリXML記憶域にアップグレードします。アップグレードされた表領域は、ASSMベースです。いずれかのODMRUSERセッションがアクティブである場合、それは切断され、レポートされます。

@upgradeRepoFromORtoBinary DR

関連項目:

Oracle Automatic Storage Management管理者ガイド

5.4.4 ODMRSYS内のバイナリ・ワークフロー・データのアップグレード

migratebinaryodmrスクリプトは、バイナリXML記憶域を使用するODMRSYSスキーマ内のワークフロー・データをアップグレードします。ODMRSYS表領域は、Oracle Automatic Segment Space Management (ASSM)表領域です。

ODMRUSERロールを持つセッションが現在実行中の場合、セッション・オブジェクト・ロックによりアップグレードがブロックされます。session_disconnectパラメータを使用してアクティブなセッションをすべて切断し、それによりアップグレード・プロセスの進行を可能にすることができます。

構文:

@migratebinaryodmr.sql session_disconnect

パラメータ:

session_disconnectは、次の値の1つを持つことができます。

R - アクティブなセッションをレポートします。切断はしません。

D — アクティブなセッションを切断します。レポートはしません。

DRまたはRD - アクティブなセッションを切断し、レポートします。

例:

この例はODMRSYS内のバイナリXMLワークフロー・データをアップグレードして、アクティブなODMRUSERセッションをすべて切断し、レポートします。

@migratebinaryodmr DR

5.5 リポジトリの削除

dropRepositoryAndUserObjectsスクリプトは、Data Minerリポジトリと、ユーザーのスキーマにある関連オブジェクトを削除します。

ODMRUSERロールを持つセッションが現在実行中の場合、セッション・オブジェクト・ロックによりアップグレードがブロックされます。session_disconnectパラメータを使用してアクティブなセッションをすべて切断し、それによりアップグレード・プロセスの進行を可能にすることができます。

構文:

dropRepositoryAndUserObjects.sql session_disconnect

パラメータ:

session_disconnectは、次の値の1つを持つことができます。

R - アクティブなセッションをレポートします。切断はしません。

D — アクティブなセッションを切断します。レポートはしません。

DRまたはRD - アクティブなセッションを切断し、レポートします。

例:

この例は、ODMRSYS、スキーマおよびOracle Data Minerユーザーのスキーマ内の関連オブジェクトを削除し、すべてのアクティブなODMRUSERセッションを切断およびレポートします。

@dropRepositoryAndUserObjects DR