2

開始する前に、誰かがこれを行うためのより良い方法を知っている場合は、データポンプがテーブルスペースでハングし、テーブルスペースのリポジトリを確認すると何も入力されていないため、データポンプに大きな問題があるため共有してください。

本番環境からPRE_PREDに同時にいくつかのテーブルをCTASしようとしています(@ databaseリンクからselectとしてテーブルを作成します)。

テーブルサイズは29GB、29GB、35GBインデックスサイズは10GB、11GB、13GBTempテーブルスペースは256GBです

データのコピー先のテーブルスペースは340GBです。

擬似コード

create table A 
compress basic
nologging
nomonitoring
tablespace PRE_PRED.A 
parallel (degree defasult instances default)
as select * from B@database link;

unable to extend temp segment in PRE_PRED.A tablespaceTEMPと指定されたテーブルスペースに十分なスペースがあることがわかるように、私はどこにでも行き続けています。

質問は私に知らせてください...ありがとう

4

1 に答える 1

1

これを行うための最良の方法は、データポンプを使用することですが、これは難しいことではありません。

まず、必要なテーブルをターゲットデータベースサーバー上のファイルにエクスポートします

expdp system dumpfile=MY_TABLES.dmp logfile=MY_TABLES.log exclude=statistics tables=owner.a, owner.b, owner.c

次に、このファイルをソースデータベースサーバーにコピーしてから、テーブルをインポートし、必要に応じて所有者とテーブルスペースを変更します(必要がない場合は、再マップオプションを削除します)。

impdp system dumpfile=MY_TABLES.dmp logfile=MY_TABLES_IMPORT.log tables=owner.a, owner.b, owner.c remap_schema=owner:newowner remap_tablespace=tablespace:newtbspce

これにより、ネットワークとデータベースへの負荷が大幅に軽減され、高速になります。

必要に応じて、データベースリンクを使用してソースデータベースから直接impdbを使用してテーブルを取得することもできます(ただし、テーブルが非常に小さく、CTASが機能する場合を除いて、これを自分で使用することはありません)。

impdp system logfile=MY_TABLES_IMPORT.log tables=owner.a, owner.b, owner.c remap_schema=owner:newowner remap_tablespace=tablespace:newtbspce network_link=dblink
于 2012-09-06T09:32:33.040 に答える