Oracle默认系统用户(账户)sys和system解疑

sys:这个账户相当于SqlServer中的sa账户,是个超级账户,拥有的权限最大,可以完成数据库所有管理任务。

system:没有sys的权限大,通常用来创建一些用于查看管理信息的表或试图,同样也不建议使用system架构来创建一些与管理无关的表或视图。

sys能选择sysdba登录或sysoper登录,不能选择normal。

system默认使用normal。

normal 、sysdba、 sysoper有什么区别

normal 是普通用户 ,就是一个普通的dba用户。

sysdba拥有最高的系统权限,登陆后用户是sys。

sysoper主要用来启动、关闭数据库,sysoper 登陆后用户是public。

SYS用户是Oracle中权限最高的用户,而SYSTEM是一个用于数据库管理的用户。在数据库安装完之后,应立即修改SYS,SYSTEM这两个用户的口令,以保证数据库的安全。

sysdba和sysoper具体的权限可以看下表:

SYSTEM 账号 登录 system账户_SYS

有一点需要特别注意SYS账户的认证分为操作系统认证和Oracle认证,两者的差别:

1、Oracle认证,需要用户名和密码验证(输入正确的用户名和密码),也称为口令文件认证:Oracle认为操作系统用户是不可靠的,如果要访问数据库,必须再次使用密码认证。

2、操作系统认证 (不输入用户和密码,或者随便输入)。也称为主机验证:使用操作系统认证(sysdba方式认证)登录时,无论用户是否存在和密码的对错,利用Oracle 的客户端工具SQL Plus,均可以登录到数据库。要改变此种状况可改变认证方式——将操作系统认证改为为oracle认证。

将操作系统认证改为为oracle认证

修改SQLNET.ORA文件,在SQLNET.AUTENTICATION_SERVICES=(NTS)前加#号注释掉,即#SQLNET.AUTENTICATION_SERVICES=(NTS)

SQLNET.ORA文件所在目录为:

SYSTEM 账号 登录 system账户_SQL_02

SQLNET.ORA文件可用记事本打开编辑

SYSTEM 账号 登录 system账户_SQL_03

下面利用利用Oracle 的客户端工具SQL Plus,验证SQLNET.ORA文件中SQLNET.AUTENTICATION_SERVICES=(NTS)作用

Oracle 的客户端工具SQL Plus有启动两种方式

★打开命令提示符窗口

在命令提示符窗口中执行sqlplus命令

★使用开始菜单的

SYSTEM 账号 登录 system账户_数据库_04


下面采用的是后者】

先看将SQLNET.AUTENTICATION_SERVICES=(NTS)前加#号注释掉之前

SYSTEM 账号 登录 system账户_SYS_05

这种情况下,名字和口令不严格,也可以登录。

再看将SQLNET.AUTENTICATION_SERVICES=(NTS)前加#号注释掉之后

SYSTEM 账号 登录 system账户_SYSTEM 账号 登录_06

这种情况下,名字和口令必须是合法的,才能登录。