본문 바로가기

DataBase25

PID를 사용 오라클 쿼리 내용 확인 기존 사이트들을 유지보수하다보면 워낙 예전에 짯던 쿼리들이 문제를 일으키는 경우가 많다..-_-; 당시 개발자분이 인덱스에 대한 개념이 부족하셧던건지 쿼리를 대충 풀스캔으로 돌리셔서 오라클 관련 프로세스의 시퓨점유율이 항상 고점을 찍고 있다.ㅜㅜ.. 웹서비스에서 특히나 프론트쪽에 풀스캔이 필요한 경우가 있나 싶다..;; 개인적으로 게을러서 기존에 잘 돌아가는 시스템이라면 건드리지 않는데.ㅎㅎ;; 요번건 좀 심하게 속도가 느려져서 당췌 어떤 쿼리가 문제인지 알고싶어졌다. 모든 쿼리를 다 돌려보고 싶지만 우선 가장 문제가 되는 녀석들을 찾기로 했다. topas나 top 명령어로 우선 문제가 되는 pid를 확인하자 아래에 pid가 6771076이 좀 높다고 가정하자..-_-; 예제 쿼리는 아래와 같다.(SYS.. 2009. 7. 9.
DB2 SQLSTATE 메시지 익숙치않은 DB2를 사용하다보니 에러를 종종 만나게된다. 아래 에러 코드표를 참고하자. [출처 : IBM] 표 4. 클래스 코드 01: 경고SQLSTATE 값 의미 01002 DISCONNECT 오류가 발생했습니다. 01003 널(NULL) 값이 컬럼 함수의 인수에서 제거되었습니다. 01004 문자열 값이 짧은 길이로 다른 문자열 데이터 유형에 지정될 때 절단되었습니다. 01005 SQLDA 내의 항목 수가 충분하지 않습니다. 01007 특권이 부여되지 않았습니다. 0100C 프로시저로부터 하나 이상의 임시(ad hoc) 결과 세트가 리턴되었습니다. 0100D 닫혀진 커서가 체인 내에 있는 다음 결과 세트에 대해 다시 열렸습니다. 0100E 프로시저가 허용되는 최대수를 초과하는 결과 세트를 생성했습니다... 2009. 4. 3.
오라클 DB 계정 생성 'TS_USER1' 테이블스페이스 작성후 user1 유저 생성및 권한 부여 자세한 옵션 내용은 생략한다.-_-;.. 1. 테이블 스페이스 생성 CREATE tablespace TS_USER1 DATAFILE '//oradata/dbf/TS_TESTDS.dbf' SIZE 50M AUTOEXTEND ON NEXT 1M MAXSIZE 100M ; 2. 유저 생성 CREATE USER user1 IDENTIFIED BY passwduser1DEFAULT TABLESPACE TS_USER1; 3. 접근 권한 부여 Grant connect, resource to USER1; 혹시 패스워드를 변경해야 할 경우 (passwduser1 -> newpassword 로변경) alter user user1 identified.. 2009. 2. 2.
지정한 힌트(HINT) 가 적용되지 않는 이유 오라클 HINT사용시 유의할점 몇가지... 1. 힌트에 대한 배경 설명 정확하게 정의된 힌트는, 옵티마이저에게 특정한 액세스 방법과 타입을 지정하는 DIRECTIVE가 된다. 옵티마이저는 항상 힌트에 지정된 사항을 무시하지 말고 지켜야 겠지만, 다음과 같은 이유에 의해 적용되지 않을 수 있다. 힌트는 다음과 같은 경우 적용되지 않는다: 1) 문법적으로 부정확 할 때. 만약 힌트의 문법이 틀리다면, 힌트를 단순 주석으로 처리하여 무시하게 된다. 2) 의미론적으로 부정활 할 때. 만약 힌트가 의미론적으로 부적절 할 경우 (예. 참조하는 대상이 invalid 상태에거나, unusable 상태인 경우, 또는 함께 사용하는 다른 힌트와 모순이 있을 때) 3) Rule 힌트는, Cost Based에서만 동작되는 기.. 2008. 12. 8.