Skip to main content

Oracle Deep Data Security: Protecting Data in the Age of AI

 “Oracle Deep Data Security” was discussed recently at the Oracle AI World Singapore and it interested me to further study on how data security is evolving in the age of AI. The way data is accessed, processed and protected is changing dramatically with the rapid adoption of AI among the organizations. That’s why I thought it would be useful to explore Oracle Deep Data Security in a simple and practical way.

In today’s world, data is everywhere. Businesses store customer data, financial transactions, employee records and much more inside databases. Earlier time, security was mostly handled at the application level. But this approach is no longer strong enough. With AI tools generating queries dynamically and multiple systems interacting with the same database, relying only on application level security creates risks. This is where Oracle introduces a new approach, moving security directly into the database itself.

Oracle Deep Data Security is built on the idea that data should protect itself. Instead of trusting every application or user, the database enforces rules before allowing access. This means even if someone writes a direct query or an AI agent tries to fetch information, the database checks whether that action is allowed. This approach is also called data centric security and it is becoming important in systems nowadays.

One of the core concepts behind this approach is identity aware access control. This simply means the system understands who is trying to access the data. It doesn’t just check a username, but it also looks at roles, permissions and sometimes even things like time or location.

Eg:

 A HR manager may be allowed to see employee salary data, but a junior staff member may not. The system enforces this automatically without relying on the application to do the right thing.


Another important concept is fine grained access control. Instead of giving access to an entire table, Oracle allows restrictions at a much deeper level such as rows, columns or even specific values. This is very useful in large organizations where different teams need different views of the same data.

Eg:

A sales team may only see customer contact details, while the finance team sees billing information. Everyone gets access only to what they need.

Let’s look at a simple example. Imagine we want users to only see employees from their own department. This can be done using a policy like below.

Eg:

CREATE POLICY emp_dept_policy
ON employees
FOR SELECT
USING (department_id = SYS_CONTEXT('USERENV', 'CLIENT_IDENTIFIER'));

In this case, database automatically filters data based on the user’s department. The user doesn’t need to think about it and the application doesn’t need to enforce it. The rule is built into the database itself!

Another powerful feature is data encryption. Encryption make sure that even if someone gains access to the database files, they cannot read the data. Oracle provides Transparent Data Encryption (TDE), which works quietly in the background.

Eg:

ALTER TABLE customers
MODIFY (credit_card_number ENCRYPT);

This simple command protects sensitive information like credit card numbers by converting them into unreadable format.

Oracle also supports data masking and redaction, which is useful when working with test environments. Instead of showing real sensitive data, the system hides or replaces it.

Eg:

BEGIN
  DBMS_REDACT.ADD_POLICY(
    object_schema => 'HR',
    object_name   => 'EMPLOYEES',
    column_name   => 'SALARY',
    policy_name   => 'mask_salary',
    function_type => DBMS_REDACT.FULL
  );
END;
/

With this, users who are not authorized will not see actual salary values, but they will see masked data instead.

Monitoring is another key aspect of deep data security. It’s not enough to protect data , but you also need to know what is happening around it. Oracle allows detailed auditing and activity tracking, so every access can be recorded.

Eg:

AUDIT SELECT ON customers BY ACCESS;


This helps us to detect unusual patterns, such as someone accessing large amounts of data unexpectedly.

One of the most interesting aspects discussed at Oracle AI World is how this model supports AI driven applications. In modern systems, AI models often query databases directly to generate responses. This creates a risk!

What if the AI accidentally exposes sensitive data? Oracle solves this by enforcing the same security rules for AI queries as it does for human users. So even if an AI tool runs a query, it can only access the data it is allowed to see.

Eg:

Think about a real world scenario like a bank using AI to answer customer questions. Without strong controls, there is a risk that one customer could see another customer’s information. With Oracle Deep Data Security, security policies ensure that each query, whether from a person or an AI, is checked and filtered. This makes the system much safer.


Another advantage of this approach is centralized security management. Instead of writing security rules in multiple applications, everything is defined in the database itself. This reduces mistakes, improves consistency and makes it easier to manage as systems grow.

In conclusion, Oracle Deep Data Security brings a major change in how we think about protecting data. Instead of treating security as an addon, it becomes a major part of the database itself. By combining these techniques, it creates a strong defense system. As AI continues to grow and interact more deeply with data, this kind of builtin security is essential for any organization.

Comments

Popular posts from this blog

Setting ORACLE_SID

The  Oracle System ID  ( S ID ) is used to uniquely identify a particular database on a system How to set ORACLE_SID: Windows: set ORACLE_SID=orcl Unix/ Linux: export ORACLE_SID=orcl SID is case sensitive in Unix / Linux environments. How to check the current ORACLE_SID: Windows: Go to the commnand prompt and type as C:\> set ORACLE_SID (This will show if any ORACLE_SID is already set). C:\> set (To know all the parameters set) Unix/ Linux: echo $ORACLE_SID

Using ORADIM to Create Instance on Oracle - Windows Platform

Oradim is an Oracle utility that creates a Service to a database.  If a database is created upon install, or if you use Database Assistant to create a db, it will automatically use this utility to create a service to the db upon creation of the db. If you double click on the Services icon in Control Panel, you will see all the services that are available to the machine. If a machine has a db running on it, you will see a service by the name of OracleService(SID) with a manual or automatic startup type. If the startup is set to automatic, the db will shutdown/startup whenever the machine is restarted, else you will have to shutdown/startup manually.  So you have to use oradim only when you create a database without using the Database Configuration Assistant. You have to use Oradim to create services if you created the database manually.   Example of Oradim to create a service for an 9i database: Create an instance by specifying the following options: (type at comma...