2012-03-07 1 views
1

私たちは、インストールしたとき(トリガ、プロシージャ)にデータベースにロジックを追加していると思われるすべてのタイプの人々(顧客自身のように、当社のソフトウェアの適切な機能を変更したり破損したりすることがあります。oracleのラップテーブル

これを防止するために、テーブルや制約などをラップしたいと思います。私たちは、上のスクランブル結果を返すために探している:

select table_name from user_tables; 

または

desc [name]; 

とスクランブル

見出しを上:

select * from [name]; 

データそのものがラップする必要はありません。

これは可能ですか?もしそうなら、どうですか?検討する副作用は何ですか(つまり、既存のクエリは引き続き機能しますか)。

ありがとうございます!

+4

競合する企業は、アプリで使用するスキーマにビットをインストールできますか?パーミッション/権限付与を強化できない場合は、誰かがスキーマを使いこなす場合、これがサポートの形式を無効にするという何かを契約書に書いています。 – beny23

+0

できます。私たちの顧客はデータベースへのsysレベルのアクセス権とスキーマ所有者のパスワードを持っており、それには寛大です。スキーマが混乱している場合、サポートする権利を放棄するポリシーがありますが、競合他社にぶつかる恐れがあるため、スキルを強制することはありません。 (私の会社の別のビジネスユニットでもスキーマが壊れているのは助けになりません。彼らは私たちにそれを使用するための手数料を払っていますが、彼らはそれを変更/追加することもできると感じています) –

+0

私はあなたの痛みを理解しています:) ...私はフェンスの向こう側にも住んでいました。誤って設計されたOracleシステムがうまく動作するように努力しました。パッケージがラップされたため、慎重に選択されたインデックスと時折SQLベンダーが製品を改善する必要がないことを知っていたからです。問題を修正するには、製品の修正されていないバージョンで問題を再現する必要があります。それでも、私たちが何か助けを受けるかどうかは問題でした。 –

答えて

5

いいえ、できません。私はテーブルとカラムの名前がす​​べてselect c153427 from t765648のような本当に鈍いデータベースを見てきました(SAPはそうですか?覚えていないかもしれませんが)もちろん、あなた自身も顧客や第三者にとっても苦労しています。

スキーマを変更したり、テーブルにトリガを追加したりすると、サポートされなくなったということを顧客に伝えるのは簡単ではないでしょうか?

+1

+1:あなたのクライアントを責任ある人々のように扱います:彼らは邪魔しますが、何かが壊れてしまった場合は、自分たちで(あるいは少なくとも伝統的なサポートから)取り除きます。 –

+0

ありがとう、私は多くを恐れた。 私たちはそのようなポリシーを持っていますが、非常に競争の激しい市場では、顧客を甘やかす必要があると感じています。 私が尋ねた理由は、同僚が競合他社のデータベースでこれを見ていたということですが、私は彼らがちょうど鈍い命名規則を持っていると思います。 –