I am trying to see different sharing mode with application container. Working on Oracle 18c. I am working on a small test case where I created a table with share=metadata and inserted a record in this. When I sync this application with PDB and select from this table - I expect to see no data. But I can see the record inserted in the app container. I can even update it, then how is this mode different from extended data sharing mode ? Also all the document suggest that only the meta data should be shared ? then why app container data should be shared with pdb ? Here is my testcase.

The insert statement is reflected in Application PDB as the insert statement is part of INSTALL/UPGRADE process. Ideally inserts to the METADATA shared table will be part of application and will not be in INSTALL/UPGRADE process, unless we want to specifically propagate some data to each application pdb. You can test to insert into the table outside of INSTALL process then the same will not be reflected to the Application PDBs.