Ora 12560 tns protocol adapter error sqlplus windows

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.

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

34.8k41 gold badges122 silver badges153 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,5232 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

5593 gold badges6 silver badges22 bronze badges

answered Feb 26, 2016 at 17:27

demian's user avatar

demiandemian

5926 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,5804 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 badges21 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 badges172 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

1,97822 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

32k5 gold badges79 silver badges115 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,5663 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 3 error patterns of ORA-12560 on Windows platform.

  1. Database service is stop
  2. Incorrect ORACLE_SID
  3. Reach limitation of PROCESSES

A. Database Service is Stop

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 database 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.

B. 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, then try again.

C. 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.

Skip to content

This could be known and primitive to many people, however i am putting it to help the community in general from different technical-levels.

when you initiate sqlplus and trying to connect to your database instance you face the following error:

ORA-12560: TNS:protocol adapter error

if you are using windows OS, you need to check the following:

  1. check that the database services is up and running, go to the search icon and search for “services” and ensure all Oracle services are up and running.
  2.   if Oracle database is up and running fine, then check your environment variables in  CMD, you need to set the following:

set ORACLE_HOME=D:appdb33product12.1.0dbhome_33

set ORACLE_SID= ORACLE33

set PATH=D:appdb33product12.1.0dbhome_33bin

to check that its reflected, execute the following to verify the value of ORACLE_HOME:

echo %ORACLE_HOME%

windows cmd oracle environment variables

now try initiating sqlplus and it will be working 🙂

I installed 11g on Centos VM on my mac.I have everything up and working on server.I have included following command I ran on cenos.

$lsnrctl status

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 23-JUN-2014 14:49:41

Copyright (c) 1991, 2009, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=hayer)(PORT=1522)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date                23-JUN-2014 14:03:58
Uptime                    0 days 0 hr. 45 min. 42 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/hayer/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=hayer)(PORT=1522)))
Services Summary...
Service "orcl" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully

My tnsnames.ora file is as follows:

# tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

LISTENER_ORCL =
  (ADDRESS = (PROTOCOL = TCP)(HOST = hayer)(PORT = 1522))


ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = hayer)(PORT = 1522))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
      (SID = orcl)
    )
  )

~                                                                               
~                                                                               
~                                                                               
~   

On Centos server I can log in using sqlplus too. I changed tnsnames.ora on windows to same as server.I have added oracle host information in windows host file and I can ping oracle host and telnet host on port 1522.

I have disables service iptables so no type of firewall exists on centos.

But I still get following error on Windows client:

SQL*Plus: Release 11.2.0.1.0 Production on Mon Jun 23 14:51:31 2014

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

Enter user-name: system as sysdba
Enter password:
ERROR:
ORA-12560: TNS:protocol adapter error


Enter user-name: system as sysdba
Enter password:
ERROR:
ORA-12560: TNS:protocol adapter error


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 !!

Кибернетик

465 / 89 / 12

Регистрация: 10.04.2009

Сообщений: 424

1

01.07.2011, 13:14. Показов 33261. Ответов 21


Привет всем.

ввожу

sqlplus user/pass@name_bd

получаю

SQL*Plus: Release 11.2.0.2.0 Production on Пт Июл 1 11:17:26 2011

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

Введите имя пользователя: Введите пароль: ERROR:
ORA-12560: TNS:ошибка адаптера протокола

мой tnsnames.ora

name_bd=
DESCRIPTION =
ADDRESS_LIST =
ADDRESS = PROTOCOL = TCP HOST = 192.168.0.тыц PORT = 1521

CONNECT_DATA = SERVICE_NAME = name_bd

я чего то важного не понимаю, да?



0



Модератор

4188 / 3028 / 576

Регистрация: 21.01.2011

Сообщений: 13,104

01.07.2011, 13:43

2

12560 — это ошибка, возникающая во многих случаях, начиная от firewall на сервере и кончая просто не открытой БД.
Кстати у тебя в tnsnames.ora нет скобок, как ты изобразил???



1



Кибернетик

465 / 89 / 12

Регистрация: 10.04.2009

Сообщений: 424

01.07.2011, 14:32

 [ТС]

3

Цитата
Сообщение от Grossmeister
Посмотреть сообщение

12560 — это ошибка, возникающая во многих случаях, начиная от firewall на сервере и кончая просто не открытой БД.
Кстати у тебя в tnsnames.ora нет скобок, как ты изобразил???

да, я их убрал. читал по разным форумам говорят лучше убрать.
БД открывается на другом компе в локалке.. это у меня траблы.
вот tnsnames.ora с рабочего компа:

# TNSNAMES.ORA Network Configuration File: D:oracleora81networkadmintnsnames.ora
# Generated by Oracle configuration tools.

name_bd=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = name_bd)
)
)



0



Кибернетик

465 / 89 / 12

Регистрация: 10.04.2009

Сообщений: 424

01.07.2011, 14:37

 [ТС]

4

вот как сейчас

пишу так (bd не на моем компе)

Миниатюры

[sqlplus] как убить ORA-12560
 



0



Модератор

4188 / 3028 / 576

Регистрация: 21.01.2011

Сообщений: 13,104

01.07.2011, 14:39

5

Цитата
Сообщение от СyberSpec

да, я их убрал. читал по разным форумам говорят лучше убрать.

Не знаю, где ты такое читал. Скобки — обязательный элемент формата. Если плохо знаешь формат — правь не руками, а с пом. Net Manager (этой GUI такое)



1



Кибернетик

465 / 89 / 12

Регистрация: 10.04.2009

Сообщений: 424

01.07.2011, 14:40

 [ТС]

6

Цитата
Сообщение от Grossmeister
Посмотреть сообщение

Не знаю, где ты такое читал. Скобки — обязательный элемент формата. Если плохо знаешь формат — правь не руками, а с пом. Net Manager (этой GUI такое)

если исправляю, тоже что на скрине в моем посте((
исправил..



0



Модератор

4188 / 3028 / 576

Регистрация: 21.01.2011

Сообщений: 13,104

01.07.2011, 14:43

7

Цитата
Сообщение от СyberSpec

вот как сейчас

пишу так (bd не на моем компе)

Покажи исправленный tnsnames.ora, sqlnet.ora и listener.ora с сервера.
Кстати, разрешение имен можно проверять с пом. утилиты tnsping



1



Кибернетик

465 / 89 / 12

Регистрация: 10.04.2009

Сообщений: 424

01.07.2011, 14:50

 [ТС]

8

Цитата
Сообщение от Grossmeister
Посмотреть сообщение

Покажи исправленный tnsnames.ora, sqlnet.ora и listener.ora с сервера.

я жутко извиняюсь но сейчас нет возможности этого сделать.
а что tnsnames.ora не на моем локальном должен быть? или и там и там?



0



Модератор

4188 / 3028 / 576

Регистрация: 21.01.2011

Сообщений: 13,104

01.07.2011, 14:54

9

tnsnames.ora и sqlnet.ora — это клиентские файлы (при определенных обстоятельствах могут быть и на сервере, но сейчас нас это не интересует). А в listener.ora прописаны сервисы, которые этот listener обслуживает (хотя может использоваться и динамическая регистрация). Это нужно для того, чтобы проверить правильность прописанного в tnsnames.ora SERVICE_NAME



1



Кибернетик

465 / 89 / 12

Регистрация: 10.04.2009

Сообщений: 424

01.07.2011, 15:00

 [ТС]

10

вот мой sqlnet.ora

# SQLNET.ORA Network Configuration File: C:oracleora81networkadminsqlnet.ora
# Generated by Oracle configuration tools.

SQLNET.AUTHENTICATION_SERVICES= (NTS)

NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)



0



105 / 75 / 0

Регистрация: 29.06.2009

Сообщений: 328

01.07.2011, 15:11

11

попробуйте sqlplus xxx/yyy@NAME_BD



1



Кибернетик

465 / 89 / 12

Регистрация: 10.04.2009

Сообщений: 424

01.07.2011, 15:28

 [ТС]

12

Цитата
Сообщение от Laba
Посмотреть сообщение

попробуйте sqlplus xxx/yyy@NAME_BD

попробовал приложил скрин
2 Grossmeister

Кстати, разрешение имен можно проверять с пом. утилиты tnsping

тоже скрин прицепил

tnsping нормально отработал как я понял. что нам это дает?

Миниатюры

[sqlplus] как убить ORA-12560
 

[sqlplus] как убить ORA-12560
 



0



Кибернетик

465 / 89 / 12

Регистрация: 10.04.2009

Сообщений: 424

01.07.2011, 15:40

 [ТС]

13

В аксесе тоже ошибка 12154

Миниатюры

[sqlplus] как убить ORA-12560
 



0



Модератор

4188 / 3028 / 576

Регистрация: 21.01.2011

Сообщений: 13,104

01.07.2011, 15:57

14

Что-то я не понял.
Судя по tnsping, стоит клиент 8. Судя по SQL*Plus, он версии 11.
Это как?



1



Кибернетик

465 / 89 / 12

Регистрация: 10.04.2009

Сообщений: 424

01.07.2011, 16:04

 [ТС]

15

я чего только не устанавливал уже..

Добавлено через 4 минуты
с сайта оракл — Работа над ошибками: ORA-12154

Сообщение об ошибке ORA-12154: TNS: could not resolve service name. Ошибка ORA-12154 является очень общей, и всегда связана с вашей локальной копией файла tnsnames.ora, вашей конфигурацией прослушивателя и именами алиаса базы данных.

  • Убедитесь, что ваш прослушиватель прослушивает службу с тем же именем, что используете вы.
  • Ваше имя службы может иметь алиас, проверьте глобальное и локальное имена. Проверьте $ORACLE_HOME/network/admin/tnsnames.ora (в ОС Windows %ORACLE_HOME%networkadmintnsnames.ora).
  • Проверьте настройку глобального имени — параметр global_name.

помогите разобраться плз

по первому и второму пункту все ок. я проверил tnsping’ом так?
по третьему тоже должно быть ок, ведь файл tnsnames.ora с машины с рабочей конфигурацией tnsnames.ora, так?



0



Модератор

4188 / 3028 / 576

Регистрация: 21.01.2011

Сообщений: 13,104

01.07.2011, 16:10

16

Если в одном директории стоит смесь из разных клиентов, то здесь может быть все что угодно. Судя по tnsping, разрешение имен проходит нормально (т.е. он нашел listener), поэтому и SQL*Plus должен коннектится, но если он другой версии, то…
Еще вопрос. На компе один ORACLE_HOME или несколько?

Добавлено через 2 минуты

Цитата
Сообщение от СyberSpec
Посмотреть сообщение

по третьему тоже должно быть ок, ведь файл tnsnames.ora с машины с рабочей конфигурацией tnsnames.ora, так?

п. 3 относится к dblink, т.е. когда один сервер коннектится к другому, поэтому это не наш случай



0



Кибернетик

465 / 89 / 12

Регистрация: 10.04.2009

Сообщений: 424

01.07.2011, 16:16

 [ТС]

17

какбы вот

Миниатюры

[sqlplus] как убить ORA-12560
 



0



105 / 75 / 0

Регистрация: 29.06.2009

Сообщений: 328

01.07.2011, 16:36

18

наверное так проще будет sqlplus xxx/yyy@реальный-ip-машины-с-ораклом

вообще-то, согласен с Grossmeister, что имеем дело с кашей из клиентов. Если коннект по ip пройдёт то значит на сервере все гуд и кашу следует разгрести — убить одного клиента.

Добавлено через 17 минут
можно ещё удалить всё из tnsnames.ora и в windows host прописать

192.168.0.тыц name_db



1



Модератор

4188 / 3028 / 576

Регистрация: 21.01.2011

Сообщений: 13,104

01.07.2011, 16:40

19

ОК, если у тебя 2 ORACLE_HOME, то вполне возможно, что tnsping берет 1 tnsnames.ora, а SQL*Plus — другой.
Следует либо привести оба tnsnames.ora в соответствие, либо в реестре HKLM/Software/Oracle в каждой папке на ORACLE_HOME создать ключик TNS_ADMIN, в котором указать путь к «образцовому» tnsnames.ora, тогда все будут пользовать 1 файл



1



Кибернетик

465 / 89 / 12

Регистрация: 10.04.2009

Сообщений: 424

04.07.2011, 08:24

 [ТС]

20

Цитата
Сообщение от Grossmeister
Посмотреть сообщение

ОК, если у тебя 2 ORACLE_HOME, то вполне возможно, что tnsping берет 1 tnsnames.ora, а SQL*Plus — другой.
Следует либо привести оба tnsnames.ora в соответствие, либо в реестре HKLM/Software/Oracle в каждой папке на ORACLE_HOME создать ключик TNS_ADMIN, в котором указать путь к «образцовому» tnsnames.ora, тогда все будут пользовать 1 файл

Все именно так как вы сказали. Привел

все

tnsnames.ora в норму и все заработало.

Еще раз спасибо Grossmeister и Laba



0



fix ora-12560 tns protocol adapter error

As we all know that Oracle is free and open business management software that is available for both personal and commercial use. Oracle database uses object-relational database management system that allows to process credit card payments, support and manages customer orders, handles customers, etc.

This networking software does the task of exchange of data between machines using underlying services to establish communication between the components. Establishment of communication happens due to some set of services, these services are known as Transparent Network Substrate (TNS). However, sometimes due to some uncertain reasons, when this service is taken into action, throws an error stated as ‘ORA-12560 TNS Protocol Adapter Error

So, here, in this blog today, I will let you know how to fix ora-12560 tns protocol adapter error in easy ways. But before that, let us have a brief look at the Oracle TNS which throws an error.

About Oracle Transparent Network Substrate (TNS)

Transparent Network Substrate is a service that handles communication with oracle components with its database codes and pre-programmed schema. The acronym TNS occurs in various instances, when you get an error. TNS uses various protocols, which could be TCP/IPDECNETSPX/IPXAppleTalk etc.

All these combination of TNS and the hidden protocols used to help in networking makes the connection establish between components. The Oracle Transparent Network Substrate (TNS) facilitates simple inter-database communication and has an built-in management layer over the standard network topology. But sometimes there may occur some communication error while connecting to the database. And one of the errors is ORA-12560 TNS Protocol Adapter Error which happens whenever there is a problem in accessing a specific server of the database.

ORA-12560 TNS Protocol Adapter Error takes place due to several reasons, but the most common is the server problem.  This problem arises when a user does not specify which database or server was being accessed or there may be incorrect password provided to the database. Instead of giving exact reasons for the connection error, Oracle simply prompts ORA-12560 TNS Protocol Adapter Error. In short, if you want to troubleshoot this error, then you have to ensure the following:

  • Listener is up and pointing to the desired database service
  • Database service is up
  • Oracle variables are configured in a correct manner which includes ORACLE_BASE, ORACLE_HOME, ORACLE_SID, PATH, TNS_ADMIN
  • Cross check the firewall and the network configurations
  • Full access is applicable to ORACLE_HOME including its sub-directories

Ways To Fix ORA-12560 TNS Protocol Adapter Error          

Here are the best ways you can try to fix ORA-12560 TNS Protocol Adapter Error. Try them one by one and see which fix works in your case. Let’s get started with the first solutions…..

Fix #1: Set Correct ORACLE_SID         

If you are running on a server that is running the database (i.e. database is local to machine) then it is important to first make sure that you have set a correct ORACLE_SID. If it is set correctly then it is good and if not then you have to try the below steps:

First of all, go to the command prompt and then run the below command:

  • Set Oracle Database SID as

                 Set oracle_sid=ORCL

  • Next, run Net Start command

                 Net start oracleserviceORCL

Fix #2: Check The Service Name ‘Oracleservice<SID>’ Ties Up With The Actual Database SID

Another method you can try to fix ora-12560 tns protocol adapter error is to check the service name ties up with the actual database SID. If, in any case, database SID changes without recreating service then this can lead this error. In this case, you have to recreate this service by following this step:

oradimxx -delete -sid <old-sid>

oradimxx -new -sid <SID> –intpwd <internal-password> AUTO –pfile <full-init-ora-filename>

Fix #3: Restart The Oracle Service

If the above method doesn’t work, maybe the OracleService for the database is not running. Check for the service, if it is not running then starts the service. If it is running then restart the service. To do so, you have to follow the below steps:

  • First of all, you have to go to Start option.
  • Next, you have to type Run and open it.
  • Now, on the dialogue box, you have to type services.msc and then hit Enter.
  • After this, you have to navigate to find OracleServicesORCL and then select the service and simply click on Start to initiate oracle database server if it’s not already running.
  • After it has been done and running, from the command prompt run the following:

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

Fix #4: Try Oracle File Repair Tool To Fix ORA 12560: TNS: protocol adapter Error

If the above guides are out of your mind and you are perplexed what to do and wonder now how to fix ORA 12560 TNS protocol adapter error then don’t worry. For your rescue, there is a tool named Oracle File Repair Tool which will help you out. This tool doesn’t require any technical knowledge to use the steps.

Steps To Fix ORA 12560 TNS Protocol Adapter Using Tool

Step 1:  Run Oracle File Repair Tool and you would see options to select or search corrupt  Oracle databases in your computer.

Step:2  Click on Scan File to start the scan process after selecting the oracle database. On the left-side pane, recoverable objects get listed.

2

Step 3: Click an object to see its preview.

3

Step 4: : Click Start Repair in the icon bar to start the repair process. A prompt message occurs which will guide you further. Click next and continue.

4

Step 5: Provide user name, password and path of the blank database where you want to save the repaired database objects.

5

Step 6: Repairing and restoring various database objects after establishing a connection with blank oracle database.

6

This way you could fix ORA 12560: TNS protocol adapter error. Hope it helps.

Final Verdict

While using Oracle database if you ever come across and error stated as ‘ora-12560 tns protocol adapter error’ then you have come to the right place. I am saying so because I have already mentioned here the best fixes you can try to fix ora-12560 tns protocol adapter error.

All these fixes are easy to apply and the best part is that you do not need any technical knowledge to perform these fixes. All you have to do is to just follow the step by step guide to resolve ora-12560 tns protocol adapter error.

Jacob Martin is a technology enthusiast having experience of more than 4 years with great interest in database administration. He is expertise in related subjects like SQL database, Access, Oracle & others. Jacob has Master of Science (M.S) degree from the University of Dallas. He loves to write and provide solutions to people on database repair. Apart from this, he also loves to visit different countries in free time.

Понравилась статья? Поделить с друзьями:
  • Options ini для generals zero hour скачать windows 10 скачать
  • Optional windows auto installer как активировать
  • Optional windows auto installer для wicked whims
  • Optional windows auto installer bat симс 4 скачать
  • Optional features windows 10 что это