朋友生产数据库在向特定的一张表插入数据时报超出表空间data的空间限额如是执行下查看用户所用的表空间配额信息,查看用户所使用表空间的配额发现没有限制,因为max_bytes为 -1
SQL> select * from dba_ts_quotas where username='data';
TABLESPACE_NAME USERNAME BYTES MAX_BYTES BLOCKS MAX_BLOCKS DROPPED
------------------------------ ------------------------------ ---------- ---------- ---------- ---------- -------
data data 8825732464 -1 107735992 -1 NO
1 rows selected
SQL>
SQL> select
2 fs.tablespace_name "Tablespace",
3 (df.totalspace-fs.freespace) "Used MB",
4 fs.freespace "Free MB",
5 df.totalspace "Total MB",
6 round(100*(fs.freespace/df.totalspace)) "Pct. Free"
7 from
8 (select tablespace_name,round(sum(bytes)/1024/1024) TotalSpace
9 from dba_data_files group by tablespace_name) df,
10 (select tablespace_name,round(sum(bytes)/1024/1024) FreeSpace
11 from dba_free_space group by tablespace_name) fs
12 where df.tablespace_name=fs.tablespace_name;
Tablespace Used MB Free MB Total MB Pct. Free
------------------------------ ---------- ---------- ---------- ----------
SYSTEM 7207 3033 10240 30
TEST 6790 34170 40960 83
USERS 173 25427 25600 99
UNDOTBS2 227 24013 24240 99
DATA 990119 176281 1166400 15
SYSAUX 3925 1195 5120 23
UNDOTBS1 12898 28062 40960 69
7 rows selected
查看表lv_data的依赖对象
SQL> select NAME,TYPE from dba_dependencies where REFERENCED_NAME='LV_DATA';
NAME TYPE
------------------------------ ------------------
LV_DATA VIEW
FC_UPDATE_CORPFUND PROCEDURE
FC_UPDATE_MY PROCEDURE
FC_UPDATE_KY PROCEDURE
FC_UPDATE_FACTPAY PROCEDURE
FC_UPDATE_CALCPAY PROCEDURE
FC_UPDATE_KY PROCEDURE
......
LV_DATA SYNONYM
LV_DATA VIEW
LV_DATA SYNONYM
LV_DATA SYNONYM
139 rows selected
查看所有依赖对象的所有者
SQL> select distinct owner from dba_objects where OBJECT_NAME in(select NAME from dba_dependencies where REFERENCED_NAME='LV_DATA');
OWNER
------------------------------
SY
SY_BK
WEB
CX
DATA
OLD
TEST
XC
CZ
OSY
BACKUP
TJ
12 rows selected
对所有依赖对象所有者授权可以无限制使用表空间
SQL> grant unlimited tablespace to OSY;
Grant succeeded
SQL> grant unlimited tablespace to SBK;
Grant succeeded
SQL> grant unlimited tablespace to WEB;
Grant succeeded
SQL> grant unlimited tablespace to CX;
Grant succeeded
SQL> grant unlimited tablespace to DATA;
Grant succeeded
SQL> grant unlimited tablespace to OLD;
Grant succeeded
SQL> grant unlimited tablespace to TEST;
Grant succeeded
SQL> grant unlimited tablespace to XC;
Grant succeeded
SQL> grant unlimited tablespace to CZ;
Grant succeeded
SQL> grant unlimited tablespace to SY;
Grant succeeded
SQL> grant unlimited tablespace to BACKUP;
Grant succeeded
SQL> grant unlimited tablespace to TJ;
Grant succeeded
再向表lv_data插入数据时恢复正常