注册 登录
编程论坛 Oracle论坛

求助!Oracle用户表空间问题

tanjucai 发布于 2010-03-06 11:12, 922 次点击
请教各位高手,我有一个用户TEST1,使用该用户登陆到SQL-PLUS中,使用如下二条语句查出的结果如下,为什么该用户在AAA表空间的max_bytes已经是0了,但TEST1用户还是可以往AAA表空间中写入数据?另外SELECT tablespace_name,COUNT(block_id),SUM(blocks),SUM(bytes) FROM user_free_space这个语句查出来的结果代表什么意思?是不是该用户只有在user_free_space中设置为0了,才不能往AAA表空间中写入数据?本人初学Oracle,盼高手解答,谢谢!

select * from user_ts_quotas;
----------------------------------
tablespace_name   bytes   max_bytes
users             131072    0
AAA             10354688    0

SELECT tablespace_name,COUNT(block_id),SUM(blocks),SUM(bytes)
FROM user_free_space
GROUP BY tablespace_name;
-----------------------------------
tablespace_name   sum(bytes)
users             4653063
AAA               20250624
2 回复
#2
studyAsp2010-03-06 15:27
可以查询 dba_ts_quota 指定用户名查看 max_bytes
SQL> select TABLESPACE_NAME,USERNAME,MAX_BYTES from dba_ts_quotas;

TABLESPACE_NAME                USERNAME                        MAX_BYTES
------------------------------ ------------------------------ ----------
SYSAUX                         OLAPSYS                                -1
SYSAUX                         SYSMAN                                 -1
SYSAUX                         DMSYS                           209715200

-1 就是不限制

也可以做个测试
alter user xxxx quota 0m on tablespacename;
再看一下dba_ts_quota
添中记录是否可以加入
#3
tanjucai2010-03-06 18:23
SQL> select TABLESPACE_NAME,USERNAME,MAX_BYTES from dba_ts_quotas;
TABLESPACE_NAME                USERNAME                        MAX_BYTES
------------------------------ ------------------------------ ----------
USERNAME中没有TEST1用户。

alter user TEST1 quota 0m on AAA;
此时dba_ts_quota中也是没有TEST1用户的。
此时依然可以添加记录。

另外我想怎样才能将TEST1用户在user_free_space中设置为0
1