1CDB1 is a container database.
2 DEFAULT_SHARING is METADATA.
3APP_ROOT is an application root contained in CDB1.
4APP_PDB1 is an application PDB contained in APP_ROOT.
5COMPANYAPP is an application contained in APP_ROOT.
6EMP is a common table created in APP_ROOT and all its application PDBs,
Created when version 1.0 of COMPANYAPP was installed.
You execute these commands:
$ sqlplus sys/orac1e@localhost:1521/cdb1 as sysdba
SQL> ALTER SYSTEM SET DEFAULT_SHARING=DATA;
System altered.
SQL> ALTER SESSION SET CONTAINER=app_root;
Session altered.
SQL> ALTER PLUGGABLE DATABASE APPLICATION companyapp BEGIN
UPGRADE '1.0' TO '2.0';
Pluggable database altered.
SQL> ALTER TABLE emp ADD (sal NUMBER NOT NULL) ;
Table altered.
SQL> ALTER PLUGGABLE DATABASE APPLICATION companyapp END
UPGRADE TO '2.0';
Pluggable database altered.
SQL> ALTER SESSION SET CONTAINER=app_pdb1;
Session altered.
SQL> DESC emp;
Name
Null?
Type
--------------------------------------------------------------
ENO
NUMBER
ENAME
VARCHAR2 (20)
SQL> SELECT * FROM emp;
ENO
ENAME
---------------------------------
100
Alan
200
Ben
SQL> ALTER PLUGGABLE DATABASE APPLICATION companyapp SYNC;
What will be the outcome and why?
SAL will be added to APP_PDB1.EMP, with 0 in columns of existing rows.
SAL will be added to APP_PDB1.EMP, with NULLs in columns of existing rows.
It will return an error because the SYNC operation is not allowed when
Constraints are added to common objects.
It will return an error because EMP is not empty in APP_ROOT.
我来回答: