i'm working on Windows2003-Server and installed oracle full client to connect to an Oracle-DB 11g on Unix.
I can connect using SQL-Plus but not with Oracle Ole DB. The programs i use, are C#-Programs with NET-Version 2.0.
The connection string i use in the program is "Provider=OraOLEDB.Oracle;Persist Security Info=False;Password=xxx;User ID=XXX; DataSource=vgdb;Extended Properties=".
I tried several connection strings, but i always get the error ORA-12560.
This connection-string works already on other machine. But here its a fully installation of oracle database 10g on windows and i can also connect from here to Oracle-DB 11g on Unix.
Configuration of sqlnet.ora:
ADR_BASE = O:\app\admin\product\11.2.0\client_1\log
Entry in tnsnames.ora:
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.16.156.199)(PORT = 1523))
(SID = svgdb)
i checked the client and the server.
On the client there is a service OracleOraClient11gHomeTNSListener which is started. I restarted it and it didn't help.
lsnrctl start says already started. lsnrctl status says listener is started.
On the server lsnrctl status says listener is started.
Edited by: user7075308 on 05.10.2012 02:50
i can find the ORACLE_HOME in the registry under LocalMachine/Software/Oracle/KeyOracleClient_home.. .
It's set to O:\app\admin\product\11.2.0\client_1. O is a local drive, no network drive.
ORACLE_SID and ORACLE_PATH are not set.
In the environment variables O:\app\admin\product\11.2.0\client_1\bin is added to path.
I also installed the ODAC 10g Tools. TNS_PING works, but i get still the error.
But i received a log:
Fatal NI connect error 12560, connecting to:
TNS for 32-bit Windows: Version 10.1.0.2.0 - Production
Oracle Bequeath NT Protocol Adapter for 32-bit Windows: Version 10.1.0.2.0 - Production
Time: 09-OKT-2012 13:47:38
Tracing not turned on.
Tns error struct:
ns main err code: 12560
TNS-12560: TNS: Protokolladapterfehler
ns secondary err code: 0
nt main err code: 530
nt secondary err code: 126
nt OS err code: 0
USER=taf9vn is my windows user name. It should use my connection string. Something is completely wrong.
ORA-12560 : TNS: protocol adapter error
Is collective error that results from different problems in connection with connected log that is used.
The error connection issued are:
ORA-01034: ORACLE not available
ORA-12203: TNS: unable to connect to destination
ORA-12547: TNS: lost contact
ORA-12540: TNS: internal limit restriction exceeded
ORA-12541: TNS: no listener
ORA-12535: TNS: operation timed out
ORA-12500: TNS: listener failed to start a dedicated server process
1. Starting client tools (svrmgrl, sqlplus, sapdba, and so on) using a terminal server
2. Service OraclesService<SID> does not run
3. Incorrect or missing entry for ORACLE_SID in environment or Registry
4. Characters that are not alphanumeric in the system ID <SID>
5. Missing Directory Authorization
6. Error when creating the Database at new Installation
7. Resource Problems
8. ORACLE Software incorrectly
9. Reboot Required
10. Incorrect ORACLE version installed
Solution (Step by Step)
1. Set Environment variable
- Start My Computer Properties Advanced Environment Variables
- Fill LOCAL = <SID>
2. Start ORACLE Services (OracleService<SID>) if not Started
- If the Services does not exist, create with “ORADIM(XX) –new –SID <SID>”
3. Check Registry under HKEY_LOCAL_MACHINE
- Go to SOFTWARE ORACLE
- Set “ORACLE_SID = <Oracle SID>”
4. Activate ORACLE trace
- GO to $ORACLE_HOME/otrace/admin
- Copy *.dat *.dat.OLD
- Delete the original *.dat files
5. Listener.ora and tnsname.ora must be set to the same HOST and PORT
- HOST = Server Name /IP Address
- PORT = Default by Installer
- For Listener.ora, set ORACLE_HOME = <oracle home directory>
6. Add statement “QUEUESIZE = 30” in Listener.ora
- Location G:\oracle\P88\920\network\admin
7. Change or Add some Parameter on INIT<SID>.ora
- Change SESSION = 110 200
- Change PROCESSES = 300 150
- Add TRANSACTIONS =250
- Add ENQUEUE_RESOURCES = 450
- Add DML_LOCKS = 1000
- Add USE_INDIRECT_DATA_BUFFERS = TRUE
- Add SORT_AREA_RETAINED_SIZE = 0
8. Re-Start Server
The following Instruction
(No Needed, If all ORACLE setting was corrected)
oradimxx -delete -sid <old-sid>
oradimxx -new -sid <SID> -intpwd <internal-password> AUTO -pfile <full-init-ora-filename>
In This case, Please do the Step 1. It might only the LOCAL SID was Missing
If not Solved, do the next Steps.
thanks for your instructions.
But i have one problem.
i don't find the ORADIM.exe. I can just find it on other PC where the database is installed.
Can i use the ORACLE_SID? I'm on the client.