sourcecode

Oracle 수신기가 실행 중이지 않고 시작되지 않음

codebag 2023. 6. 7. 22:47
반응형

Oracle 수신기가 실행 중이지 않고 시작되지 않음

다음 오류가 발생했습니다.lsnrctl status명령:

C:\Users\pna105>lsnrctl stat

 LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 08-OCT-2014 17:53
 :55

 Copyright (c) 1991, 2010, Oracle.  All rights reserved.

 Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
 TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
  TNS-00511: No listener
   64-bit Windows Error: 2: No such file or directory
 Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))
 TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
 TNS-00511: No listener
 64-bit Windows Error: 61: Unknown error

다시 시작하기 전에는 정상적으로 작동했지만 지금은 작동하지 않고 오라클 홈페이지에도 접속할 수 없습니다.

나의tnsnames.ora다음과 같습니다.

  ORACLE = 
  (DESCRIPTION =  
    (ADDRESS_LIST =  
      (ADDRESS = (PROTOCOL = TCP)(HOST = Localhost)(PORT = 1521))  
    )  
    (CONNECT_DATA =  
      (SERVICE_NAME = ORACLE)  
    )  
   )

   LISTENER_ORACLE =
  (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))


  ORACLR_CONNECTION_DATA =
  (DESCRIPTION =
  (ADDRESS_LIST =
  (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
  )
   (CONNECT_DATA =
   (SID = CLRExtProc)
   (PRESENTATION = RO)
  )
  )

나의listener.ora (한 몇 했습니다.) is: (TNS-12518 문제는 다음과 같습니다.)

   SID_LIST_LISTENER =
   (SID_LIST =
   (SID_DESC =
    (SID_NAME = ORACLE)
    (ORACLE_HOME = C:\app\PNA105\product\11.2.0\dbhome_1)
  )  
  (SID_DESC =
    (SID_NAME = PLSExtProc)
    (ORACLE_HOME = C:\app\PNA105\product\11.2.0\dbhome_1)
    (PROGRAM = extproc)
   )
   (SID_DESC =
  (SID_NAME = CLRExtProc)
  (ORACLE_HOME = C:\app\PNA105\product\11.2.0\dbhome_1)
  (PROGRAM = extproc)
  (ENVS = "EXTPROC_DLLS=ONLY:C:\app\PNA105\product\11.2.0\dbhome_1\bin\oraclr11.dll")
  )
  )

  LISTENER =
 (DESCRIPTION_LIST =
  (DESCRIPTION =
  (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
  (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
  )
  )

  ADR_BASE_LISTENER = C:\app\PNA105

은 다은의출다니입의 입니다.lsnrctl start

C:\Users\pna105>lsnrctl start

LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 08-OCT-2014 18:26
:22

 Copyright (c) 1991, 2010, Oracle.  All rights reserved.

 Starting tnslsnr: please wait...

  TNS-12560: TNS:protocol adapter error
   TNS-00530: Protocol adapter error

다음은 로그 파일에서 마지막으로 필요한 항목입니다.

 Started with pid=14784
 Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
 Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
 Listener completed notification to CRS on start

 09-OCT-2014 15:46:01 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=__jdbc__)(USER=INL007306$))
(SERVICE_NAME=oracle)) * (ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=57389)) * 
establish * oracle * 12518
TNS-12518: TNS:listener could not hand off client connection
TNS-12560: TNS:protocol adapter error
 TNS-00530: Protocol adapter error
 64-bit Windows Error: 203: Unknown error
 Dynamic address is already listened on (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp) 
 (HOST=127.0.0.1)(PORT=1521)))
 09-OCT-2014 15:46:06 * service_register * oracle * 0
 Thu Oct 09 15:46:11 2014
 09-OCT-2014 15:46:11 * service_update * oracle * 0
 09-OCT-2014 15:46:12 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=__jdbc__)(USER=INL007306$))
 (SERVICE_NAME=oracle)) * (ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=57393)) * 
  establish * oracle * 0
 09-OCT-2014 15:46:12 * service_update * oracle * 0
 09-OCT-2014 15:46:13 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=__jdbc__)(USER=INL007306$))
 (SERVICE_NAME=oracle)) * (ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=57394)) * 
 establish * oracle * 0

TNS-12518을 해결하려고 시도했지만 수신기가 시작되었지만 여전히 Oracle 홈 페이지에 액세스할 수 없습니다.

lnsrctl stat 출력

C:\Users\pna105>lsnrctl stat

LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 09-OCT-2014 17:16
:56

 Copyright (c) 1991, 2010, Oracle.  All rights reserved.

 Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
 STATUS of the LISTENER
  ------------------------
 Alias                     LISTENER
 Version                   TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Produ
 ction
 Start Date                09-OCT-2014 15:45:58
 Uptime                    0 days 1 hr. 30 min. 58 sec
 Trace Level               off
 Security                  ON: Local OS Authentication
 SNMP                      OFF
 Listener Parameter File   C:\app\PNA105\product\11.2.0\dbhome_1\network\admin\li
 stener.ora
 Listener Log File         c:\app\pna105\diag\tnslsnr\INL007306\listener\alert\lo
 g.xml
 Listening Endpoints Summary...
 (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
 (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
  Services Summary...
  Service "CLRExtProc" has 1 instance(s).
  Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
  Service "ORACLE" has 2 instance(s).
  Instance "ORACLE", status UNKNOWN, has 1 handler(s) for this service...
  Instance "oracle", status READY, has 1 handler(s) for this service...
  Service "PLSExtProc" has 1 instance(s).
  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
  Service "oracleXDB" has 1 instance(s).
  Instance "oracle", status READY, has 1 handler(s) for this service...

명령이 성공적으로 완료되었습니다.

저도 같은 문제가 있었습니다.이 경우 해결책: CMD를 관리자로 실행합니다.그런 다음 "lsnrctl start"를 입력하고 실행합니다. 약 2분간 기다린 후 작동합니다.(내 경우에는 50초에 불과했지만, 그저 안전한 쪽에 있기 위해)

1. 환경 변수를 확인합니다(사용자가 아닌 시스템에 대해 설정해야 함).

ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server
ORACLE_SID = XE

2.listener.ora에 올바른 정의가 있는지 확인합니다.

XE =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
  )

DEFAULT_SERVICE_LISTENER = (XE)

3. 서비스를 다시 시작합니다(Services > OracleServiceXE).

X 다 Oracle X 라 를 있비음라는 새로운 서비스를 볼 수 .ETNSListenerXE.
Oracle 이 Oracle X가 니있습이 이미 있습니다.ETNS 청취자.

저는 둘 다 시작했고 성공적인 연결을 만들 수 있었습니다.

편집:

모든 것이 실행되고 있지만 여전히 연결할 수 없는 경우 오류가 없는지 확인합니다. ORA-12557: TNS: protocol adapter not loadable.

오류를 수정하려면 환경 변수로 돌아가서 이번에는 경로라는 변수를 편집합니다.C:\oraclexe\app\oracle\product\11.2.0\server\bin이 다른 버전의 Oracle DB를 가리키는 다른 경로보다 먼저 시작 부분에 있는지 확인합니다.

listener.또는 oracle 디렉토리 또는 aclexe\app\oracle\product\11.2.0\server\network\에 있는 파일을 업데이트하여 해결했습니다.관리자.

왜 이런 일이 저에게 일어났는지는 시스템 이름을 변경했는데 listener.ora 내부에 HOST의 이전 이름이 있었기 때문입니다.

이것이 아마도 이유 중 하나일 것입니다.여전히 그러한 문제에 직면한 사람들이 이 가능성을 생각할 수도 있습니다.

Windows 11.201에서도 동일한 문제가 발생했습니다.이후: 새 폴더에 11.203 64비트 서버 및 클라이언트를 추가 설치합니다. 설치 직후 PATH 환경 변수가 변경되었습니다.수신기 서비스를 다시 시작한 후 수신기에 오류가 발생했습니다.저의 경우 야간 시간과 윈도우 업데이트 횟수가 있어서 윈도우 서버 재시작이 도움이 되었습니다.또한 http://pavandba.com/tag/tns-12560-tns-protocol-adapter-error/, 에 따르면 listener.log 파일을 청소했습니다. 그것은 놀라울 정도로 컸습니다.

ORACLE_HOME 환경 변수가 올바른 Oracle 홈을 가리키고 있는지 확인합니다.제 경우에는 다른 소프트웨어 설치로 인해 변경되었습니다.

내가 컴퓨터 이름을 바꾼 후에도 마찬가지였습니다.이 문제를 해결하려면 listener.or 파일을 찾아 이전 컴퓨터 이름을 새 컴퓨터 이름으로 바꾸기만 하면 됩니다.

저의 경우 콘솔을 통해 수신기를 시작하려고 했습니다.

> lsnrctl star

이 명령은 다음 오류를 인쇄했습니다.

TNS-12560: TNS:protocol adapter error
TNS-00583: Valid node checking: unable to parse configuration parameters

그래서 다음과 같은 작업을 수행했습니다.

  1. Oracle 여인 listener.ora또는sqlnet.ora 문자 포함되어 있습니다.
  2. Oracle 여인 listener.ora.
  3. Oracle 여인 listener.ora또는sqlnet.ora파일에 Oracle 파서에서 허용하지 않는 일부 왼쪽 맞춤 괄호가 있습니다.

이 파일을 보고 올바른 구문을 확인하십시오.가능한 경우 sqlnet.ora를 제거하거나 이름을 바꾸고 수신기를 다시 시작해 보십시오.또는 listener.ora 또는 sqlnet.ora 파일을 모두 제거/이름을 바꾸고 파일을 제대로 재생성합니다.이렇게 하면 문제가 확실히 해결될 것입니다.

저의 경우, 윈도우 리스너 서비스가 작동하지 않아 SQL Developer를 사용하여 Qracle에 연결할 수 없었습니다.는 하만나연수있다니었습결할을 통해 할 수 있었습니다.sqlplus.

아래의 솔루션이 저에게 도움이 되었습니다.

먼저 수신기 서비스가 실행 중인지 확인합니다.

C:\Documents and Settings\ME>lsnrctl status 

되고 있지 합니다.net start명령:

C:\Documents and Settings\ME>net start OracleOraDb10g_home1TNSListener 

하여 시작해 .lsnrctlDOS 프롬프트에서.

lsnrctl start

윈도우즈 2012 서버에 오라클 11gR2를 설치할 때 비슷한 문제가 발생합니다.관리자 권한으로 cmd.exe를 실행하고 "lsnrctl start LISTER"를 실행하면 문제가 해결됩니다.

다음과 같은 문제가 발생했습니다.제 것은 개인용 윈도우 PC입니다.그리고 컴퓨터 이름을 수정했는데 listener.ora에 반영되지 않았습니다.ORACLE_HOME\network\를 업데이트하는 중업데이트된 호스트 이름을 가진 ADMIN\listener.ora에서 문제를 해결했습니다.

Hortonworks HDP 2.6 Sandbox를 실행하는 도커 컨테이너에서 구성이 실패한 문제를 해결했습니다.

초기 구성이 실패하면 수신기가 실행 중이므로 먼저 종료해야 합니다.

ps -aux | grep tnslsnr
kill {process id identified above}

그런 다음 구성 프로세스가 실패하는 공유 메모리 문제를 해결합니다.

https://blogs.oracle.com/oraclewebcentersuite/implement-oracle-database-xe-as-docker-containers 에 따르면 Oracle XE에는 1Gb의 공유 메모리가 필요하지만 그렇지 않으면 실패합니다(512MB는 시도하지 않았습니다).

vi /etc/fstab

라인 변경/추가:

tmpfs    /dev/shm     tmpfs   defaults,size=1024m 0 0

그런 다음 다음 구성을 다시 로드합니다.

mount -a

다음에 도커 컨테이너를 다시 시작할 때 '마운트 -a'를 수행해야 할 수도 있습니다.

다른 서버 인터페이스뿐만 아니라 VPN 연결도 수신하도록 설정되었기 때문에 수신기 서비스가 시작되지 않습니다.

제가 VPN에 접속하자, VPN이 시작되었습니다.

하지만, @Imre의 "lsnrctl start"에 대한 트릭은 저를 올바른 방향으로 이끌었습니다.

문제

수신기 서비스가 중지된 위치services.msc.

원인

사용자 암호가 변경되었습니다.

해결책

  • 열다.services.msc.
  • 특정 수신기 서비스를 마우스 오른쪽 단추로 클릭합니다.
  • 속성을 클릭합니다.
  • 로그온 탭을 클릭합니다.
  • 암호를 변경합니다.
  • 확인을 클릭합니다.
  • 서비스를 시작합니다.

내 Windows의 경우 수신기가 시작되지 않고 'lsnrctl start'가 영원히 중단됩니다.해결책은 extproc의 모든 프로세스를 죽이는 것이었습니다.나는 그것이 내 VPN과 재미있는 관련이 있다고 의심합니다.

Oracle Database XE 설치 관리자에 오류가 있습니다.위에서 설명한 문제의 원인일 수 있습니다. 바로 이와 같이 나타납니다.

문제는 소프트웨어를 기본 파일 시스템 위치에 설치하지 않은 경우 다음 시간까지 모두 원활하게 실행된다는 것입니다.첫 번째 기계 다시 시작

이전 답변에서 설명한 대로 레지스트리를 분해하여 복구할 수 있지만, XE를 기본 위치에 설치하는 것이 재시작 후 데이터베이스 설치를 그대로 유지하는 가장 간단한 방법입니다.

언급URL : https://stackoverflow.com/questions/26236967/oracle-listener-not-running-and-wont-start

반응형