Programing

ORA-12560 : TNS : 프로토콜 어댑터 오류

crosscheck 2021. 1. 5. 08:30
반응형

ORA-12560 : TNS : 프로토콜 어댑터 오류


여기에 이미지 설명 입력

이 오류에 대해 Google [d] ORA-12560 : TNS : protocol adapter error but not can find the actual reason and how to solve this error?

누구든지 로그인 문제를 해결하는 완벽한 솔루션을 말해 줄 수 있습니까?


  1. Oracle 데이터베이스 서버를 호스팅하는 Windows 시스템으로 이동하십시오.
  2. Windows에서 시작-> 실행-> Services.msc로 이동합니다. OracleService <SID> (여기 OracleServiceORCL) 찾고을 클릭 Start하여 Oracle 데이터베이스 서비스를 시작하십시오 (아직 실행 중이 아닌 경우)서비스

  3. 실행되면 명령 프롬프트에서 다음을 실행하십시오.

    tnsping < tnsalias > 
    

    ( 파일 에서 찾을 수있는 tnsalias 항목 tnsnames.ora)


제 경우에는 Bharathi의 답변에 설명 된대로 OracleServiceWindows에 (OracleServiceORCL) 이 없었습니다 .Services.msc

이 명령을 실행했습니다.

C:\> ORADIM -NEW -SID ORCL

그리고 OracleService호출 된 OracleServiceORCL이 방금 나타나서 Services.msc에서 시작되었습니다. 정말 좋습니다.


출처 : https://forums.oracle.com/forums/message.jspa?messageID=4044655#4044655


데이터베이스가 작동하지 않는 것 같습니다. 머신을 다시 시작하고 인스턴스가 자동 시작으로 설정되지 않았기 때문에 서비스 화면에서 시작한 후 매번 시작되지 않습니다.

명령 프롬프트로 이동하십시오.

  1. Oracle SID C :> set oracle_sid = ORCL 설정

  2. 이제 Net start 명령을 실행하십시오. C :> net start oracleserviceORCL


환경 변수에 다음 변수와 값을 추가하여 tnsnames.ora 파일의 위치를 ​​식별합니다.

TNS_ADMIN

C : \ oracle \ product \ 10.2.0 \ client_1 \ network \ admin


명령 콘솔에서이 오류가 발생하면 sqlplus / nolog를 입력하여 오류를 방지 할 수 있습니다.

그런 다음 conn user / pass @host : port / service를 연결할 수 있습니다.


이것은 청취자가 시작하지 않았 음을 의미합니다. 서비스 패널을 확인하십시오.

Windows에서 (현재 상태 그대로) 또 다른 일반적인 원인은 ORACLE_SID가 레지스트리에 정의되어 있지 않기 때문입니다. 레지스트리를 편집하거나 CMD 상자에 ORACLE_SID를 설정하십시오. (sqlplusw.exe를 실행하려면 레지스트리를 편집하는 것이 좋습니다.)


많이 검색 한 후 간단한 방법으로 해결할 수 있습니다. 단계를 따르십시오.

  1. 청취자의 상태를 확인하십시오.
    1. 명령 프롬프트를 열고 입력 lsnrctl status
    2. 당신은 청취자가 없을 것입니다.
  2. 이제 listener.ora다음 디렉토리에 있는 파일을 엽니 다 .C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN

    1. 해당 파일을 열고 컴퓨터 이름으로 호스트 매개 변수를 변경하십시오.
    2. 마우스 오른쪽 버튼을 클릭하여 컴퓨터 이름을 얻고 컴퓨터 이름을 My Computer확인하고 다음과 같이 호스트 매개 변수를 컴퓨터 이름으로 바꿀 수 있습니다.

      LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) (ADDRESS = (PROTOCOL = TCP)(HOST = Electron-PC)(PORT = 1521) ) ) )

      여기에서 HOST = Electron-PC내 컴퓨터 이름 인을 볼 수 있습니다 .

    3. listener.ora 파일을 저장하고 다시 cammand propt로 돌아갑니다.

    3. 명령 프롬프트에 다음을 입력하십시오. lsnrctl start

이것은 OracleTNSListner.

작업 관리자의 서비스 탭을 열어 서비스에서 확인할 수 있습니다. 자동으로 시작되지 않으면 시작할 수 있습니다.

이 정도면 오라클에서 다시 작업 할 준비가 된 것입니다.

행운을 빕니다.


I have solved the problem the easy way. My oracle was running just fine in the past. After I installed MS SQL Server was when I noticed this problem. I just uninstalled MS SQL Server on my machine then the problem was gone. Make sure you restart your computer after that. Now I can connect to Oracle database through SQLPlus again. My guess is that there's some conflict between the two. Hope this helps.


Another possible solution that just worked for me...considering I was using my local login as the dba permissions.

Follow the steps to get to Services. Right click on the instance and go to 'Log On'? (might not be the name but it's one of the tabs containing permissions). Change the settings to use LOCAL.


If none the above work, then try this : Modify the LISTENER.ora (mine is found in : oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora) ==> add a custom listener that points to your database(SID), example my SID is XZ0301, so :

## Base XZ03001

SID_LIST_LISTENER_XZ03001=(SID_LIST=(SID_DESC=(ORACLE_HOME =
E:\oracle\product\11.2.0\dbhome_1)(SID_NAME= XZ03001)))

LISTENER_XZ03001=(DESCRIPTION_LIST=(ADDRESS=(PROTOCOL =
TCP)(HOST=MyComputerName)(PORT= 1521)))

DIAG_ADR_ENABLED_LISTENER_XZ03001=ON

ADR_BASE_LISTENER_XZ03001=E:\oracle

Restart your machine

For Windows 7, use the following to modify the LISTENER.ora: - Go to Start > All Programs > Accessories - Right click Notepad and then click Run as Administrator . - File>open and navigate to the tnsnames.ora file. - Make the changes then it should allow you to save


In my case (for OracleExpress) the service was running, but I got this issue when trying to access the database via sqlplus without connection identifier:

sqlplus sys/mypassword as sysdba  

To make it work I needed to add the connection identifier (XE for Oracle Express), so following command worked ok:

sqlplus sys/mypassword@XE as sysdba

If you still get ORA-12560, make sure you can ping the XE service. Use:

tnsping XE

And you should get OK message along with full connection string (tnsping command is located in oracle's installation dir: [oracle express installation dir]\app\oracle\product\11.2.0\server\bin). If you can not ping make sure your tnsnames.ora file is reachable for sqlplus. You might need to set TNS_ADMIN environment variable pointing to your ADMIN directory, where the file is located, for example:

TNS_ADMIN=[oracle express installation dir]\app\oracle\product\11.2.0\server\network\ADMIN

Flow the flowing steps :

  1. Edit your listener.ora and tnsnames.ora file in $Oracle_home\product\11.2.0\client_1\NETWORK\ADMIN location

    a. add listener.ora file

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

    )

ADR_BASE_LISTENER = C: [here c is oralce home directory]

b. add in tnsnames.ora file

    SCHEMADEV =
            (DESCRIPTION =
                     (ADDRESS_LIST =
                     (ADDRESS = (PROTOCOL = TCP)(HOST = dabase_ip)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = SCHEMADEV)
    )
  )
  1. Open command prompt and type
    sqlplus username/passowrd@oracle_connection_alias

Example :
username : your_database_username
password : Your_database_password
oracle_connection_alias : SCHEMADEV for above example.


You need to tell SQLPlus which database you want to log on to. Host String needs to be either a connection string or an alias configured in your TNSNames.ora file.


It really has worked on my machine. But instead of OracleServiceORCL I found OracleServiceXE.


In my case, (ORA-12560: TNS protocol adapter error)Issue cause of database connection issue like database, user name and password.

Once you got the issue. Initially you have to check connection details, after check the oracle service and further more.

I missed some connection details, So only i got TNS protocol adapter error, I will changed the connection details, It would be working fine.


ORA-12560: TNS:erro de adaptador de protocolo

  1. set Environment Variables: ORACLE_BASE, ORACLE_HOME, ORACLE_SID
  2. make sure your user is part of ORACLE_GROUP_NAME (Windows)
  3. make sure the file ORACLE_HOME/network/admin/sqlnet.ora is: SQLNET.AUTHENTICATION_SERVICES = (NTS)
  4. (Windows) Be carefull when you add a new Oracle client: adding a new path to the PATH env. variable can mess things up. The first entry in this variable makes a difference: certify that the sqlplus executable in the ORACLE_HOME (ORACLE_HOME/bin) comes first in the PATH env. variable.

"ORA-12560 : TNS : protocol adapter error"문제가 발생하여 세부 사항에주의를 기울이지 않아 2 시간 동안 검색했습니다. 명령 프롬프트를 열고 다음과 같이했습니다.

C:\Users\Frodo>set oracle_sid=<DB name>

... 거짓말이어야하지만 :

C:\>set oracle_sid=<DB name>

C :> 대신 C : \ Users \ Frodo > 가되어야합니다 . 그게 내 문제였습니다. 그래서 이것은 작동했습니다.

C:\Users\Frodo> cd c:
C:\>set oracle_sid=<DB name>
C:\>exp ........

참조 URL : https://stackoverflow.com/questions/6894558/ora-12560-tnsprotocol-adaptor-error

반응형