테이블스페이스 오프라인시 쿼리 문의 0 3 1,409

by 달 [Oracle 기초] [2014.01.16 14:30:39]


안녕하세요.

우연히 인덱스 테이블스페이스를 오프라인 했는데요
전 지금까지 생각으론 인덱스를 못타서 쿼리가 느릴뿐이지 결과는 나올것으로
생각했는데

ORA-00376: 현재 파일 54를 읽을 수 없습니다
ORA-01110: 54 데이터 파일

위의 에러가 나왔습니다.


그래서 인덱스 테이블 스페스를 오프라인 하고
테스트 해 본 결과

select * from tab1 으로 하면 결과가 나왔고
인덱스 힌트를 주면 ORA-00376 에러가 나오네요.

제대로 테스트한건지 모르겠네요.
위 결과대로 인덱스를 명시하면 그 인덱스를 찾을 수 없어서 에러가 
나오는걸로 이해하면 되는건가요?





by 강서꽃미남 [2014.01.16 14:58:46]
넵...  ORA-00376  구글링해보시면 나옵니다. 해당 데이터파일을 찾을 수 없다고.
인덱스 테이블스페이스를 엑세스 하는데, 그 테이블스페이스를 이루고 있는 데이터파일 자체를 찾을 수 없으니, 당연히 에러가 나죠.

by sspkos [2014.01.16 18:10:23]
원인은 제대로 파악하신거 같습니다.
우선 인덱스 테이블스페이스가 존재 하지 않더래도 데이타는 나옵니다.(속도는 엄청떨어지겠만요)
그러나 명시적 힌트를 사용하셨을 경우에는 위와 같이 에러가 나게됩니다.

일단은 해당 인덱스 테이블스페이스를 온라인 시키시고
반드시  해당테이블스페이스 내 존재했던 인덱스들에 대하여
Analyze나 인덱스 rebuild가  필요로 할거 같습니다..
짧은 시간내 오프라인 되었다면 문제가 되지 않을수 있지만 기간이 경과되었다면
테이블의 데이타정보와 인덱스들의 정보와 불일치로 인해 문제가 있을 거 같습니다.

테이블 및 인덱스에 대한 Analyze나 인덱스 rebuild가가 필요로 할거 같습니다.
수고하세요

by 달 [2014.01.17 09:04:35]
강서꽃미남님,sspkos님 답변 감사합니다~
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입