■SI Object Browser 掲示板


ユーザの皆様、開発者、サポート担当者の交流のための掲示板です!

ユーザーの皆様同士で教え合ったりもできる交流の場にしたいと思っていますので、相互協力をよろしくお願いします。
なお、過去に同じようなQ&Aがあるケースも多いので、投稿前にキーワード検索してみてください。

discussion
※各投稿のカラーは対象となる製品に対応しています。【■…OB ■…OBER ■…全般 ■…その他】
※ライセンスに関するお問合せにつきましては、お問い合わせページよりご連絡いただきますようお願いいたします。
※誹謗中傷や公序良俗に反する書き込みはご遠慮ください。運営側の判断によりメッセージを削除する場合があります。
※環境依存や技術的調査が必要な問題については掲示板上ではお答えしかねます。ご了承ください。
OBのSNAPSHOTについて 2012/02/21 17:59 OB 4
こんにちは。
「SI Object Browser 9」(以下OB)のSNAPSHOTのコンパイルについて
気になることがありましたので質問をさせて頂きます。

OBにてOracleDB(Oracle9i)上のSNAPSHOTの参照を行っております。
OB上のSNAPSHOTの情報について以下の5項目を確認でき、
コンパイルすることも可能となっております。

 ・SNAPSHOTの情報
  1 定義情報
  2 ソース
  3 データ
  4 領域情報
  5 権限

SNAPSHOTのコンパイルについてOracleサポートに問い合わせを行ったところ
SNAPSHOTの定義を変更する場合は、CREATE文にて再作成を行う必要があるという回答を
頂きました。実際SQLPLUSで確認したところSNAPSHOTのコンパイル(ALTERコマンド)は
通りませんでした。

OB上のコンパイルの動作についてどういう仕組みで動いているのでしょうか。
一度DROP(削除)を行った後で、同名のSNAPSHOT名でCREATEをかけているのでしょうか。

以上、宜しくお願い致します。
こんにちは。
OBサポートです。

お問い合わせいただいたSNAPSHOT変更時の動作につきましてですが、
変更の内容によって 「DROP SNAPSHOT ⇒ CREATE SNAPSHOT」とするか
「ALTER SNAPSHOT」とするかが異なります。

例としまして、「ソース」タブのCREATE文を直接変更された場合は
どの内容が変更されたかを特定するのが困難であるため DROP⇒CREATE を実行、
「定義情報」タブで内容を変更された場合は、その項目を変更するのに
再作成が必要かどうかを内部判断したうえ、ALTER または DROP⇒CREATE を実行する
仕組みとなっております。

「ツール」メニュー ⇒ オプション を選択いただき、定義情報タブの
「定義変更時に実行されるDDL文を表示する」をONにしていただきますと
変更のためのSQLを事前表示する動作となりますので、一度お試しいただけますでしょうか。

何卒、よろしくお願いいたします。
早速のご回答ありがとうございます!!

>>例としまして、「ソース」タブのCREATE文を直接変更された場合は
>>どの内容が変更されたかを特定するのが困難であるため DROP⇒CREATE を実行、
>>「定義情報」タブで内容を変更された場合は、その項目を変更するのに
>>再作成が必要かどうかを内部判断したうえ、ALTER または DROP⇒CREATE を実行する
>>仕組みとなっております。
→了解しました。

>>「ツール」メニュー ⇒ オプション を選択いただき、定義情報タブの
>>「定義変更時に実行されるDDL文を表示する」をONにしていただきますと
>>変更のためのSQLを事前表示する動作となりますので、一度お試しいただけますでしょ>>うか。
→確認しました。この設定使わせて頂きます。

もう一点気になる事があります。
SNAPHSOTのコンパイル(DROP⇒CREATE)時、
DROPに成功してCREATEに失敗するパターンを検証しました。
結果はコンパイルエラーが発生しました。
しかし、SNAPSHOTはDROPされておりました。

コンパイルに失敗(CREATEに失敗)した場合、
DROP前の状態に戻らないと思うのですがこれは仕様でしょうか。

以上、宜しくお願い致します。



こんにちは。
OBサポートです。

>コンパイルに失敗(CREATEに失敗)した場合、
>DROP前の状態に戻らないと思うのですがこれは仕様でしょうか。

はい、SNAPSHOTに限らず、あるオブジェクトの変更処理において
DROP⇒CREATEが必要であり、かつCREATEに失敗した場合は削除される動作となります。

オプション画面、定義情報タブの「変更前のソースを保存する」を
ご利用いただきますと、CREATE文をファイルに出力する動作となりますので
前回ご案内しました、「DDL文表示」とあわせてご検討いただければと存じます。

何卒よろしくお願いいたします。
ご回答ありがとうございます。

>>はい、SNAPSHOTに限らず、あるオブジェクトの変更処理において
>>DROP⇒CREATEが必要であり、かつCREATEに失敗した場合は削除される動作となります。
>>オプション画面、定義情報タブの「変更前のソースを保存する」を
>>ご利用いただきますと、CREATE文をファイルに出力する動作となりますので
>>前回ご案内しました、「DDL文表示」とあわせてご検討いただければと存じます。
→了解しました。

調査ありがとうございました。
大変勉強になりました。