I am new to using oracle database. I want to encrypt data stored in oracle. I am using oracle 18c for this and using TDE(Transparent Data Encryption) feature for it. However, when I run select query on it, I am getting data in decrypted form. Is there anyway to get the output of select query also as encrypted. Also, it would be great if anyone could let me know good resources for the same as the the oracle official docs are not lucid.

  • Is there anyway to get the output of select query also as encrypted. When and where does you want to decrypt it? maybe traffic encryption (ssl, for example) is enough?
    – Akina
    Feb 27, 2019 at 9:39
  • I am writing one application which will be connecting to oracle db. I want the data to be decrypted only when the application queries the data. Apart from that, if anyone runs a query on the db explicitly, I want the data displayed to be encrypted Feb 27, 2019 at 9:50
  • Hide auth info, use certs. No auth - no access at all.
    – Akina
    Feb 27, 2019 at 10:02

1 Answer 1


TDE encrypts data on disk, and decrypts on the fly when data is accessed from the database.

Introduction to Transparent Data Encryption

After the data is encrypted, this data is transparently decrypted for authorized users or applications when they access this data. TDE helps protect data stored on media (also called data at rest) in the event that the storage media or data file is stolen.

What you described is another feature, called Data Redaction.

Introduction to Oracle Data Redaction

Here is an example with steps: https://oracle-base.com/articles/12c/data-redaction-12cr1

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.