用户身份分类:
Oracle用户的身份一般分为三种:sysoper(管理员),sysdba(管理员),normal(普通用户)
其中normal是普通用户,其他身份的区别如下:登录的
一.sysdba 与system权限的区别
(1)sys:所有oracle的数据字典的基表和视图都存放在sys用户中,这些基表和视图对于oracle的运行是至关重要的,由数据库自己维护,任何用户都不能手动更改,sys用户拥有dba,sydba,sysoper角色或权限
是oracle权限的最高用户
system:用于存放一级的内部数据,如oracle的一些特性或者工具的管理信息,
system用户拥有dba,sysdba角色或系统权限
(2)其次的区别,权限的不同
sys用户必须以as sysdba或者as sysoper形式登录,不能以normal方式登录数据库。
system如果正常登录,它其实就是一个普通的dba用户,但是如果以as sysdba登录,
其结果实际上它是作为sys用户登录的,从登录信息里面我们可以看出来
二.sysdba 与sysoper权限的区别
(1)sysdba
startup(启动数据库)
shutdown (关闭数据库)
alter database open/mount/backup
改变字符集
create database(创建数据库)
drop database(删除数据库)
create spfile
alter database archivelog(归档日记)
alter database recover(恢复数据库)
拥有restricted session(会话限制)
可以让用户作为sys用户连接
登录之后用户是sys
(2)sysoper
startup
shutdown
alter database open/mount/backup
nong
none不能创建数据库
create spfile
alter database archivelog
只能完全恢复,不能执行不完全恢复
拥有restricted session权限
可以进行一些基本的操作,但不能查看用户数据
登录方式的区别:
oracle版本12之前。服务名只有orcl,12版本以后服务名是多种的包括,orclpdb,orcl,pdborcl等,登陆时不写服务名 sqlplus trff/trff 默认是orcl的服务---->这样Oracle12版本之前登录可以的,但是12以后的版本需要写上服务名------>sqlplus trff/trff@orclpdb
Oracle用户登录格式:$sqlplus 用户名/密码 as 身份 或 $sqlplus 用户名/密码 或 $sqlplus 用户名/密码@服务名
sys用户登录必须带上as 身份标识,如:sqlplus / as sysdba 或则sqlplus / as sysoper
普通用户不需要标记身份,默认是normal,如:sqlplus test/test@orclpdb
查看服务名的路径:
关于服务端登录服务名(图1)和客户端sqlplus登录(图2)的数据库区别:
图2的我理解为服务名的别名,只是登录方式不一样。
注意:普通用户只有一种或多种服务名,但是sys用户可以使用其他用户的所有服务名。
比如:普通用户test 服务名:orclpdb
如果sys用户给他授权,进入sys用户的orcl服务,查看数据库没有这个用户,只能进入orclpdb服务才能查看这个用户并授权。
#sqlplus sys/123456@orclpdb
>show username from all_users;
----------个人见解,其他意见我们可以评论区一起讨论。