Your SALES_ROOT application container has two application PDBs. The SALES_APP application has a common table, FIN.REVENUE, in the two PDBs. Examine this query and its output:
Which two are true? (Choose two.)
A.
The CONTAINERS clause cannot be used in queries on the REVENUE table.
B.
The REVENUE table must be a list-partitioned table.
C.
The MAPTABLE tables defines a logical partition key on a commonly used column for the REVENUE table.
D.
The MAPTABLE table is a metadata-linked table.
E.
A container map exists for the REVENUE table, but is not enabled.
F.
The REVENUE table partitions are not pruned across the PDBs automatically.
C and F are correct.
Tested in lab with exact same setting like in the output shown.
A. -> incorrect - The CONTAINERS clause can be used.
B. -> incorrect - It can be also a range based.
C. -> CORRECT - https://docs.oracle.com/en/database/oracle/oracle-database/19/multi/administering-application-containers-with-sql-plus.html#GUID-AAF93A02-7C70-4024-8758-E351C213543E
D. -> incorrect - Regular table
E. -> incorrect - shown in the output CONTAINER_MAP = YES
F. -> CORRECT - because CONTAINERS_DEFAULT is not enabled for the revenue table.
Because of what I can read from your link:
"A container map can define a logical partition key on a column for a common object. " It seems to me that C is false! And the full statement is true if you invert the 2 object names! :-)
MAPTABLE has CONTAINER_MAP=NO
REVENUE has CONTAINER_MAP=YES
based on this:
container_map (yes) and containers_default (yes), when used together, allow, container_map to prune the partitions and therefore the application pdbs, based on the key that is passed to the query
correct answers are: c,f
Seems D is also correct
SQL> select containers_default, container_map, container_map_object, table_name from DBA_TABLES where table_name='CONTAINERMAP';
CON CON CON
--- --- ---
TABLE_NAME
--------------------------------------------------------------------------------
NO NO YES
CONTAINERMAP
SQL> select SHARING from dba_objects where OBJECT_NAME='CONTAINERMAP' and OBJECT_TYPE='TABLE';
SHARING
------------------
METADATA LINK
C and E
-Use a container map to partition the data in metadata-linked objects. Container maps partition data in application PDBs based on a commonly-used column.
-The map object is the partitioned table. The names of the partitions in the map table match the names of the application PDBs in the application container. The metadata-linked object is not physically partitioned at the table level, but it can be queried using the partitioning strategy used by the container map.
-In addition, you can enable the CONTAINERS_DEFAULT attribute for a table or view in an application root. When this attribute is enabled, the CONTAINERS clause is used for queries and DML statements on the database object by default, and the CONTAINERS clause does not need to be specified in the SQL statements. To enable the CONTAINERS_DEFAULT attribute for a table or view in an application root, run the an ALTER TABLE or ALTER VIEW statement with the ENABLE CONTAINERS_DEFAULT clause.
https://docs.oracle.com/en/database/oracle/oracle-database/19/multi/administering-application-containers-with-sql-plus.html#GUID-AAF93A02-7C70-4024-8758-E351C213543E
A voting comment increases the vote count for the chosen answer by one.
Upvoting a comment with a selected answer will also increase the vote count towards that answer by one.
So if you see a comment that you already agree with, you can upvote it instead of posting a new comment.
michael_live
Highly Voted 4 years, 4 months agoauwia
7 months, 2 weeks agoauwia
Most Recent 7 months, 2 weeks ago_gio_
1 year, 8 months agoBio12345
2 years, 11 months agoerial
4 years, 4 months agoChansi
4 years, 4 months agoChansi
4 years, 5 months agodacoben415lywenw
4 years, 7 months agoveginha
4 years, 7 months agoveginha
4 years, 7 months ago