분류 전체보기
-
[펌] SQL*Net message from client 이벤트는 항상 Idle Event 인가? (Pipelined Table Function 의 용도)DBMS/Oracle 2008. 10. 30. 09:46
얼마전에 필자는 다음과 같은 질문을 받았다. "PL/SQL 의 기능중에 커서(Select 문)을 인자로 받아서 복잡한 계산을 수행후 결과를 집합으로 RETURN 하는 기능이 있습니까?" 이런 경우 필자는 예외없이 Pipelined Table Function 을 권장한다.(단 버젼이 8i 이상이라면) Pipelined Table Function 를 사용하여야 하는 이유는 4가지 이다. 1.PL/SQL 의 유일한 단점은 부분범위처리가 안된다는 것이다. 즉 모든처리가 끝나야만 결과가 화면에 Return 된다는 것이다. Pipelined Table Function 을 사용하면 이런단점을 극복할수 있다. 당연히 조회하면등에서 성능이 개선된다. 이개념을 이용하려면 Pipe Row 기능을 이해해야한다. Pipe Ro..
-
[펌] v$sql_bind_capture - 바인드 변수값 확인DBMS/Oracle 2008. 10. 8. 10:25
바인드 변수값 확인 10g 이전에서는 trace로 확인할 수 밖에 없었다. select sesion.sid, sesion.username, sesion.sql_id, sesion.sql_child_number, sql_bind_capture.name, sql_bind_capture.value_string from v$sql_bind_capture sql_bind_capture, v$session sesion where sesion.sql_hash_value = sql_bind_capture.hash_value and sesion.sql_address = sql_bind_capture.address and sesion.username is not null ; Bind data : One of the bin..
-
Pro*C : INTERNAL ERROR: Failed assertion [PGE Code=90105]DBMS/Oracle 2008. 9. 19. 17:54
Pro*C로 컴파일할때 난 오류입니다. 해당 에러가 발생한 원인은 기존에 컴파일된 소스(.c)파일이 존재하고 해당 파일에 대한 접근권한이 낮아서 접근하지 못해 발생한 오류였습니다. 저 같은 경우는 root에서 컴파일을 한 후 다른 사용자로 다시 컴파일하는 과정에서 위와 같은 오류가 발생하였습니다. 해결방법은 Pro*C로 컴파일될 파일(.c)이 먼저 존재하는지 확인후 해당파일의 소유자 및 접근권한을 확인하신후 파일을 삭제하거나 아니면 접근권한을 부여하시면 됩니다.
-
[펌] AWK 사용법OS/Unix Linux 2008. 9. 19. 13:25
AWK awk는 직접 사용자로부터 입력을 받거나 아니면 지정한 파일을 가공하여 표준 출력한다 표준 출력을 리다이렉션할 수 있다 사용법 awk [옵션] '스크립트' [-v 변수=값] [파일(들)] awk [옵션] -f 스크립트 파일 [-v 변수=값] [파일(들)] cf) 편집 스크립트 파일의 사용법 ed : ed -s(script) sourcefile outputfile awk : awk -f(file) scriptfile sourcefile > outputfile 옵션 -Fc : field separator 지정 c는 필드 사이를 구분하는 구분자이다 직접 지정하지 않으면 공백을 기준으로 한다 시스템 변수 ..
-
ORACLE_HOME (오라클 홈디렉토리) 경로 data dictionary에서 조회하기.DBMS/Oracle 2008. 9. 17. 10:39
Unix/Linux ----------------------------------------------------------------------------- SELECT SUBSTR(file_spec, 1, INSTR(file_spec, '/', -1, 2) -1) FROM dba_libraries WHERE library_name = 'DBMS_SUBADV_LIB'; ---------------------------------------------------------------------------------------- Windows ------------------------------------------------------------------------------- SELECT SUBST..
-
Pro*C 컴파일오류 : PCC-S-02015, unable to open include file ( stddef.h, stdarg.h )DBMS/Oracle 2008. 9. 10. 14:36
redhat linux 엔터프라이즈 4 버전에서 proc를 컴파일 하는 과정에서 아래와 비슷한 내용의 에러가 발생했습니다. ---------------------------------------------------------------------------------- make -f /opt/oracle/product/8.1.7/precomp/demo/proc/demo_proc.mk OBJS=sample1.o EXE=sample1 build make[1]: Entering directory `/opt/oracle/product/8.1.7/precomp/demo/proc' proc iname=sample1 Pro*C/C++: Release 8.1.7.0.0 - Production on Tue Feb 25..
-
함수 인자 유효성 검사는 누구의 책임인가?Programming 2008. 9. 4. 08:44
함수를 만들다보면 함수의 인자값에는 선행조건이 항상 붙습니다. 예를 들면 int func(char* a); 위와 같은 포인터형태는 보통 a != null 이라는 선행조건이 붙는데.. 이때 과연 해당 함수를 호출하는 호출자가 해당조건을 검사해야하는지 아니면 함수내에서 조건을 검사해야하는지 항상 함수를 만들때마다 고민을 하면서 쉽게 결정하지 못할때가 많았습니다. 그러던 어느날 "실용주의 프로그래머" 라는 책의 본문에 제가 고민하던 문제에 대한 도움이 될만한 내용보게 되었습니다. 누구의 책임인가? ( 실용주의 프로그래머 - p.193) 호출자와 호출되는 루틴 중에 선행조건을 확인하는 것은 누구의 책임인가? 언어의 일부로 구현되어 있는 경우, 대답은 어느 쪽도 아니다 이다. 선행조건은 호출자가 루틴을 부른 뒤,..