Oracle的SYS和SYSTEM内置账户有什么区别?
Oracle的SYS和SYSTEM内置账户有什么区别?
SYS拥有Oracle数据字典。数据库中的每个对象(表、视图、包、过程等)都有一个单独的所有者。对于数据库字典和许多特殊的表(性能视图等),它们都是由SYS用户所有。
SYSTEM用户应该是主要的DBA用户,可以访问所有这些对象。这反映了早期和长期的Oracle安全设计理念。您使用一个用户构建应用程序,然后创建第二个具有访问权限(选择、更新、删除)但没有丢弃权限的用户。这使您可以在不会意外破坏它的情况下拥有对模式的“超级用户”访问权限。多年来,一些可能需要在SYS账户中实现的功能已经添加到了SYSTEM账户中。但很少有人想要提供他们的SYS账户的访问权限,除非他们必须这样做。
SYS
能够使用connect AS SYSDBA
,但SYSTEM
不能。
执行某些管理任务(如CREATE DATABASE
和DROP DATABASE
),以及在被授权的表上查询时具有GRANT
权限时需要SYSDBA
权限。
实际上,当您以SYSDBA
身份连接时,您成为一个SYS
。