Oracle - Tablespace 空間不足
今天打開資料庫查一個 table 的時候發現沒資料?
重新用 plsql 再倒還是沒資料?
看了一下錯誤訊息是
ORA-01658: 無法建立表格空間 (TABLESPACE NAME) 中區段的 INITIAL
擴充區塊
應該是 TABLESPACE 空間不夠的關係,
用下面這個 SQL 查一下目前 TABLESPACE
,
SELECT A.TABLESPACE_NAME, A.BYTES / 1024
/ 1024 "Sum MB",
(A.BYTES -
B.BYTES) / 1024 / 1024 "used MB", B.BYTES / 1024 / 1024 "free
MB",
ROUND(((A.BYTES -
B.BYTES) / A.BYTES) * 100, 2) "percent_used"
FROM (SELECT TABLESPACE_NAME, SUM(BYTES)
BYTES
FROM
DBA_DATA_FILES
GROUP BY
TABLESPACE_NAME) A,
(SELECT
TABLESPACE_NAME, SUM(BYTES) BYTES, MAX(BYTES) LARGEST
FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) B
WHERE A.TABLESPACE_NAME =
B.TABLESPACE_NAME
ORDER BY
((A.BYTES - B.BYTES) / A.BYTES) DESC
果然有一個滿了!
用下面這個 SQL 可以查到資料庫的實體檔案,
SELECT FILE_ID, FILE_NAME, TABLESPACE_NAME,
AUTOEXTENSIBLE, INCREMENT_BY
FROM
DBA_DATA_FILES
ORDER BY FILE_ID
DESC;
查到之後,就可以用下面的語法去增加檔案的大小。
ALTER DATABASE
DATAFILE 'C:\APP\FRANKIE\ORADATA\XXXXXXXX.DBF'
RESIZE
400M;
調整一下 RESIZE 後面的數字就可以了,就這樣~~~
留言列表