■SI ObjectBrowser掲示板

ユーザの皆様、開発者、サポート担当者の交流のための掲示板です!discussion
ユーザーのみなさま同士で教え合ったり、アドバイスしたりする暖かい交流の場にしたいと思っていますので、相互協力をよろしくお願いします。なお、過去に同じようなQ&Aがあるケースも多いので、投稿前にキーワード検索してみてください。

※◆のカラーは投稿の対象となる製品に対応しています。【…OB …OBER …全般 ◇…その他】
※ライセンスに関するお問合せにつきましては、お問い合わせページよりご連絡いただきますようお願いいたします。
※誹謗中傷や公序良俗に反する書き込みはご遠慮ください。運営側の判断によりメッセージを削除する場合があります。
※環境依存や技術的調査が必要な問題については掲示板上ではお答えしかねます。ご了承ください。




表領域の変更 2002/02/22 11:35:03
kazu
ObjectBrowserを使って既に動いているシステムのuniqueindexの表領域を変更するにはどうしたらよいですか。ちなみにただのindexであれば変更できたのですが、uniqueindexではできませんでした。方法を教えて下さい。
元の文章を引用して返信

Re: 表領域の変更 2002/02/23 12:08:43
こけもも
表示されるエラーが ORA-02429 であれば、対になる制約を
先に消してから、インデックスを再作成してみてはどうでしょう。

# 制約を消した時点でインデックスも消えるかもしれませんので
# 注意してください。


表領域を変更したいだけなら SQL 文を直接実行しちゃうのも手ですが。

ALTER INDEX インデックス名 REBUILD TABLESPACE 新表領域名

とか。
元の文章を引用して返信

Re: 表領域の変更 2002/02/25 10:34:41
kazu
>ALTER INDEX インデックス名 REBUILD TABLESPACE 新表領域名

やはりそうなりますか。その方法で変更できることは確認しましたが、
ObjectBrowserで変更する機能をもってないかと思いましたので…

ちなみに数千のindexを変更するには
ALTER INDEX インデックス名 REBUILD TABLESPACE 新表領域名
をどのように繋げて実行したらよいのでしょうか。
元の文章を引用して返信

Re: 表領域の変更 2002/02/26 09:20:23
初音玲
[kazu]
>ちなみに数千のindexを変更するには
>ALTER INDEX インデックス名 REBUILD TABLESPACE 新表領域名
>をどのように繋げて実行したらよいのでしょうか。
USER_INDEXESテーブルを参照してインデックス名を取ってきて、上記SQL文を
ループ実行するようなPL/SQLを記述すればできると思います。
元の文章を引用して返信

Re: 表領域の変更 2002/02/27 09:22:30
てんてん
>やはりそうなりますか。その方法で変更できることは確認しましたが、
>ObjectBrowserで変更する機能をもってないかと思いましたので…
>
>ちなみに数千のindexを変更するには
>ALTER INDEX インデックス名 REBUILD TABLESPACE 新表領域名
>をどのように繋げて実行したらよいのでしょうか。

新表領域名をいちいち変えなきゃですが、
「ユーザ定義SQL」が使えるかもしれません。
TRUNCATEとか、これでやってます。
例:TRUNCATE TABLE :OWNER.:NAME
だから、上記だと
ALTER INDEX :OWNER.:NAME REBUILD TABLESPACE 新表領域名
かな?試してないので一度テストしてみてくださいね。

元の文章を引用して返信