I have a test installation of Oracle lying around that wasn't created very carefully, and I wanted to start doing some testing of tables with encrypted columns, but when I try to set the encryption key, I get this message.
There's plenty of space on the relevant drives and it looks like everything is running with the appropriate permissions - why else might this operation be failing?
There definitely isn't already a wallet - ALTER SYSTEM SET WALLET OPEN IDENTIFIED BY "(the password I would have used)"; results in ORA-28367: wallet does not exist.
Answer by Dean Langford ·
Check the database's sqlnet.ora file. Is the setting for ENCRYPTION_WALLET_LOCATION defined? Example:
ENCRYPTION_WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=$ORACLE_HOME/dbs/wallet )))
If this setting is not defined, then the default location is used: $ORACLE_BASE/admin/$ORACLE_SID/wallet.
Also, make sure that the oracle user has file permissions to this directory.