デフォルト: デフォルト値は設定されていません。
注意:
このVIEWS_AS_TABLES
の説明は、ネットワーク・インポート時に適用されます(データ・ポンプ・インポートのNETWORK_LINK
パラメータの値を指定する場合)。ネットワーク・インポートではないインポートを実行する場合、「VIEWS_AS_TABLES (非ネットワーク・インポート)」を参照してください。
用途
1つ以上のビューを表としてインポートするように指定します。
構文および説明
VIEWS_AS_TABLES=[schema_name.]view_name[:table_name], ...
データ・ポンプによって、ビューと同じ列を持ち、ビューからフェッチされた行データを持つ表がインポートされます。データ・ポンプでは、ビューに依存する権限や制約などのオブジェクトもインポートされます。表に適用されない依存オブジェクト(UNDER
オブジェクト権限の付与など)は、インポートされません。VIEWS_AS_TABLES
パラメータは、単独で使用するか、TABLES
パラメータと組み合せて使用します。どちらを使用しても、データ・ポンプでは表モード・インポートが実行されます。
構文要素の定義は次のとおりです。
schema_name
: ビューが存在するスキーマの名前。スキーマ名を指定しない場合、デフォルトで、インポートを実行するユーザーになります。
view_name
: 表としてインポートするビューの名前。ビューは存在し、LOB以外のスカラー列のみを含むリレーショナル・ビューである必要があります。無効なビューや存在しないビューを指定すると、そのビューはスキップされてエラー・メッセージが返されます。
table_name
: インポートされるビューのメタデータのソースとなる表の名前。デフォルトでは、データ・ポンプによって、ビューと同じ列およびデータ型を持つ、行の含まれない一時的なテンプレート表が自動的に作成されます。データベースが読取り専用の場合、このテンプレート表のデフォルトの作成には失敗します。この場合、表名を指定できます。表は、ビューと同じスキーマに属している必要があります。これは、ヒープ構成のパーティション化されていないリレーショナル表である必要があります。ネストした表にすることはできません。
テンプレート表が明示的に指定された複数のビューがインポート・ジョブに含まれる場合、それらのテンプレート表はすべて異なっている必要があります。たとえば、2つのビューで同じテンプレート表を使用している次のジョブでは、ビューの1つがスキップされます。
impdp hr DIRECTORY=dpump_dir NETWORK_LINK=dblink1 VIEWS_AS_TABLES=v1:employees,v2:employees
オブジェクトの省略をレポートするエラー・メッセージが返されます。
テンプレート表は、インポート操作の完了後に自動的に削除されます。それらが存在している間は、次の問合せを実行してその名前を表示できます(名前はすべてKU$VAT
で始まります)。
SQL> SELECT * FROM user_tab_comments WHERE table_name LIKE 'KU$VAT%'; TABLE_NAME TABLE_TYPE ------------------------------ ----------- COMMENTS ----------------------------------------------------- KU$VAT_63629 TABLE Data Pump metadata template table for view HR.EMPLOYEESV
制限事項
VIEWS_AS_TABLES
パラメータは、TRANSPORTABLE
=ALWAYS
パラメータと組み合せて使用することはできません。
VIEWS_AS_TABLES
パラメータを使用して作成された表には、指定したビューの一部であった非表示列は含まれません。
VIEWS_AS_TABLES
パラメータでは、LONG
のデータ型の列のある表をサポートしていません。
例
次の例では、ネットワーク・インポートを実行して、読取り専用データベースからビューhr.v1
のコンテンツをインポートします。ソース・データベースのhr
スキーマには、ビューview1
と同じジオメトリを持つテンプレート表が含まれる必要があります(この表はview1_tab
と呼ばれます)。VIEWS_AS_TABLES
パラメータには、ビュー名と表名をコロンで区切ってリストします。
> impdp hr VIEWS_AS_TABLES=view1:view1_tab NETWORK_LINK=dblink1
ビューは、ビューからフェッチされた行を持つview1
という表としてインポートされます。表のメタデータは、テンプレート表のview1_tab
からコピーされます。