문제

가 부하 균형(를 사용하지 않는 세션 상태)ASP.Net 2.0 응용 프로그램에 IIS5 다시 실행하는 단일 Oracle10g 를 사용하는 서버 버전 10.1.0.301 의스 일반/ODP.Net 드라이버가 있습니다.후 오랜 기간 동안의 활동(몇 시간),응용 프로그램,겉으로는,무작위로 던져 Oracle 예외:

예외:ORA-03113:end-of-에 있는 파일 통신 채널 Oracle.DataAccess.클라이언트입니다.OracleException.HandleErrorHelper(Int32 errCode,OracleConnection conn,IntPtr opsErrCtx,OpoSqlValCtx* pOpoSqlValCtx,체 src,문자열의 절차)에서 Oracle.DataAccess.클라이언트입니다.OracleCommand.ExecuteReader(Boolean 첫째, Boolean fillRequest,CommandBehavior 동작)에서 Oracle.DataAccess.클라이언트입니다.OracleCommand.시스템입니다.데이터입니다.IDbCommand.ExecuteReader()

...오라클 부분의 스택은 여기서 끝...

우리가 만드는 새로운 연결에 모든 요청이 있&가까운에 싸여 시험/catch/마지막으로 연결되었는지 확인쇄,그리고 모든 일에 싸여 사용(OracleConnection yadayada){...}니다.이 문제는 나타나지 않는 연결을 다시 시작 ASP.Net 응용 프로그램 후에 회전되는 다운지 않습니다.

우리가 아직 문제점을 재현하는 자신이다.생각,기도,도움이 되나요?


더: 체크,그것으로 방화벽 설정되지 않은 죽일 사이의 연결을 그 서버에 있습니다.

도움이 되었습니까?

해결책

ORA-03113:end-of-에 있는 파일 통신 채널

은 데이터베이스시키는 당신이 알고 있는 네트워크 연결이 더 이상 없습니다.이 때문일 수 있습니다:

  1. 네트워크 문제가-잘못된 연결,또는 방화벽의 문제
  2. 서버에서 프로세스는 데이터베이스 서비스 당신에 갑자기 돌아가셨어요.

1)(방화벽)검색 tahiti.oracle.com 대 SQLNET.EXPIRE_TIME.이는 sqlnet.오라는 매개변수를 정기적으로 보내 네트워크 패킷을 구성 가능한 간격으로 즉:설정이 방화벽을 믿고 연결이 살고있다.

1)(네트워크)어 네트워크 관리자(연결 될 수 있을 신뢰할 수)

2)확인 alert.log 에 대한 오류가 있습니다.는 경우 서버 프로세스에 실패한 경우 있을 것이고 오류 메시지가 표시됩니다.또한 추적 파일을 작성할 수 있도록 지원하를 식별하는 문제입니다.오류 메시지를 참조 추적 파일입니다.

문제를 지원할 수 있습기에 metalink.oracle.com 적절한 고객 서비스를 식별자(CSI)

다른 팁

추가 검증 Connection=true 연결 문자열입니다.

이 블로그 에 대한 자세한 내용을 찾으려면.

상세정보: 후 OracleConnection.Close()실제 데이터베이스 연결지 않는 종료됩니다.연결 객체를 넣어 다시 연결이 수영장도 있습니다.의 사용 연결을 수 있는 암시적으로 ODP.NET.을 만드는 경우 새로운 연결을 중 하나를 얻을 수 있습니다.이 연결은"아직 열려있는"OracleConnection.Open()방법을 사용할 수 없습니다 정말로 만들어 새로운 연결.면 실시 연결이 끊어(어떤 이유로)당신은 실패에 먼저 선택하거나 삭제할 수 있습니다.

과 확인 연결을 실시 연결을 확인에 Open()메소드가 있습니다.

가 있는지 확인하는 방화벽의 종말을 연결 한 후 특정 기간(이의 원인이 유사한 문제리)

end-of-에 있는 파일 통신 채널:

의 한 과정의 오류로 인해 데이터베이스 쓰기에 실패에 로그인할 때에 여는 단계;

솔루션인 경우 데이터베이스에 그것의 실행에서 ARCHIVELOG 또는 NOARCHIVELOG

크 사용

select log_mode from v$database;

면에 ARCHIVELOG 를 변경하려고로 NOARCHIVELOG

를 사용하여 sqlplus

  • 시작 마운트
  • alter database noarchivelog;
  • alter database open;

는 경우 그것은 작품에 대한 이

다음을 조정할 수 있습 flashrecovery 지역의 가능성이 있는 것 flashrecovery 지역은 전체 ->후 확인하는 귀하의 flashrecovery 지역은 공간을 변경할 수 있는 데이터베이스 ARCHIVELOG

이 오류 메시지가 발생할 수 있는 응용 프로그램에서 로그를 할 때 실제적인 문제는 오라클 데이터베이스는 서버의 공간입니다.

후에는 수정하는 공간 문제,특히 이 오류 메시지가 사라졌습니다.

당신이 이것을 시도해 볼 수도 있습니스 해킹:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"DeadGWDetectDefault"=dword:00000001
"KeepAliveTime"=dword:00120000

그것이 작동하는 경우,그냥 계속 증가 KeepAliveTime.그것은 현재 설정 2 분 거리에 있습니다.

이 문서는 이전에 언급은 좋습니다. http://forums.oracle.com/forums/thread.jspa?threadID=191750 (가)

이것이 뭔가 자주 실행됩(에 그것을 하지 않는 당신의 홈페이지)에 해제할 수 있습 connection pooling.

다른 하나의"잡았다"하지 않은 문서에서 언급.을 경우 첫번째 것을 시도하시와의 연결은 저장 프로시저를 호출,ODP 중단됩니다!!!!당신은 다시 얻을 오류 조건을 관리하고,단체 구멍을 걸!문제를 해결하는 유일한 방법은 그것을 끄 연결 풀링을 수행합니다.일단 우리가 하는 모든 문제에 갔습니다.

풀링은 좋은 어떤 상황에서는,그러나 비용의 복잡성이 증가 주위의 첫 번째 문의 모든 연결합니다.

는 경우에는 오류 처리 접근 방식은,그래서 좋은 왜 그들은 그것에 대한 옵션 ODP 그것을 처리한가요????

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top