Oracle SYSとSYSTEMの組み込みアカウントの違いは何ですか?
編集:3文字は別として!
SYSはOracleデータディクショナリを所有しています。データベース内のすべてのオブジェクト(テーブル、ビュー、パッケージ、プロシージャなど)にはすべて単一の所有者がいます。データベースディクショナリの場合、および多くの特別なテーブル(パフォーマンスビューなど)はすべてSYSユーザーが所有します。
SYSTEMユーザーは、これらすべてのオブジェクトにアクセスできるマスターDBAユーザーであると想定されています。これは、初期の、そして長い間、Oracleのセキュリティ設計哲学を反映しています。 1人のユーザーを使用してアプリケーションを構築し、アクセス権(選択、更新、削除)を使用して別のユーザーを作成しますが、特権を削除しません。これにより、スキーマを誤って破棄することなく、スキーマへの「スーパーユーザー」アクセスが可能になります。何年にもわたって、SYSアカウントにある必要があるかもしれないものがSYSTEMアカウントに追加されてきました。ただし、必要がない場合は、SYSアカウントへのアクセスを許可したい人はほとんどいません。
SYS
can connect AS SYSDBA
、SYSTEM
できません。
SYSDBA
権限は、CREATE DATABASE
やDROP DATABASE
などの特定の管理タスクを実行し、GRANT
の権限があるにもかかわらずテーブルにクエリを実行するために必要です。
実際、SYSDBA
として接続すると、SYS
になります。