author:skate time:2008/08/01 现象:研发提示空间不够用,日志显示:ORA-01536: 超出表空间 'YYPART' 的空间限额 解决:alter user skate quota 2g on tablespace_name; 知识总结: 表空间的大小与用户的配额大小是两种不同的概念 表空间的大小是指实际的用户表空间的大小,而配额大小指的是用户指定使用表空间的的大小 把表空间文件增大,还是出现这个问题,用户在使用表空间的同时使用空间的限额,如果超出限制,就算有空的地方,也不会让用户使用 视图: dba_ts_quotas : DBA_TS_QUOTAS describes tablespace quotas for all users. user_ts_quotas :USER_TS_QUOTAS describes tablespace quotas for the current user. This view does not display the USERNAME column. 查看用户的表空间的限额 select * from dba_ts_quotas; max_bytes字段就是了 -1是代表没有限制,其它值多少就是多少了. 用户表空间限额的创建与更改: 1.创建用户时,指定限额 eg: CREATE USER SKATE IDENTIFIED BY SKATE_PWD DEFAULT TABLESPACE SKATE_TS TEMPORARY TABLESPACE temp QUOTA 3M ON SKATE_TS PASSWORD EXPIRE; 2.更改用户的表空间限额: A:不对用户做表空间限额控制: GRANT UNLIMITED TABLESPACE TO skate; 这种方式是全局性的. 或者 alter user skate quota unlimited on skate_ts; 这种方式是针对特定的表空间的. 3. 可以分配自然也可以回收了: revoke unlimited tablespace from skate; 或者 alter user skate quota 0 on SKATE_TS;
--------end------------
|