你的位置:
问答吧
-> Oracle
-> 问题详情
用户的"dba"权限和"sysdba"权限有什么区别
对这个比较模糊,我们应用系统里面的数据库用户赋予了dba权限,安全人员说有隐患,要我整改,不清楚他们的区别,用户dba权限好像不是很大吧,顶多就是对表、表空间具有操作权限是么?
作者: CZY0431
发布时间: 2008-04-16
不建议给dba权限
作者: tanfufa
发布时间: 2008-04-16
文不对题,题目是dba和sysdba的区别,而你的问题是dba权限的问题。
不要给普通用户DBA角色,拥有DBA角色的用户几乎可以做任何事情了。
作者: yangtingkun
发布时间: 2008-04-16
我就是弄不明白dba权限到底比sysdba少多少
作者: CZY0431
发布时间: 2008-04-16
SYSDBA不是权限,当用户以SYSDBA身份登陆数据库时,登陆用户都会变成SYS。
sysdba身份登陆可以打开,关闭数据库,创建SPFILE,对数据库进行恢复操作等,而这些是DBA角色无法实现的
作者: yangtingkun
发布时间: 2008-04-16
QUOTE:原帖由 yangtingkun 于 2008-4-16 11:21 发表
SYSDBA不是权限,当用户以SYSDBA身份登陆数据库时,登陆用户都会变成SYS。
sysdba身份登陆可以打开,关闭数据库,创建SPFILE,对数据库进行恢复操作等,而这些是DBA角色无法实现的
作者: star_guan2008
发布时间: 2008-04-16
怎么察看oracle 角色对应的系统权限
作者: CZY0431
发布时间: 2008-04-16
QUOTE:原帖由 yangtingkun 于 2008-4-16 11:21 发表
SYSDBA不是权限,当用户以SYSDBA身份登陆数据库时,登陆用户都会变成SYS。
sysdba身份登陆可以打开,关闭数据库,创建SPFILE,对数据库进行恢复操作等,而这些是DBA角色无法实现的
请教版主:为什么有的用户授予了DBa权限,却不能以sysdba身份登录呢?
作者: 我上面有人
发布时间: 2008-04-16
QUOTE:原帖由 我上面有人 于 2008-4-16 11:53 发表
请教版主:为什么有的用户授予了DBa权限,却不能以sysdba身份登录呢?
认证方式不同
作者: paulyibinyi
发布时间: 2008-04-16
QUOTE:原帖由 我上面有人 于 2008-4-16 11:53 发表
请教版主:为什么有的用户授予了DBa权限,却不能以sysdba身份登录呢?
you can grant sysdba to the user with login in with sys in 9i/10g. you can query the v$pwfile_users to identify the user with sysdba or sysoper priv
作者: yanggq
发布时间: 2008-04-16
sysdba also can create database
作者: yanggq
发布时间: 2008-04-16
QUOTE:原帖由 yanggq 于 2008-4-16 12:01 发表
you can grant sysdba to the user with login in with sys in 9i/10g. you can query the v$pwfile_users to identify the user with sysdba or sysoper priv
能说详细点吗?
作者: 我上面有人
发布时间: 2008-04-16
sysdba权限需要直接授权,普通的DBA没有SYSDBA权限
作者: yangtingkun
发布时间: 2008-04-16
PHP code:SYSDBAandSYSOPER
The following operations are authorized by the SYSDBAandSYSOPER system privileges:System Privilege Operations Authorized
SYSDBA Perform STARTUPandSHUTDOWN operations
ALTER DATABASE:open,mount,back up, orchange character set
CREATE DATABASE
DROP DATABASE
CREATE SPFILE
ALTER DATABASE ARCHIVELOG
ALTER DATABASE RECOVER
Includes the RESTRICTED SESSION privilege
Effectively,this system privilege allows a user to connectasuser SYS.SYSOPER Perform STARTUPandSHUTDOWN operations
CREATE SPFILE
ALTER DATABASE OPEN/MOUNT/BACKUP
ALTER DATABASE ARCHIVELOG
ALTER DATABASE RECOVER(Complete recovery only.Any form of incomplete recovery,suchasUNTIL TIME|CHANGE|CANCEL|CONTROLFILE requires connectingasSYSDBA.)Includes the RESTRICTED SESSION privilege
This privilege allows a user to perform basic operational tasks,but without the ability to look at user data.
作者: shiri512003
发布时间: 2008-04-16
SQL> select * from dba_roles where role='DBA';
ROLE PASSWORD
------------------------------ --------
DBA NO
作者: shiri512003
发布时间: 2008-04-16
oracle把sysdba权限保存在操作系统文件里的,这个操作系统文件中列出了哪些用户拥有sysdba权限,sysdba权限能做的数据库操作。
而dba权限是保存在数据库的数据字典表里的,它只有database启动后,才能查出来。
留个言,呵呵,希望更多的人能看到。
作者: oracular
发布时间: 2009-07-23
sysdba 是系统权限,dba是用户对象权限,这就是区别
作者: zklf810
发布时间: 2009-07-24
呵呵,我觉得ls的理解有偏差。
QUOTE:原帖由 zklf810 于 2009-7-24 08:45 发表
sysdba 是系统权限,dba是用户对象权限,这就是区别
作者: oracular
发布时间: 2009-07-29
QUOTE:原帖由 yangtingkun 于 2008-4-16 11:21 发表
SYSDBA不是权限,当用户以SYSDBA身份登陆数据库时,登陆用户都会变成SYS。
,这句话说的太精确了
sysdba身份登陆可以打开,关闭数据库,创建SPFILE,对数据库进行恢复操作等,而这些是DBA角色无法实现的
可不可以理解为:
:sysdba,sysoper,normal是系统默认的RULE,
system,sys是登陆用户。
[ 本帖最后由 likefd 于 2009-11-13 12:24 编辑 ]
作者: likefd
发布时间: 2009-11-13
dba和sysdba的区别
dba、sysdba这两个系统角色有什么区别呢
在说明这一点之前我需要说一下oracle服务的创建过程
·创建实例
·启动实例
·创建数据库(system表空间是必须的)
启动过程
·实例启动
·装载数据库
·打开数据库
sysdba,是管理oracle实例的,它的存在不依赖于整个数据库完全启动,
只要实例启动了,他就已经存在,以sysdba身份登陆,装载数据库、打开数据库
只有数据库打开了,或者说整个数据库完全启动后,dba角色才有了存在的基础
[ 本帖最后由 likefd 于 2009-11-13 12:23 编辑 ]
作者: likefd
发布时间: 2009-11-13
dba是一种role对应的是对Oracle实例里对象的操作权限的集合,而sysdba是概念上的role是一种登录认证时的身份标识而已。而且,dba是Oracle里的一种对象,Role 和User一样,是实实在在存在在Oracle里的物理对象,而sysdba是指的一种概念上的操作对象,在Oracle数据里并不存在。
[ 本帖最后由 ly215197 于 2009-11-13 12:47 编辑 ]
作者: ly215197
发布时间: 2009-11-13
,领教了
作者: likefd
发布时间: 2009-11-14
sysdba 董事长
dba 总经理
作者: wxhoracle
发布时间: 2010-02-05
http://inthirties.com:90/thread-65-1-1.html
[ 本帖最后由 inthirties2 于 2010-2-5 17:17 编辑 ]
作者: inthirties2
发布时间: 2010-02-05
QUOTE:原帖由 我上面有人 于 2008-4-16 11:53 发表
请教版主:为什么有的用户授予了DBa权限,却不能以sysdba身份登录呢?
只有sys用户拥有sysdba身份,所有用户都可以拥有DBA权限。所有有DBA权限不一定就能以sysdba身份登陆。
作者: fruif
发布时间: 2010-02-05
QUOTE:原帖由 我上面有人 于 2008-4-16 11:53 发表
请教版主:为什么有的用户授予了DBa权限,却不能以sysdba身份登录呢?
DBA是角色,sysdba是权限。sysdba是不能加入角色中的。拥有sysdba权限的人存储在password file中
作者: sszz06
发布时间: 2010-02-05
dba是系统默认的个rule
而sysdba是在系统中可以执行create database\open database\shutdown database\drop database等操作的一种特殊的权限
一个是rule,一个是Privilege
作者: tellin
发布时间: 2010-02-05
学习。。
作者: 五“宅”一生
发布时间: 2010-02-05
QUOTE:原帖由 yangtingkun 于 2008-4-16 11:21 发表
SYSDBA不是权限,当用户以SYSDBA身份登陆数据库时,登陆用户都会变成SYS。
sysdba身份登陆可以打开,关闭数据库,创建SPFILE,对数据库进行恢复操作等,而这些是DBA角色无法实现的
有两个问题想请教一下:
可以走密码文件验证方式启动数据库实例吗(暂时没有环境测试所以。。。)?
不是权限grant sysdba to user1,这个动作干什么用的,仅仅是多一种方式连接到SYS?
作者: rdongxie
发布时间: 2010-09-28