oracle 禁止sba,oracle中用户问题

1.oracle 中用户的问题(带领你认识oracle使用者常说起的几个名词)

我们刚刚安装好oracle后,里面有scott,system,sys,然后又听说了sysdba,dba.

那么它们是一些什么东东呢?

你知道嘛?

其实它们不神秘!

下面就带你了解这些东东吧!

首先来看看用户吧,我查阅了一些资料,在加上自己的理解:

所谓用户,就是实用oracle数据库了!可以这么简单是理解了,你只要要使用这个数据库,你就是这个数据库的用户了。

说到用户,不自然的就扯到了权限了,大家都知道数据库有管理员和普通用户之区别。要实用数据库就必然要连接上数据库了。

说到次,又不自然的车到了dba和sysdba的区别了!呵呵,没办法,这些弄清楚了,好理解些的!

dba是Oracle里的一种对象,Role 和User一样,是实实在在存在在Oracle里的物理对象,

而sysdba是指的一种概念上的操作对象,在Oracle数据里并不存在。

所以说这两个概念是完全不同的。dba是一种role对应的是对Oracle实例里对象的操作权限的集合,

而sysdba是概念上的role是一种登录认证时的身份标识而已。

1.

物理上的role dba 是可以在数据字典里查到的

SQL> select * from dba_roles where upper(role) = 'DBA';

ROLE                          PASSWORD

—————————— ——–

DBA                            NO

2.

而sysdba是概念上的role在数据字典里是查不到的

SQL> select * from dba_roles where upper(role) ='dba';

未选定行

grant dba 和grant sysdba的差别

dba是正真的role,所以grant后在dba_role_privs里有记录,而revoke后就没有了

首先创建用户zy

SQL> create user zy identified by zy;

用户已创建。

SQL> grant dba to zy;

授权成功。

SQL> select * from dba_role_privs where grantee = 'ZY';

GRANTEE                        GRANTED_ROLE                   ADM DEF

------------------------------ ------------------------------ --- ---

ZY                             DBA                            NO YES

SQL> revoke dba from zy;

撤销成功。

SQL> select * from dba_role_privs where grantee = 'ZY';

未选定行

对于sysdba是不会出现这个情况的,因为他不是正真的role

在进行下面的语句前,请你确认你是否实在sys用户下操作的

SQL> conn sys/sys as sysdba;     --sys/sys前一个是sys用户,后一个sys是密码

已连接。

SQL> grant sysdba to zy;

授权成功。

SQL> select * from dba_role_privs where grantee = 'ZY';

未选定行

sysdba是登录时候需要的他是和remote_login_passwordfile关联的

我们可以查询v$pwfile_users;

如下:

SQL> select * from v$pwfile_users;

USERNAME                       SYSDB SYSOP

------------------------------ ----- -----

SYS                            TRUE TRUE

ZY                             TRUE FALSE

当你grant sysdba后,在这里就多了一条

下面我们revoke一下,再来看

SQL> revoke sysdba from zy;

撤销成功。

SQL> select * from v$pwfile_users;

USERNAME                       SYSDB SYSOP

------------------------------ ----- -----

SYS                            TRUE TRUE

没有了。

通过上面的对比,我相信大家对DBA和SYSDBA的区别人生的比较深入了吧

上面已经知道了sysdba和sba的区别了。

下面就来看看我们安装好数据库后的几个用户了,sys,scott,system的区别了!

废话扯了一堆,你感觉才进入正题吧。

scott 是个演示用户,是让你学习ORACLE用的。

SYSDBA 不是用户,可以认为是个权限,超级权限,

超级用户分两种 SYSDBA和SYSOPT

SYSOPT 后面3个字母是operator的意思,也就是操作数据库的人,

而SYSDBA 则是管理数据库的人

SYSDBA比SYSOPT的权限还要大,而SYS用户就完全是个SYSDBA,

但SYSTEM用户默认是SYSOPT,不过它也能以SYSDBA的权限登陆

我结合别人的经验,总结就是上面的,有好的意见我们可以一起学习oracle

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值