今遇到問題: 查看表空間,發現表空間大小已達到32G,但創建表空間時已設置了無限擴展(初始空間為1G),磁碟空間沒滿,說明表空間無法進行自動擴展了。 問題原因: 查找資料瞭解到Oracle單個表空間數據文件的最大值為: 最大數據塊 * DB_BLOCK_SIZE 查看Oracle的 DB_BLOCK ...
今遇到問題:
查看表空間,發現表空間大小已達到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