ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 关于对USER_TS_QUOTAS视图的研究

关于对USER_TS_QUOTAS视图的研究

原创 Linux操作系统 作者:lnwxzyp 时间:2011-08-13 17:34:51 0 删除 编辑
       起因是前两天遇到一个使用人员的反馈,他提到了在数据库里面建表报空间无法扩展的错误,经过查看是表空间还剩余300多M的剩余表空间,同时系统比较繁忙可能存在查询、排序、子查询等操作,因为造成无法完成创建表的操作,另外使用人员又反应在user_ts_quotas系统视图当中发现了自己使用的帐户的默认表空间也在里面,问是不是对表空间使用有限制?
因为我查看了该帐户具有resource的角色,因为之前对这个视图还不慎了解,于是想是不是赋予了resource的角色后又被管理员收回了unlimited tablespace的权限,没怎么想就重新给赋予了一次resource角色。但是想了想又不对,因为这有可能会改变之前的权限设定,于是跟局方说明了情况,局方让我立刻恢复用户原来的权限,这个时候我也有点思路不清晰,之前该帐户具有那些表空间的使用权限呢,这该怎么查?想想还是先从user_ts_quotas着手,于是先从oracle的文档里面进行查找,找到了字段解释
SQL> desc user_ts_quotas
Name
-----------------------
TABLESPACE_NAME  => 表空间名称
BYTES            => 用户在该表空间使用的大小
MAX_BYTES        => 对用户在该表空间使用的大小限制
BLOCKS           => 用户在该表空间使用的数据块数量
MAX_BLOCKS       => 对用户在该表空间使用的数据块数量限制
DROPPED          => 无论表空间是否被删除
同样的,另外一个视图DBA_TS_QUOTAS多了一个username字段,但是这里需要说明的是这两个视图查询出来的结果并不一致,因为我只有dba权限,而没有该试用人员反应的帐户的访问权限,因此给我造成了困惑,因为我通过dba_ts_quotas并没有看到该用户的信息,在本机上做如下测试:
SQL> select tablespace_name,bytes,max_bytes,blocks,max_blocks,dropped from dba_ts_quotas where username='SCOTT';

no rows selected

SQL> conn scott/tiger

SQL> select tablespace_name,bytes,max_bytes,blocks,max_blocks,dropped from user_ts_quotas;

no rows selected

同样也没有看到,这表明是SCOTT这个用户并没有进行表空间配额的限制,由于
TABLESPACE_NAME                     BYTES  MAX_BYTES     BLOCKS MAX_BLOCKS DRO
------------------------------ ---------- ---------- ---------- ---------- ---
TEST                                    0          0          0          0 YES
SYSTEM                                  0          0          0          0 NO
USERS                            20119552          0       2456          0 NO
EXAMPLE                                 0          0          0          0 NO

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12216142/viewspace-704794/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-04-25

  • 博文量
    129
  • 访问量
    683563