ORA-01653: 表xxxxx無法通過 8192 (在表空間 tsp_data 中) 擴展


今遇到問題:

 

查看表空間,發現表空間大小已達到32G,但創建表空間時已設置了無限擴展(初始空間為1G),磁盤空間沒滿,說明表空間無法進行自動擴展了。

問題原因:

查找資料了解到Oracle單個表空間數據文件的最大值為:

最大數據塊 * DB_BLOCK_SIZE

查看Oracle的 DB_BLOCK_SIZE

select value from v$parameter where name ='db_block_size';

value=8192=8K

本機數據庫的數據塊大小為8K,算出本機Oracle 單個表空間數據文件的最大值為:

4194304 * 8/1024 = 32768M (32G);

所以既使創建表空間時設置了 autoextend on maxsize unlimited,其最大空間也是不會超過32G。

注:
1、表空間數據文件容量與DB_BLOCK_SIZE有關,在初始建庫時,DB_BLOCK_SIZE要根據實際需要,設置為 4K、8K、16K、32K、64K等幾種大小;
2、ORACLE的物理文件最大只允許4194304(2^22)個數據塊;

解決方法:

修改表空間,增加數據文件。設置新增的數據文件大小為1G,自增長10M(可根據情況自行設置)

ALTER TABLESPACE TSP_EMR ADD DATAFILE
'D:\oracle\oradata\jh\20200321_DATA01.DBF'
SIZE 1024M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED;

增加數據文件文件時要注意磁盤空間大小,不能將所有的磁盤空間分配給數據文件,因為日志歸檔還需要空間,否則會報“ORA-00257: 歸檔程序錯誤”。

 

 


————————————————
版權聲明:本文為CSDN博主「shileimohan」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/shileimohan/article/details/84989916

 

 

 

 

 

 

 


免責聲明!

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



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