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具体的权限可以看下表:
有一点需要特别注意,SYS账户的认证分为操作系统认证和Oracle认证,两者的差别:
1、Oracle认证,需要用户名和密码验证(输入正确的用户名和密码),也称为口令文件认证:Oracle认为操作系统用户是不可靠的,如果要访问数据库,必须再次使用密码认证。
2、操作系统认证 (不输入用户和密码,或者随便输入)。也称为主机验证:使用操作系统认证(sysdba方式认证)登录时,无论用户是否存在和密码的对错,利用Oracle 的客户端工具SQL Plus,均可以登录到数据库。要改变此种状况可改变认证方式——将操作系统认证改为为oracle认证。
将操作系统认证改为为oracle认证
修改SQLNET.ORA文件,在SQLNET.AUTENTICATION_SERVICES=(NTS)前加#号注释掉,即#SQLNET.AUTENTICATION_SERVICES=(NTS)
SQLNET.ORA文件所在目录为:
SQLNET.ORA文件可用记事本打开编辑
下面利用利用Oracle 的客户端工具SQL Plus,验证SQLNET.ORA文件中SQLNET.AUTENTICATION_SERVICES=(NTS)作用
【Oracle 的客户端工具SQL Plus有启动两种方式
★打开命令提示符窗口
在命令提示符窗口中执行sqlplus命令
★使用开始菜单的
项
下面采用的是后者】
先看将SQLNET.AUTENTICATION_SERVICES=(NTS)前加#号注释掉之前
这种情况下,名字和口令不严格,也可以登录。
再看将SQLNET.AUTENTICATION_SERVICES=(NTS)前加#号注释掉之后
这种情况下,名字和口令必须是合法的,才能登录。