다음은 Oracle RC의 내용입니다.
참고하시기 바랍니다.
ORA-3113 에러가 발생하면 제일 처음으로 사용자가 할 일은 서버 장비의 log와
trace file을 점검해 보아야 하며 그런 다음 클라이언트를 조사해 보아야 한다.
<< 해결책 요약 >>
ORA-3113의 의미는 클라이언트에서 서버에 대한 접속을 갑작스럽게 잃어 버릴
때에 발생하며 대부분의 경우 서버에서 클라이언트의 접속을 kill하는 경우이다.
이 에러는 주로 서버 장비의 데이타베이스 또는 SQL*NET LISTENER(서버측)의
문제이므로 초기에는 클라이언트측은 무시하고 대신 서버측을 조사해 보아야 한다
드문 경우이긴 하지만 이것은 클라이언트의 memory나 resource의 부족으로 발생
할수도 있고, DLL 버젼이 서로 맞지 않아 발생하기도 한다. 그러나 이런 경우는
극히 드물다.
1. Server side
첫번째로는 사용자의 DBA에게 도움을 요청한다. 그런 다음 사용자의 응용
프로그램에서 ORA-3113 에러를 재현한다. DBA에게 요청하여 데이타베이스의
alert.log와 trace file을 보고, ORA-3113 절에 에러와 동시에 나오는 다른
내용이 있는지를 확인한다.
예로 만일 클라이언트가 ORA-3113 에러를 얻게 되면 매번 trace 화일 생성
하거나, 또는 alert.log 화일 내에 ORA-00600 에러가 남게 되는데 이는 데이타
베이스 또는 SQL*NET의 문제로 인해 생기는 것이다.
2. Client Side
이 에러는 Windows 3.1에서는 아주 큰 문제이며, Windows 95에서는 문제가
덜 발생하며, Windows NT에서는 드물게 발생한다.
2.1 Memory 문제
2.1.1 Windows 3.1
Test를 하기 위해 Control Panel * 386Enh * Virtual Memory를 통해
Permanent swap file (temporary가 아님)을 생성한다. 특히 클라이언트와
서버 사이에서 매우 큰 data를 전달하는 경우 ORA-3113에러가 발생한다면
보다 큰 sizes로 swap size를 늘린다. 그리고 AUTOEXEC.BAT와 CONFIG.SYS
화일에서 memory에 상주시키는 불필요한 프로그램들은 제거 하도록 한다.
2.1.2 Windows 95
가능하다면 ALT-CTRL-DEL을 누르고 windows 95에 올라와 있는 여러 Tasks을
죽인후 operation을 다시 시도해 본다.
Permanent swap file을 증가시켜 보고 test를 하기 위해 설정 -> 제어판 ->
시스템 -> 성능 -> 가상메모리를 통해 Permanent swap file의 size를 증가
시켜 본다.
특히 클라이언트와 서버 사이에서 매우 큰 data를 전달하는 경우 ORA-3113
에러가 발생 한다면 보다 큰 sizes로 swap size를 늘린다.
2.1.3 Windows NT
위의 Windows 95에서와 마찬가지로 Permanent swap file을 증가시킨다.
2.2 DLL Version mismatch
2.2.1 SQL*NET과 Database의 버젼
Oracle Installer를 수행하여 현재 사용 중인 SQL*NET version을 점검하며
아래에 기술된 내용은 최소한 충족시켜 주어야 합니다.
(아래의 Version이 서로 맞지 않는다고 해서 사용할 수 없는 것은 아님)
=============================================
SQL*NET | RDBMS
=============================================
Ver 1 or Ver 2.0 | 7.0 또는 이후 버젼
Version 2.1 | 7.1 또는 이후 버젼
Version 2.2 | 7.2 또는 이후 버젼
Version 2.3 | 7.3 또는 이후 버젼
=============================================
2.2.2 OCI 사용자
만일 사용자의 프로그램이 OCIW32.DLL을 링크한다면 PC에 설치되어 있는 가장
최근의 RSF(Required Support File)을 로드할 것 이다.
또한 만일 데이타베이스 버젼 보다 PC에 새로운 RSF가 설치 되어 있는 상태
에서 데이타 베이스에 접속하기를 원한다면 그 것을 remove하고 가급적이면
데이타 베이스의 버젼(처음부터 최소한 2digit : 예로 데이타베이스 버젼이
7.3.2.3이라면 RSF는 최소한 V7.3.x)과 맞추는 것이 좋다.
2.2.3 ODBC 사용자
Oracle Web site(www.oracle.com/products/free_software)에 ODBC driver를
Free software로 올려 놓은 곳이 있으니 SQL*NET 버젼에 해당하는 ODBC
Driver를 사용하시기 바란다.
2.2.4 기타
가능하다면 응용 프로그램에서 현재 사용하고 있는 SQL*NET의 버젼과 동일한
Required Support File의 버젼을 사용한다.
SQL*NET | RSF (Required Support File)
======================================================
V2.1 | V7.1
V2.2 | V7.2
V2.3 | V7.3
참고 : 3rd party 제품의 경우 Oracle에 접속하는 경우 자체 Native
Database driver에서 요구 하는 ORACLE RSF의 버젼을 요구하는
경우도 있다.
>>초심자 님께서 쓰시길<<
::
:: OS : win 2000 pro
:: Oracle : 8.1.7
::
:: 몇번 깔았다 지웠다 깔았다 지웠다..해서 어제 에러 하나 없이.. 인스톨
:: 성공했습니다. SQL Plus 에서 접속도 해봤구여.. 잘되더라구여..
:: 어제 컴퓨터 끄고나서 오늘 다시 켜서 접속 하려 해 봤더니..
:: ORA-03113 통신채널에 EOF가 있습니다.
:: 하면서 접속이 안돼고 있습니다.
:: 밑에 있는 질문이 좀 비슷하긴 하지만 저완 상황이 틀린것 같더라구여
:: 해결 방법이 있을까여...?
:: 부탁드립니다.
::
|