WINDOWS 용 SQL*NET 사용 시 TNS-12545

제품 : SQL*NET
작성날짜 : 1995-11-10
WINDOWS 용 SQL*NET 사용 시 TNS-12545
====================================
에러 TNS-12545 "TNS:name lookup failure"는 TCP/IP 프로토콜 어댑터를 가진
SQL*NET V2를 통해 툴에서 연결하려는데 TCP/IP 프로토콜 어댑터가 TNSNAMES.ORA
파일의 ADDRESS 부분에 제공된 호스트 이름을 분석할 수 없을 때 발생합니다.
TNS-12545는 SQL*NET TCP/IP V1에서 발생하는
ORA-6105 "NETTCP:remote host is unknown"과 비슷합니다.
* TNS-12545를 진단하는 단계
1. 호스트 이름을 이용하여 호스트에 대해 TELNET과 PING을 실행해 보십시요. 즉
PING <server> 또는 TELNET <server>를 실행해 보십시요. 호스트 이름을
사용하여 PING이나 TELNET을 성공적으로 실행할 수 없으면, 먼저 TCP/IP 구성을
점검해야 합니다. PING나 TELNET의 WINDOWS 버전을 사용하여 해 보십시요. 몇몇
DOS 버전이 잘 작동하더라도 WINDOWS 구성에 문제가 있으면 WINDOWS 버전에서
에러가 발생할 수 있습니다.
2. 서버에서 루프백을 수행하여 서버쪽이 정확하게 설정되었는지 확인하십시오.
루프백을 수행하려면 데이타베이스가 있는 MACHINE에서 아무 툴이나 호출하고,
TNSNAMES.ORA에 WINDOWS 클라이언트에 사용한 것과 같은 ADDRESS 매개 변수를
사용하여 SQL*NET V2를 통해 데이타베이스에 연결해 보십시요.
3. 다음에는 사용자의 TCP/IP 소프트웨어가 IP 주소의 이름 분석을 위해 PC에서
DOMAIN NAME SERVICE(DNS)를 사용하는지 아니면 파일 찾아보기를 사용하는지
점검하십시요.
4. DNS를 사용한다면, DNS에 해당하는 모든 드라이버를 올리도록 하십시요. 예를
들어, SUN PC/NFS는 RNMNIS.EXE를 올려야만 Naming Information Service를
사용할 수 있게 됩니다.
5. DNS를 사용하지 않는다면, HOST 파일에 연결해야 할 호스트의 항목이 있는
지 확인하고, 만약 없으면 추가하십시요. WINDOWS용 TCP/IP 어댑터는 원래
TCP/IP 업체가 예상한 디렉토리에 상주하는 HOST 화일을 사용합니다. HOST
파일의 각 항목 뒤에는 반드시 키리지 리턴을 넣어야 합니다. 또한 그러한
서비스에 필요한 드라이버를 모두 점검해야 합니다. 예를 들어, SUN PC/NFS는
그러한 서비스를 올리려면 RNMFILE.EXE가 필요합니다.
6. WINDOWS 호출을 사용하지 않고 open() 호출을 사용했기 때문에 파일 핸들이
초과할 수 있습니다. SQL*NET V1은 여기에 해당하지 않습니다. 이 버그는 버전
2.1.5에 와서 해결되었습니다.
7. 연결을 시도하여 여전히 TNS-12545가 나오면, TNSNAMES.ORA 파일의 ADDRESS
부분 아래에 있는 HOST 매개 변수에 호스트 이름을 지정하지 말고 IP 주소를
지정하는 것도 한 가지 해결책이 될 수 있습니다. 다음 예를 참조하십시요.
HOST=139.141.61.64

I've downloaded 11i.10.2 from the edelivery site, and unzipped all files to E:, so
my staging area looks like E:\startCD, E:\oraDB, etc.You have to correct the set up of the stage area directory. The installation file system must contain a directory, Stage11i, in which the downloaded files will be unzipped. The file structure under that top-level directory will be automatically created when unzipping the files.
So, all what you need to do is the following:
- Create new directory E:\Stage11i
- Place all the zip files you have downloaded under this directory
- Unizip the files within this directory
By the end, you should have a directory structure similar to the following:
E:\Stage11i\startCD
E:\Stage11i\oraDB
E:\Stage11i\oraAppDB
E:\Stage11i\oraiAS
E:\Stage11i\oraApps
E:\Stage11i\oraNLS
Run Rapid Install from the Stage11i directory.

Similar Messages

  • WINDOWS 용 SQL*NET 사용 시 TNS-12203

    제품 : SQL*NET
    작성날짜 : 2004-11-09
    WINDOWS 용 SQL*NET 사용 시 TNS-12203
    ====================================
    PURPOSE
    TNS-12203 "TNS:unable to connect to destination"은 여러가지 원인 때문에
    발생할 수 있습니다. 여기서는 가장 일반적인 몇 가지 원인을 설명합니다.
    1. WINDOWS 용 TCP/IP 어댑터를 설치하지 않은 상태에서 연결하려 하면 TNS-
    12203이 발생할 수 있습니다. SQL*NET TCP/IP V2는 SQL*NET V2와 V2 TCP/IP
    어댑터 등 두가지 제품으로 구성됩니다. 이들은 별도의 두 키트로 되어 있는데,
    반드시 두 키트를 모두 설치해야 합니다.
    2. TNS-12203 에러는 WINDOWS 용 ORACLE SQL*NET소프트웨어가 ORACLE HOME
    디렉토리를 찾을 수 없다는 의미일 수 있습니다. 이 문제를 해결하려면, 먼저
    WIN.INI 화일의 ORACLE 부분에 다음 항목이 있는지 확인하십시오.
    [ORACLE]
    ORA_CONFIG=C:\WINDOWS\ORACLE.INI
    WINDOWS디렉토리가 C:\WINDOWS가 아니면, 위 행의 C:\WINDOWS 부분을 그
    이름으로 바꾸십시오. 그런 다음, ORACLE 소프트웨어를 다시 설치하십시오.
    ORACLE.INI 화일이 있으면 그 ORACLE.INI 화일에 다음 행이 있는지
    확인하십시오.
    ORACLE_HOME=C:\ORAWIN
    ORACLE 홈 디렉토리가 C:\ORAWIN이 아니면 위 행의 C:\ORAWIN 부분을 그
    이름으로 바꾸십시오.
    3. TNSNAMES.ORA가 ORACLE 홈 디렉토리 아래의 NETWORK\ADMIN에 있는지
    확인하십시요. ORACLE 홈 디렉토리는 ORACLE.INI(또는 WIN.INI의
    ORA_CONFIG 매개변수가 지시하는 파일)의 ORACLE_HOME 에 의해 정의됩니다.
    4. 서버 쪽에서 실행 중인 SQL*NET V2 TCP/IP Listener가 없어도 TNS-12203이
    발생할 수 있습니다. 서버 쪽에서 실행 중인 SQL*NET V2가 있는지 확인하십시오.
    서버 쪽에서 Listener Control 유틸리티(LSNRCTL)를 사용하면 서버의 V2
    Listener가 실행 중인지 확인할 수 있습니다. 서버에서 "LSNRCTL STATUS"
    명령을 실행하십시오. Listener Control 유틸리티에 대해서는 SQL*NET
    Administrator's Guide를 참조하십시오.
    5. 연결할 SERVICES 이름에 대해 CONNECT DESCRIPTOR에 정확한 ADDRESS
    매개 변수를 지정했는지 확인하십시오. 정확한 ADDRESS 매개변수를 사용 중인지
    확인하는 방법은, WINDOWS 클라이언트에서 사용 할 것과 같은 ADDRESS 매개
    변수를 가진 TNSNAMES.ORA를 사용하여 서버에서 루프백을 해 보는 것입니다.
    루프백을 수행한다는 것은 데이타베이스와 같은 기계에서 SQL*DBA 등을
    호출하고 연결 스트링을 지정함으로써 SQL*NET V2를 통해 연결한다는 뜻입니다.
    6. JSB VSL 소켓이 초기화되지 않으면 TNS-12203이 발생할 수 있습니다. 이
    문제를 해결하려면 다음 사항을 점검하여 JSB VSL 레이어가 정확하게
    초기화되었는 지 확인하십시요.
    1) ORACLE.INI 파일(또는 WIN.INI의 ORA_CONFIG 매개변수가 지시하는 파일)의
    업체키 매개변수 TCP_VENDOR가 정확하게 설정되었는 지 확인하십시요
    2) ORACLE_HOME\BIN 디렉토리에 MSOCKLIB.DLL이 있는지 확인하십시요.
    3) ORACLE_HOME\BIN 디렉토리에 선택된 JSB 업체 특유의 DLL이 있는지, 또는
    그 JSB 업체 특유의 TSR 파일이 실행되는 지 확인하십시요.
    4) WINDOWS 홈 디렉토리에 VSL.INI 파일이 있는 지 확인하십시요.
    7. TNS-12203에 이어 실제 문제가 무엇인지 더 자세하게 나타내 주는
    또 다른 에러가 발생할 수 있습니다. 화면에서 다른 에러가 보이지 않으면
    ORACLE_HOME\NETWORK\LOG 디렉토리의 SQLNET.LOG 파일을 점검하십시오.

    change (Port = 1526) to 1521 and try to connect
    add the entry to tnsnames.ora file on both client and server
    ORCL =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST =192.168.25.16 )(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orcl)
    EXTPROC_CONNECTION_DATA =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
        (CONNECT_DATA =
          (SID = PLSExtProc)
          (PRESENTATION = RO)
      )Edited by: rajeysh on May 15, 2011 3:02 PM

  • WINDOWS용 SQL*NET 사용시 TNS-12533

    제품 : SQL*NET
    작성날짜 : 1995-11-10
    TNS-12533에러는 대개 TNSNAMES.ORA에서 기술자의 ADDRESS 부분에 프로토콜
    CONNECT DESCRIPTOR의 매개 변수가 틀릴 때 발생합니다. TCP/IP 어댑터의 경우,
    프로토콜 특유의 매개 변수는 다음과 같습니다.
    (ADDRESS =
    [(COMMUNITY=community_name)]
    (PROTOCOL=TCP)
    (HOST=host_name 또는 ip_address)
    (PORT=port_number)
    TCP/IP 어댑터를 사용할 때 TNSNAMES.ORA 의 완전한 구문은 다음과 같습니다.
    구문 해설
    service_name=
    (DESCRIPTION=
    (ADDRESS_LIST= ADDRESS_LIST는 생략할 수 있다.
    (ADDRESS=
    (COMMUNITY=community_name) COMMUNITY는 생략할 수 있다.
    (PROTOCOL=TCP)
    (HOST=host_name 또는 ip_address)
    (PORT=port_number)
    (CONNECT_DATA=
    (SID=sid)
    TNSNAMES.ORA에 정의된 서버에 연결하려면, 연결중인 응용 프로그램의 Log On
    dialog box에서 호스트 스트링 필드에 연결 스트링 "TNS:service_name"을
    지정하십시요. 또한 WINDOWS\WIN.INI의 ORA_CONFIG가 지시하는 파일에 LOCAL
    매개 변수를 지정하여 기본 데이타베이스를 정의하는 것이 좋습니다.
    ORA_CONFIG는 대개 WINDOWS\ORACLE.INI를 지시합니다.
    ORACLE.INI에서 "LOCAL=TNS:service_name"행을 추가할 수 있습니다. 그 후,
    연결을 할 때는 호스트 스트링 필드를 비워 둘 수 있습니다.

  • WINDOWS 용 SQL*NET 를 사용 시 ORA-3121

    제품 : SQL*NET
    작성날짜 : 1995-11-06
    다음은 ORA-3121을 해결하기 위해 단계별 조치방법을 설명하겠습니다.
    ==========================
    SQL*NET V2 에서의 ORA-3121
    ==========================
    1) SQL*NET V2를 통해 연결하려 할 때 Connect String에 'tns:' prefix를 사용
    하지 않으면 ORA-3121이 나오는 경우가 있습니다.
    예를 들어서 tnsnames.ora 에 등록된 service name이 TORA라고 가정한다면
    Connect String을
         tns:TORA
    와 같이 지정하면 됩니다.
    Powerbuilder의 경우에는
         @TORA 또는 @tns:TORA
    로 주게 됩니다.
    2) PC에 SQL*NET V2가 install이 안 되어 있는 경우에 Connect String을 TORA와
    같이 SQL*NET V2 형식으로 주게되면 ORA-3121이 발생합니다.
    ORACLE Installer를 실행하여 현재 인스톨 되어 있는 목록을 확인하여 SQL*NET
    V2와 TCP/IP ADAPTER가 인스톨이 되어 있는지 확인합니다.
    3) 만약 NETTEST나 TNSPING, SQLPLUS에서는 접속이 되는데 POWER BUILDER와 같은
    3rd Party Tool에서 접속이 되지 않고 ORA-3121이 발생하면 이 때에는
         C:\ORAWIN\BIN 또는 C:\ORAWIN95\BIN
    디렉토리가 PATH에 설정이 되어 있지 않은 경우입니다.
    PATH를 확인하시기 바랍니다.
    4) 3rd PARTY TOOL로 개발된 16BIT APPLICATION 이라면 AUTOEXEC.BAT 화일에
    다음을 추가하고 PC를 REBOOTING 합니다.
    SET CONFIG=C:\WINDOWS\ORACLE.INI
    =========================
    SQL*NET V1에서의 ORA-3121
    =========================
    1. Windows에서 나와서 DOS 프롬프트로 가십시요.
    2. DOS 프롬프트에서 PATH를 입력하고 <RETURN>을 누르십시요.
    현재 경로에 있는 모든 드라이브를 적어 두십시요. (C:, D:)
    3. 2에서 적은 DOS 경로의 모든 드라이브에서 ORA6WIN.DLL 이라는 화일을 찾으시
    기 바랍니다.
    (Norton에서 FILEFIND 유틸리티를 사용하거나 DOS 5.0 이상의 경우 Root 디렉토
    리에서 간단하게 DIR ORA6WIN.DLL/S를 실행하는 것이 좋은 방법입니다.
    Windows 파일 관리자의 파일 찾기 유틸리티를 사용할 수도 있습니다.)
    ORA6WIN.DLL이 여러 개이면 한 가지만 제외하고 모든 복사본의 이름을 바꾸십
    시요.
    (ORA6WIN.DLL같은 것으로). 한 가지 예외는 4/13/92(285573 byte)
    또는 10/15/92(380639 bytes)라고 적힌 ORA6WIN.DLL은 복사본입니다.
    이들 두 버전의 ORA6WIUN.DLL은 Oracle Corporation이 적접 배포한 것입니다.
    10/15/92이후 날짜로 되어있고 380639 바이트보다 큰 파일을 가지고 있다면 그
    것을 사용해도 좋습니다.
    ( 이들 날짜의 ORA6WIN.DLL 복사본이 없으면 제3자 응용 프로그램 업체에 연락해
    서 이 파일의 복사본을 구하십시요. 디스크 레이블이 "Windows Required
    Support Files Version 6.0xx.x.x"인 Oracle 제품이라면, 틀림없이
    ORA6WIN.DLL의 최신 복사본이 있을 것입니다.)
    4. ORA6WIN.DLL이 있는 디렉토리를 적어 두십시요.
    5. 현재 경로에 앞서 말한 디렉토리가 있는지 확인하십시요.
    DOS Prompt에서 PATH를 입력하고 <RETURN>을 누르면 됩니다.
    6. 현재 경로에 ORAWIN\BIN 디렉토리가 있는지 확인하십시요. (또는 Windows용
    SQL*NET이 설치된 곳, 잘 모르겠으면 ORACLE_HOME\BIN 디렉토리를 보십시요.
    ORACLE.INI 파일에 ORACLE_HOME이 정의되어 있습니다.)
    또한 ORACLE_HOME\BIN 디렉토리에 SQL*NET DLL이 있는지 확인하십시요.
    (예를 들어, Windows용 SQL*NET SPX의 경우는 SQLSPX.DLL과 SQLSPX1.DLL,
    WINDOWS용 SQL*NET TCP/IP의 경우는 SQLTCP.DLL과 SQLTCP1.DLL).
    ORACLE_HOME\BIN디렉토리에 ORA7WIN.DLL이 있는 지도 확인해야 합니다.
    7. WINDOWS 디렉토리의 win.ini 파일을 편집하십시요.
    다음과 같은 ORACLE이라는 그룹을 반드시 넣어야 합니다.
    [Oracle]
    ORA_CONFIG=C:\WINDOWS\ORACLE.INI
    8. A) DOS 프롬프트에서 SET을 다시 입력하고 <RETURN>을 누르십시요.
    CONFIG라는 DOS환경 변수가 CONFIG.ORA 라는 파일에 인쇄하도록 설정되어 있는지
    점검하십시요.
    CONFIG 환경 변수는 다음과 같아야 합니다.
    <server : DOS, unix, tool : DOS>
    CONFIG=C:\ORACLE6\CONFIG.ORA
    B) 환경 변수에 CONFIG 변수가 설정되어 있지 않으면 AUTOEXEC.BAT 파일에
    다음 명령문을 추가하고 나서 다시 부팅하십시요.
    <server : unix, tool : windows>
    SET CONFIG=C:\WINDOWS\ORACLE.INI
    (Windows 디렉토리에 해당 경로에 넣으십시요)
    CONFIG가 설정되지 않아서 8B) 단계를 수행했으면 9단계는 무시하십시요.
    9. CONFIG.ORA와 ORACLE.INI FILE의 다음 매개변수를 일치 시키십시요.
    (이들 파일의 위치에 대해서는 8단계를 참조하십시요.)
    이들 매개변수 중에는 두 파일에 없는 것도 있습니다. 이들 매개 변수가 CONFIG.ORA나 ORACLE.INI에 있으면 정확히 일치하게 하십시요. 이들 매개변수 중
    에 두 파일 중 어디에도 없는 것이 있다면, 그것을 추가하지 마십시요.
    또한 이들 매개변수 중에 불필요한 것이 있을 수도 있지만, 그것을 CONFIG.
    ORA와 ORACLE.INI에 모두 추가해도 전혀 문제는 없습니다.
    매개변수 목록 :
    WIN_LOCAL_SESSIONS
    WIN_REMOTE_SESSIONS
    LOCAL
    REMOTE
    INTERRUPT
    XMMITR
    TCP_HOSTS_FILE
    TCP_SERVICES_FILE
    SQLNET DBNAME
    10. 지금 WINDOWS를 시작한 다음, 프로그램 관리자의 도움말(HELP)을 클릭하고
    ABOUT PROGRAM MANAGER를 클릭하여 WINDOWS가 enhanced mode인지 확인해 보시
    기 바랍니다.
    WINDOWS용 SQL*NET은 표준 모드로 작동하지 않습니다.
    11. 로그인 화면에 Connect String을 명시적으로 제공한 경우에는 Connect
    String 앞에 '@'를 지정하지 마십시요.
    다음 예와 같이 그냥 Connect String만을 입력하십시요.
    t:orasrv:orasid 혹은 x:orasrv
    12. ORACLE.INI와 CONFIG.ORA에 LOCAL 매개 변수가 있으면, 로그인 화면에서
    Connect String을 지정하지 않고 Connect String field를 비워둘 수 있습니다.
    LOCAL=t:orasrv:orasid
    (Note): Oracle Corporation은 사용자의 \ORAWIN\BIN 디렉토리에 설치되는
    NETTEST.EXE라는 WINDOWS 시험 프로그램을 배포합니다. 이 프로그램을 사용하면
    Remote ORACLE 서버에 대한 연결을 시험할 수 있습니다. 이 프로그램은 연결되지
    만 제3자 툴이 연결되지 않으면 해당 툴 업체에 문의하십시요.

    The last 16-bit ODBC driver was an Oracle7 driver. I don't believe it's certified for use with an 8i database.
    Justin

  • WINDOWS 용 SQL*NET V1 사용 시 ORA-6136 조치 방법

    제품 : SQL*NET
    작성날짜 : 1995-11-07
    WINDOWS 용 SQL*NET V1 사용 시 ORA-6136 조치 방법
    ===============================================
    Client and Server 환경에서 간혹 SQL*NET으로 Server에 접속하려고 할 때,
    ORA-6136 Error가 발생하면서 Unix Server에서 $tcpctl stop 으로 orasrv의
    Process를 정지시키려고 해도 아무런 반응없이 Holding되는 경우가 발생하면서
    다음과 같은 메서지가 나타납니다.
    06136, 00000, "NETTCP: error during connection handshake"
    // *Cause:  Network I/O failure occurred while communicating with the
    // host's SQL*Net TCP/IP server.
    //     See the SQL*Net TCP/IP server log file for more details.
    // *Action: Contact your customer support representative.
    상기의 에러가 나타날 경우에는 아래와 같은 방법으로 orasrv를 기동시키십시오.
    1. TCPCTL Utility를 이용하여 다음의 Option을 부여하여 Start하는 방법.
    $tcpctl start listen=30 timeout=30 forkon
    listen=<queue size>이며, 청취자 열의 크기를 지정.
    timeout=<seconds>이며, 지정된 시간에 orasrv와의 응답 확인 시간을 나타냄.
    forkon SQL*net이 orasrv process에 접근하는 방법을 나타냄.
    System에 따라서 forkon option이 적용 않되는 경우도 있음.
    2. Client에서 접속을 하여 사용하다가 비정상 종료(Session이 맺어진 상태에서
    Client의 Power Off)를 하여 Server에 Processor가 남아 있고, orasrv를 통해
    접속할 수 있는 Session의 수가 점점 줄어들 경우가 있는 데 이러한 경우에는
    orasrv를(tcpctl stop or UNIX kill command를 이용)강제로 종료하시고 다음과
    같이 Start 시켜 주십시오.
    #nohup tcpctl start ( Client의 비정상 종료가 Orasrv에는 영향을 미치지 않음)
    또는
    #orasrv (ORACLE_HOME\bin directory에서 직접 orasrv processor를 띄운다)

  • WINDOWS 용 SQL*NET 사용 시 ORA-6122

    제품 : SQL*NET
    작성날짜 : 1995-11-10
    WINDOWS 용 SQL*NET 사용 시 ORA-6122
    ===================================
    ORA-6122 "NETTCP: setup failure"는 SQL*NET 구성이 적절하게 설정되지 않은
    상태에서 WINDOWS 용 SQL*NET TCP/IP를 가지고 연결하려 할 때 발생합니다.
    구성을 점검하여 다음 사항을 제대로 설정했는지 확인하십시오.
    1. WINDOWS\WIN.INI를 조사해 보십시오. ORA_CONFIG 매개 변수를 정의하는
    ORACLE 부분이 있어야 합니다.
    [Oracle]
    ORA_CONFIG=C:\WINDOWS\ORACLE.INI
    2. ORACLE.INI(또는 ORA_CONFIG 매개변수가 지시하는 파일)을 보십시오.
    ORACLE_HOME이 WINDOWS용 SQL*NET TCP/IP와 다른 Oracle Windows 응용 프로
    그램이 설치된 디렉토리를 지시하는지 확인하십시오.
    디폴트는 다음과 같습니다.
    ORACLE_HOME=\ORAWIN
    3. 또한 ORACLE.INI에 TCP_VENDOR를 정확하게 설정했는지도 확인하십시오.
    유효한 업체 키 목록은 WINDOWS용 SQL*NET TCP/IP 설정의 표 3-4 '업체키'를
    참조하십시요.
    4. 경로에 C:\ORAWIN\BIN(또한 ORACLE_HOME을 설정한 BIN 디렉토리)이 있는지
    확인하십시오.
    DOS 프롬프트에서 SET을 입력하고 <return>을 누르면 됩니다.
    이 명령은 경로를 보여줍니다.
    5. ORAWIN\BIN 디렉토리에 SQLTCP.DLL과 SQLTCP1.DLL이 모두 있는지 확인하십시오.
    6. 경로의 다른 어떤 디렉토리에도 SQLTCP.DLL이 없는 것을 확인하십시오.
    7. ORAWIN\BIN 디렉토리와 경로의 다른 디렉토리에 MSOCKLIB.DLL이 있는지
    확인하십시오.
    또한 파일의 두 복사본을 가지고 있지 않도록 하십시오.
    복사본이 둘일 경우, 이전 복사본의 이름을 바꾸면 문제가 줄어들 수 있습니다.
    8. WINDOWS 디렉토리에 VSL.INI 파일이 있는지 확인하십시오.
    만약 없으면 ORACLE INSTALLER를 통해 SQL*NET를 다시 입력하십시오.

  • WINDOWS용 SQL*NET 사용시 ORA-6106

    제품 : SQL*NET
    작성날짜 : 1995-11-08
    다음은 먼저 WINDOWS용 SQL*NET TCP/IP와 ORA-6106을 간단하게 소개한 다음 ORA
    -6106을 진단하는 방법을 설명하겠습니다.
    * WINDOWS용 SQL*NET TCP/IP
    WIN V1.X용 SQL*NET TCP/IP는 현재로서는 SQLTCP.DLL과 SQLTCP1.DLL 등 두개
    의 DLL이 한 세트로 되어 있습니다. 이들 DLL은 ORACLE용 연결 스트링이 TCP/IP
    프로토콜 스트링으로 변환되면 OCI DLL에 의해 작업 진행중에 올려집니다.
    ORACLE INTERFACE DLL은 SQLTCP.DLL을 먼저 올리려고 합니다. 이것이 실패하면
    DOS TSR 버전의 드라이버를 찾습니다. 두 가지 모두 실패하면 ORA-3121
    메세지가 나옵니다.
    1. SQL*NET DLL은 올려지자마자 MSOCKLIB.DLL(ORACLE에서 제공됨)이 올려집니다.
    이 DLL은 ORACLE.INI로부터 TCP_VENDOR 스트링으로 전달받습니다ㅏ. 그 후, 이
    MSOCKLIB.DLL은 TCP_VENDOR 스트링을 사용하여 항상 WINDOWS 디렉토리에 있는
    VSL.INI라는 파일을 엽니다. VSL 파일은 JSB 호출을 각 업체 고유의 API에
    대응시킵니다. VSL.INI가 없으면 MSOCKLIB.DLL이 초기화에 실패하여 ORA-6120
    "NETTCP : network driver not loaded" 메세지가 나오게 됩니다. 이것은 고객이
    다른 기계에서 SQL*NET DLL을 복사하거나 XCOPY 명령으로 ORAWIN 디렉토리
    전체를 복사하기만 하고 이 VSL.INI 파일을 복사하지 않을 때 자주 발생합니다.
    2. VSL.INI가 있다 하더라도 TCP_VENDOR 매개 변수에 ORA-6120 또는 ORA-6106
    "NETTCP : socket creation failure"를 유발할 수 있는 오류가 적지 않습니다.
    3. 이 문제의 다른 원인은 MSOCKLIB.DLL이 대응을 제대로 결정할 수 있지만
    MSOCKLIB.DLL API를 해당 업체의 TRANSPORT 인터페이스 또는 API에 결합하도록
    글루(glue)에 지시할 수 없는 것입니다. 이 글루는 SQL*NET TCP/IP를 설치할 때
    선택하는 TCP/IP 업체에 따라 DLL 또는 TSR일 수 있습니다. 예를 들면, WINDOWS
    로 들어가기 전에 글루 DLL이 실패할 수도 있고 (이를테면 MNOVLWP.DLL) 벤더
    고유의 TSR(예를 들면 MFTP.EXE)이 올려지지 않았을 수도 있습니다. 이 글루를
    구성하는 DLL과 TSR의 목록은 다음과 같습니다.
    . m3open.dll : 3Com 3+Open v2.0
    . mhparpa.dll : HP ARPA v2.0 & v2.1 그리고 Micorsoft TCP V1.0
    (LAN Manager v2.2의 번들)
    . mnovlwp.dll : Novell LAN WorkPlace v4.0, v4.01, & v4.1
    . mpcnfs4.dll : Sun PC-NFS v4.0a
    . mpathsay.dll : Wollongong Runtime TCP v1.1 & v1.2
    . mwinsock.dll : VSL 일반형 windows sockets DLL 버전 1.1
    . Frontier Technology Super - TCP v3.0
    . NetManage Chameleon TCP v3.1과 v3.22
    . FTP PCTCP v2.2 - Winsock Interface
    (1993년 5월 4일자 WINSOCK.DLL)
    . SUN PC/NFS 5.0 - Winsock Interface
    (1993년 3월 2일자 WINSOCK.DLL)
    . DOS용 IBM TCP v2.1.0.2
    (1993년 3월 30일자 WINSOCK.DLL)
    . m3open.exe : 3Com 3+Open v1.1 & v1.2 및 DOS용 Digital
    Pathworks(TCP/IP) v4.1
    . mb2.exe : Beame 및 Whiteside TCP/IP v3.0
    . mftp.exe : FTP PC/TCP v2.1 부터 v2.2까지
    . mpcnfs.exe : Sun PC-NFS v3.0
    . mpcnfs2.exe : Sun PC-NFS v3.5
    | Oracle Win App |
    |
    | (연결)
    |
    | OCI 레이어 : |
    | ORA6WIN.DLL 또는|
    | ORA7WIN.DLL |
    |
    | (진행중에 올려지며 진입점을 갖게 됨)
    | (여기서 ORA-3121이 발생할 수 있음)
    |
    --------------------- (DLL의 초기화 -- Windows가 인핸스드 모드에
    | SQLTCP1.DLL | 있지 않으면 실패함.
    --------------------- -- ORA-3121이 발생)
    | |
    | (연결) |-----------------| (연결)
    | |
    |ORA7WIN.DLL -- | |MSOCKLIB.DLL -- |
    | SQL*NET에서 일부 | | 모든 TCP/IP API의 |
    | 찾아보기 루틴을 | | 진입됨 |
    | 위해 사용됨 | ----------------------
    -------------------- | |
    | | |
    | (연결) | |
    | | |
    | COREWIN.DLL | VSL.INI와 TCP_VENDOR를 사용하여 업체 특유의
    -------------------- 인터페이스(예를 들면, MONVLWP.DLL)을 올리거나
    인터페이스 TSR(예를 들면, MFTP.EXE)에 접속함.
    여기서 ORA-3120 또는 ORA-6106이 발생할 수 있음.
    4. 지원되는 TCP/IP 패키지 또는 버전을 설치하지 않은 것도 ORA-6106의 원인이
    될 수 있습니다. 예를 들어서 TCP_VENDOR=PCNFS4를 가지고 있는 데 Sun PC-NFS
    v4.0를 실행하면, TCP_VENDOR=PCNFS4 를 실행할 때 반드시 사용해야 하는
    버전인 Sun PC_NFS v4.0a를 올리자 않았기 때문에 ora-6106이 발생할 수
    있습니다. 우리는 SUN PC-NFS v4.0을 지원하지 않습니다. 지원되는 버전과
    지원되는 TCP/IP 제품을 사용중인지 확인하십시요. (3단계 참조)
    5. 지원되는 TCP/IP패키지와 버전을 설치 했더라도 TCP/IP 패키지에 필요한 실행
    파일을 모두 설치하지 않았으면 ORA-6106이 발생할 수 있습니다. 예를 들어,
    RTM과 RNMFILE(또는 NIS를 사용할 경우 RNMNIS)를 올리지 않았다면 PC-NFS를
    사용할 때 ORA-6106이 발생할 수 있습니다. Microsoft TCP를 사용할 경우에는
    반드시 SOCKETS.EXE를 올려야 합니다.
    6. 또한 CONFIG.SYS의 FILES와 BUFFERS를 충분히 높게 설정하지 않으면
    ORA-6106이 발생할 수 있습니다. 다음은 이들 매개변수의 최소 요구사항입니다.
    BUFFERS = 16
    FILES = 60
    7. ORA-6106의 또 다른 원인은 실제 메모리의부족입니다.
    * ORA-6106을 진단하는 단계
    1. TCP/IP 업체의 PING과 TELNET이 잘 작동하는 지 점검하십시요. 이들
    유틸리티의 GUI 버전이 도움이 될수 있습니다. 이들 유틸리티가 작동하지
    않으면 TCP/IP 설치 책자를 참조하거나 TCP/IP 업체에 연락하십시요.
    2. 이들 유틸리티가 작동하지 않으면 WINDOWS 디렉토리에 VSL.INI 파일이 있는
    지 점검 하십시요. 만약, 없으면 WINDOWS용 SQL*NET TCP/IP를 다시 설치하거나
    다른 곳에서 복사해 오십시요.
    3. WINDOWS 디렉토리에 VSL.INI가 있으면 TCP/IP 업체를 바르게 선택을 하면서
    TCP/IP를 설치 했는지 점검 하십시요.
    4. 제대로 설치했으면 ORACLE.INI의 TCP_VENDOR 매개 변수를 읽어 보십시요.
    TCP_VENDOR의 값에 정확한 TCP/IP 패키지와 버전을 사용중인지 확인하십시요.
    그런다음 VSL.INI로 가서 그 TCP_VENDOR의 프로파일을 살펴 보십시요.
    프로파일의 "netmodule"은 무엇입니까? "netinterface"가 DLL이라면. 그 DLL을
    찾을 수 있습니까? 필요할 때 WINDOWS가 DOS PATH를 통해 그 DLL을 올릴 수
    있습니까? "netinterface"가 TSR이라면 WINDOWS로 들어가기 전에 반드시 그
    TSR을 실제로 올리십시요.
    5. CONFIG.SYS의 FILES와 BUFFERS를 충분히 높게 설정했는 지 확인 하십시요.
    다음은 이들 두 매개변수의 최소 요구사항입니다.
    BUFFERS = 16
    FILES = 60
    6. 앞서 말한 단계를 다 수행했는데도 여전히 ORA-6106이 발생하면 기본
    메모리의 일부를 해제해 (불필요한 TSR을 내리거나 일부 TSR을 상위 메모리로
    올려서) 보십시요.
    7. Micorsoft TCP/IP를 사용 한다면 TCPUTILS.INI의 SCOKETS값을 점검하십시요.
    값이 너무 낮으면 올리십시요. 또한 SOCKETS.EXE를 호출했는 지도
    확인하십시요.
    8. WINDOWS를 통해 SUN PC-NFS V5를 사용할 때 문제점이 생길 때가 있습니다.
    그러한 경우에는 SQL*NET TCP/IP를 다시 설치하고, SUN PC-NFS V4.0a(V5가
    아니라)를 업체로 선택해 보십시요. 이 때 RTM과 RNMFILE(또는 NIS를 사용할
    경우 RNMNIS)을 반드시 올려야 합니다.

  • SQL*NET V1 사용 시 ORA-6107 조치 방법

    제품 : SQL*NET
    작성날짜 : 2005-11-06
    * Windows용 SQL*NET TCP/IP Ver 1.X는 SQLTCP.DLL과 SQLTCP1.DLL 두 개의
    DLL이 하나로 구성되어 있다. 이들 DLL은 ORACLE용 연결 스트링이 TCP/IP
    프로토콜 스트링으로 확인되면 작업진행중에 OCI DLL에 의해 올려진다.
    ORACLE Interface DLL은 SQLTCP.DLL을 먼저 올리려고 한다. 이것이 실패하면
    DOS TSR 버전의 드라이버를 찾는다. 두 가지 모두 실패하면 ORA-3121
    메세지가 나온다.
    1. SQL*NET TCP/IP DLL이 올려지고 초기화가 되는 즉시 Logon 시도를 시작한다.
    2. 이때 모든 것이 정상적이라면 logon시 제공된 연결 스트링내의 I.P
    Address대신 Hostname을 사용하여 해결해 본다. 이러한 과정이 정상적이라면
    클라이언트측의 통신관련 디렉토리에 있는 Services 화일에 Oracle Service's
    Portnumber를 제대로 부여한 것이며 SQL*NET TCP/IP DLL이 ORACLE.INI ( 또는
    WIN.INI의 [Oracle] session의 ORA_CONFIG=<path>\ORACLE.INI에 기술된 내용)
    내에 기술된 TCP_SERVICES_FILE = <network protocol path> \services 을
    사용한다는 것이다.
    ORACLE Service를 받는 Part Number SERVICES files내에 "orasrv" 라고
    기술된다. SERVICES File의 예를 보면 하단과 같다.
    # This list has been derived from RFC1060
    # TCP Ports
    # Service Name Port/Protocol Aliases
    echo 7/tcp
    discard 9/tcp sink null
    systat 11/tcp users
    listener 1521/tcp oracle ? SQL*NET V2 인 경우
    orasrv 1525/tcp oracle ? SQL*NET V1 인 경우
    3. 만일 TCP_SERVICES_FILE에 SERVICES화일이 구성되어있지 않았다면
    "orasrv"의 접속이 실패된다. 만일 SERVICES File Name이 제대로 구성되어
    있다면 file내에 표현되어 있는 "orasrv" 항목을 점검한다. SERVICES File
    내의 각 항목 끝에 <CARRIAGE RETURN> 이 없을 경우나 "orasrv" line 상에
    <TAB>이 있을 경우에도 이러한 메세지를 수반한다.
    * ORA-6107을 진단하는 방법
    1. ORA-6107의 경우 ORACLE.INI내의 TCP_SERVICES_FILE이 무엇인지 (또는
    WIN.INI내의 [ORACLE] Section에 ORA_CONFIG가 무엇인지)를 점검한다.
    - ORACLE.INI의 경우
    TCP_SERVICES_FILE=<path>\SERVICES
    - WIN.INI의 경우
    ORA_CONFIG=c:\windows\oracle.ini
    - 만약 설정이 되어 있지 않았다면 Client상에서 사용하고 있는 특정 TCP/IP
    Vendor에서 사용하고 있는 SERVICES 화일을 찾고 그 화일내에 Parameter를
    설정한다.
    2. 만일 TCP_SERVICES_FILE에 설정되어 있는 SERVICES 화일의 위치가 맞는다면
    화일내에 "orasrv" 항목을 점검하여 본다. 화일내에 <TABS>를 확인해 본다.
    화일내의 각 항목 끝에 <Carrige Return>이 있는지 확인한다.
    3. 만일 이 모든 것이 정상적이라면 새로운 SERVICES 화일내에 "orasrv" 항목을
    추가한다.
    4. 만약 SERVICES 파일의 도움없이 개발 응용프로그램에서 직접 접속을 시도할
    경우에는 명시적으로 다음과 같이 Connect String에서 Port Number을 사용하여
    접속할 수 있다.
    "t:<server name or ip address>/<port number>:<instance name>"
    [주의] instance name = ORACLE SID
    5. tcp_services_files=%drive1%\path%\services
    [주의 1] ORACLE TCP/IP Listener의 기본 시작포트 번호는 십진수 1525 이다.
    SERVICES 파일은 대부분의 장비에 /etc 디렉토리안에 있으며 또한, "tcpctl"
    Utility를 사용하여 UNIX 장비상의 ORACLE orasrv 를 Start 시키고 Stop할
    수 있다. Orasrv 를 정지하려면 "tcpctl stop"을 사용하고 다시 시작하려면
    "tcpctl start"를 사용한다.
    BUG 1 : 다음과 같은 경우에도 에러가 발생할 수가 있다.
    orasrv 1525/tcp<CR>
    위와 같이 기술되었을 경우 다음과 같이 하게되면 ora-6107 error 없이 접속이
    가능하다. 즉, orasrv항목에서 <CR>전에 공란이 있을 경우에 에러없이
    접속할수 있다.
    orasrv 1525/tcp <CR>
    * 이 버그는 v1.1.7.10.1 이후 버젼에서는 수정되었다.
    BUG 2 : 동일한 응용 프로그램에서 동일한 Connect String으로 접속을
    시도하였을 때 에러가 발생한다면 다음과 같이 Connect String에 Port
    Number를 사용한다.
    t:<host name>/<port number>:<oracle_SID>
    * 이 버그는 v1.1.7.9 이후 버젼에서는 수정되었다.

  • Oracle12c SQL*NET blocked by Windows 2008 firewall - what is the correct solution?

    Hello,
    I have a question with regards to the SQL*NET traffic being blocked by the Windows 2008 firewall. This document shows that disabling the firewall can resolve the problem:
    https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=166773506396122&id=1472931.1&displayIndex=13&_afrWindowMode=0&_adf.ctrl-state=o4dq0hlih_112
    Is this really the solution?
    From what I understand from other documents is that just enabling port 1521 will not resolve any issues, as SQL*NET can use redirection to other random ports. That is probably the reason why the Oracle installation does not alter any firewall settings.
    What other methods do people use to connect a client to a DB server?
    This document shows what other methods to use, but who uses them?
    https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=166043735580557&id=68652.1&_afrWindowMode=0&_adf.ctrl-state=o4dq0hlih_78
    Does anyone use the Oracle Connection Manager for example?
    Thanks
    Richard

    I configure firewall to allow DB Server to start new network connections

  • Oracle SQL*Net and TNS Protocol

    I need to get technical documents on Oracle SQL*Net and TNS Proticol, down to the bit-level definition. I have talked to serveral people in Oracle Documentation, Sales and Tech Support, but no one could give me any clue so far. Any one can help me on this?

    SQL*Net is installed by default with SQL*Plus and any of the clients (OEM uses the JDBC OCI driver and some native connectivity).
    It is likely that the version of the client you have installed is not one that TOAD can work with or it can't find the client (is the Oracle home/bin directory in the path?)

  • TNS: connection closed error with SQL*net

    Hi all,
    I've got a new installation of Oracle 11.1.0.6.0 enterprise (Linux). It works fine with direct sqlplus connections but I'm having problems with SQL*net and JDBC thin client connections.
    The database is built correctly and works fine:
    user@cthulhu bash[61]: sqlplus user/pwd
    SQL*Plus: Release 11.1.0.6.0 - Production on Mon Aug 4 12:59:53 2008
    Copyright (c) 1982, 2007, Oracle. All rights reserved.
    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
    SQL> select * from v$version;
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
    PL/SQL Release 11.1.0.6.0 - Production
    CORE 11.1.0.6.0 Production
    TNS for Linux: Version 11.1.0.6.0 - Production
    NLSRTL Version 11.1.0.6.0 - Production
    SQL>
    but if I try to connect using SQL*net I get errors. I have my TNS listener configured and it starts without errors, reporting the database as a service, and tnsping is fine:
    user@cthulhu bash[62]: tnsping cthulhu_mar
    TNS Ping Utility for Linux: Version 11.1.0.6.0 - Production on 04-AUG-2008 13:02:07
    Copyright (c) 1997, 2007, Oracle. All rights reserved.
    Used parameter files:
    Used TNSNAMES adapter to resolve the alias
    Attempting to contact (DESCRIPTION= (ADDRESS=(PROTOCOL=TCP)(HOST=192.168.2.30)(PORT=1521)) (CONNECT_DATA=(SID=mar)))
    OK (10 msec)
    user@cthulhu bash[63]: sqlplus user/pwd@cthulhu_mar
    SQL*Plus: Release 11.1.0.6.0 - Production on Mon Aug 4 13:02:41 2008
    Copyright (c) 1982, 2007, Oracle. All rights reserved.
    ERROR:
    ORA-12537: TNS:connection closed
    Enter user-name:
    In listener.log:
    Mon Aug 04 13:02:41 2008
    04-AUG-2008 13:02:41 * (CONNECT_DATA=(SID=mar)(CID=(PROGRAM=sqlplus)(HOST=cthulhu)(USER=marbur))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.2.30)(PORT=41754)) * establish * mar * 12518
    TNS-12518: TNS:listener could not hand off client connection
    TNS-12547: TNS:lost contact
    TNS-12560: TNS:protocol adapter error
    TNS-00517: Lost contact
    Linux Error: 32: Broken pipe
    This is a new instance of Oracle so there is no problem with listener.log being too large (as I've seen elsewhere). I've also tried increasing PROCESSES and SESSIONS in the initSID.ora file without any impact. The listener ports are open through the firewall (and disabling it temporarily makes no difference).
    Any suggestions?!
    Thanks, Matt

    This means nothing to me, but it could to someone else......
    from listener trace:
    2008-08-04 16:19:05.135381 : nlpcaini:env[161] = OLDPWD=/u01/app/oracle/product/11.1.0/db_1
    2008-08-04 16:19:05.135407 : nlpcaini:env[162] = ORA_NET2_DESC=12,15
    2008-08-04 16:19:05.135432 : nlpcaini:env[163] = ORACLE_SPAWNED_PROCESS=1
    2008-08-04 16:19:05.135465 : nlpcaini:exit
    2008-08-04 16:19:05.135498 : nsc2addr:normal exit
    2008-08-04 16:19:05.135536 : nsbeqaddr:entry
    2008-08-04 16:19:05.135566 : nsbeqaddr:connecting...
    2008-08-04 16:19:05.135603 : nsopen:entry
    2008-08-04 16:19:05.135633 : nsmal:entry
    2008-08-04 16:19:05.135667 : nsmal:1012 bytes at 0x81a8538
    2008-08-04 16:19:05.135694 : nsmal:normal exit
    2008-08-04 16:19:05.135722 : nsopenmplx:entry
    2008-08-04 16:19:05.135749 : nsmal:entry
    2008-08-04 16:19:05.135779 : nsmal:2020 bytes at 0x81a8930
    2008-08-04 16:19:05.135804 : nsmal:normal exit
    2008-08-04 16:19:05.135831 : nsiorini:entry
    2008-08-04 16:19:05.135861 : nsbal:entry
    2008-08-04 16:19:05.135889 : nsbgetfl:entry
    2008-08-04 16:19:05.135918 : nsbgetfl:normal exit
    2008-08-04 16:19:05.135966 : nsmal:entry
    2008-08-04 16:19:05.135995 : nsmal:84 bytes at 0x81b3dd8
    2008-08-04 16:19:05.136020 : nsmal:normal exit
    2008-08-04 16:19:05.136057 : nsbal:normal exit
    2008-08-04 16:19:05.136085 : nsiorini:exit (0)
    2008-08-04 16:19:05.136112 : nscpxget:entry
    2008-08-04 16:19:05.136139 : nscpxget:normal exit
    2008-08-04 16:19:05.136168 : nsopenalloc_nsntx:nlhthput on mplx_ht_nsgbu:ctx=81a8538, nsntx=81a8930
    2008-08-04 16:19:05.136196 : nsopenmplx:normal exit
    2008-08-04 16:19:05.136225 : ntpcon:entry
    2008-08-04 16:19:05.136253 : ntpcon:toc = 6
    2008-08-04 16:19:05.136283 : ntpcon:exit
    2008-08-04 16:19:05.136313 : nsopen:opening transport...
    2008-08-04 16:19:05.136341 : ntpcon:entry
    2008-08-04 16:19:05.136367 : ntpcon:toc = 1
    2008-08-04 16:19:05.136404 : sntpcall:entry
    2008-08-04 16:19:05.157048 : sntpcall:detaching from parent with additional fork
    2008-08-04 16:19:05.157304 : sntpcall:hdl[IR]=17, hdl[IW]=16
    2008-08-04 16:19:05.157350 : ntpcon:exit
    2008-08-04 16:19:05.157390 : nserror:entry
    2008-08-04 16:19:05.157428 : nsoptions:entry
    2008-08-04 16:19:05.157459 : nsoptions:lcl[0]=0x0, lcl[1]=0x2006, gbl[0]=0x0, gbl[1]=0x0, cha=0x0
    2008-08-04 16:19:05.157488 : nsoptions:Vectored IO not supported.
    2008-08-04 16:19:05.157518 : nsoptions:lcl[0]=0xf4ffe9ff, lcl[1]=0x6016, gbl[0]=0xe881, gbl[1]=0x0
    2008-08-04 16:19:05.157545 : nsoptions:normal exit
    2008-08-04 16:19:05.157574 : nsnainit:entry
    2008-08-04 16:19:05.157603 : nsnainit:normal exit
    2008-08-04 16:19:05.157642 : nsopen:global context check-in (to slot 6) complete
    2008-08-04 16:19:05.157675 : nsopen:lcl[0]=0xf4ffe9ff, lcl[1]=0x6016, gbl[0]=0xe881, gbl[1]=0x0, tdu=4096, sdu=8192
    2008-08-04 16:19:05.157706 : nsfull_opn:entry
    2008-08-04 16:19:05.157735 : nsfull_opn:cid=6, opcode=65, bl=0, what=0, uflgs=0x0, cflgs=0x0
    2008-08-04 16:19:05.157761 : nsfull_opn:nsctx: state=7, flg=0x4001, mvd=0
    2008-08-04 16:19:05.157790 : nsfull_opn:normal exit
    2008-08-04 16:19:05.157816 : nsopen:normal exit
    2008-08-04 16:19:05.157854 : nsevreg:entry
    2008-08-04 16:19:05.157884 : nsevreg:begin registration process for 6
    2008-08-04 16:19:05.157912 : nsevregPrePost:entry
    2008-08-04 16:19:05.157940 : nsevregPrePost:normal exit
    2008-08-04 16:19:05.157968 : nsevreg:sgt=0, evn=1, evt[2]=0x0
    2008-08-04 16:19:05.157996 : nsevreg:begin notification process for 6
    2008-08-04 16:19:05.158022 : nsevregAffectNotif:entry
    2008-08-04 16:19:05.158050 : nsevregAffectNotif:exit (0)
    2008-08-04 16:19:05.158078 : nsevreg:rdm=0, sgt=0, evt[0]=0x800, [1]=0x800, [2]=0x0, nrg=0
    2008-08-04 16:19:05.158105 : nsevreg:registering for 0x800
    2008-08-04 16:19:05.158135 : ntpctl:entry
    2008-08-04 16:19:05.158162 : ntpctl:exit
    2008-08-04 16:19:05.158203 : nsevreg:normal exit
    2008-08-04 16:19:05.158260 : nsbeqaddr:error exit
    2008-08-04 16:19:05.158289 : nsbequeath:error exit
    2008-08-04 16:19:05.158342 : nsglhe:exit

  • Looking for SQL*Net for Windows 95

    I have Brio client installed on my laptop running Windows 98. I am looking for SQL *Net for Windows 95, to connect to an Oracle database running on Solaris.  Where can I find it.
    How do I connect? I tried MS ODBC and it did not work.
    Please help
    My email address is [email protected]
    Thanks in advance

    despite that I do not know the type of the Firewall , I was able to adjust Oracle with Microsoft ISA server as follows :
    go to oracle server on Windows 2000
    open system variables
    insert the following variable : USE_SHARED_SOCKET
    make its value : TRUE
    restart server
    this variable will make you able to share ports on windows platform ,, this is essential because Oracle servers replies back on any port randomly when trying to connect to it ,, you can track this by enabling tracing for listener.
    on firewall you will need to redirect connection received by the firewall on specific port on the firewall and NAT it to Oracle server IP/port .
    this is proven work
    on UNIX you do not need this beacsue Unix natively share ports.

  • Oracle 8.1.7 on Redhat 9: Tns Listener TNS-12545, TNS-12560, TNS-005 errors

    I have installed Oracle 8.1.7 on RH9 following Arothmel at www3.sympatico.ca/arothmel
    with success. The database is created, and oracle can be lunch without problem but "lsnrctl start" give errors:
    [oracle@padbd oracle]$ lsnrctl start
    LSNRCTL for Linux: Version 8.1.7.0.0 - Production on
    19-JUN-2006 01:09:16
    (c) Copyright 1998 Oracle Corporation. All rights reserved.
    Starting /u01/oracle/product/8.1.7/bin/tnslsnr: please wait...
    TNS-12545: Connect failed because target host or object does not exist
    TNS-12560: TNS:protocol adapter error
    TNS-00515: Connect failed because target host or object does not exist
    Linux Error: 2: No such file or directory
    [oracle@padbd oracle]$
    [oracle@padbd oracle]$ lsnrctl status listener
    LSNRCTL for Linux: Version 8.1.7.0.0 - Production on
    19-JUN-2006 00:53:07
    (c) Copyright 1998 Oracle Corporation. All rights reserved.
    Connecting to
    (DESCRIPTIonfiltered=(ADDRESS=(PROTOCOL=TCP)(HOST=padbd.softmobiles.net)(PORT=1521)))
    TNS-12541: TNS:no listener
    TNS-12560: TNS:protocol adapter error
    TNS-00511: No listener
    Linux Error: 111: Connection refused
    this is the result of ping at padbd.softmobiles.net
    [oracle@padbd oracle]$ ping padbd.softmobiles.net
    PING padbd.softmobiles.net (192.168.101.209) 56(84)
    bytes of data.
    64 bytes from padbd.softmobiles.net (192.168.101.209):
    icmp_seq=1 ttl=64 time=0.060 ms
    64 bytes from padbd.softmobiles.net (192.168.101.209):
    icmp_seq=2 ttl=64 time=0.055 ms
    64 bytes from padbd.softmobiles.net (192.168.101.209):
    icmp_seq=3 ttl=64 time=0.053 ms
    and this is the result of sqlplus system/manager
    [oracle@padbd oracle]$ sqlplus system/manager
    SQL*Plus: Release 8.1.7.0.0 - Production on Mon Jun 19 00:58:48 2006
    (c) Copyright 2000 Oracle Corporation. All rights reserved.
    Connected to: Oracle8i Enterprise Edition Release 8.1.7.0.1 - Production
    JServer Release 8.1.7.0.1 - Production
    SQL>
    And you know if I lunch "lsnrctl status" with a wrong file name then the computer waits for 3scons and displays this:
    [oracle@padbd oracle]$ lsnrctl status listene
    LSNRCTL for Linux: Version 8.1.7.0.0 - Production on
    19-JUN-2006 01:13:15
    (c) Copyright 1998 Oracle Corporation. All rights reserved.
    TNS-01101: Could not find service name listene
    NNC-00405: network failure
    [oracle@padbd oracle]$
    So I don't really know where is the problem with this TNS issue.
    I need your help.
    Thanks and Regards
    Justin
    Here are the contents of the tns file
    tnsnames.ora
    # TNSNAMES.ORA Network Configuration File: /u01/oracle/product/8.1.7/network/admin/tnsnames.ora
    # Generated by Oracle configuration tools.
    File:/u01/app/oracle/product/8.1.6/network/admin/tnsnames.ora
    # Generated by Oracle configuration tools.
    PADBD.SOFTMOBILES.NET =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)
    (HOST = padbd.softmobiles.net)(PORT = 1521))
    (CONNECT_DATA =
    (SERVICE_NAME = padbd.softmobiles.net)
    EXTPROC_CONNECTION_DATA.SOFTMOBILES.NET =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
    (CONNECT_DATA =
    (SID = PLSExtProc)
    (PRESENTATION = RO)
    BILBO.SOFTMOBILES.NET =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)
    (HOST = galadriel.softmobiles.net)(PORT = 1521))
    (CONNECT_DATA =
    (SERVICE_NAME = bilbo.softmobiles.net)
    PADBD =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.101.209)(PORT = 1521))
    (CONNECT_DATA =
    (SERVICE_NAME = padbd.softmobiles.net)
    INST1_HTTP =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.101.209)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = SHARED)
    (SERVICE_NAME = padbd.softmobiles.net)
    (PRESENTATION = http://admin)
    )

    Hi,
    a different point: make sure the (host = ) part of your ADDRESS_LIST is correct, it seems the listener tries to bind to a host/port combination that does not exist. Don't use localhost there or nobody will be able to connect to the database which is probably not what you what.
    Regards,
    Martin

  • TROUBLE SHOOTING PROBLEM ON SQL*NET, NET8.X, AND NET SERVICES

    제품 : SQL*NET
    작성날짜 : 2002-11-24
    TROUBLE SHOOTING PROBLEM ON SQL*NET, NET8.X, AND NET SERVICES
    (GENERATING TRACE FILE OF SQL*NET, NET8.X, AND NET SERVICES)
    ==========================================================
    PURPOSE
    이 글은 고객들이 Oracle Server의 Oracle Networking 제품들을 사용하다가
    Networking과 관련된 문제를 만났으나 스스로 해결할 수 없는 경우, 예를
    들어 http://metalink.oracle.com 에서 같은 case를 발견할 수 없는 경우,
    원인을 찾기 위하여 Networking 제품의 trace를 떠 보는 방법을 설명합니다.
    Explanation
    Oracle Networking 제품을 사용 중에 어떠한 문제를 겪는 경우 무엇보다도
    OS의 Networking Protocol Stack 쪽을 살펴보는 것이 선행되어야 합니다.
    일부 고객분들은 Oracle Networking 제품들이 OS의 Protocol Stack이 동작
    하는데 어떤 중대한 영향을 주는 것이 아닌가 하고 문의를 합니다만
    그러한 의문은 Oracle Networking 제품도 OS의 Protocol Stack을 사용하는
    하나의 network client라는 것을 이해함으로써 해소가 됩니다.
    Oracle Networking 제품도 OS의 Protocol Stack을 이용하는 하나의 network
    client이기 때문에 Oracle Networking 제품이 OS Protocol Stack의 동작에
    어떠한 식으로든 영향을 준다던가 하는 것은 있을 수 없기 때문입니다.
    고객의 관점에서 OS의 Protocol Stack은 정상적으로 설정이 되었다고 믿고
    있으며 기타 networking 환경을 정확히 판단할 수 없는, 예를 들어
    host설정은 잘 되어 있다고 믿고 있으나 firewall을 통해야만 하는 등의
    다소 접근하기 어려운 networking 환경에서 networking이 잘 되지 않는,
    예를 들어, Oracle Server에 연결이 잘 안되거나 연결 중 networking
    error가 발생하는 경우에는 http://metalink.oracle.com에서 같은 case를
    찾는 것이 가장 빠른 해결 방법입니다.
    그러나 드물게 http://metalink.oracle.com에서 같은 case가 나오지 않는
    경우 Oracle Networking 제품의 trace file을 떠서 원인을 찾게 됩니다.
    Oracle Networking 제품은 Oracle 7.x에서 SQL*Net, Oracle 8.x에서 Net 8.x,
    Oracle 9.x에서 Oracle Net Services라는 이름이 가지고 있으나 여기에서는
    편의상 모두 Oracle Networking 제품으로 부르도록 하겠습니다.
    아울러 여기서 언급하는 Trace File은 Oracle Server의 Trace File과
    다른 것입니다. Oracle Server의 Trace File은 database instance의 대한
    내용만을 기록하며 Oracle Networking 제품의 Trace File은 networking에
    대한 내용만을 기록합니다.
    Trace File의 작성 방법은 Oracle 7.x부터 9.x까지 같습니다.
    Solution Description
    1. Client가 되는 host에서 어떠한 문제를 경험한 경우, 간혹 문제의 발생
    빈도가 낮거나 network나 server 쪽에 이상을 느끼시면서도 문제를 확인하기
    여러운 경우가 있습니다. 이런 경우엔는 문제가 다시 발생될 때 까지
    Client에서 Client Trace File를 작성하여 보아야 합니다.
    a. prompt$ echo $TNS_ADMIN
    b. $TNS_ADMIN이 설정되어 있으면, prompt$ cd $TNS_ADMIN
    아니면, prompt$ cd $ORACLE_HOME/network/admin
    c. vi sqlnet.ora
    # 다음 line들을 추가
    TRACE_LEVEL_client=16
    TRACE_FILE_client=<filename>
    TRACE_DIRECTORY_client=<directory>
    TRACE_UNIQUE_client=TRUE
    :wq
    prompt$
    예를 들어, client가 Windows OS인 경우 다음과 같이 합니다.
    prompt> notepad sqlnet.ora
    TRACE_LEVEL_client=16
    TRACE_FILE_client=client
    TRACE_DIRECTORY_client=D:\temp
    TRACE_UNIQUE_client=TRUE
    prompt>
    d. SQL*Plus와 같은, 또는 사용하던 Client software를 계속 이용
    e. 다시 문제가 발생
    f. 작성된 trace file들의 날자를 보아 문제가 발생한 시간과
    거의 같은 시간에 작성된 file들이 있는지 확인
    prompt> dir D:\temp
    client_<PID1>.trc ...
    client_<PID2>.trc ...
    prompt>
    g. trace를 중단합니다.
    prompt$ vi sqlnet.ora
    TRACE_LEVEL_client=0
    :wq
    prompt$
    h. Trace Assistant를 이용하여 Oracle Networking 제품의 error code
    (이하 TNS error code)를 trace file에서 찾아냅니다.
    prompt$ cd <directory of TRACE_DIRECTORY_client>
    prompt$ trcasst <filename of TRACE_FILE_client>_<PID>.trc > trcasst.out
    prompt$ vi -R trcasst.out
    Trace Assistant (trcasst command)는 Oracle 8.x부터 제공되며,
    Oracle 9.x의 Trace Assistant를 사용할 것을 권합니다.
    i. oerr command로 tns error에 대한 error message를 봅니다.
    예를 들어, 흔한 경우 중에 listener가 실행 중이지 않거나 잘못된
    tnsnames.ora 설정으로 client가 listener가 service 중이지 않은
    network address로 연결을 시도하다가 TNS-12541 TNS-12560 TNS-511
    error가 차례대로 나왔다면 다음과 같이 하여 각 TNS error code에
    대한 message와 설명 및 해결방법을 볼 수 있습니다.
    prompt$ oerr tns 12541
    prompt$ oerr tns 12560
    prompt$ oerr tns 511
    j. Trace Assistant가 알려준 TNS error code를 http://metalink.oracle.com
    에서 검색하여 같은 case가 있는지 확인합니다.
    Web browser에서:
    1) Go to http://metalink.oracle.com, then login
    오른쪽 위 HTML frame에서 :
    2) "Advanced" Button을 누릅니다.
    오른쪽 아래 HTML frame에서:
    3) "Enter Keyword" text box에 tns error code를 모두 입력합니다.
    예를 들어, tns-12541 tns-12560 tns-511
    4) "Search" button을 누릅니다.
    k. http://metalink.oracle.com에서 검색이 거의 되지 않거나
    문제가 매우 이상한 경우 이 글 아래를 보시기 바랍니다.
    2. Client에서 SQL*Plus나 Oracle Client를 사용하는 다른 3rd party
    appliction은 잘 동작하나 유독 tnsping command에서 error가 나는 경우가
    드물게 있습니다. 이 때에는 tnsping command의 trace file을 작성해봅니다.
    prompt$ vi sqlnet.ora
    TNSPING_TRACE_LEVEL=16
    TNSPING_TRACE_DIRECTORY=<directory>
    :wq
    prompt$ tnsping <tns alias>
    3. Server, 즉 listener에 문제가 있다고 생각되는 경우 우선 listener의
    log file을 봅니다. listener의 log에 대해서는 bulletin.18364를
    이용합니다.
    4. listener의 trace file은 다음과 같이 설정합니다.
    listener의 trace 설정은 parameter 이름에 trace file을 작성하고자 하는
    listener의 이름이 오는 점, 설정 후 listener process를 restart해야 하는
    점 두 가지를 제외하면 나머지 절차가 앞서 설명드린 client와 같습니다.
    prompt$ vi listener.ora
    TRACE_LEVEL_<listener name>=16
    TRACE_FILE_<listener name>=<filename>
    TRACE_DIRECTORY_<listener name>=<directory>
    :wq
    prompt$ lsnrctl stop <listener name>
    prompt$ lsnrctl start <listener name>
    5. 만일 위와 같이 http://metalink.oracle.com을 검색하여도
    같은 case가 전혀 없거나 찾아낸 error message들이 원인과 관련이 없어
    보일정도로 매우 이상한 경우 다음과 같이 해봅니다.
    a. Oracle Software의 version과 OS의 version이 certification matrix에
    있는 지 확인합니다.
    Web browser에서:
    1) Go to http://metalink.oracle.com, then login
    왼쪽 menu에서 :
    2) "Certify & Availabilty" menu item을 click합니다.
    오른쪽 아래 HTML frame에서:
    3) 현재 사용중인 Product와 그 version 및 OS와 그 version을 선택하
    여 검색합니다.
    Certification Matrix는 매우 정확하게 정보를 보여주고 있습니다.
    Matrix에 없는 Oracle Product와 OS version은 certify되어 있지 않으며
    모든 Oracle 제품을 Certify되지 않은 OS version에서 사용하는 것은
    그 어떠한 이유로든 보증과 지원이 되지 않습니다.
    만일 사용중인 제품이 certify되지 않은 경우, 무조건 certify된 제품
    과 OS의 version으로 install하여 다시 시도를 해야 합니다.
    예를 들어, Windows OS의 경우 그 어떠한 Oracle 제품도 Windows Me 및
    Windows XP Home Edition에 certify되어 있지 않습니다.
    Windows 2000 Professional 이상에 Certify된 제품은 Oracle 8.1.6부터
    이며 XP Professional 이상에 Certify된 제품은 Oracle 9.0.1부터
    입니다.
    Oracle 제품은 software이기는 하나 매우 완벽한 수준의 제품이라고 할
    수 있습니다. 그러나 Oracle 제품은 하나의 OS의 process로써 실행이
    되고 시간이 지나며 많은 환경이 major upgrade가 되면서 그러한 환경
    에 따라 Oracle software도 새로운 version으로 제작이 되면서 다시
    certification이 이루어지게 됩니다.
    그렇기 때문에 고객들은 특히 다수의 client나 고가의 server를 계획하
    시는 고객들은 저희 certification matrix를 사전에 철저히 확인하셔야
    합니다.
    앞서 Certification Matrix이전에 Installation Guide에 명시된
    OS version만이 certify되어 있다고 생각하시면 되겠습니다.
    b. Unix에서는 Oracle Software를 install한 후 OS의 Networking patch를
    씌우고 사용하다보면 문제가 되는 경우가 있습니다.
    이런 경우 relink를 해주어 바뀐 OS환경에서 Oracle 실행 file들을 다
    시 만들어 주어야 합니다.
    자세한 내용은 http://metalink.oracle.com에서
    다음 글을 읽어 보시기 바랍니다.
    Note:131321.1 How to Relink Oracle Database Software on UNIX
    c. Certify된 환경에서도 원인을 찾을 수 없는 경우 trace file을 가지고
    Oracle Support Services에 문의를 합니다. (지원 계약 고객에 한함)
    Reference Documents
    Chapter 17 Trouble shooting Oracle Net Services
    Oracle 9i Net Services Administrator's Guide
    SQL*Net, Net8.x, Net Services 9.x Network Administration Guide/Reference

    제품 : SQL*NET
    작성날짜 : 2002-11-24
    TROUBLE SHOOTING PROBLEM ON SQL*NET, NET8.X, AND NET SERVICES
    (GENERATING TRACE FILE OF SQL*NET, NET8.X, AND NET SERVICES)
    ==========================================================
    PURPOSE
    이 글은 고객들이 Oracle Server의 Oracle Networking 제품들을 사용하다가
    Networking과 관련된 문제를 만났으나 스스로 해결할 수 없는 경우, 예를
    들어 http://metalink.oracle.com 에서 같은 case를 발견할 수 없는 경우,
    원인을 찾기 위하여 Networking 제품의 trace를 떠 보는 방법을 설명합니다.
    Explanation
    Oracle Networking 제품을 사용 중에 어떠한 문제를 겪는 경우 무엇보다도
    OS의 Networking Protocol Stack 쪽을 살펴보는 것이 선행되어야 합니다.
    일부 고객분들은 Oracle Networking 제품들이 OS의 Protocol Stack이 동작
    하는데 어떤 중대한 영향을 주는 것이 아닌가 하고 문의를 합니다만
    그러한 의문은 Oracle Networking 제품도 OS의 Protocol Stack을 사용하는
    하나의 network client라는 것을 이해함으로써 해소가 됩니다.
    Oracle Networking 제품도 OS의 Protocol Stack을 이용하는 하나의 network
    client이기 때문에 Oracle Networking 제품이 OS Protocol Stack의 동작에
    어떠한 식으로든 영향을 준다던가 하는 것은 있을 수 없기 때문입니다.
    고객의 관점에서 OS의 Protocol Stack은 정상적으로 설정이 되었다고 믿고
    있으며 기타 networking 환경을 정확히 판단할 수 없는, 예를 들어
    host설정은 잘 되어 있다고 믿고 있으나 firewall을 통해야만 하는 등의
    다소 접근하기 어려운 networking 환경에서 networking이 잘 되지 않는,
    예를 들어, Oracle Server에 연결이 잘 안되거나 연결 중 networking
    error가 발생하는 경우에는 http://metalink.oracle.com에서 같은 case를
    찾는 것이 가장 빠른 해결 방법입니다.
    그러나 드물게 http://metalink.oracle.com에서 같은 case가 나오지 않는
    경우 Oracle Networking 제품의 trace file을 떠서 원인을 찾게 됩니다.
    Oracle Networking 제품은 Oracle 7.x에서 SQL*Net, Oracle 8.x에서 Net 8.x,
    Oracle 9.x에서 Oracle Net Services라는 이름이 가지고 있으나 여기에서는
    편의상 모두 Oracle Networking 제품으로 부르도록 하겠습니다.
    아울러 여기서 언급하는 Trace File은 Oracle Server의 Trace File과
    다른 것입니다. Oracle Server의 Trace File은 database instance의 대한
    내용만을 기록하며 Oracle Networking 제품의 Trace File은 networking에
    대한 내용만을 기록합니다.
    Trace File의 작성 방법은 Oracle 7.x부터 9.x까지 같습니다.
    Solution Description
    1. Client가 되는 host에서 어떠한 문제를 경험한 경우, 간혹 문제의 발생
    빈도가 낮거나 network나 server 쪽에 이상을 느끼시면서도 문제를 확인하기
    여러운 경우가 있습니다. 이런 경우엔는 문제가 다시 발생될 때 까지
    Client에서 Client Trace File를 작성하여 보아야 합니다.
    a. prompt$ echo $TNS_ADMIN
    b. $TNS_ADMIN이 설정되어 있으면, prompt$ cd $TNS_ADMIN
    아니면, prompt$ cd $ORACLE_HOME/network/admin
    c. vi sqlnet.ora
    # 다음 line들을 추가
    TRACE_LEVEL_client=16
    TRACE_FILE_client=<filename>
    TRACE_DIRECTORY_client=<directory>
    TRACE_UNIQUE_client=TRUE
    :wq
    prompt$
    예를 들어, client가 Windows OS인 경우 다음과 같이 합니다.
    prompt> notepad sqlnet.ora
    TRACE_LEVEL_client=16
    TRACE_FILE_client=client
    TRACE_DIRECTORY_client=D:\temp
    TRACE_UNIQUE_client=TRUE
    prompt>
    d. SQL*Plus와 같은, 또는 사용하던 Client software를 계속 이용
    e. 다시 문제가 발생
    f. 작성된 trace file들의 날자를 보아 문제가 발생한 시간과
    거의 같은 시간에 작성된 file들이 있는지 확인
    prompt> dir D:\temp
    client_<PID1>.trc ...
    client_<PID2>.trc ...
    prompt>
    g. trace를 중단합니다.
    prompt$ vi sqlnet.ora
    TRACE_LEVEL_client=0
    :wq
    prompt$
    h. Trace Assistant를 이용하여 Oracle Networking 제품의 error code
    (이하 TNS error code)를 trace file에서 찾아냅니다.
    prompt$ cd <directory of TRACE_DIRECTORY_client>
    prompt$ trcasst <filename of TRACE_FILE_client>_<PID>.trc > trcasst.out
    prompt$ vi -R trcasst.out
    Trace Assistant (trcasst command)는 Oracle 8.x부터 제공되며,
    Oracle 9.x의 Trace Assistant를 사용할 것을 권합니다.
    i. oerr command로 tns error에 대한 error message를 봅니다.
    예를 들어, 흔한 경우 중에 listener가 실행 중이지 않거나 잘못된
    tnsnames.ora 설정으로 client가 listener가 service 중이지 않은
    network address로 연결을 시도하다가 TNS-12541 TNS-12560 TNS-511
    error가 차례대로 나왔다면 다음과 같이 하여 각 TNS error code에
    대한 message와 설명 및 해결방법을 볼 수 있습니다.
    prompt$ oerr tns 12541
    prompt$ oerr tns 12560
    prompt$ oerr tns 511
    j. Trace Assistant가 알려준 TNS error code를 http://metalink.oracle.com
    에서 검색하여 같은 case가 있는지 확인합니다.
    Web browser에서:
    1) Go to http://metalink.oracle.com, then login
    오른쪽 위 HTML frame에서 :
    2) "Advanced" Button을 누릅니다.
    오른쪽 아래 HTML frame에서:
    3) "Enter Keyword" text box에 tns error code를 모두 입력합니다.
    예를 들어, tns-12541 tns-12560 tns-511
    4) "Search" button을 누릅니다.
    k. http://metalink.oracle.com에서 검색이 거의 되지 않거나
    문제가 매우 이상한 경우 이 글 아래를 보시기 바랍니다.
    2. Client에서 SQL*Plus나 Oracle Client를 사용하는 다른 3rd party
    appliction은 잘 동작하나 유독 tnsping command에서 error가 나는 경우가
    드물게 있습니다. 이 때에는 tnsping command의 trace file을 작성해봅니다.
    prompt$ vi sqlnet.ora
    TNSPING_TRACE_LEVEL=16
    TNSPING_TRACE_DIRECTORY=<directory>
    :wq
    prompt$ tnsping <tns alias>
    3. Server, 즉 listener에 문제가 있다고 생각되는 경우 우선 listener의
    log file을 봅니다. listener의 log에 대해서는 bulletin.18364를
    이용합니다.
    4. listener의 trace file은 다음과 같이 설정합니다.
    listener의 trace 설정은 parameter 이름에 trace file을 작성하고자 하는
    listener의 이름이 오는 점, 설정 후 listener process를 restart해야 하는
    점 두 가지를 제외하면 나머지 절차가 앞서 설명드린 client와 같습니다.
    prompt$ vi listener.ora
    TRACE_LEVEL_<listener name>=16
    TRACE_FILE_<listener name>=<filename>
    TRACE_DIRECTORY_<listener name>=<directory>
    :wq
    prompt$ lsnrctl stop <listener name>
    prompt$ lsnrctl start <listener name>
    5. 만일 위와 같이 http://metalink.oracle.com을 검색하여도
    같은 case가 전혀 없거나 찾아낸 error message들이 원인과 관련이 없어
    보일정도로 매우 이상한 경우 다음과 같이 해봅니다.
    a. Oracle Software의 version과 OS의 version이 certification matrix에
    있는 지 확인합니다.
    Web browser에서:
    1) Go to http://metalink.oracle.com, then login
    왼쪽 menu에서 :
    2) "Certify & Availabilty" menu item을 click합니다.
    오른쪽 아래 HTML frame에서:
    3) 현재 사용중인 Product와 그 version 및 OS와 그 version을 선택하
    여 검색합니다.
    Certification Matrix는 매우 정확하게 정보를 보여주고 있습니다.
    Matrix에 없는 Oracle Product와 OS version은 certify되어 있지 않으며
    모든 Oracle 제품을 Certify되지 않은 OS version에서 사용하는 것은
    그 어떠한 이유로든 보증과 지원이 되지 않습니다.
    만일 사용중인 제품이 certify되지 않은 경우, 무조건 certify된 제품
    과 OS의 version으로 install하여 다시 시도를 해야 합니다.
    예를 들어, Windows OS의 경우 그 어떠한 Oracle 제품도 Windows Me 및
    Windows XP Home Edition에 certify되어 있지 않습니다.
    Windows 2000 Professional 이상에 Certify된 제품은 Oracle 8.1.6부터
    이며 XP Professional 이상에 Certify된 제품은 Oracle 9.0.1부터
    입니다.
    Oracle 제품은 software이기는 하나 매우 완벽한 수준의 제품이라고 할
    수 있습니다. 그러나 Oracle 제품은 하나의 OS의 process로써 실행이
    되고 시간이 지나며 많은 환경이 major upgrade가 되면서 그러한 환경
    에 따라 Oracle software도 새로운 version으로 제작이 되면서 다시
    certification이 이루어지게 됩니다.
    그렇기 때문에 고객들은 특히 다수의 client나 고가의 server를 계획하
    시는 고객들은 저희 certification matrix를 사전에 철저히 확인하셔야
    합니다.
    앞서 Certification Matrix이전에 Installation Guide에 명시된
    OS version만이 certify되어 있다고 생각하시면 되겠습니다.
    b. Unix에서는 Oracle Software를 install한 후 OS의 Networking patch를
    씌우고 사용하다보면 문제가 되는 경우가 있습니다.
    이런 경우 relink를 해주어 바뀐 OS환경에서 Oracle 실행 file들을 다
    시 만들어 주어야 합니다.
    자세한 내용은 http://metalink.oracle.com에서
    다음 글을 읽어 보시기 바랍니다.
    Note:131321.1 How to Relink Oracle Database Software on UNIX
    c. Certify된 환경에서도 원인을 찾을 수 없는 경우 trace file을 가지고
    Oracle Support Services에 문의를 합니다. (지원 계약 고객에 한함)
    Reference Documents
    Chapter 17 Trouble shooting Oracle Net Services
    Oracle 9i Net Services Administrator's Guide
    SQL*Net, Net8.x, Net Services 9.x Network Administration Guide/Reference

  • Sql net trace file

    Hi All,
    Our prod db is 2 nodes RAC 10g in MS window 2003 servers. It is located in a remote place. Recently one of our local app servers lost connection to this db although we can tnsping it but got ORA3113 error when we tried to logon using sql plus. Most of our local PCs did not have problem logon at all. We enabled the sql net trace on this app server and network administrators spent a lot of time on this and finally shutdown one of the app servers in the same remote location which seemed cause a lot of network traffic with a local app server. So the problem went away and the app server can logon to the db now. I (I know nothing about network) tried to read the sql net trace file generated during the trouble time using the help outlined in the “Examining Oracle Net Trace Files” written by Kevin Reardon. The error happened after client sending server character set and conversion graph it supports and before receiving character set and conversion graph from the server. It took a minute in this step and finally gave up. Following is a section of the trace file where error happens. My question is: even we know when the error happens and at what step how can we use this info to further identify the root cause: Is this because we have too much network traffic which caused timeout or other reason(s)? By the way our db servers have “INBOUND_CONNECT_TIMEOUT=180" (3 minutes) in the sqlnet.ora file and whole trace file starts at [06-NOV-2009 14:50:23:352] and ends at [06-NOV-2009 14:51:24:758] which is a little over 1 minute. Greatly appreciate your insights and thoughts.
    Shirley
    [06-NOV-2009 14:50:23:836] nsdo: normal exit
    [06-NOV-2009 14:50:23:836] nsdo: entry
    [06-NOV-2009 14:50:23:836] nsdo: cid=0, opcode=85, *bl=0, *what=0, uflgs=0x0, cflgs=0x3
    [06-NOV-2009 14:50:23:836] nsdo: rank=64, nsctxrnk=0
    [06-NOV-2009 14:50:23:836] nsdo: nsctx: state=8, flg=0x400d, mvd=0
    [06-NOV-2009 14:50:23:836] nsdo: gtn=127, gtc=127, ptn=10, ptc=32730
    [06-NOV-2009 14:50:23:836] nsdo: switching to application buffer
    [06-NOV-2009 14:50:23:836] nsrdr: entry
    [06-NOV-2009 14:50:23:836] nsrdr: recving a packet
    [06-NOV-2009 14:50:23:836] nsprecv: entry
    [06-NOV-2009 14:50:23:836] nsprecv: reading from transport...
    [06-NOV-2009 14:50:23:836] nttrd: entry
    [06-NOV-2009 14:51:24:742] nttrd: exit
    [06-NOV-2009 14:51:24:742] ntt2err: entry
    [06-NOV-2009 14:51:24:742] ntt2err: Read unexpected EOF ERROR on 644
    [06-NOV-2009 14:51:24:742] ntt2err: exit
    [06-NOV-2009 14:51:24:742] nsprecv: error exit
    [06-NOV-2009 14:51:24:742] nserror: entry
    [06-NOV-2009 14:51:24:742] nserror: nsres: id=0, op=68, ns=12537, ns2=12560; nt[0]=507, nt[1]=0, nt[2]=0; ora[0]=0, ora[1]=0, ora[2]=0
    [06-NOV-2009 14:51:24:742] nsrdr: error exit
    [06-NOV-2009 14:51:24:742] nsdo: nsctxrnk=0
    [06-NOV-2009 14:51:24:742] nsdo: error exit
    [06-NOV-2009 14:51:24:742] nioqer: entry
    [06-NOV-2009 14:51:24:742] nioqer: incoming err = 12151
    [06-NOV-2009 14:51:24:742] nioqce: entry
    [06-NOV-2009 14:51:24:742] nioqce: exit
    [06-NOV-2009 14:51:24:742] nioqer: returning err = 3113
    [06-NOV-2009 14:51:24:742] nioqer: exit
    [06-NOV-2009 14:51:24:742] nioqrc: exit
    [06-NOV-2009 14:51:24:742] nioqrs: entry

    I am certainly not an expert in this area, but these lines are of interest
    >
    06-NOV-2009 14:51:24:742 ntt2err: Read unexpected EOF ERROR on 644
    06-NOV-2009 14:51:24:742 nserror: nsres: id=0, op=68, ns=12537, ns2=12560; nt[0]=507, nt[1]=0, nt[2]=0; ora[0]=0, ora[1]=0, ora[2]=0
    06-NOV-2009 14:51:24:742 nioqer: incoming err = 12151
    >
    The TNS 12537, 12560 and 12151 codes indicate network errors.
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14219/tnsus.htm#sthref14851
    Is this a consistently reproducible error ? Do other applications on this network operate without error ?
    HTH
    Srini

Maybe you are looking for

  • Tecra M3 - Stucks at the Toshiba screen

    Hello everyone, I am trying to use the Product recovery disk on my Toshiba Tecra M3, however it does not seem to do anything. I have inserted the disk, turned off computer > started computer again pressing F12> i get the enter HDD password which i do

  • Migration of catalog file only to a new computer, keeping photos on external drive

    I have PSE 10 on an old computer, and have all of my photos stored on an external hard drive.  I now have a new computer with PSE 11 on it, and I'd like to move the catalog file, which sits on the old computer to the new computer so that I can use it

  • SAP PO- emailing vendor and recepient--- urgent

    When trying to email PO to both Vendor as well as the person creating the PO...The PO is emailed only to vendor and not picking the ID in the recpient field(internal ID). What is the procedure for emailing both

  • File Error everything I try and render?

    Just recently everytime I render, it never 100% completes it stops at about 94% and just comes up with File Error I/0?  Which is quite frustrating?  Any body else had this problem?  I have double checked that I am rendering all and it is set to do th

  • How can I get Netflix instant watch working in Firefox 6.0?

    Recently updated to Firefox 6 and Netflix instant watch won't work ... I re-installed silverlight but that didn't help. I can't find a way to rollback to Firefox 5.0, how can i fix this issue?