Use Oracle Wallet without installing the Oracle Client - oracle

I am using OCI lib to connect a client application to Oracle database. I would like to use Wallet to store the keys but it looks like the only way to store the key in Wallet is by using mkstore or orapki.
Those tools are available when installing Oracle Client but I don't want my customers to download Oracle Client on their machine.
Is there any way that I can create and store the credentials in a Wallet without installing Oracle Client? Can I redistribute orapki or mkstore? Is there any API?

Related

How to get Oracle Wallet Manager for Windows 10

I want to install Oracle Wallet Manager for Windows 10 and for Oracle Database 11.2.
When I download the corresponding version of Oracle Client, I don't see the Oracle Wallet Manager OWM or orapki being part of the download (https://www.oracle.com/in/database/technologies/instant-client/winx64-64-downloads.html)
I don't have the database installed on my Windows machine.
My requirement is to connect to Oracle 11.2 database which is in cloud from a Java program running in Windows PC. I would like to connect to the database from credentials stored in Wallet. (Java program will not need to store database credentials).
The wallet tools are on the full client and on the database server, not on the instant-client.
https://www.oracle.com/webapps/redirect/signon?nexturl=https://download.oracle.com/otn/nt/oracle19c/193000/WINDOWS.X64_193000_client_home.zip

Informatica Connection to OCI ADW during installation

I'm trying to install Informatica 10.1 on OCI and thereby connecting it to ADW for the INFA users access.
I've successfully established connectivity with ADW through sqlplus using the wallet keys. However, during the Informatica installation I'm not able to connect to the ADW database. Below is an excerpt of the connection that is being tried by the installer.
Configure the database for the domain configuration repository:
Database type:
* 1->Oracle
2->SQLServer
3->DB2
4->Sybase
(Default: 1):
Database user ID: (default :- dbadmin) :
User password: (default :- ) :
Configure the database connection
1->JDBC URL
* 2->Custom JDBC Connection String
(Default: 2):
I'm wary on the custom JDBC Connection String that is being asked. Usually the default string is something like this:
jdbc:informatica:oracle://somestringfromtnsnames.oraclecloud.com:1521;ServiceName=somestringfromtnsnames.adb.oraclecloud.com
But in this case I'm connecting to ADW via wallet & ideally the wallet information should be provided. I just am not sure how. I've prepared a string in accordance to the same which I thought was correct, but it doesn't work.
jdbc:informatica:oracle:#tnsnamesalias?TNS_ADMIN=/path/to/my/wallet/store
Has anyone got any idea on this? Any pointers would be helpful.
From what I understand, the DataDirect JDBC drivers used by Informatica do not support Oracle's encryption, which is required to access ADW. It appears that you can use Oracle Client on an existing Informatica installation to add ADW as a target, but not using JDBC or ODBC. There appear to be limitations to this in terms of metadata access, and some import steps will need to be completed manually.
In spite of what it implies in "Autonomous Database 3rd Party Tools and Applications" for Informatica, the only way to complete a new installation - according to the steps in Appendix A of the doc - is to first disable the SQL*Net encryption. This requires a level of access to the Oracle configuration files and processes that does not exist for Autonomous Database services (i.e. access to sqlnet.ora and lsnrctl). It only exists if you are running your own VM host (Infrastructure as a Service) with a stand-alone installation of Oracle Database that you fully control.

Oracle SQL Developer not able to detect services in oracle wallet

We are using Oracle wallet to connect to Cloud database which works fine for one instance. We also have on-prem database where the wallet was provided by the customer and when I select the wallet the service names are not detected. Does that show that there is an issue with the cwallet.sso & ewallet.p12 files provided by the customer. We are using 19.2 SQL Developer.

Oracle instant client 12c EZConnect Using tcps instead of tcp

I download oracle instant client 12.2.0.1.0, I try to use sql loader to load csv data to the database. I can successfully load using following:
sqlLdr.exe userid=user/password#//192.9.200.228:1521/oracle ERRORS=4000 control=D:\temp\csma\xx_20190225.ctl log=D:\temp\csma\xx.log
However my production would only allow secured connection only (use tcps), can I use tcps by EZConnect? If not how can I connect using tcps using just the instant client (not full client)?
Instant Client based applications can connect using a Net Service Name from a tnsnames.ora file. The Instant Client installation instructions (eg. the instructions for Linux x64) tell you where to put the Oracle Net configuration files. Create the default location, put the files there, and update the connect string in your application.
With Oracle 19c, the Easy Connect syntax was extended to be 'Easy Connect Plus' so you specify things like the wallet location in-line, see the Understanding the Easy Connect Naming Method in the Oracle Net 19c documentation. No Instant Client 19c has been released yet.

Is Oracle Instant Client an actual database?

I want to create a small dev database just to use for developing my application. I've downloaded the Oracle Instant client and followed the directions to "install" (ie, copy/paste and set up some environment variables), but I can't find any information on how to connect, login, create database, etc, or even exactly what Instant Client is, specifically. So, a few specific questions:
Is Instant client just a set of drivers and components that allow you to connect to an existing database, or can you use Instant Client to create and administer a completely new database?
If it CAN be used to create a new database:
How do you "start" (or similar concept) the database so that it is ready for connections.
Because there is no installation, and no default configuration, I haven't set up a default schema, port, etc. So, what is the default connection information to connect to the database for the first time?
For example, I use SQL Developer to connect to and administer my remote database, so how could I connect to Instant Client from SQL Developer?
The client is JUST a client.
You'll want to download the Oracle Database installs. The easiest would be the XE (Express Edition) - it's free, and gets going on windows or linux pretty quick.
You'll then install the server software and THEN create a database. Then you can use your client to connect to said database. You can use your client now to connect to any Oracle database running on any server that you can see on your network.
There are more alternatives.
I talk about this in more detail here.

Resources