zoukankan      html  css  js  c++  java
  • 关于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】权限,即数据库操作员权限。权限包含:
    1、打开数据库server
    2、关闭数据库server
    3、备份数据库
    4、恢复数据库
    5、日志归档
    6、会话限制

    【SYSDBA】权限,即数据库管理员权限,权限包含:
    1、打开数据库server
    2、关闭数据库server
    3、备份数据库
    4、恢复数据库
    5、日志归档
    6、会话限制
    7、管理功能
    8、创建数据库

    我们知道【normal】 是普通用户,而另外两个。考察他们所具有的权限就知道了: 【sysdba】拥有最高的系统权限,登陆后是sys 【sysoper】主要用来启动、关闭数据库,sysoper 登陆后用户是public。

    普通情况下。我们通过这样的conn sys/** as sysdba(sysoper)是通过操作系统验证 根本不用输usernamepassword 你的登录语句和 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就能够正常连接了。

    这里写图片描写叙述

  • 相关阅读:
    备份
    >> 与 > >
    为什么需要htons(), ntohl(), ntohs(),htons() 函数
    小技巧
    C++头文件
    宏定义中的#,##操作符和... and _ _VA_ARGS_ _与自定义调试信息的输出
    OpenCV摄像头简单程序
    [转]让Linux的tty界面支持中文
    opencv 2 computer vision application programming第四章翻译
    OpenCV条码(6)简单实现
  • 原文地址:https://www.cnblogs.com/yfceshi/p/7224646.html
Copyright © 2011-2022 走看看