ハロの外部記憶インターフェイス

そろそろ覚える努力が必要かも…

大容量データのIMP時の注意点

旧バージョンのIMPを利用した場合、考慮すべき確認エラーポイント

・TEMP表領域のの拡張問題
:impでcommitオプションを設定しない場合、TABLE単位でのコミットが発生するため、大容量データが入ってるテーブル分がまるまるUNDO領域に確報されるため、容量不足になる可能性がある。

・INDEXの作成にものすごく時間がかかるためIMPが終わらない問題
:インポート時はデータのインポート後、INDEX、GRANT、CONSTRANTなどのインポートが続くがこれらもかなり時間がかかるため、最終的にDB命令で実行したほうが早くおわる。

インデックスなどの再ビルド方法

sqlplus dbuser/dbpass
SQL> BEGIN
SQL>   FOR vRec IN (
SQL>     select 'ALTER INDEX ' || INDEX_NAME || ' REBUILD NOLOGGING' IDX_BLD from user_indexes
SQL>   ) LOOP
SQL>     EXECUTE IMMEDIATE vRec.IDX_BLD;
SQL>   END LOOP;
SQL> END;
SQL> /

Enterpriseバージョンの場合考慮すべき事

ArchiveLogがOnの場合、Offにする必要がある、
基本、何日間の変更情報を保持している機能だが、IMPは単にImportが実行されているだけの機能であるため、ArchiveLog領域がいっぱいになり、容量不足になる可能性がある。

NoArchiveLog Modeで再起動する。

sqlplus / as sysdba
SQL> shutdown immediate
SQL> startup mount
SQL> alter database noarchivelog
SQL> /
SQL> alter database open
SQL> /