태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

Oracle에 대한 이상한 오해들

오라클 2008.12.09 18:00
Oracle 사용자 중 한명으로써, Oracle이 억울하게 누명을 쓰는 일을 종종 목격한다.

아래 목록을 보면 공감을 할 것이다.

1. Oracle만 유독 Hint를 많이 사용해야 한다?
사실이다. 이로 인해 Oracle의 Optimizer가 후진 게 아니냐는 비난을 많이 듣는다.

하지만 이는 전적으로 오해다.
CBO의 문제, 특히 Cardinality(예측 로우 건수) 문제를 심각하게 고민해 본 사람이라면 오히려 다음과 같은 질문을 던질만 하다.

도대체 다른 DBMS는 Hint없이 어떻게 튜닝을 한다는거야?

실제로 내가 이런 느낌을 자주 받는다.

아마, 다른 DBMS에서는 많은 수의 Table을 Join하고 복잡한 Subquery를 사용하는 것을 추천하지 않으며 Long Running Query를 왠만하며 사용하지 않는 관계로 인해 이런 오해가 생기는 것 같다.

100% 확신하건대, Oracle CBO는 전혀 다른 DBMS에게 뒤지지 않으며 Hint가 많이 사용된다는 것은 그만큼 Oracle에서는 복잡한 Query를 마음놓고 사용하고 있다는 반증이기도 하다.



2. Oracle은 Backup/Recovery가 어렵다?
정말인가? 이렇게 간단한데?(좀 단순하게 표현한 감이 있지만...)

rman> backup database;
rman> restore database;
rman> recover database;

아마, Oracle은 Enterprise 급에서 많이 사용되고, 그로 인해 매우 복잡한 Backup/Recovery 상황을 겪는 과정에서 이런 오해가 나왔을 거 같다.

적어도 나는 오해라고 믿고 있다.



3. Oracle은 Row Level Lock은 매우 효과적이다.
이건 앞의 두개와는 달리 장점을 지나치게 장점으로 인식하는 문제이다.

Oracle은 Row Leve Lock은 확실히 매우 효과적이다. Lock Escalation같은 고질적인 문제가 없다.

단, Delayed Block Cleanout이나 Snapshot Too Old 에러같은 골치아픈 문제가 존재한다는 사실만은 반드시 기억해야 한다.


퇴근 시간이 다가와서 간단하게 세 개만 언급한다.

또 얼마나 많은 사람들이 Oracle에 대해 잘못된 인식을 하고 있을까...?

혹시 이런 의문을 가진 분들이 있으면 댓글을 남기는 것도 좋겠다.



신고

'오라클' 카테고리의 다른 글

Pivot 절의 비밀 - 세로를 가로로?  (3) 2008.12.15
Grant와 Cursor Invalidation  (0) 2008.12.11
Oracle에 대한 이상한 오해들  (0) 2008.12.09
ORA-01555 Snapshot Too Old 에러의 저주  (9) 2008.11.26
Oracle의 Block Medica Recovery  (2) 2008.11.20
Trackbacks 2 : Comment 0

Write a comment

티스토리 툴바