0% found this document useful (0 votes)
501 views3 pages

Oracle 12c Data Dictionary Updates

The document summarizes some of the new and updated features in Oracle 12c related to data dictionary views and dynamic performance views. Key changes include additional columns in views like dba_users, new views like v$channel_waits, over 100 new dynamic performance views, and corrections to misleading view names. The author notes several views worth further investigation.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
501 views3 pages

Oracle 12c Data Dictionary Updates

The document summarizes some of the new and updated features in Oracle 12c related to data dictionary views and dynamic performance views. Key changes include additional columns in views like dba_users, new views like v$channel_waits, over 100 new dynamic performance views, and corrections to misleading view names. The author notes several views worth further investigation.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd

Some data dictionary changes I find interesting in Oracle 12c (http://www.itpub.net/thread-1804879-1-1.html) 1.

Dba_users Dba_users in 12c has 4 more columns than in 11.2.0.3. Last_login and Oracle_main tained are quite useful (the latter also exists in dba_roles). I had long wished it had a comment field or a view e.g. dba_user_comments so I can document what app this user is used for. We've had dba_tab|col_comments for so long but rarely use it. But the more useful user comment still doesn't exist in 12c. 2. Client version V$session_connect_info.client_version finally got it right. Before 12c, this col umn just shows the version of the Oracle client *you* are using, even if your wh ere-clause is sid=<some other session ID>, and the workaround I found is to run with x as (select distinct to_char(ksuseclvsn,'xxxxxxx') v from x$ksusecon where ksusenum = &sid) select decode(v, ' 0', 'no version provided: 10g or lower, or background p rocess?', to_number(substr(v,1,2),'xx') || '.' || --maj_rel to_number(substr(v,3,1),'x') || '.' || --mnt_rel to_number(substr(v,4,2),'xx') || '.' || --ias_rel to_number(substr(v,6,1),'x') || '.' || --pat_set to_number(substr(v,7,2),'xx')) client_version -- port_mnt from x; and it lumps all 10g or lower version clients into "no version provided...". 3. Dba_tab_privs is a misnomer It should really be called dba_obj_privs. But since the name is stuck, 12c adds a type column so you know what the "table"_name column refers to what type of ob ject, likely not a table. Unfortunately, dba_synonyms is not modified and you st ill have to remember table_owner|name in there don't always refer to tables. (Fo r more misnomers, see http://yong321.freeshell.org/computer/OracleMisnomers.txt) 4. "New" names for events (words after arrows are mine) SQL> select name, display_name from v$event_name where display_name != name orde r by 1; NAME ---------------------------------------------DFS db file lock Image redo gen delay LGWR real time apply sync concurrent I/O completion control file sequential read control file single write datafile copy range completion ion datafile move cleanup during resize db file parallel read db file parallel write db file scattered read xt one finally end the confusion why FTS db file sequential read DISPLAY_NAME --------------------------------------quiesce for datafile offline redo resource management standby apply advance notification online move datafile IO completion control file read control file write online move datafile copy range complet online move datafile resize cleanup db list of blocks read db list of blocks write db multiblock read <-- this and the ne db single block read <-- is counter-in

tuitively scattered not sequential read db file single write db single block write log buffer space log buffer full - LGWR bottleneck <-- m ore user-friendly and practical event name log file parallel write log file redo write <-- good: log file parallel write writes redo content log file sequential read log file multiblock read <-- surprising ! Sequential read is multiblock? log file single write log file header write <-- good: log fil e single write writes logfile header only log file sync commit: log file sync <-- more user-fri endly and practical wait for possible quiesce finish quiesce database completion V$latchname also has a new column, display_name. But all are the same as name. 5. Undocumented v$ views Select name from v$fixed_table where name like 'V$%' minus select ... (where the latter select is just a table I created to contain all v$ view names in documen tation->Reference).[note] In 11.2.0.3, there're 88, including interesting ones l ike v$sql_hint, v$sql_feature*, v$datapump*, v$hang_statistics (for RAC only), v $cell* (Exadata only), v$ash_info, v$rfs_thread (to check standby apply progress or lag), v$listener_network (in which RAC SCAN for remote_listener is broken in to 3 individual IPs). In 12c, there're 114. Interesting new ones are v$channel_w aits, v$goldengate_capabilities (obviously useless unless with GG). Good news: V $hang* views are no longer undocumented. ______________ [note] Before 12c, v$fixed_table does not contain all v$ views. Select object_na me from dba_objects where owner = 'SYS' and object_name like 'V$%' minus select name from v$fixed_table where name like 'V$%' shows 9 views, i.e. v$cache*, v$*p ing, v$object_usage (should really be called user_index_usage), v$xs_session*. 1 2c no longer has this problem. 6. New v$ views Select name from v$fixed_table where name like 'V$%' minus select name from v$fi xed_table@<link to 11.2.0.3 DB> where name like 'V$%' returns 111 rows. Since 11 .2.0.3 has 9 v$ views not recorded in v$fixed_table (see above note), 12c has ad ded 102 new views. Interesting or possibly interesting ones are v$asm_estimate, v$channel_waits, v$client_secrets, v$dead_cleanup, v$ges_deadlocks*, v$heat_map_ segment (together with dba_heat*), v$*outlier (to check exceptionally slow IO), v$mapped_sql, v$nonlogged_block, v$px_process_trace.

To be studied: Dba_tables has new columns: clustering, activity_tracking, dml_timestamp, has_id entity, container_data dba_views has: bequeath dba_indexes: orphaned_entries, indexing (dba_ind_partitions has orphaned_entries ) dba_histogram: endpoint_actual_value_raw, endpoint_repeat_count, scope (I see 'S HARED', not sure how to make one not shared) dba_sequences: partition_count, session_flag, keep_value dba_objects: sharing (mostly 'METADATA LINK', some 'OBJECT LINK' or 'NONE', not sure what they are), oracle_maintained dba_tab_columns: default_on_null, identity_column (well-known 12c features), sen sitive_column (?), unusable_before, unusable_beginning

dba_tab_partitions: indexing (dba_part_tables has def_indexing) dba_scheduler_jobs: restartable, connect_credential_owner, connect_credential_na me dba_services: commit_outcome, retention_timeout, replay_initiation_timeout, sess ion_state_consistency, global_service, pdb, sql_translation_profil e, max_lag_time, gsm_flags (v$services has about the same new columns, no gsm_fl ags) v$instance: instance_mode ('REGULAR'), edition ('EE' for Enterprise edition), fa mily (?) v$session: sql_translation_profile_id, pga_tunable_mem, external_name v$sql: is_reoptimizable (optimization on the fly, during execution?), is_resolve d_adaptive_plan v$sqlstats: lots of columns beginning with 'DELTA', probably useful in seeing va lue increments v$pwfile_users: sysbackup, sysdg, syskm (to support those new "roles")

You might also like