- 最后登录
- 2014-9-25
- 在线时间
- 16 小时
- 威望
- 12
- 金钱
- 12
- 注册时间
- 2012-2-15
- 阅读权限
- 10
- 帖子
- 15
- 精华
- 0
- 积分
- 12
- UID
- 238
|
1#
发表于 2012-7-6 15:19:01
|
查看: 5437 |
回复: 3
看了刘大 《Know more about Oracle User Space Quota》 http://www.askmaclean.com/archiv ... er-space-quota.html
这篇文章后,我在实验过程中 发现quota unlimited on 用户后,在数据字典基表tsq$中就一直保留,无论后续 quota 0 on 或者 drop tablespace 操作都只是更新 tsq$ 状态,但在 数据库字典视图 USER_TS_QUOTAS 都能看到数据,想请教 除了 drop tablespace xxx including contents and datafiles drop quota; 能删除tsq$数据外 是否还有其他方式删除?
我的实验过程如下:
SQL> CREATE tablespace TEST datafile 'D:\oracle\oradata\a10g\tsb_test.dbf' SIZE 5M;
表空间已创建。
SQL> create user david identified by david;
用户已创建。
SQL> grant create session to david;
授权成功。
SQL> alter user david quota unlimited on test;
用户已更改。
SQL> SELECT TABLESPACE_NAME,USERNAME,MAX_BYTES,DROPPED FROM DBA_TS_QUOTAS WHERE username='DAVID';
TABLESPACE_NAME USERNAME MAX_BYTES DRO
------------------------------ ------------------------------ ---------- ---
TEST DAVID -1 NO
SQL> alter user david quota 0 on test;
用户已更改。
SQL> SELECT TABLESPACE_NAME,USERNAME,MAX_BYTES,DROPPED FROM DBA_TS_QUOTAS WHERE username='DAVID';
未选定行
SQL> conn david/david
已连接。
SQL> SELECT TABLESPACE_NAME,MAX_BYTES,DROPPED FROM USER_TS_QUOTAS;
TABLESPACE_NAME MAX_BYTES DRO
------------------------------ ---------- ---
TEST 0 NO -- 只是 MAX_BYTES 修改为 0
SQL> conn / as sysdba
已连接。
SQL> drop tablespace test including contents and datafiles;
表空间已删除。
SQL> conn david/david;
已连接。
SQL> SELECT TABLESPACE_NAME,MAX_BYTES,DROPPED FROM USER_TS_QUOTAS;
TABLESPACE_NAME MAX_BYTES DRO
------------------------------ ---------- ---
TEST 0 YES -- 只是更新DROPPED标识
SQL> CREATE tablespace TEST datafile 'D:\oracle\oradata\a10g\tsb_test.dbf' SIZE
表空间已创建。
SQL> conn david/david;
已连接。
SQL> SELECT TABLESPACE_NAME,MAX_BYTES,DROPPED FROM USER_TS_QUOTAS;
TABLESPACE_NAME MAX_BYTES DRO
------------------------------ ---------- ---
TEST 0 NO -- 新建的test表空间竟然david用户还能使用,是否安全方面存在问题?
SQL> conn / as sysdba
已连接。
SQL> drop tablespace test including contents and datafiles drop quota;
表空间已删除。
SQL> conn david/david;
已连接。
SQL> SELECT TABLESPACE_NAME,MAX_BYTES,DROPPED FROM USER_TS_QUOTAS;
未选定行 -- 最终删除了,算终极必杀了吧
刘大,是否可以通过 alter 命令可以直接删除基表tsq$数据? |
|