Bootstrap

关于oracle用户权限的

用户身份分类:

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;

----------个人见解,其他意见我们可以评论区一起讨论。

;