- PR -

ORACLE10gでハッシュパーティション表のEXP⇒IMPでエラー

1
投稿者投稿内容
こときち
会議室デビュー日: 2006/05/15
投稿数: 3
投稿日時: 2006-05-15 18:41
ORACLE初心者ですがよろしくお願いします。

今、ORACLE10g環境で、1つのユーザ情報を複製して、
複数のユーザを作成しようとしています。
複製元となるユーザスキーマには、ハッシュパーティションで構成された
テーブルが存在します。

やり方として、
@複製先ユーザの作成(複製元ユーザと同じ内容で)
A複製元ユーザの情報をオーナ指定でEXP
B@の複製先ユーザにAのエクスポートファイルをIMP
としています。

ですが、IMPの再に、
---
IMP-00003: Oracleエラー14519が発生しました。
ORA-14519: tableの表領域のブロックサイズの競合: 表領域XXXXXのブロック
サイズ4096[partition specification]が事前に指定/暗示されたUSERSの8192[object-lev
el default]と競合します。
---
となって失敗してしまいます。
確かに、パーティション表で使用している表領域のブロックサイズと、
USERSのブロックサイズは異なっているので、エラーになるのは分るのですが、
ここを回避するIMP/EXPの方法は御座いますでしょうか?

ご指南お願い致します。

もしもし
ぬし
会議室デビュー日: 2004/10/15
投稿数: 280
投稿日時: 2006-05-15 18:50
空の表を移行先データベースに作成して、ignore=y を指定して imp
_________________
もしもし@RMAN 友の会
こときち
会議室デビュー日: 2006/05/15
投稿数: 3
投稿日時: 2006-05-15 19:05
早速のご回答ありがとう御座います。

ご指摘いただいた内容で試してみたところ、
下記エラーとなってしまいました。
---
IMP-00003: Oracleエラー20000が発生しました。
ORA-20000: XXXXX invalid partition name---
---
どうも、DMPファイル内に、元のユーザスキーマ上のPARTITION_NAMEが書き込まれていて、
新しいスキーマでテーブル作成した再のPARTITION_NAMEと異なっている為、
エラーになっていると思われます。
("select * From user_tab_partitions"で違ってるのは確認しました。)

本事象を回避する方法はご存知でしょうか?

以上です。
もしもし
ぬし
会議室デビュー日: 2004/10/15
投稿数: 280
投稿日時: 2006-05-15 19:16
引用:

こときちさんの書き込み (2006-05-15 19:05) より:

どうも、DMPファイル内に、元のユーザスキーマ上のPARTITION_NAMEが書き込まれていて、
新しいスキーマでテーブル作成した再のPARTITION_NAMEと異なっている為、
エラーになっていると思われます。



その create table 文を実行できません?
_________________
もしもし@RMAN 友の会
こときち
会議室デビュー日: 2006/05/15
投稿数: 3
投稿日時: 2006-05-15 19:41
ご回答ありがとう御座います。
出来ました。

CREATE TABLEの時に
---
PARTITIONS n
STORE IN(スペース名1,スペース名2,…)
---
と言う書き方しか出来ないのかと思い込んでいました。

---
(PARTITION パーティション名1 TABLESPACE スペース名1,
PARTITION パーティション名2 TABLESPACE スペース名2,

)
---
で書いていけばよかったんですね。

ありがとう御座いました。
助かりました。

以上です。


1

スキルアップ/キャリアアップ(JOB@IT)