早上用戶反應系統訪問很慢很慢,測試訪問確實如此,接下來就找緣由數據庫
應用服務器應該問題不大,問有經驗的同事,說問題多是數據庫,而後我就重啓了數據庫服務,發現沒有解決問題,接着就認爲應該是數據庫表空間文件大小的緣由,用語句查詢:服務器
SELECT a.tablespace_name "表空間名", total "表空間大小", free "表空間剩餘大小", (total - free) "表空間使用大小", total / (1024 * 1024 * 1024) "表空間大小(G)", free / (1024 * 1024 * 1024) "表空間剩餘大小(G)", (total - free) / (1024 * 1024 * 1024) "表空間使用大小(G)", round((total - free) / total, 4) * 100 "使用率 %" FROM (SELECT tablespace_name, SUM(bytes) free FROM dba_free_space GROUP BY tablespace_name) a, (SELECT tablespace_name, SUM(bytes) total FROM dba_data_files GROUP BY tablespace_name) b WHERE a.tablespace_name = b.tablespace_name;app
執行語句:ALTER DATABASE DATAFILE 'D:\app\Administrator\oradata\SDQEHR\SDQEHR.DBF' RESIZE 30720M;ide
其中報過一個錯誤:ORA-01144:文件大小(5242880塊)超出4194303塊的最大數的異常。這是因爲我設置的45G的文件大小太大,後改爲30G(30720M)執行成功。測試
而後又增長了一個新的 表空間文件:spa
ALTER TABLESPACE BSCHIS ADD DATAFILE 'D:\app\Administrator\oradata\SDQEHR\SDQEHR1.DBF' SIZE 30720M;it
完成。table
------解決思路----------------------
數據庫的db_block_size多大?2k?
------解決思路----------------------
db_block_size Maximum data file size
2kb 8Gb-2kb
4kb 16Gb-4kb
8kb 32Gb-8kb
16kb 64Gb-16kb
32kb 128Gb-32kb
這個限制是因爲Oracle的Rowid中使用22位來表明Block號,這22位最多隻能表明2^22-1個數據塊。
class