본문 바로가기

전체 글

Pro*C 컴파일 에러 make warning: type defaults to 'int' extern sqlcxt 오라클 Pro*C 프로그램을 컴파일할때 아래와 같은 경고(Warning) 문구를 만나는 경우가 있습니다. 사실 정확히는 에러는 아니고 경고라 그냥 넘어가도 됩니다. 경고가 잔뜩 나와서 보기 싫어서 그렇지 실행파일을 만들어지니까요. simple.c:118:8: warning: type defaults to 'int' in declaration of 'sqlcxt' [-Wimplicit-int] extern sqlcxt (/*_ void **, unsigned int *, ^~~~~~ simple.c:120:8: warning: type defaults to 'int' in declaration of 'sqlcx2t' [-Wimplicit-int] extern sqlcx2t(/*_ void **, unsig.. 더보기
오라클 이벤트 db file parallel read, db file sequential read 성능차이 테이블 Full Scan 하는 경우는 db file scattered read 이벤트가 발생하고, 인덱스 Scan 하는 경우는 db file sequential read 이벤트가 발생한다고만 알고 있었는데, SQL 을 수행하다 보니 계속 db file parallel read 만 나오길래 좀 찾아보고 비교해 본 결과를 엿다가 좀 정리해 봅니다. db file parallel read 는 /*+ parallel(x) */ 힌트와는 아무 상관이 없습니다. 매번 한건씩 한건씩 읽어오는 것을 prefetch 기능을 써서 한번에 읽어올때 주변의 것까지 더 읽어오는 기능입니다. 인덱스를 타더라도 Range 가 좀 많이 넓은 경우 이 기능이 효과를 발휘합니다. 아래의 SQL로 성능차이가 얼마나 나는지 테스트를 해봤습.. 더보기
제모크림(털제거) 사용후기, 주의사항 콧수염, 턱수염이 항상 너무 잘 자라서 매일 면도를 해야하는 귀차니즘으로 인해 평소에 제모에 관심이 많습니다. 그래서 아주 오래전에는 피부과에서 제모 레이저 시술도 받아봤었는데, 받을 때만 잠깐 없어졌다가 나중에 다시 그대로 원복된 경험을 했었습니다. 돈만 날렸죠~~ 그러다 우연히 유머게시판에서 이런 뉴스를 보게되었습니다. 외국의 어떤 꼬마애가 엄마 제모크림 가지고 놀다가 머리털을 몽창 날렸다는.... 처음에는 웃고 넘어갔었는데, 갑자기 머리를 스쳐지나가는 생각이... 앗 잠깐 내 턱수염도 이런식으로 날릴 수 있다면? 그래서 바로 구매했습니다. 제모크림~~ 턱에 바르고 디지는 줄 알았습니다. ㅠㅠ 원래 사용설명서에는 바르고 5~10분 정도 있다가 물로 씻으라고 되어 있더군요. 근데, 수염털이 두꺼워서 그.. 더보기
Pro*C 컴파일 에러 PCC-S-02201, Encountered the symbol, PCC-F-02102, Fatal error 오라클 Pro*C 프로그램을 컴파일하다 보면, 일부 분석함수(Analytic function)들을 제대로 인식하지 못해서 에러가 나는 경우가 있습니다. 분명히 SQL*Plus 상에서는 제대로 수행되는 SQL 인데, Pro*C 에서 Embeded SQL 형태로 사용하면 PCC-S-02201 에러가 발생합니다. $ make -f multirows.mk proc multirows INCLUDE=include/ include=/u02/app/oracle/product/19.12.0/dbhome_1/precomp/public/ include=/u02/app/oracle/product/19.12.0/dbhome_1/rdbms/demo/ include=/u02/app/oracle/product/19.12.0/dbho.. 더보기
Oracle RAC ASM 에서 외부 파라메타파일을 spfile 로 넣는 방법 (create spfile from pfile) Oracle DB 파라메타파일인 init.ora 파일을 spfile 로 바꾸고 싶은 경우, ASM 을 사용하지 않는 환경에서는 그냥 create spfile from pfile; 커맨드만 실행하면 알아서 spfile 을 생성해줬습니다. 하지만, ASM 을 사용하는 RAC 환경에서는 반드시 DB를 Startup(Mount) 해준 후에 커맨드를 실행해야 합니다. DB Mount 안한 상태에서 커맨드를 날리면 아래와 같은 에러들을 만나게 됩니다. SQL> create spfile='+DATA/ORA19/PARAMETERFILE/spfile.275.1122335907' from pfile; create spfile='+DATA/ORA19/PARAMETERFILE/spfile.275.1122335907' from.. 더보기
Oracle RAC ASM 에 있는 파라메타파일 오류로 Startup 안되는 경우 (ORA-00821, ORA-01078, ORA-01565, ORA-27037) Oracle ASM 을 사용하는 RAC 환경에서 데이터베이스 파라메타 파일은 $ORACLE_HOME/dbs 디렉토리가 아니라, ASM 스토리지에 위치하고 있습니다. 파라메타 잘못 수정해서 startup 시 에러가 나는 경우, 보통은 create pfile from spfile; 커맨드로 수정해서 띄우면 되는데 ASM 에서는 이게 안되는 경우가 있습니다. SQL> startup ORA-00821: Specified value of sga_target 10240M is too small, needs to be at least 11648M ORA-01078: failure in processing system parameters SQL> SQL> create pfile from spfile; create pf.. 더보기
오라클 에러 정보 (ORA-00604) - 내부 SQL 처리에러, 다음 에러를 봐야하는 ORA-00604 에러는 Alertlog 상에서 종종 발견되는 에러입니다. $ oerr ora 604 00604, 00000, "error occurred at recursive SQL level %s" // *Cause: An error occurred while processing a recursive SQL statement // (a statement applying to internal dictionary tables). // *Action: If the situation described in the next error on the stack // can be corrected, do so; otherwise contact Oracle Support. 내부 recursive SQL 을 실행하다.. 더보기
오라클 In-memory (인메모리) 관련 유용한 스크립트 모음 ◆ 인메모리 공간 할당/사용율 조회 스크립트 SGA 내에 할당된 In-Memory Column Store 크기 및 사용현황을 조회합니다. $ cat imarea.sql col i format a1 col pool format a9 col alloc_gbytes format 999,999.999 col used_gbytes format 999,999.999 col "USED%" format 999.999 col populate_status format a15 select substr(inst_id, 1, 1) i, pool, round(alloc_bytes/1024/1024/1024, 3) alloc_gbytes, round(used_bytes/1024/1024/1024, 3) used_gbytes, de.. 더보기