Oracle的SYS和SYSTEM账户有什么区别?

28

Oracle的SYS和SYSTEM内置账户有什么区别?

2个回答

26

SYS拥有Oracle数据字典。数据库中的每个对象(表、视图、包、过程等)都有一个单独的所有者。对于数据库字典和许多特殊的表(性能视图等),它们都是由SYS用户所有。

SYSTEM用户应该是主要的DBA用户,可以访问所有这些对象。这反映了早期和长期的Oracle安全设计理念。您使用一个用户构建应用程序,然后创建第二个具有访问权限(选择、更新、删除)但没有丢弃权限的用户。这使您可以在不会意外破坏它的情况下拥有对模式的“超级用户”访问权限。多年来,一些可能需要在SYS账户中实现的功能已经添加到了SYSTEM账户中。但很少有人想要提供他们的SYS账户的访问权限,除非他们必须这样做。


16

SYS能够使用connect AS SYSDBA,但SYSTEM不能。

执行某些管理任务(如CREATE DATABASEDROP DATABASE),以及在被授权的表上查询时具有GRANT权限时需要SYSDBA权限。

实际上,当您以SYSDBA身份连接时,您成为一个SYS


1
我刚刚使用"as sysdba"连接到默认的XE下的SYSTEM。让我困惑的是,我没有为SYSTEM账户设置密码,但我可以使用我为SYS设置的密码来登录。(我对Oracle知之甚少。) - Jaroslav Záruba

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接