Top 5 wait events from v$active_session_history

This query returns the top 5 wait events for the last hour from the v$active_session_history view.

Be careful, this view is part of the diagnostic pack, you should not query this view if you not licensed for it.

Top 5 wait events from v$active_session_history

select * from (
	select
		 WAIT_CLASS ,
		 EVENT,
		 count(sample_time) as EST_SECS_IN_WAIT
	from v$active_session_history
	where sample_time between sysdate - interval '1' hour and sysdate
	group by WAIT_CLASS,EVENT
	order by count(sample_time) desc
	)
where rownum <6

This is obviously an approximation, because v$active_session_history contains only 1 second samples, and who knows what happens during each second sample. If you compare the time given by this query with information from v$system_event it will not exactly match but you should be close if you choose a sufficiently long period.

OCP 12C – Oracle Data Redaction

What is Oracle Data Redaction ?

  • Oracle Data Redaction is meant to mask (redact) sensitive data returned from application queries.
  • Oracle Data Redaction doesn’t make change to data on disk, the sensitive data is redacted on the fly before it is returned to the application.
  • You can redact column data by using one of the following methods:
    • Full redaction. You redact all of the contents of the column data.
    • Partial redaction. You redact a portion of the column data.
    • Regular expressions. You can use regular expressions to look for patterns of data to redact.
    • Random redaction. The redacted data presented to the querying application user appears as randomly generated values each time it is displayed, depending on the data type of the column.
    • No redaction. The None redaction type option enables you to test the internal operation of your redaction policies, with no effect on the results of queries against tables with policies defined on them.

Data Redaction Continue reading OCP 12C – Oracle Data Redaction

OCP 12C – Resource Manager and Performance Enhancements

Use Resource Manager for a CDB and a PDB

Managing Resources between PDBs

  • The Resource Manager uses Shares ans Utilization limit to manage resources allocated to PDBs.
  • The more “Shares” you allocate to a PDB, the more resource it will have.
  • Shares are allocated through DBMS_RESOURCE_MANAGER.CREATE_CDB_PLAN_DIRECTIVE.
  • One directive can only concern one PDB and you can’t have multiple directive for the same PDB in the same plan.

Resource Manager

  • You can limit resource utilization of a specific PDB by using the UTILIZATION_LIMIT of the CREATE_CDB_PLAN_DIRECTIVE procedure. UTILIZATION_LIMIT is expressed in percentage of total system resources, if you set it to 50 it, the PDB will be able to use 50% of total system resources (CPU, I/O, parallel server).
  • The PARALLEL_SERVER_LIMIT parameter let you limit the parallel server utilization for a PDB.
  • If you don’t define a plan for a PDB, the default one applies, by default a PDB is being allocated :
    • 1 Share
    • No Utilization Limit
    • No Parallel Server Utilization limit

Continue reading OCP 12C – Resource Manager and Performance Enhancements