話說上次從客戶那邊抓了基本資料要倒到自己的DB,
沒想到一直失敗,看了一下出現了 ORA-01658 的錯誤訊息!
是說我看不太懂這個意思是啥啦...
上網估狗了一下,應該是 TABLESPACE 滿了的意思,
不過我覺得很奇怪,明明我就是先刪除資料後再匯入,
這樣應該要有空間才是啊?怪~~~
算了,反正我覺得 ORACLE 怪也不是第一遭了~~~
用下面的查詢查一下空間
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
每個都是滿的,但是看上面的訊息,其實我應該是 INDEX 的 TABLESPACE 滿了吧!
嗯~~~很棒!
安裝的時候我很聰明的覺得 200MB 應該是夠用了,沒想到滿了!
SELECT
A.TABLESPACE_NAME, A.BYTES / 1024 / 1024 "Sum MB"
FROM (SELECT
TABLESPACE_NAME, SUM(BYTES) BYTES
FROM
DBA_DATA_FILES
GROUP BY
TABLESPACE_NAME) A
而且我還沒讓他可以自動長大~~~~@@;a 幹的好!
SELECT FILE_ID,
FILE_NAME, TABLESPACE_NAME, AUTOEXTENSIBLE, INCREMENT_BY
FROM
DBA_DATA_FILES
ORDER BY FILE_ID DESC;
看來解決方式只能另外再多加一個 INDEX 的 TABLESPACE 了,
然後這次不要自作聰明了,讓他可以自動長大~~~
ALTER TABLESPACE INDEX_NAME
ADD DATAFILE 'C:\APP\FRANKIE\ORADATA\TEST1\DATAFILE\O2_MF_INDE_NAME_.DBF'
SIZE 200M AUTOEXTEND ON MAXSIZE 1G;
調整完之後就變成 400 了!匯入資料也沒問題了~~~
沒有留言:
張貼留言