質問 |
||
| 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でどうにかしなければいけないのかと思って、いろいろ調べていたのですが、よくわからなかったのでとても助かりました。 明日早速ためしてみます。(年越しせずにすみそうです!) |