Ошибка ora 12560 tns protocol adapter error

enter image description here

I Google[d] for this error ORA-12560: TNS:protocol adaptor error but not able to find the actual reason and how to solve this error ?

Can anyone tell me a perfect solution to solve login problem.

asked Aug 1, 2011 at 5:39

Vishwanath Dalvi's user avatar

Vishwanath DalviVishwanath Dalvi

35.2k41 gold badges122 silver badges154 bronze badges

  1. Go to the windows machine that hosts the Oracle database server
  2. Go to Start -> Run -> Services.msc in Windows.
    Locate OracleService < SID > (here OracleServiceORCL) and click on Start to start the oracle database service (if not already running)
    Services

  3. Once it is up and running, from the command prompt run the following:

    tnsping < tnsalias > 
    

    (tnsalias entry you can find it in tnsnames.ora file)

StackzOfZtuff's user avatar

answered Aug 1, 2011 at 21:06

Bharathi's user avatar

BharathiBharathi

1,5832 gold badges10 silver badges13 bronze badges

6

Seems like database is not up. It might be due to restarting machine and the instance is not set to autostart and it so not started munually after starting from services Screen.

Just goto Command prompt

  1. Set Oracle SID
    C:>set oracle_sid=ORCL

  2. Now run Net start command.
    C:>net start oracleserviceORCL

answered Dec 6, 2012 at 6:32

Yasir Ahmed's user avatar

Yasir AhmedYasir Ahmed

2993 silver badges2 bronze badges

2

from command console, if you get this error you can avoid it by typing

c:> sqlplus /nolog

then you can connect

SQL> conn user/pass @host:port/service

maruf's user avatar

maruf

5893 gold badges6 silver badges22 bronze badges

answered Feb 26, 2016 at 17:27

demian's user avatar

demiandemian

6027 silver badges14 bronze badges

Add to the enviroment vars the following varibale and value to identify the place of the tnsnames.ora file:

TNS_ADMIN

C:oracleproduct10.2.0client_1networkadmin

answered May 14, 2013 at 14:33

user2382157's user avatar

1

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]apporacleproduct11.2.0serverbin). 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]apporacleproduct11.2.0servernetworkADMIN

answered Mar 14, 2017 at 14:09

walkeros's user avatar

walkeroswalkeros

4,6784 gold badges34 silver badges46 bronze badges

After searching alot got a simple way to solve it.
Just follow the steps.

  1. Check status of your listener.
    1. open command prompt and type lsnrctl status
    2. You will get no listener.
  2. Now open listener.ora file which is present in following directory: C:oraclexeapporacleproduct11.2.0servernetworkADMIN

    1. Open that file and change the host parameter with you computer name
    2. You can get your computer name by right click on My Computer and check you computer name, and replace host parameter with your computer name as follows:

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

      So here you can observe HOST = Electron-PC, which is my computer name.

    3. Save the listener.ora file and again return to cammand propt

    3.Type the following in command prompt lsnrctl start

This will start the OracleTNSListner.

you can check it in the service by opening services tab of Task Manager. if not started automatically you can start it.

Just this much and you are ready to work again on oracle.

Best of Luck.

Ori Lentz's user avatar

Ori Lentz

3,6586 gold badges22 silver badges28 bronze badges

answered Jan 19, 2016 at 6:56

Mrinmoy's user avatar

MrinmoyMrinmoy

1,3702 gold badges18 silver badges28 bronze badges

1

Quite often this means that the listener hasn’t started. Check the Services panel.

On Windows (as you are) another common cause is that the ORACLE_SID is not defined in the registry. Either edit the registry or set the ORACLE_SID in a CMD box. (Because you want to run sqlplusw.exe I suggest you edit the registry.)

answered Aug 1, 2011 at 10:15

APC's user avatar

APCAPC

143k19 gold badges168 silver badges281 bronze badges

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.

answered Aug 22, 2013 at 5:19

BigData's user avatar

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.

answered Jul 15, 2016 at 14:01

ClickerTweeker's user avatar

0

If none the above work, then try this :
Modify the LISTENER.ora (mine is found in : oracleproduct11.2.0dbhome_1NETWORKADMINlistener.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:oracleproduct11.2.0dbhome_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

Giuseppe Garassino's user avatar

answered Sep 22, 2013 at 16:20

user2129206's user avatar

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

answered Oct 6, 2013 at 7:03

Flow the flowing steps :

  1. Edit your listener.ora and tnsnames.ora file in
    $Oracle_homeproduct11.2.0client_1NETWORKADMIN 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.

answered May 22, 2017 at 9:02

Md. Kamruzzaman's user avatar

Just to add up, follow the screenshot and choose local account to start if not selected. Then start the service.

enter image description here

answered Jul 31, 2020 at 6:12

Vaibs's user avatar

VaibsVaibs

2,00822 silver badges29 bronze badges

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.

answered Aug 1, 2011 at 5:46

Andrew Cooper's user avatar

Andrew CooperAndrew Cooper

32.1k5 gold badges80 silver badges116 bronze badges

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.

answered Sep 25, 2017 at 17:24

Eliandro's user avatar

I try 2 option:

  1. You change service OracleService in Service Tab -> Running
  2. Login with cmd command: sqlplus user_name/pass_word@orcl12C
    Note: orcle12c -> name of OracleService name run in you laptop

answered Oct 19, 2020 at 6:58

ManhKM's user avatar

Below fixes can be applied to resolve TNS 12560 error

  1. Get Latest patch for SQL*NET client software
  2. Set $ORACLE_HOME and $PATH variable (should be accessible for System user)
  3. Check permissions on PC client
  4. Check $TNS_ADMIN variable
  5. Check if network has firewall or antivirus issues
  6. Check if windows services Run >> Services.msc has OracleXE or OracleORCL service running
    Check below link in case of net tracing error:

http://dba-oracle.com/t_sql_net_tracing.htm

C. Peck's user avatar

C. Peck

3,6213 gold badges18 silver badges36 bronze badges

answered May 24, 2021 at 17:41

Saurabh Deshmukh's user avatar

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.

answered Feb 13, 2017 at 12:27

muthukumar's user avatar

muthukumarmuthukumar

1481 silver badge10 bronze badges

In this post, I’ll talk about several error patterns of ORA-12560 on Windows platform.

  1. Database service is stop (SYSDBA)
  2. Listener service is stop (Normal Users)
  3. Incorrect ORACLE_SID
  4. Reach limitation of PROCESSES
  5. Database 10g, 11gR1 Creation

Database Service is Stop (SYSDBA)

When we tried to connect to the database via SYSDBA, we got ORA-12560.

C:UsersAdministrator>sqlplus / as sysdba
...
ERROR:
ORA-12560: TNS:protocol adapter error

Enter user-name:

This is because the database service is stopped by someone or something, you need to start or restart to get the service working. This is the most common problem of ORA-12560.

Datapatch

If you saw the error in datapatch (i.e. SQL patching) after issuing datapatch -verbose like this:

C:UsersAdministrator>datapatch -verbose
...
Connecting to database...
Error: prereq checks failed!
Database connect failed with: ORA-12560: TNS:protocol adapter error (DBD ERROR: OCIServerAttach)
...

Then you know what to do it to solve it.

Listener Service is Stop (Normal Users)

For those who are not SYSDBA, they need to connect to the database through the listener. If the listener service is stop, they have no way to connect to the database, even though the database is running.

So the solution is clear, just startup the listener service.

Incorrect ORACLE_SID

First of all, allow me reproduce the error ORA-12560 for you.

Check the instance name and current status.

C:UsersAdministrator>sqlplus / as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on Thu Oct 24 20:31:22 2019

Copyright (c) 1982, 2016, Oracle.  All rights reserved.

Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

SQL> select instance_name, status from v$instance;

INSTANCE_NAME    STATUS
---------------- ------------
erpapp           OPEN

SQL> exit
Disconnected from Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64
bit Production

As you can see, I connect the database with OS authentication without problem.

Now I set a non-existing ORACLE_SID.

C:UsersAdministrator>set ORACLE_SID=ERPAPP2
C:UsersAdministrator>echo %ORACLE_SID%
ERPAPP2

Then connect again.

C:UsersAdministrator>sqlplus / as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on Thu Oct 24 20:32:36 2019

Copyright (c) 1982, 2016, Oracle.  All rights reserved.

ERROR:
ORA-12560: TNS:protocol adapter error

Enter user-name: ^C

Oh, I got ORA-12560. The response to an unrecognized ORACLE_SID is very different in Windows from Linux. In Linux, it still connect for you, but show «Connected to an idle instance».

In such situation, you’d better to check ORACLE_SID in software registry editor.

C:UsersAdministrator>regedit

Windows Regedit - Oracle Software - Check "ORACLE_SID"

Windows Regedit — Oracle Software — Check «ORACLE_SID»

In this case, we should set the correct ORACLE_SID in registry or set it temporarily for your working environment like this:

C:UsersAdministrator>set ORACLE_SID=ERPAPP
C:UsersAdministrator>echo %ORACLE_SID%
ERPAPP

Reach Limitation of PROCESSES

Found repeated Oracle TNS error messages in listener log during peak-hours on Windows Server 2008.

...
19-Oct-2010 05:32:10 * (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ORCL11)(CID=(PROGRAM=C:ap001client.exe)(HOST=WIN3451)(USER=EDCHEN))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.1.2.3)(PORT=49874)) * establish * ORCL11 * 12518
TNS-12518: TNS:listener could not hand off client connection
ORA-12560: TNS:protocol adapter error
...

The error pattern combined with TNS-12518 and ORA-12560, and it repeated itself until some point off the peak.

I think restarting the database should work, but it should also cost your time or credits to explain the inconvenience to your users.

I suspect that PMON was not responsive enough to reclaim the timeout or dead processes and let the whole database reach the maximum number of processes, and eventually, no more new connections will be allowed.

If you are not convenient to patch the database. Here are two alternatives that you may choose:

  1. Raise the maximum number of processes online:
  2. SQL> alter system set processes=3000 scope=both;

    System altered.

    The whole concept of this tactic is to make the database survive through the daily peak-hours and let PMON can take its time to reclaim the unused processes.

  3. Force all users to connect the database through shared server mode, except DBA. For example:
  4. SQL> alter system set shared_servers = 200 scope=both;

    System altered.

    SQL> alter system set dispatchers='(address=(protocol=tcp)(PORT=1521)) (dispatchers=20)(sessions=1000)' scope=both;

    System altered.

    In the above statement, we force all connections coming from port 1521 to use dispatchers (shared server mode). DBA and specific users can use other port like 1522 to connect as dedicated mode to finish their jobs. At the beginning, users might feel that the speed of responses of database is slightly affected. I think it’s a trade-off that you must think over before making the decision.

    Since the shared server processes will be soon allocated in the server when the database startup, the number of processes can be easily controlled by DBA. For more shared server configuration, you can refer to Oracle documentation: Configuring Oracle Database for Shared Server.

Database 10g, 11gR1 Creation

For Windows Server 2008 with AD controller installed, you might see that DBCA failed with ORA-12560 at around 2% completion of database creation.

Let’s see the database creation log of DBCA.

[Thread-15] [18:26:52:256] [BasicStep.execute:202]  Executing Step : CLONE_DB_CREATION_RMAN_RESTORE
[Thread-15] [18:26:52:256] [StepErrorHandler.setFatalErrors:322]  setting Fatal Error: ORA-01092
[Thread-15] [18:26:52:256] [StepErrorHandler.setFatalErrors:322]  setting Fatal Error: ORA-01034
[Thread-15] [18:26:52:256] [StepErrorHandler.setFatalErrors:322]  setting Fatal Error: ORA-03114
[Thread-15] [18:26:52:256] [StepErrorHandler.setFatalErrors:322]  setting Fatal Error: ORA-12560

To fix the problem, you may consider to uninstall AD, then install Oracle database. After the database has been created, get AD back.

Alternatively, you may patch 11.1.0.7 to patch 14.


How do we solve ORA-12560 Error? How to solve TNS Protocol Adapter Error? Tips and Tricks to resolve ORA-12560 TNS Error in Oracle Database

This is a most common and disturbing error which is faced my most of the Oracle users while connecting to the database. Even I also had faced it many times. So what I am going to share here is the method which I use to fix this problem.

ORA-12560 comes when you are making a connection to the database and somehow it is not able to connect. At that time, it simply throws TNS Protocol Adapter Error. The reason can be one of the following:

1. Listener is not active.

2. Third Party Software.

3. Problem with the tnsnames.ora file.

1. Listener is not active

This may be a case when you might haven’t noticed that your listener process is not working and you are trying to make a connection with the database. At that time, ORA-12560 error will be thrown.

Solution:

  • Simply press Windows + R
  • Type services.msc and press enter

Look for listener process in the services list and check whether it is running or not. If it’s not running, press right click button and start the process.

After you have started the listener service, you are allowed to make a connection with the database.

2. Third Party Software

This problem is also very common with the different Oracle users who use third party software to make a connection with the database. For example, prior to Oracle 11g database, we have to install PL/SQL Developer manually which was externally added to the system. Now sometimes ORA-12560 error problem also comes with this tool.

Solution:

Third Party Tools sometimes aren’t able to get the connection string by their own. So we have to check the preference setting in these tools and fix the problem in case if it is required.

Just go to Preference -> Connection and set the path there. You’ll solve the connection problem.

3. Problem with the tnsnames.ora file

To connect to a database, you have to configure tnsname.ora file. At the time of default database creation, configuration is automatically added to the tnsnames.ora file. But in case if you want to connect to some other database on the network, you have to manually insert the settings in the tnsnames.ora file which includes the insertion of new IP and Port.

Tnsnames.ora file looks something like this:

Solution:

There may be a case where your database name and the other database name (which is on some other machine) are same. In that case, you have to manually give them different names so that you can differentiate between them. Like in the above image «DEMON» is the database name given for the local connectivity. I can also change it to DEMON1 or DEMON2 or can be any other name but make sure that you are not changing the SERVICE_NAME. By default my Service_Name and the name which I am using for the connectivity are both same. But you can replace «DEMON» with anything you want. Just don’t change the SERVICE_NAME.

There can be different databases with the same service name on a network. All you need to do is, provide a different name to this connection like mine is DEMON.

4. Making TNS_ADMIN Entry in Environment Variables.

In case you have multiple Oracle Environments (Oracle Softwares) installed on your system, there are chances that the Environment is unaware of the TNS_ADMIN directory it needs to use. To resolve the same, add the entry of TNS_ADMIN in the System Environment Variables on your system. Below mentioned are the demos of TNS_ADMIN paths, 

%ORACLE_HOME%networkadmin

$ORACLE_HOME/network/admin

I hope this helps !!

16 ответов

  • Перейдите на машину Windows, на которой размещен сервер базы данных Oracle.
  • Перейдите в Пуск → Выполнить → Службы .msc в окнах. Найти OracleService
    (здесь OracleServiceORCL) и нажмите «Начать», чтобы запустить службу базы данных oracle (если она еще не запущена).
  • После запуска и запуска из командной строки выполните следующее:

    tnsping <tnsalias>

(запись tnsalias вы можете найти в файле tnsnames.ora)

Изображение 7158

Bharathi
01 авг. 2011, в 22:26

Поделиться

Кажется, что база данных не работает. Возможно, это связано с перезагрузкой машины, и экземпляр не настроен на автозапуск, и поэтому он не запускается вручную после запуска с экрана служб.

Просто перейдите в командную строку

  • Установить Oracle SID
    C: > set oracle_sid = ORCL

  • Теперь запустите команду Net start.
    C: > net start oracleserviceORCL

Yasir Ahmed
06 дек. 2012, в 08:14

Поделиться

Добавьте в среду vars следующую переменную и значение, чтобы определить место файла tnsnames.ora:

TNS_ADMIN

C:оракулпродукт10.2.0client_1сетьадмин

user2382157
14 май 2013, в 16:17

Поделиться

из командной консоли, если вы получите эту ошибку, вы можете избежать ее, набрав
sqlplus/nolog

то вы можете подключиться
conn user/pass @host: порт/сервис

demian
26 фев. 2016, в 18:37

Поделиться

Довольно часто это означает, что слушатель не запустился. Проверьте панель «Службы».

В Windows (как и вы) еще одна распространенная причина заключается в том, что ORACLE_SID не определен в реестре. Либо отредактируйте реестр, либо установите ORACLE_SID в поле CMD. (Поскольку вы хотите запустить sqlplusw.exe, я предлагаю вам отредактировать реестр.)

APC
01 авг. 2011, в 11:09

Поделиться

После поиска у него есть простой способ его решить.
Просто выполните следующие действия.

  • Проверить статус вашего слушателя.
    • откройте командную строку и введите lsnrctl status
    • Вы не получите слушателя.
  • Теперь откройте файл listener.ora, который присутствует в следующем каталоге: C:oraclexeapporacleproduct11.2.0servernetworkADMIN

    • Откройте этот файл и измените параметр узла с именем компьютера
    • Вы можете получить имя своего компьютера, щелкнув правой кнопкой мыши по My Computer и проверить имя компьютера и заменить параметр узла именем компьютера следующим образом:

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

      Итак, здесь вы можете наблюдать HOST = Electron-PC, который является моим именем компьютера.

    • Сохраните файл listener.ora и снова вернитесь к поддержке cammand

    3. Введите в командной строке следующее lsnrctl start

Это запустит OracleTNSListner.

вы можете проверить его в службе, открыв вкладку служб диспетчера задач. если он не запускается автоматически, вы можете запустить его.

Просто так много, и вы готовы снова работать на оракуле.

Лучшее счастье.

Mrinmoy
19 янв. 2016, в 07:32

Поделиться

Я решил проблему простым способом. В прошлом мой оракул работал отлично. После установки MS SQL Server я заметил эту проблему. Я просто удалил MS SQL Server на своей машине, тогда проблема исчезла. После этого перезагрузите компьютер. Теперь я могу снова подключиться к базе данных Oracle через SQLPlus. Я предполагаю, что между ними есть конфликт. Надеюсь, это поможет.

BigData
22 авг. 2013, в 07:01

Поделиться

Еще одно возможное решение, которое просто сработало для меня… учитывая, что я использовал свой локальный логин в качестве разрешений dba.

Следуйте инструкциям, чтобы добраться до Сервисов. Щелкните правой кнопкой мыши на экземпляре и перейдите в раздел «Вход в систему»? (возможно, это не имя, а одно из вкладок, содержащих разрешения). Измените настройки, чтобы использовать LOCAL.

ClickerTweeker
15 июль 2016, в 15:46

Поделиться

Если это не работает, попробуйте следующее:
Измените LISTENER.ora (мой найден в: oracleproduct11.2.0dbhome_1NETWORKADMINlistener.ora) == > добавьте пользовательский прослушиватель, который указывает на вашу базу данных (SID), например, мой SID — XZ0301, поэтому:

## Base XZ03001

SID_LIST_LISTENER_XZ03001=(SID_LIST=(SID_DESC=(ORACLE_HOME =
E:oracleproduct11.2.0dbhome_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

Перезагрузите компьютер

Для Windows 7 для изменения LISTENER.ora выполните следующие действия:
 — Перейдите в меню «Пуск» > «Все программы» > «Аксессуары»
 — Щелкните правой кнопкой мыши «Блокнот» и выберите «Запуск от имени администратора».
 — Файл > открыть и перейти к файлу tnsnames.ora.
 — Внесите изменения, после чего он позволит вам сохранить

user2129206
22 сен. 2013, в 18:04

Поделиться

ORA-12560: TNS: протокол защиты протокола

  • установить переменные среды: ORACLE_BASE, ORACLE_HOME, ORACLE_SID
  • убедитесь, что ваш пользователь является частью ORACLE_GROUP_NAME (Windows)
  • убедитесь, что файл ORACLE_HOME/network/admin/sqlnet.ora:
    SQLNET.AUTHENTICATION_SERVICES = (NTS)
  • (Windows) Будьте внимательны при добавлении нового клиента Oracle: добавление нового пути в PATH env. переменная может испортить вещи. Первая запись в этой переменной делает разницу: удостоверьтесь, что исполняемый файл sqlplus в ORACLE_HOME (ORACLE_HOME/bin) сначала входит в PATH env. переменная.

Eliandro
25 сен. 2017, в 19:05

Поделиться

Поток текущих шагов:

  • Измените файл listener.ora и tnsnames.ora в
    $ Oracle_homeproduct11.2.0client_1NETWORKADMIN location

    а. добавить файл listener.ora

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

    )

ADR_BASE_LISTENER = C: [здесь c является домашним каталогом оргцов]

б. добавить файл tnsnames.ora

    SCHEMADEV =
            (DESCRIPTION =
                     (ADDRESS_LIST =
                     (ADDRESS = (PROTOCOL = TCP)(HOST = dabase_ip)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = SCHEMADEV)
    )
  )
  1. Откройте командную строку и введите
    Имя пользователя sqlplus/passowrd @oracle_connection_alias

Пример:
имя пользователя: your_database_username
        пароль: Your_database_password
        oracle_connection_alias: SCHEMADEV для приведенного выше примера.

Md. Kamruzzaman
22 май 2017, в 10:36

Поделиться

В моем случае (для OracleExpress) служба выполнялась, но я получил эту проблему при попытке получить доступ к базе данных через sqlplus без идентификатора соединения:

sqlplus sys/mypassword as sysdba  

Чтобы сделать его работу, мне нужно было добавить идентификатор соединения (XE для Oracle Express), поэтому следующая команда работала нормально:

sqlplus sys/[email protected] as sysdba

Если вы все еще получаете ORA-12560, убедитесь, что вы можете выполнить команду XE. Использование:

tnsping XE

И вы должны получить сообщение OK вместе с полной строкой соединения (команда tnsping находится в каталоге установки oracle: [oracle express install dir]apporacleproduct11.2.0serverbin). Если вы не можете выполнить ping, убедитесь, что ваш файл tnsnames.ora доступен для sqlplus. Возможно, вам потребуется установить переменную среды TNS_ADMIN, указывающую на ваш каталог ADMIN, где находится файл, например:

TNS_ADMIN=[oracle express installation dir]apporacleproduct11.2.0servernetworkADMIN

walkeros
14 март 2017, в 14:47

Поделиться

В моем случае (ORA-12560: ошибка адаптера протокола TNS) Проблема Причина проблемы с подключением к базе данных, например, базы данных, имени пользователя и пароля.

Как только у вас возникла проблема. Первоначально вам нужно проверить сведения о подключении, после проверки службы oracle и далее.

Я пропустил некоторые детали подключения, поэтому только я получил ошибку адаптера протокола TNS,
Я изменил детали соединения, он будет работать нормально.

muthukumar
13 фев. 2017, в 13:50

Поделиться

Это действительно сработало на моей машине. Но вместо OracleServiceORCL я нашел OracleServiceXE.

user2851218
06 окт. 2013, в 08:01

Поделиться

Вам нужно указать SQLPlus, к какой базе данных вы хотите войти. Строка хоста должна быть либо строкой соединения, либо псевдонимом, настроенным в вашем файле TNSNames.ora.

Andrew Cooper
01 авг. 2011, в 05:55

Поделиться

Ещё вопросы

  • 0C ++, как объединить, объединить, пересечь два объекта Vector в новый третий объект?
  • 0Отметка времени одного часа
  • 1Понимание поведения тензорного потока при извлечении данных из двух разных источников данных с помощью набора данных API
  • 1Как добавить аннотации Java в JNI SWIG API?
  • 1Хранение файлов на некоторых SD-картах в Windows Phone 8.1
  • 1Обобщения: «Синтаксическая ошибка на токене» расширяется «, ожидается»
  • 0Запутанная таблица CSS
  • 1tf.maximum не возвращает ожидаемый результат (новичок)
  • 0Проблемы с чтением / выводом файлов
  • 1Как вы используете поля ввода tkinter для создания переменной?
  • 1Расположение флажка в checkboxtableviewer по горизонтали в eclipse e4
  • 0Формат IP-адреса в HTML
  • 0erreur: не удалось преобразовать ‘Cell <int> *’ в ‘List <int> *’ в назначении
  • 1Mastercard Обходной путь для сторонних cookie-файлов отключенных пользователей
  • 0Переставить номер строки в динамическом виде
  • 0установите флажок, нажав на ссылку в angularJs
  • 1Дата не может быть разрешена для типа
  • 1Получение ошибок «index: 0» и «size: 0» из ArrayList.size ()
  • 0Div сосредоточен в другом div
  • 0Как взять содержимое из текстового поля и поместить его в переменную и div в JavaScript
  • 0Поиск данных в массиве, векторе, на карте и в списке
  • 0Как мне иметь более одной переменной?
  • 0Запустите JavaScript на Btn, но не контейнер
  • 1MediaPlayer проблема с Android
  • 0Считать значения списка радиокнопок
  • 0Отладка сортировки слиянием
  • 0CodeIgniter Войти через Google OpenID
  • 1Могу ли я отформатировать тип данных TIME на JavaDB?
  • 1Как смоделировать RestTemplate метод getForObject, используя jmockit?
  • 0Сайт учебник, написанный на html / js?
  • 1Как напечатать отчет Джаспер без предварительного просмотра в Java
  • 0Java (или Android) версия установки отдельных частей Mat в OpenCV
  • 1Передача значений из представления в качестве входных значений для формирования в ASP.NET MVC
  • 1Как создать операцию между числами?
  • 0Не удается подключиться к MySQL с помощью Spring в Docker
  • 0Jquery переключения. Аналогичный пример
  • 1Android загружает значения из файла строк по умолчанию (strings.xml) после изменения локали во второй раз
  • 0Как обновить один из столбцов таблицы, который в основном имеет год, мне просто нужно пошаговое обновление
  • 0PHP извлекает две строки, но загружает файл только из последней строки
  • 0Удалить дубликаты комбинаций в MySQL
  • 0Получение contact.id после сохранения контактного плагина Cordova
  • 0ASP.net устанавливает курсор и меняет фокус на кнопку ввода
  • 0Редактирование ссылки на переданный аргумент не обновляет модель
  • 0Доступ к значению последней строки таблицы из поля ввода javascript, Jquery
  • 0Невозможно получить доступ к элементу из класса сортировки c ++
  • 0Угловой ui.grid. Перемещение строк между двумя сетками
  • 1Расширение двух базовых классов в C # альтернатива
  • 0Как форматировать числа с помощью регулярных выражений и PHP
  • 0Jquery замораживание на шоу ()
  • 2Изменить размер текста на positveButtonText в диалоговом окне EditTextPreference

Connecting the QlikView Directory Service connector using OLDBC or OLEDB shows the following error:

ORA-12560:TNS:protocol adapter error, Oracle classify this as a ‘generic protocol adapter error 

This indicates that Oracle client does not know what instance to connect to or what TNS alias to use.

User-added image

 Cause:

Oracle classify this as a ‘generic protocol adapter error’.  it indicates that Oracle client does not know what instance to connect to or what TNS alias to use.

  • Oracle client is not installed on Qlik product server
  • Oracle Listener or database is not up
  • TNSNAMES.ora has a problem
  • Connection between Oracle client and server has problem (TCP/IP or network side)
  • ORCL 2019.3: the SQLNET.ora has AUTHENTICATION set to TNS. Changing it to (NONE) may help with starting the Listener. 

Resolution:

This error is being shown by Oracle and as of such, we recommend contacting the Oracle administrator.

Previous cases related to the issue have been resolved following these troubleshooting steps:

Check the listener status:

Go to a command prompt on the Oracle database server and run

C:>  lsnrctl status

Verify that the tnsnames entry is correct:

Go to a command prompt on the Qlik Product server and run

C:> tnsping INSTANCENAME

Check the connection between Oracle client and database server:

Go to a command prompt on the Qlik Product server and run

C:Document and settingsORANGE> cd
C:> set oracle_sid=<DB name>

e.g   C:> set oracle_sid=<rajesh> {press enter}
      C:> sqlplus /nolog {press enter}
sql:>connect sys/sys as sysdba {press enter} it cant ask for password directly connected
    or
sql:>connect sys as sysdba {press enter}
password : sys {press enter}
sql:> connected
       or
sql:> connect scott {press enter}
Enter password :tiger {press enter}
sql:> connected
     or
sql:> connect system {press enter}
Enter password :manager {press enter}
sql:> connected

Понравилась статья? Поделить с друзьями:
  • Ошибка ora 12557
  • Ошибка ora 01036
  • Ошибка ora 01013
  • Ошибка ora 01002
  • Ошибка ora 00980