使用Oracle SQL Developer连接到Oracle 12c(远程)
技术问答
438 人阅读
|
0 人回复
|
2023-09-13
|
我一直在尝试使用Oracle SQL Developer远程连接到Oracle 12c。它显示了在连接服务器期间的以下错误:
# y9 o% F$ k* p; \! G* e t Status : Failure -Test failed: IO Error: The Network Adapter could not establish the connection
B# ]9 c5 v) C4 g4 L我确实可以连接到服务器上的oracle数据库,但是问题是关于远程连接到该服务器(数据库)% V' G- l" w2 l) e3 E9 }& i. V
我的listener.ora的内容是:
5 i# k: ]' Q/ t4 j# }SID_LIST_LISTENER =0 P! T0 g. C; x, Z6 U0 ]
(SID_LIST =
; A7 A7 i1 N7 I; Q' @4 I(SID_DESC =* }/ T! Q, H3 o
(SID_NAME = CLRExtProc)
" K# P" d* s) @ V9 @) z4 m! m (ORACLE_HOME = D:\app\ORCLNEWUSER\product\12.1.0\dbhome_1)9 g( F8 Z- x+ v* |4 X
(PROGRAM = extproc)3 @/ [6 s I, x$ h
(ENVS = "EXTPROC_DLLS=ONLY:d:\app\ORCLNEWUSER\product\12.1.0\dbhome_1\bin\oraclr12.dll")
" a) u- K: y2 M9 J" J# }$ G3 f)
# h K- M/ E; `+ n* b/ H- O% a)8 f1 k4 T- u: }. R
LISTENER =6 E$ q) }( ~1 m& h" B% {
(DESCRIPTION_LIST =& B! K1 b3 ?9 x* t* w2 [& K$ s5 j @
(DESCRIPTION = 0 Z6 V4 S% Z! m' Q$ I% ?% ^
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
4 s5 @/ n3 }- R4 E)! Z! ]- h( c; E5 m1 R
). S2 W, K( e1 A2 X) G+ y
9 h' X5 }* r, B% s2 ?) R) C; l解决方案:: k y9 T7 F7 [/ n: R4 I, m, s3 i
7 X1 H7 e7 n$ L5 a0 ]0 R8 ^
% i/ o: Z6 E% f- X/ V' k
4 _2 u3 M' L* b 您listener.ora说的只是监听localhost(127.0.0.1),所以除了服务器外,其他任何地方都无法连接。在服务器的外部IP地址上的端口1521上没有侦听任何内容。您可以使用lsnrctl3 ?5 [; _. J$ ]/ q2 ?0 c
status和进行验证netstat -ano | find "1521"。
7 i: w0 u5 Y5 d- n4 D( ~您需要修改,listener.ora以侦听服务器的主机名;如果无法解析为正确的IP,则使用外部IP地址本身-您尝试从SQL) g( z. J3 ]6 p1 i
Developer连接到的“有效IP地址”:
/ n; M% t+ e8 ~3 w4 V& a8 @; PLISTENER =
- c! V. S+ \/ y7 U* X5 p(DESCRIPTION_LIST =, _2 M! w# ^8 I! a( Z. q
(DESCRIPTION = - \, o h3 w! D8 {" l
(ADDRESS = (PROTOCOL = TCP)(HOST = my_hostname_or_ip)(PORT = 1521))
3 @& B# x H9 T+ H. m)2 V5 }( `- g! v
)( Y) x) O3 a {/ h# n
您可能还需要检查数据库是否能够成功注册。lsnctrl
7 I- w% i: H$ F, ~services在进行更改并重新启动侦听器之前和之后,我将验证它是否包含在其中。如果重新启动后它没有出现,并且alter system8 y9 d( C7 P* D
register没有使它出现,那么您可能需要更改local_listener数据库参数,以告诉它应向其注册的地址和端口。 |
|
|
|
|
|