ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

QNo.3632051 インポート時のエラーについて
質問者:kazuo1969 新サーバーのOracleにTABLESPACEを作成したのですが、旧サーバーで保管したデータをインポートしようとすると一部件数の多いテーブルでエラーが発生します。内容は
IMP-00003:Oracleエラー:1562が発生しました。
ORA-01562:ロールバックセグメント番号:2を拡張できません。
ORA-01628:最大エクステント:121に達しました(ロールバックセグメント:RB1)。
IMP-00028:前の表の部分インポートがロールバックされました(XXXXX行)。

データ用TABLESPACEはサイズ5GBで
DEFAULT STORAGE(INITIAL 1024K NEXT 1024K MINEXTENTS 1 MAXEXTENTS 121 PCTINCREASE 50)
TEMP用とROLLBACK用TABLESPACEはそれぞれサイズ500MBで
DEFAULT STORAGE(INITIAL 1M NEXT 1M MINEXTENTS 1 MAXEXTENTS 512 PCTINCREASE 50)
ロールバックセグメントは3つ作成し、それぞれ
initial 3M next 3M optimal 50 M 
で作成しました。
Oracleは7.3です。設定の間違いや、対策はないでしょうか?
困り度:
  • すぐに回答を!
質問投稿日時:
07/12/27 19:41
この質問に対する回答は締め切られました。

回答良回答20pt

ANo.1 こんにちわ。

ロールバックセグメントが3個と言うのは少ないと思いますが、
今回は単純にロールバック・セグメントが拡張できなかっただけです。
imp コマンドはデフォルトでは表単位にCommit を行います。
→ 1表のimp を1トランザクションで実行すると言う事です。
  現環境のロールバックセグメントがこのロールバック情報を
  格納し切れなかっただけです。
適当な件数imp した時点で内部的にCommit を実行させれば
解決すると思います。

imp buffer=10485760 commit=y ・・・
として下さい。
→ 10MB 分の配列をロードしたら内部でCommit してくれます。
回答者:muyoshid
種類:回答
どんな人:専門家
自信:自信あり
回答日時:
07/12/27 22:36
この回答へのお礼早速の回答ありがとうございます。
ALTERでどうにかしなければいけないのかと思って、いろいろ調べていたのですが、よくわからなかったのでとても助かりました。
明日早速ためしてみます。(年越しせずにすみそうです!)