oracle 之授权篇

原创 2007年09月17日 20:33:00

 

今天一个宁波项目,要建boss系统。拿来一个,喜忧参半...操作系统数据库已经建好了,但是...
都没有初始化,我晕。
从头开始搞,规划并建立表空间,建立用户,授予权限;
 规划比较麻烦,我参考了杭州的系统,以100万用户计算,目前宁波的50万。以2/3杭州的空间来划分。
具体内容还是不说了,说一下遇到的问题。
总共建了3个用户:dvbcetus, dvbcetus_ed, dvbhis;
dvbcetus为主用户:为生产库。
dvbcetus_ed为副用户,用户对生产库的一些日常操作,如select, update等。但是不授予delete(DML),truncate(DDL)等权限。
dvbhis:一看也就知道了,历史数据的用户。

默认情况下这个三个用户都授予了:connect , resource两个权限,用于连接及创建对象等操作。

问题就出在在dvbcetus用户下时,要对dvbcetus_ed进行授权,但是提示错误:ora-01031 权限不足。
怪了,我自己的对象,要授权给别人,怎么会权限不足呢?
然后尝试授予create table,session 等权限,但是都没有成功。
于是新建一用户:create user test identified by kkk;
给该用户授权:grant connect to test; grant resource to test;
新建表:create table test1(name varchar2(255));
授    权:grant select any table to dvbcetus;--显示成功

很奇怪,为什么前面建的就不行呢?于是重建test用户,完全模拟系统用户:
drop user test cascade;--当用户下已经有对象存在时,需要加上cascade参数。
create user test identified by kkk default tablespace dvbcetus temporary temp ;

这时test用户也没有权限对其他用户进行授权了,即使加入了with admin option也不行。

后来查找资料,发现有这样一个授权方式:
grant grant any privileges to some_user;
我当即就意识到:找到办法了!!

敲入命令,登陆用户,授予权限,OK!
原来你新建一个用户的时候,如果用户对应的表空间不是默认的表空间,则在
你在该表空间的内容的权限授予他人的时候,自己本身也需要授权的权限。不
然你就没有授权的权限。而如果是默认的系统表空间,则好像没有这种问题。
关于更深入的细节,还要查询更多的资料来了解了。

没想到一个grant,还有这么多的学问。本来想以角色来实现,结果这样以来又
得重来了,要学习的东西实在太多了啊!

Oracle数据库如何授权收费(Database Licensing)

说白了,Oracle License就是一张纸,一张许可证。这跟许多软件产品是一样的,有没有许可证的产品在功能上是没有区别的,仅仅是一个法律问题。也就是说,随便到网上下的Oracle都可以免费正常使用...
  • eurasiaxz
  • eurasiaxz
  • 2013年08月31日 00:18
  • 8027

Oracle创建用户,并授权DBA权限

  • 2010年01月07日 09:15
  • 866B
  • 下载

oracle 用户的登录,授权,传递授权操作

oracle基本的一些命令 1.创建用户,具有dba的一些权限    进入cmd命令                        输入命令:sqlplus(         ...
  • RiceToLife
  • RiceToLife
  • 2016年08月09日 14:30
  • 3356

oracle 把某用户下的表权限授权给另一用户

//把JBQDEDI读写权限 授权给JBQD select 'Grant all on '||table_name||'to JBQD ;' from all_tables where owner ...
  • xlb744868186
  • xlb744868186
  • 2016年03月07日 11:24
  • 12439

Oracle数据库如何授权收费(Database Licensing)

说白了,Oracle License就是一张纸,一张许可证。这跟许多软件产品是一样的,有没有许可证的产品在功能上是没有区别的,仅仅是一个法律问题。也就是说,随便到网上下的Oracle都可以免费正常使用...
  • eurasiaxz
  • eurasiaxz
  • 2013年08月31日 00:18
  • 8027

Oracle用户、授权、角色管理

创建和删除用户是Oracle用户管理中的常见操作,但这其中隐含了Oracle数据库系统的系统权限与对象权限方面的知识。掌握还Oracle用户的授权操作和原理,可以有效提升我们的工作效率。 Oracle...
  • zs064811
  • zs064811
  • 2016年06月21日 21:33
  • 2716

Oracle创建用户、角色、授权、建表

oracle数据库的权限系统分为系统权限与对象权限。系统权限( database system privilege )可以让用户执行特定的命令集。例如,create table权限允许用户创建表,g...
  • kukulongzai_123
  • kukulongzai_123
  • 2015年08月11日 11:00
  • 37470

cracle 创建同义词及授权

同义词建立及授权语句(在你创建表或者视图的用户yourUser下执行): create synonym apps.yourTable for yourUser.yourTable; grant a...
  • lanchengxiaoxiao
  • lanchengxiaoxiao
  • 2013年10月30日 14:48
  • 1751

ORACLE新增,授权,修改,删除用户

ORACLE新增,授权,修改,删除用户select username from dba_users;–查看数据库中所有用户的名称;create user mike identified by 3713...
  • Love_Legain
  • Love_Legain
  • 2017年01月09日 18:05
  • 2445

Oracle用户的新增、修改、删除及授权

1、Oracle用户新增 create user lisi identified by lisi; 注:create user是创建数据库用户,后面跟用户名称,identified by是...
  • ggxfly
  • ggxfly
  • 2016年03月10日 16:13
  • 462
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:oracle 之授权篇
举报原因:
原因补充:

(最多只允许输入30个字)