2017-10-06 19 views
1

Oracleデータベースで作業するとき、私はしばしば、SYSを使用してデータベースを操作しないでください(テーブル、制約、シーケンス、同義語などを作成する)。なぜそれはお勧めしないのですか?私の同僚の中には、完全修飾されたディスクリプタを使用している限り、SYSの使用に問題はないと主張している人もいます。これは本当ですか? SYSとしてデータベースを操作することにより、どのシナリオで問題が発生する可能性がありますか?Oracleデータベースを操作するときに "SYS"を使用しないことを推奨します。

+3

自分のコンピュータで 'root 'として働いているかどうか、同僚に尋ねてください。 'SYS'としての作業は、' root'としての作業と同じです。メンテナンス作業のためだけですが、電子メールや文書を書くことはしません。 –

答えて

1

SYSとして データベースを操作すると、どのシナリオで問題が発生する可能性がありますか?

どちらも、SYSSYSTEMは、データベースの作成で作成したdefaultユーザーが、あります。 DBA roleが付与されているので、彼らは多くの権限を持っていますが、彼らはまだ普通のユーザーです。 SYSはデータ辞書を所有しているため、彼はSYSTEMより少し特殊です。

ただし、SYSにはSYSDBA特権がありません。これにより、SYSは非常に強力なユーザーになる可能性があります。 shutdown通常のデータベースSYSとしてみると、その結果はinsufficient privilegesになります。ただし、SYSDBAとして接続している場合は可能です。

注:SYSDBAは役割ではなく、privilegeです。

SYSも特別です。SYSスキーマにというトリガーを作成することはできません。また、sysがデータベースに接続するときにログオントリガは実行されません。

SYS

SYSは、データベースおよびデータ・ディクショナリの所有者の所有者です。

SYSスキーマには決してオブジェクトを作成しないでください。

SYSに属するオブジェクトはエクスポートできません。

SYSTEM

SYSTEMは、特権管理ユーザーである、と一般的にOracleは辞書以外のテーブルを提供し所有しています。 SYSTEMの下に独自のオブジェクトを作成しないでください。

1

SYSはデータベースを所有しているためです。

これは何でもできます。同僚がターゲット・オブジェクトの接頭辞を忘れると、SYSスキーマが破損したり、データベースが破損したりする可能性があります。

あまりにも多くの人がSYSパスワードを知っていたら私は心配です。監査の問題が発生するためです。何かがうまくいかず、それが起こると、自分が持たない限り誰が責任を持っていたかを知ることは難しくなります。責任文化は良い文化だと言っているわけではありませんが、人々は責任があることを知っているときより注意深いです。

これは安全上の問題ではありません。あなたが心配する必要があるのは偶発的な腐敗だけではありません。SYSパスワードを持つ悪い俳優は、データベース、窃盗コード(IPR)、もちろん秘密の機密データを破壊する可能性があります。

おそらく、開発について話しているだけで、組織は本番環境で適切なことを行うでしょう。私はそう望む。

SYSの使用は、鉄道路線のショートカットを撮るようなものです。おそらくあなたは大丈夫でしょうが、なぜリスクを冒すのですか?

関連する問題