오라클로 connect하는 시간이 너무 오래 걸리거나 혹은 oracle 외에 다른 일반 사용자로는 ora-1034, ora-7320 오류를 발생하는데 permission에도 문제가 없는 경우, 여러가지 원인이 존재할 수 있으나, Oracle7 7.3에서는 Oracle Trace가 원인인 경우가 많다.
Oracle7 7.3에서 default로 되어 있는 Oracle Trace로 인해 발생할 수 있는
문제와 조치 방법은 다음과 같다.
Version 및 역할
---------------
Oracle Enterprise Manager의 Performance Pack인 Oracle Trace는 Oracle7 7.3.2.1부터 제공하는 기능이며, 7.3.2와 7.3.3, 7.3.4에서는 default로 되어 있다.
Oracle7 7.3 이외에도 SQL*NET v2.3, Oracle Forms 5.0에도 Oracle Trace가 포함된다.
영향받는 platform
-----------------
Oracle Trace는 대부분의 Unix platform에서는 default 기능이며, Windows NT 7.3.2에서는 제공되지 않는다.
발생 가능한 문제들
-----------------
(1) database로의 connection time이 매우 늦어질 수 있다.
(2) Oracle response time이 늦어지는 경우가 있다.
(3) process.dat라는 file의 size가 증가하여 disk space를 차지하게 된다.
(4) SGA attach에 관한 오류인, ORA-7307, ORA-7320, ORA-7337과 같은 오류가
발생할 수 있다.
(5) TNS-12164, TNS-12547과 같은 protocol 에러가 발생할 수 있다.
(6) Instance에 접속하는 경우 접속이 끊기거나 hanging 상태로 되는 경우가
있다.
(7) SQL*Plus나 SVRMGRL에서 bus error나 core dump가 발생할 수 있다.
(8) Trace file이 사용자가 지정한 user_dump_dest가 아니라 default
user_dump_dest에 생성되기도 한다.
(9) Trace file의 size가 0인 경우가 발생할 수 있다.
문제 해결 방법
-------------
(1) 7.3 database를 shutdown한다.
(shutdown시키지 않고 작업을 하는 경우 db가 shutdown되는 상황이
발생하기도 한다.)
(2) Oracle Trace의 output 화일들을 다음과 같이 초기화시킨다.
cd $ORACLE_HOME/otrace/admin
rm -f process.dat regid.dat
cd $ORACLE_HOME/bin
otrccref를 실행시킨다.
(3) 환경 변수인 EPC_DISABLED를 모든 오라클을 사용하는 OS user에서 TRUE로 지정한다.
Bourne schell인 경우: EPC_DISABLED=TRUE; export EPC_DISABLED
C-shell인 경우: setenv EPC_DISABLED TRUE
(4) SQL*Net을 통해 connection하는 경우도 EPC_DISABLED를 TRUE로 하기 위해 Listener.ora 화일 내에 'SID_LIST_LISTENER' 절에 다음을 추가한다.
(ENVS='EPC_DISABLED=TRUE')
이것을 다음과 같이 (ORACLE_HOME=...)을 지정한 다음에 추가한다.
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(SID_NAME=DB1)
(ORACLE_HOME=/oracle/app/oracle/product/7.3.2)
(ENVS='EPC_DISABLED=TRUE')
)
(SID_DESC=
(SID_NAME=DB2)
(ORACLE_HOME=/oracle/app/oracle/product/7.3.2)
(ENVS='EPC_DISABLED=TRUE')
)
)
(5) Database와 Listener를 재기동시킨다.
|