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创建用户、角色、授权、建表

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

oracle命令行导入导出授权

oracle基础的sql命令 1.->sqlplus(进入oracle-sql) 2.->username(输入用户名system) 3.->password(输入密码) 4.->create use...

Oracle创建之路->创建表空间、创建临时表空间、创建用户、授权

今天整理一下创建数据库之后的使用System用户必须执行的一系列操作, 包括创建表空间、创建临时表空间、创建用户名及密码和授予用户权限 --1、创建临时表空间 creat...

oracle 创建create user 及授权grant

查看登陆的用户: 以下都可以:     show   user;     select   sys_context('userenv','session_user') ...

oracle创建删除表空间和用户授权

oracle创建表空间和用户授权 SYS用户在CMD下以DBA身份登录: 在CMD中打sqlplus/nolog  //匿名登录 然后再conn/as sysdba    //以dba身份登录 ...

oracle 11g linux 建立表空间 用户 授权 数据库导入导出

sqlplus     /as sysdba   查看dbf存放位置 select * from dba_data_files;     -- 新建表空间 create tablesp...
  • tegwy
  • tegwy
  • 2012-02-22 14:13
  • 5851

Oracle新建用户、角色,授权,建表空间

oracle数据库的权限系统分为系统权限与对象权限。系统权限( database system privilege )可以让用户执行特定的命令集。例如,create table权限允许用户创建表,gr...

Oracle创建表空间、创建用户以及授权、查看权限

创建临时表空间创建临时表空间 CREATE TEMPORARY TABLESPACE test_temp TEMPFILE 'C:\oracle\product\10.1.0\oradata\or...

Oracle创建用户并给用户授权查询指定表或视图的权限

用DNINMSV31账户登录数据库进行如下操作: CREATE USER NORTHBOUND IDENTIFIED BY NORTHBOUND  DEFAULT TABLESPACE "TB...

Oracle创建表空间、创建用户以及授权、查看权限

创建临时表空间 CREATE TEMPORARY TABLESPACE test_temp TEMPFILE 'C:\oracle\product\10.1.0\oradata\orcl\test_...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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