今天同事问了个问题,A用户没有建表权限,B用户有建表权限。B可以建A用户下的表吗?这下真的还给问住了,只好测试一下了。
我测试了一下确实可以实现。
WANGZK>create user test_dba identified by test;
用户已创建。
WANGZK>alter user test_dba quota unlimited on tps_test;
用户已更改。
WANGZK>grant dba to test_dba;
授权成功。
WANGZK>CREATE USER TEST_READ IDENTIFIED BY TEST;
用户已创建。
WANGZK>ALTER USER TEST_READ DEFAULT TABLESPACE TPS_TEST;
用户已更改。
WANGZK>GRANT CREATE SESSION TO TEST_READ;
授权成功。
--TEST_DBA用户具有建表权限,TEST_READ没有任何权限.
TEST_DBA>conn wangzk/cherry
已连接。
WANGZK>conn test_dba
输入口令: ****
已连接。
TEST_DBA>create table test(id number);
表已创建。
TEST_DBA>create table test_read.test(id number);
create table test_read.test(id number)
*
第 1 行出现错误:
ORA-01950: 对表空间 'TPS_TEST' 无权限
TEST_DBA>conn wangzk
输入口令: ******
已连接。
WANGZK>alter user test_read quota unlimited on tps_test;
用户已更改。
WANGZK>conn test_dba
输入口令: ****
已连接。
TEST_DBA>create table test_read.test(id number);
表已创建。
--从上看出可以给TEST_READ创建表,那么疑问来了,创建之后我是否具有对他修改的权限哪?
TEST_DBA>conn test_read
输入口令: ****
已连接。
TEST_READ>insert into test values(1);
已创建 1 行。
TEST_READ>commit;
提交完成。
TEST_READ>update test set id=2;
已更新 1 行。
TEST_READ>commit;
提交完成。
TEST_READ>delete test;
已删除 1 行。
TEST_READ>rollback;
回退已完成。
TEST_READ>truncate table test;
表被截断。
TEST_READ>alter table test add (name varchar2(20));
表已更改。
TEST_READ>CREATE TABLE TEST_1(ID NUMBER);
CREATE TABLE TEST_1(ID NUMBER)
*
第 1 行出现错误:
ORA-01031: 权限不足
--自己不具备建表权限.
--收回对于那个表的所有权限又如何哪?
WANGZK>revoke all on test_read.test from test_read;
撤销成功。
WANGZK>conn test_read
输入口令: ****
已连接。
TEST_READ>alter table test modify(name varchar2(10));
表已更改。
--答案是不管用.照样具备所有权限.
--这个时候可以看出TEST_READ具有全部权限对于TEST表,其实这个也不难理解。属于你的东西,你不具备权限,谁具备哪?
现在已经不是封建社会了,属于自己的东西也会被强权剥夺。现在可是社会主义社会,抢夺别人家的财物是犯法的。哈哈。
数据库版本:
WANGZK>select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/728254/viewspace-610047/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/728254/viewspace-610047/