プライマリ・コンテンツに移動

Oracle® Data Minerインストレーションおよび管理ガイド リリース17.4 E94575-01 |
| 目次 | 索引

前へ | 次 |

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

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

- Oracle Data Miner管理スクリプトについて
  Oracle Data Minerには、リポジトリのインストールと管理に使用する一連のSQLスクリプトが用意されています。
- Oracle Data Minerスクリプトのパスの設定
  SQL*PlusまたはSQL Developer Webシートを使用して、Oracle Data Minerスクリプトのパスを設定できます。
- リポジトリのステータスとバージョンの判定
  リポジトリのバージョンは、Oracle Data Minerクライアントのバージョンと互換である必要があります。クライアントとサーバーのバージョンに互換性がない場合、クライアントはサーバーに接続できません。
- リポジトリのバックアップとリストア
  Oracle Data Minerリポジトリをアップグレードするか、データベース・アップグレードを実行する前に、`ODMRSYS`とOracle Data Minerユーザー・スキーマを含む、Oracle Data Minerのフル・バックアップを実行する必要があります。
- リポジトリの移行
  この項では、リポジトリの移行に関連するトピックについて説明します。
- リポジトリの削除
  `dropRepositoryAndUserObjects`スクリプトは、Data Minerリポジトリと、ユーザーのスキーマにある関連オブジェクトを削除します。

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

Oracle Data Minerには、リポジトリのインストールと管理に使用する一連のStructured Query Language (SQL)スクリプトが用意されています。

SQLスクリプトは、SQL Developerとともに次のディレクトリにインストールされます。

`SQL_Developer_Home\sqldeveloper\dataminer\scripts`

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

注意:

Oracle Data Minerスクリプトの多くはSQL Developerと統合されているため、データ・グラフィカル・ユーザー・インタフェースを介していくつかの管理機能を使用できます。

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

SQL*PlusまたはSQL Developer Webシートを使用して、Oracle Data Minerスクリプトのパスを設定できます。

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

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

  `SQL_Developer_Home\sqldeveloper\dataminer\scripts`

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

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

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

リポジトリのバージョンは、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_LOADED`と`LOADED`の2つがあります。ステータス`NOT_LOADED`は通常、SQL Developerの新しいバージョンまたは新しいパッチ・リリースをサポートするためにリポジトリをアップグレード中であることを示します。アップグレードが完了すると、ステータスが`LOADED`になります。

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

Oracle Data Minerリポジトリをアップグレードするか、データベース・アップグレードを実行する前に、`ODMRSYS`とOracle Data Minerユーザー・スキーマを含む、Oracle Data Minerのフル・バックアップを実行する必要があります。

Oracle Data Minerには、ユーザー・スキーマを含まずに`ODMRSYS`内のワークフロー・メタデータをバックアップするためのスクリプトも用意されています。

- フル・バックアップおよびリストア
  Oracle Database 11.2.0.4以降では、フル・データベース・バックアップと独立に、Oracle Data Minerリポジトリとユーザー・スキーマの、フル・バックアップおよびリストアを実行することができます。
- ワークフローのみのバックアップ
  Oracle Data Minerには、ワークフローによって生成されるユーザーのスキーマ内のオブジェクトを含まず、リポジトリ内のワークフロー・メタデータをバックアップするスクリプトが用意されています。
- ワークフローのみのリストア
  `createxmlworkflowsbackup2`で作成されたバックアップ表からワークフローをリストアできます。
- ワークフローのみのリストアの例
  このトピックでは、選択的ワークフロー・リストアとフル・ワークフロー・リストアの例を示します。

関連項目

- ユーザー・オブジェクトとリポジトリ・オブジェクトについて
- Oracle Data Minerのアーキテクチャ

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

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

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

#### 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をバックアップおよびリストアできます。

関連項目

- Oracle Databaseユーティリティ

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

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`の値を希望する数に変更します。

関連項目

- リポジトリの削除

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

`createxmlworkflowsbackup2`で作成されたバックアップ表からワークフローをリストアできます。

`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_ONLY`と`ADD_ONLY`の両方のオプションを適用します。

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

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

例:

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

    set serverput on
    @restorexmlworkflowfrombackup2 DROP_AND_ADD BACKUPACCT

関連項目

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

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

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

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

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

    @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

## リポジトリの移行

この項では、リポジトリの移行に関連するトピックについて説明します。

内容は次のとおりです。

- ODMRSYSのアップグレード
  `migratebinaryodmr`スクリプトは、バイナリXML記憶域を使用する`ODMRSYS`スキーマ内のワークフロー・データをアップグレードします。`ODMRSYS`表領域は、Oracle Automatic Segment Space Management (ASSM)表領域です。
- リポジトリを移行するスクリプト
  SQL Developer 4.0からは、特定のアップグレード・パスにOracle Data Minerの移行スクリプトを使用できます。
- 新しいODMRSYS表領域のオブジェクト・リレーショナルからバイナリへのアップグレード
  `upgradeRepoWithNewTableSpace`スクリプトは、指定された表領域を、オブジェクト・リレーショナルからバイナリXML記憶域にアップグレードし、`ODMRSYS`内のワークフロー・データを新しい表領域に移行します。新しい表領域は、Oracle Automatic Segment Space Management (Oracle ASSM)表領域である必要があります。
- ODMRSYSのオブジェクト・リレーショナルからバイナリへのアップグレード
  `upgradeRepoFromORtoBinary`スクリプトは、`ODMRSYS`ワークフロー・データを、オブジェクト・リレーショナルのXML記憶域からバイナリXML記憶域に移行します。アップグレードされた`ODMRSYS`表領域は、Oracle Automatic Segment Space Management (ASSM)表領域です。

### 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

### リポジトリを移行するスクリプト

SQL Developer 4.0からは、特定のアップグレード・パスにOracle Data Minerの移行スクリプトを使用できます。

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

SQL Developerのバージョン | データベースのバージョン | スクリプト | 説明
--- | --- | --- | ---
4.0以降 | 11.2.0.4以降 | `migratebinaryodmr.sql` | 今後のリリースで、オブジェクト記憶域からバイナリ記憶域へのXML変換が不要になったときに該当します。
4.0以降 | 当初は11.2.0.3以前。データベースを11.2.0.4以降にアップグレード | `upgradeRepoWithNewTableSpace.sql`または`upgradeRepoFromORtoBinary.sql` | データベースは、Oracle Data Minerリポジトリとは別にアップグレードできるので、これを考慮する必要があります。スクリプトの選択は、`ODMRSYS`表領域がASSMかどうかによって異なります。
3.2.2以前 | 11.2.0.4以降(デフォルトの`ODMRSYS`表領域がASSMベースではない) | `upgradeRepoWithNewTableSpace.sql` | 入力パラメータとしてASSM表領域が必要です。これは、ワークフロー・データをXMLオブジェクト記憶域からXMLバイナリ記憶域に移行するために使用されます。
3.2.2以前 | 11.2.0.4以降(デフォルトの`ODMRSYS`表領域がASSMベース) | `upgradeRepoFromORtoBinary.sql` | ワークフロー・データが、XMLオブジェクト記憶域からXMLバイナリ記憶域に移行されます。

### 新しい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管理者ガイド

### 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管理者ガイド

## リポジトリの削除

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

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

構文:

    dropRepositoryAndUserObjects.sql session_disconnect

パラメータ:

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

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

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

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

例:

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

    @dropRepositoryAndUserObjects DR

関連項目

- ユーザー・オブジェクトとリポジトリ・オブジェクトについて
- Oracle Data Minerのアーキテクチャ
- ワークフローのみのバックアップ