當使用者無限制使用表空間配額且表空間有足夠空間時出現超出表空間的空間限額

eric0435發表於2019-06-03

朋友生產資料庫在向特定的一張表插入資料時報超出表空間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插入資料時恢復正常


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26015009/viewspace-2646539/,如需轉載,請註明出處,否則將追究法律責任。

相關文章