Configuration of oracle 11g remote database with PL/SQL Developer 14 - oracle

I need some assistance in configuring my oracle 11g database with the PL/SQL developer 14. I have installed and configured 11g client for my windows PC but the database is not show in the DBs list on PL/SQL 14 as:
But I got connected when I use PL/SQL Developer 7 as:
Actually, I want to use some advance features and plugins of PL/SQL Developer 14 which are not available in 7.

I don't use PL/SQL Developer.
However, any tool I know looks for available databases in TNSNAMES.ORA file. It looks as if version 7 "knows" its location, while version 14 doesn't.
If it (PL/SQL Developer) behaves like other Oracle-related software, then I'd suggest you to do this:
create a directory (folder), e.g. c:\oralib
put TNSNAMES.ORA file in there
create environment variable named TNS_ADMIN (uppercase!)
what does it do? It tells Oracle software where to search for TNSNAMES.ORA. Probably every Oracle software uses its own "copy" of TNSNAMES.ORA so - every time you have to work with a new database, you have to add its alias into ALL of those files (which is tedious). But, if you keep a single copy in a directory and let TNS_ADMIN point to it, you have only one TNSNAMES.ORA to maintain
set its value to path that leads to that directory: c:\oralib
restart PL/SQL Developer
hopefully, you'll see your databases

The problem has been solved. Actually, the issue was that the PL/SQL was 64 bit and the client was 32 bit that's why I had to download and install a 64 bit client which I installed and set the path to it's oci.dll file and that's solved my problem. One more thing I need to mention is that I have also created an environment variable for TNS_ADMIN and set the path to the folder which contains tnsnames.ora file.
Other answers are also appreciated.

Related

How to prevent Oracle SQL Developer from creating the product.conf file in %APPDATA%

In 2022, the question asked in how-to-prevent-oracle-sql-developer-from-writing-to-appdata-roaming is still a bit of a problem. While the -Dide.user.dir option does allow you to move the SQL Developer directory from %APPDATA%, the application still creates a sqldeveloper directory in %APPDATA% that contains a <version>/product.conf file.
What option needs to be added to move this directory as well? I am using version 21.4.3 of SQL Developer. Thanks in advance for any help you all can offer.
You need to convince SQL Developer that it's not actually running on Windows, but is instead on Linux or a Mac.
Otherwise, SQL Developer is designed to do EXACTLY as you describe/observe.
The -Dide.user.dir doesn't let you move those files per se, it more accurately allows you to mirror them somewhere else.

Installing multiple oracle homes on the same machine

I have Oracle 11g installed on my system and want to install 12c now. Read articles ( Oracle docs and general) which suggest that i can do so in different homes.
But when I try to install 12c (12.2.0.1 release 2) , it does not allow me to do so as it says "oracle _home (in environment variables) already defined and does not match the path specified (during installation)".
Am I supposed to specify the paths manually (or change it in the env variables) and if so then how do i accommodate different paths for two Oracle_homes for both versions in the environment variables.
A search on this portal gives results that does not answer my query.
How do I get around the installation?
You should not install more than one (i.e. one each for 32bit and 64bit) Oracle Client on one machine, I could also not imagine any reason for it.
Anyway, if you like to install more than one Oracle Client delete Environment Variable ORACLE_HOME and ORACLE_BASE from your computer, if existing. Then modify PATH Environment Variable and remove all directories of your first Oracle installation from PATH.
After that it should be no problem to install another Oracle Client. You must install it into a different directory, otherwise you mess up the installation and I assume afterwards none of them will work properly.
In order to use one or the other you have to set ORACLE_HOME and PATH Environment Variable accordingly, you cannot use them together! According Managing Oracle Home Directories you should have a "Home Selector" tool but I never used this.
Note, some components (e.g. "Oracle Provider for OLE DB") you can install only once (i.e. one each for 32bit and 64bit). This limitation is caused by Windows COM. Other drivers for example "Oracle Data Provider for .NET" may also fail due to version mismatch and/or policy settings in GAC.

How can I completely uninstall oracle 11g?

How can I uninstall Oracle 11g from my laptop? The uninstall program that comes with the software doesn't completely uninstall all the components. I tried it with Oracle12c and it left a lot of programs. I tried to delete the files manually but some dll files in the BIN directory were are not accessible. I want to do the right thing with 11g. Any suggestions?
Thank you very much in advance.
There are some problems when I uninstall Oracle 11g (on Window 10) from my installed path "D:\app\" .This is my solution to remove oracle manually:
Delete D:\app{user}\product\11.2.0\dbhome_1
and all Oracle's files from D:\app\
If you can not delete these files, need to change the owner or add permissions
Properties>Security> Advanced> Change Owner> Advanced>Find now> Choose Users
Sometime you need to add permissions to Users: Properties>Security>Edit> Add Users> Allow ...
Delete C:\Program Files (x86)\Oracle, C:\Oracle
Delete C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Oracle -
OraDb11g_home1
Run regedit.exe>
delete HKEY_LOCAL_MACHINE/SOFTWARE/Oracle
delete HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\ORACLE
Delete HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Ora*
Start Run>Computer Management> System Tools>Local Users and Groups> Delete
all Oracle's users and groups
Restart windows.
Hope helpful for you!
First of all you should use the deinstall tool as recommended by Oracle.
Then if this fails have a look at this document: Manually Removing the Remaining Oracle Database Client Components (11.1), it provides detailed instruction how to remove everthing.
This documentation is for Oracle Client 11.1, however the principle should be the same for 12c. Actually the documentation for 10.2 is even more complete: Manually Removing the Remaining Oracle Database Client Components (10.2)
Perhaps some files are locked and you can not delete them by default, for example file oci.dll. Solution is to rename the file, e.g. oci.dll_x and then reboot your PC. After reboot you can delete the file.
Note, in case you installed 32-bit Oracle the Registry key is HKLM\SOFTWARE\Wow6432Node\ORACLE\... instead of HKLM\SOFTWARE\ORACLE\...
Before deinstalling oracle software, make sure you have deleted the oracle databases (and other services) running from the ORACLE_HOME
I have written about the different methods in which you can remove Oracle software from Linux server:
Using deinstallation tool with runInstaller
Using deinstallation tool under ORACLE_HOME
Manual Oracle uninstall

SQL Developer - No readers registered for SQL type error

I am using Oracle 11g. I had exported data using the installed version of SQL Developer to a sql file called "export.sql". Now, I have downloaded the new version which is 3.1.07 and when I try to import data by clicking on the tree view and choosing Tables | Import Data and navigating to "export.sql", I get the following error:
no readers are registered for the sql type
When I first started the application it asked for the path to java.exe and I have shown that path and application started. I have the started the application from the path where it was downloaded (C:\users\kaushik\Downloads\sqldeveloper)
You can call the file directly from sql developer.
Example: If you saved you file to c:\Oracle\MyBackups\Export.sql
Then from within Sql Developer, connect to your database and use the sql command:
#C:\Oracle\MyBackups\Export.sql
and that will execute the Export.Sql script.
If you have a valid SQL file, you simply need to execute the script. Open the file (File | Open and navigate to export.sql), hit the Run Script button (F5 on Windows), and choose the connection you want to use. The Data Import Wizard supports a number of different file formats (Excel, CSV, etc.). It doesn't support SQL files. If you want to ask the developers why they don't support SQL (or why they use the general file navigation dialog rather than using different dialogs for different sorts of files) you can ask them over in the SQL Developer forum on OTN. I assume the problem is that most SQL scripts contain much more than simple INSERT statements and it would be challenging to figure out whether any particular script was actually just a bunch of INSERT statements that could be used to import data.
Yes, SQL Developer is written in Java so you need to have an appropriate version of the JVM installed. Different SQL Developer download options include a bundled JVM or you can download a smaller file and use an already installed JVM.
One of oracle client tools to make session to database is sqlDeveloper and its graphical interface tool Programmed with Java Lang and its installed independently from oracle_home its a stand alone product and Of Course it needs SDK Or JDK to work
make sure to set the path and check it
read this link http://www.ehow.com/how_5127784_set-java-path.html
all of this if sql developer didn't run and other similar problem
this to answer
Is JDK is needed or what ? Yes
use sql Developer higher version
i am upgraded to Version 20.2.0.175
issue resolved

Why doesn't ODP.NET 11 xcopy deployment work on a machine with Oracle DB 10 installed?

I have an app that uses a local version of ODAC 11 below the directory that the .exe file is in. The idea is that we want our app to use the local ODAC 11 regardless of what else the user has installed on her machine.
Oracle.DataAccess.dll is in the same directory as the .exe.
It works fine when the client machine has no Oracle client installed, but I get an error when starting it on a machine with Oracle Database 10.2.0.something installed:
The type initializer for 'Oracle.DataAccess.Client.OracleConnection' threw an exception.
[Stack Trace]
The provider is not compatible with the version of Oracle client
OracleException
at Oracle.DataAccess.Client.OracleInit.Initialize()
at Oracle.DataAccess.Client.OracleConnection..cctor()
I'm guessing that this has something to do with the runtime binding policy, but a search for "Oracle/ODAC/ODP.NET runtime binding policy" on Google has not turned up anything useful.
Does anyone know how to resolve the issue?
If not this specific issue, can someone point me towards an overview of how to do what I want to do: make sure that my application uses the ODAC 11 no matter what?
So as I understand it, the issue was that while Oracle.DataAccess.dll was in the same directory as the app, it could not find its lower-level homies (oci, et al), hence the compatibility error.
Turns out that if you want an application to work with ODAC 11 xcopy deployment regardless of what else the user may have installed on her machine, you need to do 2 things:
Set the PATH environment variable for the process. (I was already doing this.)
Set the ORACLE_HOME environment variable for the process. (I was not doing this.)
Environment.SetEnvironmentVariable("PATH", Environment.CurrentDirectory + "\\oracle\\11.1\\odac;" + Environment.CurrentDirectory + "\\oracle\\11.1\\odac\\bin;", EnvironmentVariableTarget.Process);
Environment.SetEnvironmentVariable("ORACLE_HOME", Environment.CurrentDirectory + "\\oracle\\11.1\\odac", EnvironmentVariableTarget.Process);
EDIT: It's also important to note that Oracle will throw this error not just for environmental issues, but also if one of the files is missing on the target machine. I got this same error on other machines despite the Environment settings because I had Subversion set to ignore directories called "bin", so the OraOps DLL was not being copied to the client.
An article titled "Deploying ODP.NET with Oracle Instant Client" found at http://alderprogs.blogspot.com/2009/04/deploying-odpnet-with-oracle-instant.html gave what was for me about the best explanation of how to deliver a stripped down xcopy type deployment with your application. Only 5 Oracle DLLs required for support.
That said the answers by ObiWanKenobi and Josh Kodroff provides important additional info which matches with my experience.
Add to that: http://www.brothersincode.com/post/Oracle-ODPnet-xcopy-deployment-for-aspnet.aspx
You want to force your ODP.NET drivers to use the copy of oci.dll that is in your local folder, instead of the one already installed.
You can force this by either
setting the PATH variable so the system finds your copy of of oci.dll first (as in the answer by Josh Kodroff)
or
you can use ODP.NET configuration section in app.config (or web.config) to explicitly set the value of "DllPath".
For details, see http://ora-00001.blogspot.com/2010/01/odpnet-minimal-non-intrusive-install.html and http://database.in2p3.fr/doc/oracle/Oracle_Database_11_Release_1_(11.1)_Documentation/win.111/e10927/featConfig.htm
If you're using oracle client 10.2.0.1 or 10.2.0.2, Oracle Note 215255.1 indicates that if you apply patchset 10.2.0.3 it fixes the issue. Get the 10.2.0.3 database patch (852MB) and patch the client home. Yes, it's the full database server patchset, but it applies to the client as well.

Resources