Forum Stats

  • 3,769,292 Users
  • 2,252,943 Discussions
  • 7,874,980 Comments

Discussions

JVM in Oracle Database - How to store sensitive data in memory only ?

Hello,


One of my customers requests me to develop a PL/SQL package that will connect and retrieve sensitive data from a Web Service.


I plan to use Java in Oracle Database to connect and retrieve data from the Web Service.

I've already done some tests and it seems easy to implement.


But for security and performance reasons, I need to store these sensitive data in memory.


These sensitive data will only be changed every 10 minutes. Therefore, for performance reasons, there is no need to connect and retrieve data from the Web Service each times an Oracle session call my PL/SQL package.

At first call to my PL/SQL package, I retreive the data from the Web Service then I should store these data either in Java or in Database to provide them quickly to further calls to my PL/SQL package.


For security reasons, I can not store these data in a table or a file. These sensitive data must be stored in memory.

Either in Java memory or in Database memory.


So my questions are:

Is there a way to store data in memory and share them between JVM ?

Can I create an in-memory Java object that I can access from multiple JVM ?

Like a file but in memory.

Don't forget this JVM is in the Oracle Database.


Is there a way to store data in memory and share them between Oracle session ?

Can I create an in-memory object that I can access from multiple Oracle session ?

Like a table but in memory only.


Last solution would be to create a tmpfs or ramfs on the database linux server and access it with Java.


I will continue to search the web for the best solution.

But any ideas are welcomed.


Thanks for your help,


Oracle session and JVM calls is explained here

https://docs.oracle.com/en/database/oracle/oracle-database/21/jjdev/Java-application-database-session.html#GUID-6CE54CCD-DF29-4023-9F67-D7F57183DC6F

each Oracle session has its own JVM (Not really but the Oracle session see its JVM as its own one)

John Or