ORACLE表空間文件達到滿值


該篇文章大部分就抄錄網上博客,具體出處已忘,但是實測可以解決該問題

操作數據庫出現錯誤,ORA-00604: 8192

解釋說明:

由於Oracle的Rowid使用22位來代表數據塊號,因此Oracle表空間數據文件每個數據文件最多只能包含2^22個數據塊。
也因此數據庫表空間的數據文件不是無限增長的,例如:
在數據塊為8k的情況下,單個數據文件的最大容量為8K*2^22 = 32G
同理,
數據塊為2K,數據文件最大約8G
數據塊為32,數據文件最大約16*8G
故若達到這個最大容量之后,則即便是設置了自增長,也不是無限自增長,此時則需要為這個表空間添加數據文件

處理步驟:

1、連上數據庫后查看表空間情況

SELECT UPPER(F.TABLESPACE_NAME) "表空間名",
       D.TOT_GROOTTE_MB "表空間大小(M)",
       D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空間(M)",
       TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,
                     2),
               '990.99') "使用比",
       F.TOTAL_BYTES "空閑空間(M)",
       F.MAX_BYTES "最大塊(M)"
  FROM (SELECT TABLESPACE_NAME,
               ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,
               ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES
          FROM SYS.DBA_FREE_SPACE
         GROUP BY TABLESPACE_NAME) F,
       (SELECT DD.TABLESPACE_NAME,
               ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB
          FROM SYS.DBA_DATA_FILES DD
         GROUP BY DD.TABLESPACE_NAME) D
 WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
 ORDER BY 4 DESC;

 

2. SYSTEM表空間不足,查看表空間文件名稱和是否自動增長

SELECT FILE_NAME,TABLESPACE_NAME,AUTOEXTENSIBLE FROM dba_data_files;

 

3、當表空間不足時

  • 擴展表空間

  當表空間文件本身較小時,可以選擇擴大表空間文件的大小,sql語句:

  alter database datafile 'D:\ORACLE\PRODUCT\ORADATA\TEST\USERS01.DBF' resize 50m;
  • 設置文件的自動增長

  首先選擇設置自增長,sql語句:

  ALTER DATABASE DATAFILE 'E:\APP\ZHUANGB1\ORADATA\WHU\USERS01.DBF' AUTOEXTEND  ON NEXT  400M MAXSIZE UNLIMITED;
  • 增加數據文件

  在自增長失靈了之后,需要增加數據文件,sql語句:

  Alter tablespace 表空間名 add datafile ‘數據文件存放的路徑’ size 數據文件大小M autoextend on next 每次自增長大小M Maxsize UNLIMITED;  

  示例:

  alter tablespace USER add datafile 'E:\app\EmmaXu\product\11.1.0\db_1\database\SDE_1.dbf' size 400M autoextend off


4、 刪除表空間文件

  有時表空間文件添加錯誤,需要刪除重新添加,sql語句:

  alter tablespace WEBS_TABLESPACE drop datafile 'F:\temp\USERS02.DBF';

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM