ヘッダーをスキップ
Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス
11g リリース1(11.1)
E05686-02
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

135 DBMS_TDB

DBMS_TDBパッケージは、Recovery ManagerのCONVERT DATABASEコマンドを使用してプラットフォーム間でデータベースを転送できるかどうかをレポートします。このパッケージは、現在のホスト・プラットフォーム上のデータベースのエンディアン形式が転送先プラットフォームと同じであること、および現在のデータベースの状態によってデータベースの転送が妨げられないことを検証します。


関連項目:

CONVERT DATABASEを使用したデータベース転送については、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。

この章では、次の項目について説明します。


DBMS_TDBの使用方法

この項では、DBMS_TDBの使用に関連する項目について説明します。


概要

多くの場合、Oracleは、同じエンディアン形式のプラットフォーム間のデータベース転送をサポートしています。ただし、エンディアン形式が同じ場合でも、データベースをプラットフォームから別のプラットフォームに移動するには変換処理が必要です。また、データベース転送のプロセスでは、転送するデータベースを読取り専用モードでオープンするなどの事前条件を満たす必要もあります。

DBMS_TDBパッケージは、次の2つの役割を果たします。

実際の変換は、Recovery ManagerのCONVERT DATABASEコマンドを使用して実行されます。 データベース転送の要件、プラットフォーム間の転送に必要なデータベース変換のプロセス、および変換プロセスにおけるDBMS_TDBサブプログラムの使用例の詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。


セキュリティ・モデル

このパッケージを使用するには、DBA権限が必要です。


定数

DBMS_TDBパッケージは、パラメータ値の指定に使用するいくつかの列挙定数を定義します。 列挙定数にはパッケージ名を接頭辞として付加する必要があります(DBMS_TDB.SKIP_NONEなど)。

DBMS_TDBパッケージでは、表135-1に示す定数が使用されます。

表135-1 DBMS_TDBの定数

名前 説明

SKIP_NONE

NUMBER

0

データベースの転送の準備ができているかどうかを確認する際に、すべてのファイルをチェックします。

SKIP_OFFLINE

NUMBER

2

データベースの転送の準備ができているかどうかを確認する際に、オフラインの表領域内のファイルをスキップします。

SKIP_READONLY

NUMBER

3

データベースの転送の準備ができているかどうかを確認する際に、読取り専用の表領域内のファイルをスキップします。



ビュー

DBMS_TDBパッケージは、次のビューを使用します。このビューの詳細は、『Oracle Databaseリファレンス』を参照してください。


使用上の注意


DBMS_TDBサブプログラムの要約

表135-2 DBMS_TDBパッケージのサブプログラム

サブプログラム 説明

CHECK_DBファンクション


データベースをターゲット・プラットフォームに転送できるかどうかを確認します。

CHECK_EXTERNALファンクション


データベースに外部表、ディレクトリまたはBFILEが含まれているかどうかを確認します。



CHECK_DBファンクション

このファンクションは、データベースをターゲット・プラットフォームに転送できるかどうかを確認します。指定したソース・プラットフォームおよび宛先プラットフォームに対して転送が完全にサポートされているかどうか、またデータベースが現在転送に適切な状態にあるかどうかがテストされます。

データベースの読取り専用またはオフラインの部分を転送しない場合、これらをスキップするかどうかを指定できます。

このファンクションはオーバーロードされています。複数の機能を構文形式ごとに、定義とともに示します。

構文

DBMS_TDB.CHECK_DB (
     target_platform_name   IN VARCHAR2,
     skip_option            IN  NUMBER)
   RETURN BOOLEAN;

DBMS_TDB.CHECK_DB (
     target_platform_name   IN VARCHAR2)
   RETURN BOOLEAN;

DBMS_TDB.CHECK_DB
   RETURN BOOLEAN;

パラメータ

表135-3 CHECK_DBファンクションのパラメータ

パラメータ 説明

target_platform_name

接続先プラットフォームの名前。V$DB_TRANSPORTABLE_PLATFORMに表示される名前と同じ名前にします。

skip_option

データベース転送が可能かどうかを確認する際に、スキップするデータベースの部分がある場合は、そのスキップする部分を指定します。 このプロパティに指定できる値は、表135-1「DBMS_TDBの定数」を参照してください。


戻り値

データベースをターゲット・プラットフォームに転送できない場合、またはデータベースが転送可能な状態でない場合は、FALSEを戻します。データベースが転送可能な状態の場合は、TRUEを戻します。

使用上の注意

次の例では、読取り/書込みモードでオープンしているデータベースでのCHECK_DBの使用方法を示します。

SQL> SET SERVEROUTPUT ON
SQL> DECLARE
       db_ready BOOLEAN;
     BEGIN
       db_ready := DBMS_TDB.CHECK_DB('Microsoft Windows IA (32-bit)');
     END;
     /

Database is not open READ ONLY. Please open database READ ONLY and retry.

PL/SQL procedure successfully completed.

CHECK_EXTERNALファンクション

このファンクションは、データベースに外部表、ディレクトリまたはBFILEが含まれているかどうかを確認します。

構文

DBMS_TDB.CHECK_EXTERNAL
   RETURN BOOLEAN;

戻り値

データベースに外部表、ディレクトリまたはBFILEが含まれている場合は、TRUEを戻します。それ以外の場合はFALSEを戻します。

使用上の注意

次の例では、外部表、ディレクトリまたはBFILEを含むデータベースでのCHECK_EXTERNALの使用方法を示します。

SQL> SET SERVEROUTPUT ON
SQL> DECLARE
        external BOOLEAN;
     BEGIN
       external := DBMS_TDB.CHECK_EXTERNAL;
     END;
     /
The following external tables exist in the database:
SH.SALES_TRANSACTIONS_EXT
The following directories exist in the database:
SYS.MEDIA_DIR, SYS.DATA_FILE_DIR, SYS.LOG_FILE_DIR, SYS.DATA_PUMP_DIR
The following BFILEs exist in the database:
PM.PRINT_MEDIA

PL/SQL procedure successfully completed.