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