전체 글 107

인덱스 컬럼의 분포도 및 순서

인덱스를 이용해야만 성능은 향상되는가 우리가 SQL을 작성하면서 성능을 보장하기 위해 가장 먼저 무엇을 고려하는가? 가장 먼저 고려하는 사항은 인덱스일 것이다. 많은 경우에 작성한 SQL에 대해 인덱스를 생성한다면 성능을 보장 받을 수 있다고 생각하게 된다. 과연, 인덱스만 생성한다면 해당 SQL의 성능을 보장할 수 있겠는가? 어떤 SQL은 인덱스 때문에 성능이 엄청 저하될 수 있는 것이 현실이다. 이러한 경우는 경험해본 사람이라면 쉽게 이해할 수 있을 것이다. 그렇다면 어떤 경우의 SQL에는 인덱스가 필요하고 어떤 경우의 SQL에는 인덱스가 필요하지 않은 것일까? 인덱스를 이용하여 성능을 최적화하기 위해서 어떤 컬럼으로 인덱스를 구성할 것인가에 대한 것보다도 해당 SQL이 인덱스를 이용해야 할지 아니면..

Admin/Tuning 2008.05.07

옵티마이저의 비용계산 방법과 실행원리

1. SQL문 처리과정 옵티마이저의 비용계산 방법을 소개하기 전에 우선 SQL문의 처리과정의 대해 알아보자. 사용자가 실행하는 SQL문은 파서(Parser)에게 전달되고 파서는 데이터 딕셔너리 정보를 참조하여 SQL문에 대한 구문분석(Syntax와 Symantics)을 수행한다. 이 결과를 파스-트리(Parse-Tree)라고 한다. 파스-트리는 옵티마이저에게 전달되는데 오라클 데이터베이스에는 공식기반 옵티마이저(Rule-Based Optimizer)와 비용기반 옵티마이저(Cost-Based Optimizer)가 있다. 비용기반 옵티마이저에 의해 산출된 적정 플랜(Optimal Plan)은 로우 소스 생성기(Row Source Generator)에게 전달되고 이것은 실행 계획(Execution Plan)으..

Admin/Tuning 2008.04.30

ORA-01034: ORACLE not available

오라클 유저로 접속시에 정상접속. 다른 유저로 접속시에 ORA-1034 발생. 오라클 환경변수 이상없음. 리모트로 접속시 정상접속(scott/tiger@tnsname) $ORACLE_HOME/bin/oracle의 파일퍼미션 변경으로 해결. ls -l oracle -rwxr-x--x 1 oracle dba 20724480 2006년 7월 7일 oracle chmod 6751 oracle ls -l oracle -rwsr-s--x 1 oracle dba 20724480 2006년 7월 7일 oracle --The problem is when you try to connect to the oracle locally by using another user other than --oracle (database o..

Admin/admin 2008.04.03

DBCA로 생성시 ora-29807 발생

9.2.0.8에서 DBCA를 통해 DB생성시 ora-29807에러 발생 ignore로 계속 진행하니..문제없이 종료됨. Note:239304.1 Creating Database Using DBCA Under 9.2.0.2.0 or 9.2.0.3.0 - ORA-29807 Is Encountered Problem While using Database Creation Assistant (DBCA) to create a database (custom or template) after patchset 9.2.0.2.0 or 9.2.0.3.0 has been applied, ORA-29807 'specified operator does not exist' is encountered during 'create dat..

Admin/ErrorCode 2008.03.19

Oracle 11g DBA관리기능

오라클 RDBMS의 전통적인 장점 가운데 하나는 타 RDBMS 벤더에 비해 다양한 테이블 파티션 기법을 지원한다는 점이다. 다양한 기법의 파티션 전략을 구사함으로써 대용량 데이터의 특정 블록에 집중되는 엑세스(ACCESS)를 분산시킬 수 있는 장점이 존재한다. 10g까지는 기본적으로 range, list, hash 등의 세 가지 파티션 타입을 지원했다. 11g에서는 한발 더 나아가 이 세 가지 파티션 전략의 확장 기능으로 interval 파티션과 REF 파티션, vitual column 파티션이 추가적으로 지원된다. interval 파티션이란 range 파티션이 확장된 개념으로 월, 년도와 같이 기간으로 파티션을 생성했을 때 자동으로 새로운 월이나 연도로 넘어가게 되면 지정된 파티션의 키 값을 기준으로 ..

Admin/admin 2008.03.04

Oracle Instant Client로 접속시 ORA-12705

Oracle Instant Client Client CD로 설치 없이 빠르고 간편하게 oracle로 접속할 수 있다. Basic + sql*plus 다운로드후 모두 압축을 풀고 ,tnsnames.ora 파일만 추가하면 접속이 된다. 10.1의 경우 사이즈가 86M정도 된다. 접속해보니 다음 에러가 발생 ORA-12705: invalid or unknown NLS parameter value specified SET 명령어로 NLS_LANG을 설정하니 정상적으로 접속 시스템등록정보 - 고급 - 환경변수에 추가하면 된다.(PATH,NLS_LANG등) Windows Configuration The environment may be configured using SET commands in a Windows c..

Admin/admin 2008.02.19