Thanks for the question, Akash.
Asked: July 31, 2019 - 8:11 am UTC
Last updated: November 05, 2019 - 3:57 am UTC
Version: 12.1.0.2.0
Viewed 10K+ times! This question is
You Asked
Hi Team,
I have 11gR2 installed on my personal system.
Recently , I created a wallet and using that to connect to the db. The steps followed were :-
1) Made entries in sqlnet.ora
2) Created a wallet using mkstore
3) Added an entry to the wallet using mkstore
4) Added entry in the tnsnames.ora for the above entry
Now I am able to connect to db using the wallet.
However, whenever I try to drop a table or add a column to a table or drop a column from a table, I get the below error -
SQL> drop table ind_skip purge;
drop table ind_skip purge
*
ERROR at line 1:
ORA-12578: TNS:wallet open failed
I dont get any error while trying to create a table.
If I disable the wallet , I stop getting the error. What does this error mean and how to get rid of this ?
--Adding the sqlnet.ora
# This file is actually generated by netca. But if customers choose to
# install "Software Only", this file wont exist and without the native
# authentication, they will not be able to connect to the database on NT.
SQLNET.AUTHENTICATION_SERVICES = (NTS)
WALLET_LOCATION = (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN\wallet)))
SQLNET.WALLET_OVERRIDE=TRUE
Also, I noticed the following :-
a) drop table <table_name>; -- this works
b) drop table <table_name> purge; -- this fails
Thanks
and Connor said...
Most likely cause here is due to it being a Windows system, and a permissions issue on the wallet to due to who created it versus how Oracle wants to use it.
The Oracle database (in 11g) is running as "SYSTEM" and you probably created the wallet as "Administrator".
Grant the "SYSTEM" user full control to both wallet files:
cwallet.sso
ewallet.p12
via the normal way, ie, right click on each file and select "Properties" and then the "Security" tab.
Select "SYSTEM" from the list of users and check the "Allow" box to give the user the full control privilege, then click OK.
Is this answer out of date? If it is, please let us know via a Comment