데이터파일을 지웠는데 그에 해당하는 테이블이 조회되는 이유? 0 5 548

by 시공 [Oracle Admin] [2017.03.09 15:03:39]


sample스키마중 하나인 hr계정의 regions 테이블이 속해있는

example데이터파일을 OS상에서 지웠습니다.(당연히 싱글 인스턴스 입니다)

그런데 select * from hr.regions가 여전히 조회되는 이상한 현상이 발생합니다.

분명 버퍼캐시까지 flush했음에도 불구하고 말이죠.

 

그래서 hr스키마가 다른 테이블스페이스에 속하는지 조회해봤는데 example스키마에 속하는게 맞았고,

tablespace를 조회했을때 example테이블스페이스가 아직 떠있기는 하지만 실제로는 데이터가 지워져있으니까

hr.regions가 조회가 되지 않아야된다 생각했습니다.

근데 왜 조회가 되는걸까요?

by 임상준 [2017.03.09 15:19:29]

데이터파일을 날린 이후에 접속 한 다른 세션으로 조회해도 조회가 가능하던가요?


by drakula [2017.03.09 16:15:45]

저 테스트 해봤어요~

조회 가능합니다~

 


by drakula [2017.03.09 16:02:28]

Buffer Cache를 Flush했다고 해서 모든 메모리는 날라가지 않고, 메모리에서 읽어 오는지, Disk에서 읽어 오는지는

Trace를 확인해 봐야지 알 수 있을꺼 같습니다.

 

"set autot traceonly"이용해서, 확인해 보세요.

physical read 인지, consistent read 인지요~

 


by 주킹 [2017.03.09 16:21:34]

디비를 내렸다올려보심이 ㅋ


by 미스틱매니아 [2017.03.13 16:26:23]

테스트 DB서버가 윈도라면 프로그램이 오픈하고 있는한 파일을 바로 날리지 않고 캐싱해두는 구조라서 그런거 일수도 있습니다. 내렸다 올리면 어자피 recovery 들어가라고 할테니 알수 없고요.

 

select * from v$recover_file로 지운 파일 조회되는지도 한번 보셔야 할듯요.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입