Question: We are developing microservices using java (Spring and Spring Boot), and the access to our Oracle DB is done via the JDBC Oracle Driver.

The problem is that our DBAs can only see on the Oracle side that a "JDBC Thin Client" is connected. There is no better, logical representation of the connected application. Without such identification, it is hard to know which microservice might be behaving badly. Other non-JDBC clients identify themselves clearly with the hostname.

Is there any way to change the identification String so that it represents a clear identity of the source application/process?

Note: Our system runs on Cloud Foundry which uses containers, so a it's not really possible to provide a machine name or anything like that - a logical application name would be preferred.

Thanks

Answer: 
The JDBC connection property "`oracle.jdbc.v$session.process`" can be set (as a system prop -D) to a value that uniquely identifies your microservice and that can then be retrieved in the V$SESSION view ("process" column).
Database users
--------------

If you name the Database users used for connection like the Microservice, the DBA should be able to map the connections to the microservices.

IP addresses
------------

For a Database a connection also contains an incomming IP address. Using a table of ip-addresses to microservices, the DBA might be able to map the connections down to the microservice.

Respectfully
------------

It might be a exciting work for DBA to find the Programmers faults. If the realtionship between Programmers and DBAs is harmonized, a talk might solve the problem where they occour (in the code). If no harmonization is possible soon, a more detailed contract or specification might be a solution.

It looks like a Workaround. The bug is in the code, lets find it in the code.

Disqualification of API
-----------------------

If you like to identify the Microservice by the Database connection, you disqualificate the use of a API for the database access. The Database API might be usefull if you like to have the Single-Source-Of-Truth as a Microservice.