SOA and Oracle cascade data between two pdb
INTRO

If you use different database accounts for "Authentication Service" and "Customer Service", you can easily control what each REST Service can see and do.

This is what database are designed to do: Control of access to data.

By levering the database's ability to secure access to data, you can use a single USER_INFO table in a single database.

Conceptual Setup

Your USER_INFO table should be treated as (java parlance) private.

Since USER_INFO is private, you do not GRANT access on that table to the accounts used by the REST services.

You use VIEWS and PACKAGES as your (java parlance) public interface to that private data.

The account for "Authentication Service" will get access to one set of VIEWS and PACKAGES.
The account for "Customer Service" will get access to another set of VIEWS and PACKAGES.

A VIEW can easily limit what columns are displayed.  In some cases, you can control what Rows can be displayed.

A PACKAGES is just a collection of function/procedures.
eg registerUser and loginNamePassword would belong to PACKAGE AUTHENTICATION_SERVICE_API

You could, almost, think of a PACKAGE as a (java parlance) class.

Your design would look like this:


ANSWERS


You are now using a single table.  This isn't a concern
You are now using a single table.  Oracle doesn't do dirty data(*).


(*) I'm ignoring the DBMS package for 2-phase commits that allows you to do that.