nerdexam
Oracle

1Z0-083 · Question #278

Examine this configuration: 1. CDB1 is a container database. 2. APP1_ROOT is an application container contained in CDB1. 3. APP1_ROOT$SEED is the application seed contained in APP1_ROOT and…

The correct answer is B. USER1 can connect to APP1_ROOT and APP1_PDB1. D. USER1 is defined in APP1_PDB2. E) USER1 can connect only to APP1_PDB1. B is correct because the GRANT CREATE SESSION TO USER1 was executed inside the application upgrade block in APP1_ROOT, meaning it was applied directly to APP1_ROOT and recorded as part of the upgrade script. When APP1_PDB1 ran SYNC, it replayed that upgrade-including the…

Multitenant Architecture

Question

Examine this configuration: 1. CDB1 is a container database. 2. APP1_ROOT is an application container contained in CDB1. 3. APP1_ROOT$SEED is the application seed contained in APP1_ROOT and synchronized with APP1_ROOT. 4. APP1_PDB1 and APP1_PDB2 are application PDBs contained in APP1_ROOT. 5. APP1_USER_APP is an application installed in APP1_ROOT at version 1.0. 6. USER1 is a common user in APP1_ROOT and all its application PDBs, created when version 1.0 of APP1_USER_APP was installed. You execute these commands: $ sqlplus sys/oracle@localhost:1521/cdb1 as sysdba SQL> ALTER SESSION SET CONTAINER=app1_root; Session altered. SQL> ALTER PLUGGABLE DATABASE APPLICATION app1_user1_app BEGIN UPGRADE '1.0' TO '2.0'; pluggable database altered. SQL> GRANT CREATE SESSION TO USER1; Grant succeeded. SQL> ALTER PLUGGABLE DATABASE APPLICATION app1_user1_app END UPGRADE TO '2.0'; Pluggable database altered SQL> ALTER SESSION SET CONTAINER=app1_pdb1; Session altered. SQL> ALTER PLUGGABLE DATABASE APPLICATION app1_user1_app SYNC; Pluggable database altered. Which two are true?

Options

  • AUSER1 can connect to CDB1.
  • BUSER1 can connect to APP1_ROOT and APP1_PDB1.
  • CUSER1 can connect to APP1_ROOT, APP1_ROOT$SEED, and APP1_PDB1.
  • DUSER1 is defined in APP1_PDB2. E) USER1 can connect only to APP1_PDB1.
  • EUSER1 can connect only to APP1_ROOT.

How the community answered

(38 responses)
  • A
    24% (9)
  • B
    61% (23)
  • C
    8% (3)
  • E
    8% (3)

Explanation

B is correct because the GRANT CREATE SESSION TO USER1 was executed inside the application upgrade block in APP1_ROOT, meaning it was applied directly to APP1_ROOT and recorded as part of the upgrade script. When APP1_PDB1 ran SYNC, it replayed that upgrade-including the grant-so USER1 can connect to both.

D is correct because USER1 was created as an application common user during the version 1.0 install, which propagated to all application PDBs (APP1_PDB1 and APP1_PDB2). The user exists in APP1_PDB2, but since APP1_PDB2 was never synced to version 2.0, it never received the GRANT CREATE SESSION-so USER1 is defined there but cannot connect.

A is wrong because USER1 is an application common user scoped to APP1_ROOT and its PDBs, not a CDB-level common user (which would require a C## prefix or be created in CDB$ROOT). C is wrong because APP1_ROOT$SEED was never explicitly synced after the upgrade-the seed does not auto-sync; it requires its own ALTER PLUGGABLE DATABASE APPLICATION ... SYNC command. Options E/F are wrong because they each omit one of the two containers USER1 can actually reach.

Memory tip: In application containers, think in two layers - defined (exists everywhere the application was installed at v1.0) vs. privileged (only where the upgrade sync has been applied). "Defined" does not imply "can connect."

Topics

#Application Containers#Common Users#Multitenant Architecture#User Propagation

Community Discussion

No community discussion yet for this question.

Full 1Z0-083 Practice