2017-09-24 4 views
-1

Oracle Express Edition에 문제가 있습니다. 나는 열 수 sqlplus를 사용하여 데이터베이스에서 명령을 실행할 수 있지만 다음 데이터베이스를 사용하여 을 사용하여 연결하려고하면 작동하지 않습니다. 다른 원격 오라클 데이터베이스가 많아서 SQL 개발자 또는 IDEA과 같은 다른 도구를 사용하여 연결할 수 있기 때문에 이상합니다. 청취자에게 문제가있을 수 있습니까?Oracle Express Edition에 연결할 수 없습니다.

연결하려고하면 포트 1521에 연결된 이 시간 초과됩니다..

Connection to @myhost.company.com failed. 

LSNRCTL 상태

LSNRCTL for 32-bit Windows: Version 11.2.0.2.0 - Production on 22-╤┼═-2017 12:04:43 
Copyright (c) 1991, 2010, Oracle. All rights reserved. 
TNS-01106: Listener using listener name LISTENER has already been started 
C:\Users\luchser>lsnrctl status 
LSNRCTL for 32-bit Windows: Version 11.2.0.2.0 - Production on 22-╤┼═-2017 12:11:20 
Copyright (c) 1991, 2010, Oracle. All rights reserved. 
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1))) 
STATUS of the LISTENER 
------------------------ 
Alias      LISTENER 
Version     TNSLSNR for 32-bit Windows: Version 11.2.0.2.0 - Production 
Start Date    21-╤┼═-2017 14:21:26 
Uptime     0 days 21 hr. 49 min. 53 sec 
Trace Level    off 
Security     ON: Local OS Authentication 
SNMP      OFF 
Default Service   XE 

Listener Parameter File C:\oraclexe\app\oracle\product\11.2.0\server\network\admin\listener.ora 
Listener Log File   C:\oraclexe\app\oracle\diag\tnslsnr\localhost\listener\alert\log.xml 

Listening Endpoints Summary... 
    (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc))) 
    (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=myhost.company.com)(PORT=1521))) 
    (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=myhost.company.com)(PORT=8080))(Presentation=HTTP)(Session=RAW)) 

Services Summary... 
Service "CLRExtProc" has 1 instance(s). 
    Instance "CLRExtProc", status UNKNOWN, 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 "XEXDB" has 1 instance(s). 
    Instance "xe", status READY, has 1 handler(s) for this service... 
Service "xe" has 1 instance(s). 
    Instance "xe", status READY, has 1 handler(s) for this service... 
The command completed successfully 

listener.ora를

SID_LIST_LISTENER = 
    (SID_LIST = 
    (SID_DESC = 
     (SID_NAME = PLSExtProc) 
     (ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server) 
     (PROGRAM = extproc) 
    ) 
    (SID_DESC = 
     (SID_NAME = CLRExtProc) 
     (ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server) 
     (PROGRAM = extproc) 
    ) 
) 

LISTENER = 
    (DESCRIPTION_LIST = 
    (DESCRIPTION = 
     (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) 
     (ADDRESS = (PROTOCOL = TCP)(HOST = myhost.company.com)(PORT = 1521)(IP=V4_ONLY)) 
    ) 
) 

DEFAULT_SERVICE_LISTENER = (XE) 

의 tnsnames.ora

XE = 
    (DESCRIPTION = 
    (ADDRESS = (PROTOCOL = TCP)(HOST = myhost.company.com)(PORT = 1521)) 
    (CONNECT_DATA = 
     (SERVER = DEDICATED) 
     (SERVICE_NAME = XE) 
    ) 
) 

EXTPROC_CONNECTION_DATA = 
    (DESCRIPTION = 
    (ADDRESS_LIST = 
     (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) 
    ) 
    (CONNECT_DATA = 
     (SID = PLSExtProc) 
     (PRESENTATION = RO) 
    ) 
) 

ORACLR_CONNECTION_DATA = 
    (DESCRIPTION = 
    (ADDRESS_LIST = 
     (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) 
    ) 
    (CONNECT_DATA = 
     (SID = CLRExtProc) 
     (PRESENTATION = RO) 
    ) 
) 
01,235 16,

tnsping XE (10)

C:\Users\luchser>tnsping XE 10 

TNS Ping Utility for 32-bit Windows: Version 11.2.0.2.0 - Production on 26-╤┼═-2017 14:49:12 

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

Used parameter files: 
C:\oraclexe\app\oracle\product\11.2.0\server\network\admin\sqlnet.ora 

Used TNSNAMES adapter to resolve the alias 

Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = myhost.company.com)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XE))) 

OK (0 msec) 
OK (10 msec) 
OK (0 msec) 
OK (0 msec) 
OK (20 msec) 
OK (0 msec) 
OK (0 msec) 
OK (10 msec) 
OK (0 msec) 
OK (20 msec) 

SQLPLUS 사용자/암호 @ XE를

C:\Users\luchser>sqlplus my_user/[email protected] 
SQL*Plus: Release 11.2.0.2.0 Production on ┬Є ╤хэ 26 14:50:11 2017 
Copyright (c) 1982, 2010, Oracle. All rights reserved. 

마지막 단지 HAGS을 아무것도 발생합니다.

+0

오류를 게시해야합니다. – Ravi

+0

포트 1521 (청취자의 표준 포트)과의 연결 시간이 초과되었습니다. –

+0

오류의 스크린 샷을 게시 할 수 있습니까? – Ravi

답변

1

이 구성에서 listener.ora 및 tnsnames.ora. 로컬 데이터베이스에서만 연결할 수 있으며 데이터베이스에 원격으로 연결할 수 없습니다. 리스너는 IP localhost에만 수신 대기하기 때문입니다. 리스너 구성에 외부 IP를 추가해야합니다.

LISTENER = 
     (DESCRIPTION_LIST = 
     (DESCRIPTION = 
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) 
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)(IP=V4_ONLY)) 
      (ADDRESS = (PROTOCOL = TCP)(HOST = <IP DB server>)(PORT = 1521)(IP=V4_ONLY)) 

    ) 
) 

listener.ora를

포트 1521 및 데이터베이스 서버의 방화벽에 대한 포트 범위 (32768-65536)에 대한 예외를 추가, 이것은 SQL * NET 프로토콜이 필요하다. 클라이언트 시스템에서 tnsnames.ora, 을 수정해야합니다. localhost를 데이터베이스 서버의 IP 주소로 바꿔야합니다.

XE = 
    (DESCRIPTION = 
    (ADDRESS = (PROTOCOL = TCP)(HOST = <IP DB server>)(PORT = 1521)) 
    (CONNECT_DATA = 
     (SERVER = DEDICATED) 
     (SERVICE_NAME = XE) 
    ) 
) 
+0

고맙습니다. 그러나 그것은 문제가되지 않았습니다. 업데이트 된 파일보기. –

+0

데이터베이스에 대한 네트워크 연결을 진단하십시오. 1)'telnet myhost.company.com 1521' 2)'tnsping XE 10' 3)'sqlplus user/password @ XE' –

+0

텔넷이 없습니다. 마지막 두 명령을 실행하고 질문에 결과를 추가했습니다. –