'오라클'에 해당되는 글 3건

  1. 2013.03.28 토드(Toad) for Oracle , Export Dataset 오류
  2. 2009.01.22 인덱스를 안타요... ㅠ.ㅠ 1
  3. 2008.12.09 to_date 함수 활용 2
Database/Oracle2013. 3. 28. 15:31


토드 프로그램을 실행시킨 경우 프로그램을 종료시킨다.


Toad 설정 파일이 있는 경로로 이동한다.


윈도우 7의 경우

C:\Users\<OS_USER>\AppData\Roaming\Quest Software\Toad for Oracle\10.x\User Files


XP의 경우

C:\Documents and Settings\<OS_USER>\Application Data\Quest Software\Toad for Oracle\10.x\User Files



해당 경로내에 아래의 파일들이 존재한다.


ToadActions.dat

ToadActions.log


두개의 파일을 적당한 명칭으로 rename 한다.


ToadActions.dat.backup

ToadActions.log.backup



토드를 재실행한다.



참고한 내용

https://support.quest.com/SolutionDetail.aspx?id=SOL49431



Posted by 햇 님
Database/SQL2009. 1. 22. 10:05
이런경험 있지 않던가?
분명 DB테이블에 Index 를 설정해놓은 컬럼인데...
어느순간 보니.. Index를 타지 않고..  테이블을 Full Scan 해버리는 상황...
뭐가 문제야 뭐가!!!  하며 hint를 줘보고, 별짓을 다해보는뎅....
쿼리 실행하면 4~5초는 기본이요~ 10~20초 까지 가게되다도면.. 뭐가 문제인지..
답답할때가 많다.

그런데.. 대부분의 경우 Index 설정이 되어있다면...  안탈리가없다...
문제는 바로 조건문쪽에 있을 확률이 높다.

조건에서 혹시 인덱스 설정한 값을 함수를 통해 변환하지는 않았는가?

내가 겪은 상황의 대부분은 이러했다..
특수한 경우를 제외하고는 인덱스로 설정한 값을 SELECT 조건문에서 변형을 하게되면
해당되는 Index를 타지 못하고 Full Scan 하게되는거다..

예를 들어 날짜 형식으로 지정된 Index가있는데.. 내가 비교하기 편하려고
지정된 컬럼을 TO_CHAR() 함수로 바꾸어서 값을 비교하게되면..
Index의 지정은 date형식인데.. 비교가 char 형식으로 바뀌게되면서
Full Scan을 하게 된다.

인덱스를 타지 않는경우!!
여러분들의 조건문을 한번 다시 살펴보길 바란다...
어딘가 변형을 가하지 않았는가??
Posted by 햇 님
Database/Oracle2008. 12. 9. 16:32

오라클 함수에 날짜형식으로 변환할수 있는 함수인
to_date 함수가 있습니다.

오늘은 to_date() 를 사용하는 방법을 적어볼까 합니다.
제가 주로 쓰던거와.. 오늘 급작스럽게 테스트해보고 알게된 내용 정리죠 ^^;

주로 to_date를 사용할때는
select to_date('20081209142500' , 'YYYYMMDDHH24MISS') from dual;

과 같이 사용해서 날짜형식을 만들어 사용했습니다.
(저와.. 저희회사에서 주로... ㅎㅎㅎ;;)

그런데 제가 추가로 급여관리 프로그램을 만들던 도중에..
12월달 data들(출/퇴근기록) 계속 저장해놓고 있었습니다..  (미리 DB설계가 반영이 안돼있던터라)

그리고 이제 저장해놓은 백업데이터들을 DB에 입력하려는데..
그동안 저장해온 출/퇴근시간이.. 이렇게 저장되어있었죠..
2008-11-28 오전 8:59:54

ㅠ.ㅠ;     순간 난감한가운데... 열심히 뒤적뒤적...  찾다보니

http://www.gotapi.com     (각종레퍼런스제공)

훗 제가 자주애용하던곳에서 to_date 함수를 검색해서 찾아봤습니다.
SELECT TO_DATE(
'January 15, 1989, 11:00 A.M.',
'Month dd, YYYY, HH:MI A.M.',
'NLS_DATE_LANGUAGE = American')
FROM DUAL;
예제로 요런 코드가 제공되더군요.. 
이걸가지구 또 한참을 삽질하다가.. 'NLS_DATE_LANGUAGE = American'  이라는 부분은
별로 필요없는듯하여 버리구.. 만들어낸것이
SELECT TO_DATE('2008-11-28 오전 8:59:54','YYYY-MM-DD A.M. HH:MI:SS')
FROM DUAL;
결국 원하는 값을 얻어냈습니다. ㅋ
다른게 아닌 char 형식의 것들에서 date 형식으로의 변환을 위한 매칭되는 예약어들만 알면
해결되는것이었습니다~ ㅎ
YYYY(4자리 년도) , MM(두자리 월) , DD (두자리 날짜) , A.M. (요게 오전,오후를 나타내는거죠)
HH(시간이구요, 요건 1~12로 표현되는 시간), MI(두자리 분), SS(두자리 초)
HH24(이것두 시간표현이구요, 1~24시로 표현합니다. 이걸쓰면 A.M. 은 필요없겠죠?)

하하.. 무튼.. 삽질은 계속되는군요..
자주자주 글을 써야하는데...  ㅠ.ㅠ  정말  간만에 쓰네요.. 뭐; 보시는분이 계실지 모르겠지만요;;;




Posted by 햇 님