본문 바로가기
Database/Oracle

[ORACLE] ORA-27101: shared memory realm does not exist / IO 예외 상황: The Network Adapter could not establish the connection

by 나비와꽃기린 2016. 6. 28.
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

#### ORA-27101: shared memory realm does not exist

Linux-x86_64 Error: 2: No such file or directory

 

1) oracle 인스턴스가 제대로 올라오지 않았을 수 있으니 oracle 인스턴스를 실행하거나

2) 시작->제어판->작업관리자->서비스 에서 해당 오라클 서비스의

시작유형 상태를 확인한다.

서비스 상태가 중지라면 재 기동 할 것~

 



###IO 예외 상황:
Caused by: oracle.net.ns.NetException: The Network Adapter could not establish the connection



* 최근에 또 이런 에러가 발생했는데. 간단하게 정리해두었던 포스팅이있어서 수정해본다~

--> 해당 에러인 경우 host 주소가 맞지 않거나 listener가 떠 있지 않았는지를 확인한다.


나같은 경우는 ORA122 ( 리슨포트 1522 ) 에 붙으려고 했던건데

실제 ORA122와 리스너가 기동상태가 아니었다.

그래서 다음과 같이 디비시작해주고




리스너시작해주고 ~( 스샷이 조금 잘못됨 참고만)





----실제 발생했던 로그------




2월 26, 2019 10:21:47 오전 oracle.security.jps.internal.credstore.ldap.LdapCredentialStore init
경고: 인증서 저장소 인스턴스를 생성할 수 없습니다. 이유: oracle.security.jps.service.policystore.PolicyStoreConnectivityException: oracle.security.jps.service.policystore.PolicyStoreException: Can not connect DB with URL [jdbc:oracle:thin:@//192.168.100.37:2522/ORA122]
2월 26, 2019 10:21:47 오전 oracle.security.jps.internal.config.OpssCommonStartup start
정보: Jps 시작을 실패했습니다.
<2019. 2. 26 오전 10시 21분 47,480초 KST>    (CsfDbmsManager.java:91)
        at oracle.security.jps.internal.credstore.rdbms.CsfDbmsManager.createInstance(CsfDbmsManager.java:72)
        at oracle.security.jps.internal.credstore.ldap.CsfStoreManager.getInstance(CsfStoreManager.java:121)
        at oracle.security.jps.internal.credstore.ldap.LdapCredentialStore.init(LdapCredentialStore.java:188)
        ... 34 more
Caused by: oracle.security.jps.service.policystore.PolicyStoreException: Can not connect DB with URL [jdbc:oracle:thin:@//192.168.100.37:2522/ORA122]
        at oracle.security.jps.internal.policystore.util.JpsDataManagerUtil.getDBConnection(JpsDataManagerUtil.java:407)
        at oracle.security.jps.internal.policystore.util.JpsDataManagerUtil.isNewSchema(JpsDataManagerUtil.java:249)
        ... 44 more
Caused by: java.sql.SQLRecoverableException: IO 오류: The Network Adapter could not establish the connection
        at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:775)
        at oracle.jdbc.driver.PhysicalConnection.connect(PhysicalConnection.java:833)
        at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:40)
        at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:704)
        at java.sql.DriverManager.getConnection(DriverManager.java:664)
        at java.sql.DriverManager.getConnection(DriverManager.java:247)
        at oracle.security.jps.internal.policystore.util.JpsDataManagerUtil.getDBConnection(JpsDataManagerUtil.java:400)
        ... 45 more
Caused by: oracle.net.ns.NetException: The Network Adapter could not establish the connection
        at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:528)
        at oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:528)
        at oracle.net.ns.NSProtocol.establishConnection(NSProtocol.java:683)
        at oracle.net.ns.NSProtocol.connect(NSProtocol.java:295)
        at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1439)
        at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:519)
        ... 51 more
Caused by: java.io.IOException: 연결이 거부됨, socket connect lapse 0 ms. /192.168.100.37 2522 0 1 true
        at oracle.net.nt.TcpNTAdapter.connect(TcpNTAdapter.java:222)
        at oracle.net.nt.ConnOption.connect(ConnOption.java:164)
        at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:473)
        ... 56 more
Caused by: java.net.ConnectException: 연결이 거부됨
        at sun.nio.ch.Net.connect0(Native Method)
        at sun.nio.ch.Net.connect(Net.java:454)
        at sun.nio.ch.Net.connect(Net.java:446)
        at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
        at java.nio.channels.SocketChannel.open(SocketChannel.java:189)
        at oracle.net.nt.TimeoutSocketChannel.(TimeoutSocketChannel.java:82)
        at oracle.net.nt.TcpNTAdapter.connect(TcpNTAdapter.java:182)
        ... 58 more








--------------------------------------------------------------------------------------------


똑같은 에러가 한번 더 발생

컴퓨터 포멧 후... 로컬 PC에 Oracle DB 11g 설치 후 12c를 설치했던 상태였다.


(12설치후에) SQLDEVELOPER에서 DB 접속테스트를 할 때 다음과 같은 에러가 나면서 접속이 안되었다.

'The Network Adapter could not establish the connection'

음 똑같은 에러군.............

히스토리를 찾아보았더니 리스너문제 또는 접속정보재확인이 필요해보였다.



1. 조치방법1 - 리스너동작중지







기존에 설치해두었던 11g의 리스너를 중지시켰다.

그리고 12c 리스너 띄우고....




2. 조치방법2 - 접속정보재확인


사실 설치 시 default로 1521 port로 설치되는 줄 알았는데 아니었다.

11g가 이미 1521 로 설치되어져 있기 떄문에 설치시 자동으로

그 다음번 port인 1522로 설치가 되어있었다.

sqldeveloper에서 계속 1521로 접속정보를 찾으려고 하니 못 찾았던것......하하하하ㅏ...





Oracle DB 접속 port는 tnsnames.ora파일에서 확인할 수 있고

해당 파일은 ~설치경로\product\12.2.0\dbhome_1\network\admin

에서확인할 수 있다.