oracle-用system用户无法shutdown

今天在本机上装了Oracle数据库,在sqlplus上操作shutdowm immediately; 提示权限不足。

1.如下图所示,SYSTEM有DBA权限啊,为什么无法关闭数据库?在这里插入图片描述
1)关于DBA_ROLE_PRIVS的解释如下图所示:
DBA_ROLE_PRIVS
*grant授权语句中的with [admin] option是将所授权限的操作权百限(即再授权权限)同时赋予该用户。
*select * from SESSION_ROLES; //查看当前用户的生效的角色。
2) 通过role_sys_privs查看role所拥有的权限
在这里插入图片描述

2.经过在网上查询: 拥有SYSDBA和SYSOPER权限的用户,可以执行类似CREATE DATABASE、DROP DATABASE、RECOVER、STARTUP、SHUTDOWN之类的操作。这两个权限不但很高,而且很特殊,因此:
在sqlplus中操作命令:conn system/xxxxx as sysdba 登录

*SYSDBA不是权限,当用户以SYSDBA身份登陆数据库时,登陆用户都会变成SYS。
SYSDBA身份登陆可以打开,关闭数据库,对数据库进行恢复操作等,而这些是DBA角色无法实现的;
SYSDBA是系统权限,DBA是用户对象权限;
SYSDBA是管理oracle实例的,它的存在不依赖于整个数据库完全启道动,
只要实例启动了,它就已经存在,以SYSDBA身份登陆,装载数据库、打开数据库,只有数据库打开了,或者说整个数据库完全启动后,DBA角色才有了存在的基础;
DBA是一种role,对应的是对Oracle实例里对象的操作权限的集合,而SYSDBA是一种登录认证时的身属份标识而已。而且,DBA是Oracle里的一种对象,Role 和User一样,是实实在在存在在Oracle里的物理对象,而SYSDBA是指的一种概念上的操作对象,在Oracle数据里并不存在。

*connect system/oracle@orcl orcl是数据库实例的名字
conn username/password@host/sid

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值