千家信息网

当用户无限制使用表空间配额且表空间有足够空间时出现超出表空间的空间限额

发表于:2024-10-08 作者:千家信息网编辑
千家信息网最后更新 2024年10月08日,朋友生产数据库在向特定的一张表插入数据时报超出表空间data的空间限额如是执行下查看用户所用的表空间配额信息,查看用户所使用表空间的配额发现没有限制,因为max_bytes为 -1SQL> sele
千家信息网最后更新 2024年10月08日当用户无限制使用表空间配额且表空间有足够空间时出现超出表空间的空间限额

朋友生产数据库在向特定的一张表插入数据时报超出表空间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 selectedSQL>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         30TEST                                 6790      34170      40960         83USERS                                 173      25427      25600         99UNDOTBS2                              227      24013      24240         99DATA                               990119     176281    1166400         15SYSAUX                               3925       1195       5120         23UNDOTBS1                            12898      28062      40960         697 rows selected

查看表lv_data的依赖对象

SQL> select NAME,TYPE from dba_dependencies where REFERENCED_NAME='LV_DATA';NAME                           TYPE------------------------------ ------------------LV_DATA                        VIEWFC_UPDATE_CORPFUND             PROCEDUREFC_UPDATE_MY                   PROCEDUREFC_UPDATE_KY                   PROCEDUREFC_UPDATE_FACTPAY              PROCEDUREFC_UPDATE_CALCPAY              PROCEDUREFC_UPDATE_KY                   PROCEDURE......LV_DATA                        SYNONYMLV_DATA                        VIEWLV_DATA                        SYNONYMLV_DATA                        SYNONYM139 rows selected

查看所有依赖对象的所有者

SQL> select  distinct owner from dba_objects where OBJECT_NAME in(select NAME from dba_dependencies where REFERENCED_NAME='LV_DATA');OWNER------------------------------SYSY_BKWEBCXDATAOLDTESTXCCZOSYBACKUPTJ12 rows selected

对所有依赖对象所有者授权可以无限制使用表空间

SQL> grant unlimited tablespace to OSY;Grant succeededSQL> grant unlimited tablespace to SBK;Grant succeededSQL> grant unlimited tablespace to WEB;Grant succeededSQL> grant unlimited tablespace to CX;Grant succeededSQL> grant unlimited tablespace to DATA;Grant succeededSQL> grant unlimited tablespace to OLD;Grant succeededSQL> grant unlimited tablespace to TEST;Grant succeededSQL> grant unlimited tablespace to XC;Grant succeededSQL> grant unlimited tablespace to CZ;Grant succeededSQL> grant unlimited tablespace to SY;Grant succeededSQL> grant unlimited tablespace to BACKUP;Grant succeededSQL> grant unlimited tablespace to TJ;Grant succeeded

再向表lv_data插入数据时恢复正常


0