ORACLE11G用户在任何表空间都有创建表的权限问题
来源:互联网 发布:linux修复grub引导命令 编辑:程序博客网 时间:2024/05/21 14:41
oracle 11.2.0.1.0 32bit
1:创建用户aaa,给其connect和resource角色,但回收unlimited tablespace权限:
SQL> create user aaa identified by aaa default tablespace users;
User created.
SQL> grant connect,resource to aaa;
Grant succeeded.
SQL> revoke unlimited tablespace from aaa;
Revoke succeeded.
SQL> select * from role_sys_privs where role='RESOURCE';
ROLE PRIVILEGE ADM
------------------------------ ---------------------------------------- ---
RESOURCE CREATE SEQUENCE NO
RESOURCE CREATE TRIGGER NO
RESOURCE CREATE CLUSTER NO
RESOURCE CREATE PROCEDURE NO
RESOURCE CREATE TYPE NO
RESOURCE CREATE OPERATOR NO
RESOURCE CREATE TABLE NO
RESOURCE CREATE INDEXTYPE NO
8 rows selected.
SQL> alter user aaa quota unlimited on users;
User altered.
2:现在的问题是:aaa在任何表空间都有创建表的权限
[oracle@master /]$ sqlplus aaa
SQL*Plus: Release 11.2.0.1.0 Production on Wed Jun 6 18:38:25 2012
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Enter password:
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options
SQL> create table test1(id int) tablespace users;
Table created.
SQL> create table test2 (id int) tablespace system;
Table created.
SQL> create table test3(id int) tablespace zaodian;
Table created.
3:表test1可以正常插入数据,test2和test3都无法插入数据,这是正常的:
SQL> insert into test1 values(1);
1 row created.
SQL> insert into test2 values(1);
insert into test2 values(1)
*
ERROR at line 1:
ORA-01950: no privileges on tablespace 'SYSTEM'
SQL> insert into test3 values(1);
insert into test3 values(1)
*
ERROR at line 1:
ORA-01950: no privileges on tablespace 'ZAODIAN'
导致这样的情况是:
ORACLE11G新特性:deferred_segment_creation 默认为true导致的,这个参数使创建表的时候,并不会使用任何的segment,当真正有数据插入的时候才会使用相关segment,所以会导致可以在任何表空间建立表的假象,但插入数据时会报错无权限
解决此问题: alter system set deferred_segment_creation=false 即可。
- ORACLE11G用户在任何表空间都有创建表的权限问题
- Oracle11g 创建表空间、创建用户、授予权限、锁定、解锁以及删除用户等
- Oracle11g创建表空间分配用户语句
- oracle11g创建表空间、用户及授权
- oracle11g用plsql developer创建表空间 创建用户 以及赋予权限
- 创建表空间+用户+权限
- Oracle11g创建表空间、创建用户、角色授权、导入导出表以及中文字符乱码问题
- oracle11g创建表空间
- oracle11g创建表空间
- 如何创建一个在任何进程任何帐户任何会话都能存取的内核对象
- Oracle11g创建表空间和用户,并授权
- oracle11g创建用户和表空间以及导入.DMP文件
- 同一张表上有不同用户创建的索引造成表空间无权限问题
- oracle 数据库表空间、用户、权限的创建与删除
- oracle 创建表空间、用户、指定一般的权限
- oracle 表空间和用户的创建删除,以及权限
- oracle创建表空间、用户、分配权限
- 创建表空间、用户、分配权限
- 黑马程序员___tcp与udp的学习总结
- Linux Shell编程基础
- x86,x64
- 学习unity的资源
- 一次艰难的渗透纪实
- ORACLE11G用户在任何表空间都有创建表的权限问题
- CRL的验证
- 网页常见错误
- 查看硬盘UUID
- 开博客啦!
- 快速阅读遇到的问题
- Cortex-M3 (NXP LPC1788)之启动代码分析
- js实现加载页面
- i386和i686的具体定义