こんにちは。
どなたか教えて下さい。

Oracle8.0.4を使ってます。
表を作成する際、TABLESPACEを指定しなかったので、
SYSTEMになってしまいました。
どうやったらTABLESPACEを変更できますか?

このQ&Aに関連する最新のQ&A

A 回答 (2件)

移行したい表領域に表のコピーを


作成します。
craete table HOGE_TMP tablespace USERS
as select * from HOGE;
SYSTEM表領域にある表を削除します。
drop table HOGE;
コピーした表を元の名前に改名します。
rename HOGE_TMP to HOGE;

というのでどうでしょうか?
ただし、NOT NULL以外の制約(だったかな?)や、
ANALYZE情報等は、コピーされません。
また、表の作成時にSTORAGE句等をつけていた場合は
craete table HOGE_TMP の後につけ加える必要が
あります。
ユーザーの表領域の変更も必要です。
SYSTEM権限のあるユーザになって
alter user SCOTT default tablespace USERS;
てな感じです。
    • good
    • 0
この回答へのお礼

yamasa様
回答ありがとうございます。
やはり変更はできないのですね。
今度から気を付けようと思います。

ありがとうございました。

お礼日時:2001/08/06 09:29

Drop Table文を実行してテーブルを削除してから、Create Table文で


テーブルを再作成しないとダメです。

できたらユーザも作りなおした方がいいですね。
現在使用しているユーザのデフォルト表領域がSystemになっている
ハズです。
    • good
    • 0
この回答へのお礼

cse_ri様
回答ありがとうございます。
やはり変更はできないのですね。
今度から気を付けようと思います。

ありがとうございました。

お礼日時:2001/08/06 09:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す


人気Q&Aランキング