ora 12560 tns protocol adapter error- while connecting to oracle - oracle

I have oracle 9i already installed in my machine. I am trying to connect to the oracle but while connection i am getting "ora 12560 tns protocol adapter error" type of error. i have tried it with the default pass scott/tiger , system/manager..
When i tried to connect to the oracle using default credentials i am getting the above error.
is it the problem with the username and password ? if so how can i get the username and password which is already set ?

IME, ORA-12560 means the Oracle Universal Installer messed up your listener configuration.
Assuming you have an Oracle 9i Server installed on your computer, here's a list of things to check.
does "lsnrctl status" show your database instance?
does "tnsping my_service_name" work?
do tnsnames.ora and listener.ora contain entries for your database? Are the hostname / port etc. correct?
If the configuration is wrong, your best bet is to start netca, remove your existing listener configuration and re-configure it.
One question, though: Why do you want to run Oracle 9i? Do you have to support some kind of legacy application / database? (Oracle 11gR2 is so much nicer than 9i)

Start -> Run -> services.msc
Select the oracle service name and right click on it then select start.

Related

Communication between two databases (Oracle, VirtualBox)

Currently I am trying to understand how can two databases communicate to each other (for instance: get data from one to another).
Detailed description
I have two Oracle databases, one on Windows and latter on Oracle VirtualBox. On Windows DB I have one user (PAI) with single table called TESTME. On VirtualBox, only user (PAI_VB) was created. Now, I want to display the content of the TESTME table from SQL Developer from VB.
I have done
I want to display table TESTME using LINK statement:
CREATE DATABASE LINK LINK_TO_PAI
CONNECT TO PAI IDENTIFIED BY PAI
USING 'DESCRIPTION = (ADDRESS=(PROTOCOL=TCP)(HOST=myIP)(PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=XE))';
Note: data from 'DESCRIPTION' section were taken from tnsname.ora file on Windows.
Having that, via following query I will manage to display table:
SELECT * FROM PAI.TESTME#LINK_TO_PAI;
Unfortunately, it does not work.
Error from console
ORA-12154: TNS:could not resolve the connect identifier specified
12154. 00000 - "TNS:could not resolve the connect identifier specified"
*Cause: A connection to a database or other service was requested using
a connect identifier, and the connect identifier specified could not
be resolved into a connect descriptor using one of the naming methods
configured. For example, if the type of connect identifier used was a
net service name then the net service name could not be found in a
naming method repository, or the repository could not be
located or reached.
*Action:
- If you are using local naming (TNSNAMES.ORA file):
- Make sure that "TNSNAMES" is listed as one of the values of the
NAMES.DIRECTORY_PATH parameter in the Oracle Net profile
Questions
Could you please propose solution to my problem (I know that in *Action section there is a hint but still I cannot solve it).
Maybe, you could introduce me another way to make communication between two databases possible.
EDIT
I managed to connect from my VB machine to one on Win10 via SQLDeveloper and SQLPlus. Unfortunately, using Oracle LINK I can not access data from database.
SOLVED !!
I managed to solve my issue. The problem laid in LINK. Since following part:
'DESCRIPTION = (ADDRESS=(PROTOCOL=TCP)(HOST=myIP)(PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=XE))'
was inside tnsnames.ora file i should define my link as follows:
CREATE DATABASE LINK LINK_TO_PAI
CONNECT TO PAI IDENTIFIED BY PAI
USING 'xe';
After that minor change, I was able to freely us LINK in my example. Cheers :)
Here's what you need to have for a working database link:
Network connectivity between the two hosts.
Oracle Listener process running on the host you want to connect to.
Correct TNS entry while creating the link.
Correct username and password to connect to the remote database.
The TNS-12154 error you're getting means the database running on the virtual host can't get to XE's listener using the description you gave it.
Make sure you're using the correct IP address when trying to connect to your Windows host from your virtual machine.
Run tnsping from your virtual environment to see if it can get to the Windows host listener.
tnsping 'DESCRIPTION = (ADDRESS=(PROTOCOL=TCP)(HOST=your_windows_host_ip_from_step_1)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=XE))'
or just tnsping XE if you have the TNS entry stored as XE in tnsnames.ora file on your virtual machine.
See also: Oracle documentation — Testing Connections.
Once you get OK response from tnsping try connecting to XE with sqlplus (sqlplus PAI/PAI#XE) or via SQL Developer running on the virtual host. If you can connect that way your database link should also work with the same TNS entry.
This is a tricky part of oracle because there are a number of diverent ways to make a connection.
I suggest that you begin to make sure that you have a tnsnames.ora file both on windows and in your virtualbox environment. What os are you running in VirtualBox by the way?
In both tnsnames.ora files both databases should be named. Easiest to make them identical.
Then connect with sql*plus from windows to your database in VirtualBox and from VirtualBox to your database on Windows.
Just to make sure your network and tns config are OK.
If this works recreate your db-link with the servce alias from tnsnames after using. This should work.

TNS:protocol adapter error and no oracle service present

I am trying to login into my Oracle database as sys user through sqlPlus but I keep getting ORA-12560: TNS:protocol adapter error. One of the reason of this error is that oracle service not running however when I check services there is no OracleService there, there are only following services related to oracle and they all are already running.
Oracle - OraDb11g_home1TNSListener , Oracle - OraDb11g_home1clrAgent and Oracle MTS Recover service
Please help resolving this issue.
Use the "Database Configuration Assistant" and create an Oracle instance. This looks like a Windows installation of Oracle, so the assistant should be %ORACLE_HOME%\bin\dbca.bat.

How do I connect to Oracle with SSIS? I am getting the error: "tns listener was not given the service_name in connect_data"

I am trying to connect to an Oracle DB through the Oracle Provider for OLE DB in SSIS, but am getting the following error when testing the connection: "tns listener was not given the service_name in connect_data". I am not too familiar with Oracle, so could someone provide me some direction for how to fix this error?
You can add the service name after the host name with a forward slash between them. This has worked in both the Microsoft and Oracle OLE DB providers.
IP/Service_Name also works, "12.12.123.123/Server1.domain.com"
First of all, always use Oracle driver. Not the Microsoft one.
Then, when connecting, supply the TNSNAME, USERNAME and PASSWORD to a OLEDB Connection.
That's all!
Ok ok, been here, and this is what works:
You need oracle data access components http://www.oracle.com/technetwork/topics/dotnet/utilsoft-086879.html
Download the one that applies to you (11g, 12c...)
It installs an OLE DB provider which is FAST and also .NET connectors (wich also work really well), so I recommend using OLEDB (also, attunity connector works wonders aswell after you installed ODAC).
Then just connect using ip/service name + credentials, for example
Image
You need to type "Servername/ServiceName" to Server Name Field .

I can access my oracle database by command line, but cannot by navicat, ORA-12514 error

I use the command prompt to connect my Oracle database. All functions work, but when I try to use my Navicat to connect to the database, it shows the following error message:
ORA-12514:TNS:listener does not currently know of service requested in
connect descriptor.
My general settings for Navicat are:
host type:basic
ip address:127.0.0.1(also try my ip, but still have same problem)
port:1521
service name:orcl
By "all functions work", I assume you mean you are able to connect to the database and query.
Can you show us the connect that you use.
If you are using sqlplus in this fashion,
sqlplus userid/password#database1
it means your current client is pointing to the correct tnsnames.ora. May be navicat does not point to the correct tnsnames.ora file? The error indicates that you want to connect to, say database1, and Oracle is not able to map "database1" to the correct server, host and port number.
Have you gone through the connectiond details here?
http://www.navicat.com/en/products/navicat_oracle/oracle_detail_win.html
What is your operating system version and oracle version?

Cannot create connection in Oracle SQL Developer

I am a new user in Oracle. In Oracle SQL Developer, whenever I want to create a new connection and fill the "New Database Connection" form, it gives me this error: -
ORA-12560: TNS:protocol adapter error
Please Help.
To add more to my comment on the question...
Ensure your database is open (has been started up).
Start all oracle services for your database
Start the databases listener (lsnrctl start)
Startup your database instance (startup open <database_name>)
Also, ensure the database you are trying to connect to has an entry in the tnsnames.ora file your SQL Developer is using (depending upon your setup you may have a tnsnames.ora for both your oracle client and database software if they are on the same physical hardware like your PC or laptop).
I've faced that kinda problem also and I've tried stop all of oracle services and start it again. But unsuccessful. Eventually, I've needed to install Oracle again which can solve this problem.

Resources