/oracle/a/datafile01.dbf 10G --> tablespace 명 test01
/oracle/a/datafile02.dbf 5G --> tablespace 명 test02
/oracle/a/datafile03.dbf 3G --> tablespace 명 test03
이렇게 3개가 있어요.
총 사용이 18G 죠...
이중에서 datafile03 을 다른 디렉토리로 옮겼어요.
/oracle/a/datafile03.dbf 3G --> /oracle/b/datafile03.dbf 3G
그리고 /oracle/a/datafile03.dbf 3G 를 삭제했거든요.
상식적으로 이렇게 했을 때, df -k 로 보면...
15G 가 남아있어야 하는데...
분명히 현재
/oracle/a/datafile01.dbf 10G
/oracle/a/datafile02.dbf 5G
이거밖엔 없는데도 18G 로 그대로 표시가 되요.
왜 15G 로 표시가 안되죠?
만약 이 상태에서... DB 를 완전히 죽였다가 다시 살리면...
그때는 15G 로 제대로 표시가 되요.
무슨 현상이죠?
참... 왜 datafile 을 옮겼냐면, a 디렉토리에 사이즈가 얼마 안남아서...
b 라는 디렉토리로 tablespace 의 datafile 을 옮긴거예요.
이때 사용한 명령어는 다음과 같습니다.
1. alter tablespace test03 offline;
2. alter tablespace test03 rename datafile '/oracle/a/datafile03.dbf' to '/oracle/b/datafile03.dbf';
3. alter tablespace test03 online;
4. rm -f /oracle/a/datafile03.dbf
이렇게 했어요.
대체 왜 자원반환이 제대로 안될까요???
|