关于Oracle中sysoper这个系统权限的问题

我们都知道Oracle数据库安装完之后,默认的会有这样几个系统角色或权限,nomal,sysdba,sysoper等等,之前每次登录Oracle的时候,都是直接以conn / as sysdba 的身份登录的,但是一直都不知道sysoper是用来干嘛的,只知道是个系统操作员。

然后,今天在sqlplus中用 conn / as sysoper登录,提示权限不足。

之后就去查了一番资料了解了一下。但是还是没搞懂,最后还是在一个数据库QQ群里面问了这个问题之后,一个大牛教给我的,真的是长见识了,所以就决定记录下来。

Sysdba和sysoper两个系统权限区别

【sysdba】和【sysoper】属于system privilege,也称为administrative privilege,拥有例如数据库开启关闭之类一些系统管理级别的权限。sysdba和sysoper具体的权限如下: 【SYSOPER】权限,即数据库操作员权限,权限包括: 打开数据库服务器 关闭数据库服务器 备份数据库 恢复数据库 日志归档 会话限制 【SYSDBA】权限,即数据库管理员权限,权限包括: 打开数据库服务器 关闭数据库服务器 备份数据库 恢复数据库 日志归档 会话限制 管理功能 创建数据库 我们知道【normal】 是普通用户,而另外两个,考察他们所具有的权限就知道了: 【sysdba】拥有最高的系统权限,,登陆后是sys 【sysoper】主要用来启动、关闭数据库,sysoper 登陆后用户是public。

一般情况下,我们通过这种conn sys/** as sysdba(sysoper)是通过操作系统验证 根本不用输用户名密码 你的登录语句和 conn / as sysdba(sysoper)是一个效果 在linux/unix环境中conn / as sysdba(sysoper)都可以登录 windows当中只有conn / as sysdba可以登录 conn / as sysoper登录不了

这是由于windows下环境的问题, 理论上应该有ora_dba组和ora_oper两个用户组 都赋给Administrator 但是它只建立了ora_dba组 没有ora_oper组。。。 所以无法用sysoper登录,这就需要我们自己去创建这个ora_oper组,然后将Administrator用户添加到ora_oper这个组中。

默认情况下只有ora_dba这个组

步骤如下: 1、右键“计算机”——》“管理”——》“本地用户和组”——》”组”。

2、右键“组”——》“新建组…”。

3、输入组名“ora_oper”,然后添加成员。然后再“选择用户”的弹出框的下面选择“高级”。

4、之后选择“立即查找”,选择Administrator这个成员,再点击“确定”。

5、

6、

7、

8、ok了,大功告成,再次在sqlplus中使用conn / as sysoper就可以正常连接了。

原来和文字沾上边的孩子从来都是不快乐的,

关于Oracle中sysoper这个系统权限的问题

相关文章:

你感兴趣的文章:

标签云: