Quantcast
Channel: berxblog
Viewing all 172 articles
Browse latest View live

Oracle Datapatch - out of place patches simplified

$
0
0
datapatch was introduced with Oracle 12.1 to simplify management of post-patching steps when a patch (or patchset) is applied.
As most software, it was written with best intentions but little knowledge how customers would use it.
One of these unforseen used case was parallel patching of multiple DBs in the same ORACLE_HOME at the same time.
Another problem was missing rollback files due to out of place patching.

Oracle addressed this in Bug 23170620.
The solution there is interesting:
the table sys.registry$sqlpatch is extended by a column patch_directory. It is a BLOB which contains the Zipped contents of patch directory.
By this patch, each database contains the sql files required to rollback a change done in the database. If datapatch does not find the proper rollback files in ORACLE_HOME/sqlpatch, it unzips the content of registry$sqlpatch.patch_directory into ORACLE_HGOME/sqlpatch and executes the scripts. For every new patch, a zip file is loaded into the table by datapatch.
With 18c an equal mechanism was introduced in sys.registry$sqlpatch_ru_info respectively DBA_REGISTRY_SQLPATCH_RU_INFO.

By it's own this feature is very nice. But it shows the importance of serious security settings.
Only SYS can write to these tables by default, and that should be limited for some good reasons:
If anyone can write to this table with evil intentions, he can create a zipfile with a content like
.
├── 1234.xml
├── 1234_apply.sql
├── 1234_rollback.sql
└── rollback_files
└── rdbms
└── admin
├── berx_bug1234_apply.sql
└── berx_bug1234_rollback.sql

The XML contains some basic content
<?xml version="1.0" encoding="utf-8"?>
<sqlPatch ID="1234" uniquePatchID="5678" applicationPatch="NO" bundle="NO" jvm="NO" bundleSeries="NONE" bundleID="0" startupMode="normal" estimatedTime="5">
<patchDescription>berx' datapatch-escape</patchDescription>
<component>CATALOG</component>
<component>CATPROC</component>
<sqlFiles>
<file mode="rollback" new="yes" estimatedTime="5" component="CATALOG">rdbms/admin/berx_bug1234_rollback.sql</file>
<file mode="apply" new="yes" estimatedTime="5" component="CATALOG">rdbms/admin/berx_bug1234_apply.sql</file>
</sqlFiles>
</sqlPatch>

and the 1234_rollback.sql file can contain:
SET SERVEROUTPUT ON

REM Apply script for patch 1234/5678
DEFINE description = &1
DEFINE logfiledir = &2
DEFINE flags = &3
DEFINE bundle_series = &4

COLUMN sqlpatch_logfile NEW_VALUE full_logfile


SELECT '&logfiledir' || '1234_apply_' ||
CASE WHEN (sys_context('userenv', 'cdb_name') IS NULL)
THEN name
ELSE name || '_' || replace(sys_context('userenv', 'con_name'), '$')
END || TO_CHAR(systimestamp, '_YYYYMonDD_HH24_MI_SS') ||
'.log' AS sqlpatch_logfile
FROM v$database;

SPOOL &full_logfile

SET PAGESIZE 0
SELECT 'Starting rollback for patch 1234/5678 on ' ||
SYSTIMESTAMP FROM dual;
SET PAGESIZE 10

BEGIN
dbms_sqlpatch.patch_initialize(p_patch_id => 1234,
p_patch_uid => 5678,
p_flags => '&flags',
p_description => '&description',
p_action => 'APPLY',
p_logfile => '&full_logfile',
p_bundle_series => '&bundle_series');
END;
/

COLUMN install_file NEW_VALUE sql_script


ALTER SESSION SET CURRENT_SCHEMA = SYS;

SET PAGESIZE 0
SELECT 'Calling rdbms/admin/berx_bug1234_apply.sql on ' || SYSTIMESTAMP FROM dual;
SET PAGESIZE 10

PROMPT IGNORABLE ERRORS: NONE
select "berx_was_here!" from dual;
create table berx_was_here as select * from dual;

! touch /tmp/berx_was_here


BEGIN dbms_sqlpatch.patch_finalize; END;
/

SET PAGESIZE 0
SELECT 'Finished apply for patch 1234/5678 on' ||
SYSTIMESTAMP FROM dual;
SET PAGESIZE 10

SPOOL off

This specific script creates only one table and a file in /tmp but it could do worse.

At the next run of datapatch (might it be due to a regular patch session or an one-off patch with post-patching steps), will execute this script. And as the script then is located in ORACLE_HOME/sqlpatch, all other databases which instances use this ORACLE_HOME and get patched will be affected also (and get the zip-file added to their sys.registry$sqlpatch).

glitches on runInstaller attachHome

$
0
0

Cloning ORACLE_HOMEs should be quite well known by now.

Still sometimes there are some glitchs to take care of.
In this case I cloned an existing ORACLE_HOME (dbhome_1) to a new one (dbhome_2) so I can apply a patch and reduce the downtime to <switching ORACLE_HOME> plus <running datapatch>.

Running the runInstaller was straight forward:
./runInstaller -silent -attachHome -invPtrLoc /var/opt/oracle/oraInst.loc \
 ORACLE_HOME="/path_to/oracle/product/18.0.0/dbhome_2" \
 ORACLE_HOME_NAME="OraDB18Home2" CLUSTER_NODES="{MY_NODE}" -local

But when I tried to start the instance (in an Oracle Restart configuration) a strange error occured:

srvctl start database -db MY_DATABASE

PRCR-1079 : Failed to start resource ora.MY_DATABASE.db
CRS-5017: The resource action "ora.MY_DATABASE.db start" encountered the following error:
ORA-12777: A non-continuable error encountered. Check the error stack for additional information [ksm_check_ob_paths:1], [ORACLE_BASE], [], [].
ORA-08275: Environment variable unset
. For details refer to "(:CLSN00107:)" in "/ORACLE_BASE/diag/crs/MY_NODE/crs/trace/ohasd_oraagent_oracle.trc".

CRS-2674: Start of 'ora.MY_DATABASE.db' on 'rznjvh175' failed

and the tracefile only contains lines of limited help:
2019-12-03 10:37:17.014 : USRTHRD:748464: {0:6:2} Thread:ASM DedicatedThread AsmCommonAgent::DedicatedThread::run  220 isRemoteListenSet=0
2019-12-03 10:37:17.651 :CLSDYNAM:51523: [ora.MYDATABASE.db]{0:0:36611} [start] ORA-12777: A non-continuable error encountered. Check the error stack for additional information [ksm_check_ob_paths:1], [ORACLE_BASE], [], [].
ORA-08275: Environment variable unset

With no real luck at googling or searching MOS I had a lucky punch on
orabase command returns no value instead of ORACLE_BASE value. (Doc ID 2225573.1)

So I decided to edit the file /path_to/oracle/product/18.0.0/dbhome_2/install/orabasetab
to
/path_to/oracle/product/18.0.0/dbhome_2:/path_to/oracle:OraDB18Home2:N:

That made the trick and HAS can start the instance with new ORACLE_HOME.

I would assume runInstaller should to this task, and I have no idea why it was not done.
Just one more line on my list of post-activities.

maximum size of ORALCE_SID

$
0
0


The maximum length of ORACLE_SID environment variable seems to be a mystery in many places.
Recently I reviews a document where the max length was defined as 8 characters. I was quite sure this was not right, but I didn't know the correct value. A short ressearch did not find anythign useful in the docs - the Best available there was RAC installation guide for Linux & UNIX:
The Oracle Service Identifier (SID) prefix is the first 8 characters of the database name. The SID prefix can contain only the characters a-z, A-Z, and 0-9. The SID prefix cannot contain operating system special characters, so if you use special characters in the first 8 characters of the database name, then these special characters are omitted in the SID prefix. There is a single SID prefix for every database. The SID prefix for a database must be unique within the cluster.
For an Oracle RAC database, each instance has a unique identifier, ORACLE_SID, which consists of the SID prefix and an instance number. The ORACLE_SID prefix can contain up to 12 characters. 
It always refers to a ORACLE_SID prefix - but never explains the total length. As it's the RAC documentation, I assume it's more about RAC capabilities (some internals in srvctl and supporting binaries / structures).

Some other trustworthy sources at Oracle are very vague in this area:

Tom Kyte (2002):
its really 4 characters as the convention (ORCL for example).
The reason is in support of 8.3 filenames. ALRTORCL.LOG, INITORCL.ORA, etc. We use 4, you use 4 and we can get 8 character filenames.

and later there (2007):
I would stick with 8 or less - better safe than sorry.


Connor McDonald (2017):
So even if you find a platform that does more than 8, I would never go more than that.

Another approach can be to identify Data Dictionary views which report the Oracle System ID.
One is v$instance.INSTANCE_NAME with Datatype VARCHAR2(16).
Another is v$thread.INSTANCE with Datatype VARCHAR2(80).
Oracle is really consequent in it's ambiguity!


So it's worth to do some tests!

My lab is 18c & 19c on Linux. Maybe other OS might show other limits!

The longest ORACLE_SID I could set and use to start an instance was
30 characters 
long!
(In my case I used QWERTZUIOP1234567890ASDFGHJKLY)

With this ORACLE_SID set, a proper value is returned by v$thread

SQL> select instance from v$thread;

INSTANCE
--------------------------------------------------------------------------------
QWERTZUIOP1234567890ASDFGHJKLY

but v$instance does not show anything:

select  instance_name  from v$instance;

INSTANCE_NAME
----------------


SQL>

With an ORACLE_SID of 16 characters (QWERTZUIOP123456) v$instance is fine:
select  instance_name  from v$instance;

INSTANCE_NAME
----------------
QWERTZUIOP123456

SQL>

With any ORACLE_SID of 31 characters or more I got
ORA-00600: internal error code, arguments: [OSDEP_INTERNAL], [], [], [], [], [], [], [], [], [], [], []
ORA-27302: failure occurred at: slsid1
ORA-27303: additional information: Unable to get environment variable ORACLE_SID


Now I at least tested a possible max. length of ORACE_SID (18c & 19c on Linux) of 30 characters.
Whenever I use the System ID in scripts, I should query v$thread, NOT v$instance.
I recommend to use not more than 16 characters so it's still visible in v$instance also.

fixing a failed APEX installation

$
0
0
Today I tried to install APEX 19.2.0.00.18 into a 19.5 database, but apexins.sql failed with

Errors found. Drop APEX_190200 before re-starting the installation.
#
# Actions in Phase 1:
#
ok 1 - BEGIN | 0.00
ok 2 - Creating FLOWS_FILES | 0.00
ok 3 - Creating APEX_PUBLIC_USER | 0.02
ok 4 - Creating APEX_GRANTS_FOR_NEW_USERS_ROLE | 0.00
ok 5 - Creating SYS Objects | 0.00
ok 6 - Creating APEX Tables | 0.13
ok 7 - Installing Package Specs (Runtime) | 0.48
not ok 8 - Installing Package Bodies (Runtime) | 0.20
# Message: ORA-00933: SQL command not properly ended
# Statement: comment on column apex_team_feedback.logged_as_issue_id is
'If feedback resulted in an issue, the unique identifier of the resulting issue
.'
#
# comment on column apex_team_feedback.LABEL_01 is 'Identifies the label for
corresponding attribute.'
ok 9 - Dev Grants | 0.00
ok 10 - Creating Dev-Only Tables and Triggers | 0.00
ok 11 - Installing Package Specs (Dev) | 0.20
ok 12 - Installing Views (Dev) | 0.02
ok 13 - Installing Package Bodies (Dev) | 0.07
ok 14 - Recompiling APEX_190200 | 0.33
ok 15 - Creating APEX$ objects in APEX_190200 | 0.02
ok 16 - Creating Spatial Support | 0.00
ok 17 - Creating Instance Parameter Defaults | 0.00
ok 18 - Installing Page Designer Metadata | 0.03
ok 19 - Inherit Privileges | 0.00
ok 20 - Creating APEX_INSTANCE_ADMIN_USER | 0.00
not ok 1 - 19 actions passed, 1 actions failed | 1.50
begin
*
ERROR at line 1:
ORA-20001: Install errors found in phase 1, see "not ok" messages above for
details.
ORA-06512: at "APEX_190200.WWV_INSTALL_API", line 440
ORA-06512: at line 5

Some lines above in the logfile I found
...apex_team_feedback
comment on column apex_team_feedback.LABEL_01 is 'Identifies the label for corresponding attribute.'
*
ERROR at line 3:
ORA-00933: SQL command not properly ended



This lead me to the file core/apex_views.sql

There a simple ; was missing:
17374c17374
< comment on column apex_team_feedback.logged_as_issue_id is 'If feedback resulted in an issue, the unique identifier of the resulting issue.';
---
> comment on column apex_team_feedback.logged_as_issue_id is 'If feedback resulted in an issue, the unique identifier of the resulting issue.'


I have no idea why this file is missing that character.
The zip file seems not to be corrupted:
md5sum apex_19.2_en.zip
dbf813eb9ec65ff91ef1f90e8c9b0148 apex_19.2_en.zip

Maybe this helps anyone, Or I managed to find a problem in this env which causes unzip to drop a single ; - who knows?

Gorillas, be aware!

$
0
0
 During the last 2 weeks I attended the Guerrilla Capacity and Performance online class.
It was somehow different from my normal technical activities as the content was totally agnostic of any specific technology and solely focussed on proper thinking and using of methodologies.
We learned sufficient about queueing theory, Littles Law, Amdahl and USL, PDQ and Statistical Forecasting like Multivariate Regression.
 Beside these technical skills the most important aspect was the tactical one: As modern timeframes and project plans does not allow a dedicated, full blown capacity planning step, the required approach is more guerilla like: Use oportunities, don't waste (your) resources, make achievements visible communicate properly.
 I have to thank Dr. Neil J. Gunther for giving this class. Beside the raw facts and figures he shared a great set of wisdom and anectotes.
 It's now on me to practice - the only way for becoming a practicioner. - Let's hope for many interesting projects ahead where I can apply my new skills!


materialized WITH query

$
0
0
Sometimes I have to improve a SQL query where the same (or similar) subquery is used several times within the whole statement. This leads to many times the tables needs to be visited, even for the same rows.
It also makes the query hard to read.

A real life example I had to deal with this week is something like

SELECT *
FROM ( SELECT columns, aggregate functions
FROM some tables
INNER JOIN
( SELECT IDa, 0 as IDb, col1
FROM T1
UNION
SELECT 0, IDb, col col1
FROM T2 )
ON some joins
INNER JOIN
( SELECT IDa, 0 as IDb, col2
FROM T1
UNION
SELECT 0, IDb, col col2
FROM T2 )
ON some joins
INNER JOIN
( SELECT IDa, 0 as IDb, col3
FROM T1
UNION
SELECT 0, IDb, col col3
FROM T2 )
ON some joins
INNER JOIN
( SELECT IDa, 0 as IDb, col4
FROM T1
UNION
SELECT 0, IDb, col col4
FROM T2 )
ON some joins
WHERE some filters
GROUP BY columns)
WHERE more filters

In this case it's quite visible there are 4 INNER JOINs to the same UNION of 2 tables, only the columns differ.

Fig 1 original PLAN - begin


The optimizer tried it's best and the beginning of the plan looked like Fig1. 3 more iterations with SORT - VIEW - SORT - UNION ALL follow. It's amazing the cost is so low, But even with higher cost there is not much the optimizer could do.


So my idea was to put it into a WITH clause and replace the INNER JOIN select with it.

The WITH clause is

WITH my_inner as (
SELECT IDa, 0 as IDb, col1, col2, col3, col4
FROM T1
UNION ALL
SELECT 0, IDb, col1, col2, col3, col4
FROM T2
)
 

And when replacing the first INNER JOIN
INNER JOIN
( SELECT * from my_inner )

Fig 2 changed PLAN - 1 replacement

It seems the optimizer did not like this as the cost increased.


But I continued with the next replacement:
Fig 3 changed PLAN - 2 replacements

The optimizer "understands" it can created a temporary object (the one which begins with SYS_TEMP_) and then re-uses it later.

With all 4 replacements, the Plan is different now:

Fig 4 changed PLAN - 4 replacements


The cost is still higher than in the original plan, but it's very likely the statement is faster than the original one.
In this case, there was no need to add the MATERIALIZED hint - it was done automatically, for very good reasons.

I like this optimization as it both, improves the readability of the query AND it's performance!

Γνῶθι σεαυτόν

$
0
0

Sometimes it might be interesting to understand, what's the SQL statement which is currently executed.
In an Oracle instance, for any other session it's quite simple by accessing some v$ views. But from "within" the statement, it's not straight forward. Nevertheless it's possible, by a creative combination of some features.

Here is the example.

First let's create a proper user:

CREATE USER know IDENTIFIED BY "thyself";

GRANT connect, resource TO know;

GRANT UNLIMITED TABLESPACE TO know;

GRANT CREATE VIEW TO know;

GRANT imp_full_database TO know;

That's slightly more than really needed - so if you evern require this funcitonality, please be careful with required permissions!
In this example, we do not even need a table.
But a Package to keep some variables:

CREATE OR REPLACE PACKAGE other_color_injector AS
-- package OCI
text_keeper VARCHAR2(4000 CHAR) := '--';
current_color VARCHAR2(100 CHAR) := 'white';
FUNCTION rls_hook (
p_schema IN VARCHAR2,
p_object IN VARCHAR2
) RETURN VARCHAR2;

END other_color_injector;
/

CREATE OR REPLACE PACKAGE BODY other_color_injector AS

FUNCTION rls_hook (
p_schema IN VARCHAR2,
p_object IN VARCHAR2
) RETURN VARCHAR2 AS
PRAGMA autonomous_transaction;
chk_color VARCHAR2(100 CHAR);
BEGIN
text_keeper := sys_context('userenv', 'CURRENT_SQL');

-- first word in /* comment
chk_color := regexp_substr(regexp_substr(text_keeper, '/\*.*\*'), '[[:alpha:]]+');
dbms_output.put_line(' SQL Text:' || text_keeper || '---');
IF chk_color IS NOT NULL THEN
current_color := chk_color;
END IF;
RETURN NULL;
END;

END other_color_injector;
/

And a function which gives us some feedback about the SQL in which it's called:
CREATE OR REPLACE TYPE rain_tab IS    TABLE OF VARCHAR2(100 CHAR);

create or replace FUNCTION rain_bow
-- RETURN t_tf_tab
return rain_tab
PIPELINED AS
BEGIN
PIPE ROW ( other_color_injector.current_color );

RETURN;
END;
/

create or replace view cloud as select column_value as color from rain_bow();


The view is somehow important for the next step whihc puts all the pieces together:


BEGIN
dbms_rls.add_policy(object_schema => 'KNOW',
object_name => 'CLOUD',
policy_name => 'RAIN',
function_schema => 'KNOW',
policy_function => 'OTHER_COLOR_INJECTOR.RLS_HOOK',
statement_types => 'select',
update_check => false);
END;
/

With this objects in place, a beautiful, but maybe confusing result can be created:
Enter user-name: know/thyself@pdb1

Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

SQL> select * from cloud;

COLOR
-------------------------------------------
white

SQL> select /* red */ * from cloud;

COLOR
-------------------------------------------
red

SQL> select * from cloud;

COLOR
-------------------------------------------
red

SQL> select /* green */ * from cloud;

COLOR
-------------------------------------------
green

SQL> select * from cloud;

COLOR
-------------------------------------------
green

SQL>

The important part is this line in OTHER_COLOR_INJECTOR.RLS_HOOK:
text_keeper := sys_context('userenv', 'CURRENT_SQL');

SYS_CONTEXT has access to CURRENT_SQL (and some other useful parameters) -  but only in fine grained audot / RLS events. So all the other objects are required to make this information available in my view rain_bow.

I also created a small twitter quiz where I asked for methods to identify the current SQL and create values based on the SQL.
Rene Jeruschkat suggested a solution based on latest v$sqlstats:


Mathias Rogel suggested to get the latest cursor from v$open_cursor which belongs to the current session:


Both are great solutions and show: there is quite often more than one way to solve a problem!


If you are curious about the greek letters in the title: Γνῶθι σεαυτόν they can be translated to know thyself - something which is often hard - not only for SQL statements.

Agent has been blocked manually. Unblock the Agent.

$
0
0
As it's easter weekend (at the time I write this blog) and it's a nice tradition here to hide some small items (often colored eggs or sweets) so other can find them, this story perfectly matches.
In Enterprise Manager 13c I had an agent with status

Agent has been blocked manually. Unblock the Agent.

Unfortunately In the Agents drop down menu, there is no (sub-) entry to unblock the agent. A well hidden entry!
After several attempts I was hinted where to look. It's in the "Setup" => "Manage Cloud Control" => "Agents" area:

There all agents are listed, and when selected the blocked one, it can be unblocked in the top action list.


I did not find a useful entry in the documentation (but that's probably my lack of search-foo). At least there is a Note EM 12c: How to Block or Unblock an Enterprise Manager 12c Cloud Control Agent if Agent Status is Shown as Blocked in EM Console or Emctl Status Agent Command Shows Heartbeat Status : Agent Is Blocked ? (Doc ID 1392601.1)





Oracle EUS authentication with LSA activated on AD

$
0
0
Are there to many abbrevations in a posts title possible? If you think so, you might see this post a good example.


The setting I'm talking about is an Oracle Universal Directory (OUD) which works as a proxy between Oracle databases and Active Directory (AD) where the users are managed. Unfortunately it stopped working. Even when a user changed the password in AD, it could not log in with this password to the database, but always got
 ORA-01017: invalid username/password; logon denied  
This can have many reasons.
A check in Middleware/instances/euist_inst/OUD/logs/access(.log)  shows
[03/Mar/2020:13:09:00 +0100] MODIFY PROXY_REQ conn=1654 op=5 msgID=6 s_credmode=use-specific-identity dn="cn=Username,ou=...,dc=..." s_conn=1002 s_msgid=7983
[03/Mar/2020:13:09:00 +0100] MODIFY PROXY_RES conn=1654 op=5 msgID=6 result=53 Message="00000057: LdapErr: DSID-0C090F64, comment: Error in attribute conversion operation, data 0, v3839^@" etime=1 s_authdn=CN=Oracle
...
[03/Mar/2020:13:09:02 +0100] DISCONNECT conn=1654 reason="Client Disconnect"
there is a MOs Note which describes the situation EUS Login Failure of AD Users Proxied by OUD: LdapErr: DSID-0C090CE0, comment: Error in attribute conversion operation (Doc ID 2612535.1) But neither the cause
They are not OUD-native. They have an AD format and indicate some problem with the passwords in AD.
nor the solution
Contact your AD administrator to determine the meaning of the AD portion of the error to fix this problem.
helps a lot.
Still asking the AD admin is a good idea. After some back & forth this line in eventlog on AD Server is an important step:
Code Integrity determined that a process (\...4\Windows\System32\lsass.exe) attempted to load \...\Windows\System32\oidpwdcn.dll that did not meet the Microsoft signing level requirements.

And it can be proved with signtool.exe - there is no certificate on the ddl:
"c:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64\signtool.exe" verify oidpwdcn.dll 


File: oidpwdcn.dll
Index Algorithm Timestamp

========================================

SignTool Error: No signature found.



Number of errors: 1

Of course Oracle Support has a solution for this situation in UD 11g - OIDPWDCN.DLL Plug-in Fails On AD 2012 R2 With Error "The password notification DLL oidpwdcn failed to load with error 577" (Doc ID 2616566.1) - but disabeling any security feature is not an acceptable solution in 2020. Sorry guys [NOT] !

The first attempt was to replace (quite old) oidpwdcn.dll with orapwdfltr.dll from modern opwdintg.exe
But a first check with signtool.exe didn't show any signature, and LSA also refused it. 

At that point, a SR at MOS was required. It went quite fast and Oracle confirmed, there is no signed version at that time. To get the latest orapwdfltr.dll, Bug 31134430 : NEED TO HAVE ORAPWDFLTR.DLL SIGNED BY MICROSOFT was opened and after reasonable time a signed ddl was provided. (I can not confirm nor decline, if additional contacts to Oracle were involved)


"C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64\signtool.exe" verify /v  orapwdfltr.dll
Verifying: orapwdfltr.dll
Signature Index: 0 (Primary Signature)
Hash of file (sha256): 2A14712107D424FF5577EF5C3D111CF66DB40F6226047ADC4F31389D69F437EB
Signing Certificate Chain:
    Issued to: VeriSign Class 3 Public Primary Certification Authority - G5
    Issued by: VeriSign Class 3 Public Primary Certification Authority - G5
    Expires:   Thu Jul 17 01:59:59 2036
    SHA1 hash: 4EB6D578499B1CCF5F581EAD56BE3D9B6744A5E5
        Issued to: Symantec Class 3 Extended Validation Code Signing CA - G2
        Issued by: VeriSign Class 3 Public Primary Certification Authority - G5
        Expires:   Mon Mar 04 01:59:59 2024
        SHA1 hash: 5B8F88C80A73D35F76CD412A9E74E916594DFA67
            Issued to: Oracle America Inc.
            Issued by: Symantec Class 3 Extended Validation Code Signing CA - G2
            Expires:   Thu Jan 28 01:59:59 2021
            SHA1 hash: 1CB08E9B70B917E64407A4F2665799D58B171F89
The signature is timestamped: Thu Apr 23 03:33:05 2020
Timestamp Verified by:
    Issued to: DigiCert Assured ID Root CA
    Issued by: DigiCert Assured ID Root CA
    Expires:   Mon Nov 10 02:00:00 2031
    SHA1 hash: 0563B8630D62D75ABBC8AB1E4BDFB5A899B24D43
        Issued to: DigiCert SHA2 Assured ID Timestamping CA
        Issued by: DigiCert Assured ID Root CA
        Expires:   Tue Jan 07 14:00:00 2031
        SHA1 hash: 3BA63A6E4841355772DEBEF9CDCF4D5AF353A297
            Issued to: TIMESTAMP-SHA256-2019-10-15
            Issued by: DigiCert SHA2 Assured ID Timestamping CA
            Expires:   Thu Oct 17 02:00:00 2030
            SHA1 hash: 0325BD505EDA96302DC22F4FA01E4C28BE2834C5
SignTool Error: A certificate chain processed, but terminated in a root
        certificate which is not trusted by the trust provider.
Number of files successfully Verified: 0
Number of warnings: 0
Number of errors: 1
Also the AD accepted the dll.
Still a proper login was not possible as orclCommonAttribute was not populated after a password change. It's important to read the documentation to opwdintg.exe as this installation program not only applies the ddl (instpflt.bat), but also extends the schema (etadschm.bat). (beside other changes) 3 groups are added: ORA_VFR_11G, ORA_VFR_12C and ORA_VFR_MD5. Only if users belong to the proper group, it's matching password algorithm is used to populate orclCommonAttribute.
After the test user was added to the first group (and it's password was changed again) login on th etest-DB was possible again.   

If you want to use this new, signed ddl, at the time of this post, no regular source is available (afaik). I recommend to open a SR at MOS and ask for a signed version of orapwdfltr.dll. Maybe it helps to drop a comment about Bug 31134430 😉




A bit THANK YOU to Stefa Oehrli who answered uncountable number of questions.

Oracle WINDOW FUNCTION XOR SDO_GEOMETRY

$
0
0
Recently a friend asked me how to write a query for a SQL query which was slightly above simple SQL demo cases you can find all around. For me it was a good reason to brush my SQL (and in the process I had to reach out to Kim Berg Hansen for a beautiful match_return solution, but that's not this posts content). As this friend has his data in a postgres database, I managed to get a free DB at Alwaysdata and play with this. 

But as I was asking Kim for some help, it was obvious to work in Oracle world. I supposed most solutions should be able to transfer to Posgres easily. How wrong I was ...

A striped down testcase uses a table like 
create table gps (
train integer
, gpstimestamp timestamp with time zone
, geom sdo_geometry
);
Train describes a series of measurements: every second a GPS point is measured. On part of the problematic question is to find the distance between 2 consecutive points. As I didn't stop in 1992, the LAG function came to my mind. 

But in Kims testcase, LAG did not work at all: 
select
train, gpstimestamp, geom
, nvl(sdo_geom.sdo_distance(geom, LAG(geom)
OVER (PARTITION BY train
ORDER BY gpstimestamp), 0.005)
, 0) as prev_dist
from gps
;
throws 
ORA-22901: cannot compare VARRAY or LOB attributes of an object type 
This error just does not makes any sense, as the geomertry does not need to be sorted at all. gpstimestamp is used for sorting, and oracle is quite capable of sorting timestamps of any kind. 
Maybe train needs to be sorted internally - PARTITION BY in theory just needs a comparison for equality, but Oracle often sorts in such cases. Even here train is of type integer - nothing easier to sort than this. 

But Kim knows SQL, and if one solution fails for any obscure reason, there is another one: 

   select
train, gpstimestamp, geom, prev_dist
from gps
match_recognize (
partition by train
order by gpstimestamp
measures
nvl(sdo_geom.sdo_distance(geom, prev(geom), 0.005), 0) as prev_dist
all rows per match
pattern (any_row)
define
any_row as 1=1
)
A beautiful workaround. - Funnily in livesql, even this workaround fails, this time with ORA-932:
ORA-00932: inconsistent datatypes: expected an IN argument at position 1 that is an instance of an Oracle type convertible to an instance of a user defined Java class got an Oracle type that could not be converted to a java class

Of course there are other solutions also: scalar subqueries, correlating inline views and many others. 

I also opened SR 3-23171402921 at Oracle - with the result it works as designed / expected. 



OK, back to my initial task: helping my friend with his query.

First I tried to port Kims MATCH_RECOGNIZE solution, but Postgres does not understand MATCH_RECOGNIZE yet. 
So I gave the LAG syntax a chance - and it worked: 
                lag(geom) over
( PARTITION BY train
ORDER BY gpstimestamp ) AS prev_geom ,
is flawless accepted by Postgres!

There are several lessons learned: 
  • It's not as easy as I hoped to transfer SQL between DB-engines.
  • If my SQL seems to be over complicated, for sure it is - ask Kim ;-) 
  • If you want to do analytical functions with spatial data, use Postgres, not Oracle. 

patch the unpatchable

$
0
0
Oracle provides several VM for demo and training purpose. One of them is the Database Virtual Box Appliance / Virtual Machine. 
It's very clear these VMs are only for testing purpose. 

But they are limited even more.
(at least) this specific VM can not even be patched. 
For some reason I wanted to apply Patch:29649694
First of all, there is no OPatch in the VM. This can be mitigated :-) 

But a first try with opatch lsinventory shows a strange result:
Oracle Interim Patch Installer version 12.2.0.1.21
Copyright (c) 2020, Oracle Corporation. All rights reserved.


Oracle Home : /u01/app/oracle/product/version/db_1
Central Inventory : /u01/app/oraInventory
from : /u01/app/oracle/product/version/db_1/oraInst.loc
OPatch version : 12.2.0.1.21
OUI version : 12.2.0.7.0
Log file location : /u01/app/oracle/product/version/db_1/cfgtoollogs/opatch/opatch2020-06-04_08-24-42AM_1.log

Lsinventory Output file location : /u01/app/oracle/product/version/db_1/cfgtoollogs/opatch/lsinv/lsinventory2020-06-04_08-24-42AM.txt
--------------------------------------------------------------------------------
Local Machine Information::
Hostname: localhost
ARU platform id: 0
ARU platform description::

There are no Interim patches installed in this Oracle Home.


--------------------------------------------------------------------------------

OPatch succeeded.
[oracle@localhost OPatch]$


The most important part here is the missing of ARU platform id and description.

With some comparison of a good sandbox, I identified the missing directory$ORACLE_HOME/inventory
The first file of interest there is $ORACLE_HOME/inventory/invDetails.properties
#invDetails.properties
#Wed May 13 17:46:16 UTC 2020
XML_VER=4.1
CompsXML=comps.xml
LibsXML=libs.xml
configXML=config.xml
ReleaseNotesXML=releaseNotes.xml
OHPropsXML=oraclehomeproperties.xml

This now shows even more required files.
$ORACLE_HOME/inventory/ContentsXML/oraclehomeproperties.xml contains the ARU id and description:
<?xml version = '1.0' encoding = 'UTF-8'?>
<!-- Copyright (c) 1999, 2019, Oracle and/or its affiliates.
All rights reserved. -->
<!-- Do not modify the contents of this file by hand. -->
<ORACLEHOME_INFO>
<GUID>685938240#.1069264794</GUID>
<HOME/>
<ARU_PLATFORM_INFO>
<ARU_ID>226</ARU_ID>
<ARU_ID_DESCRIPTION>Linux x86-64</ARU_ID_DESCRIPTION>
</ARU_PLATFORM_INFO>
<PROPERTY_LIST>
<PROPERTY NAME="ARCHITECTURE" VAL="64"/>
<PROPERTY NAME="ORACLE_BASE" VAL="/u01/app/oracle"/>
</PROPERTY_LIST>
</ORACLEHOME_INFO>

This is only the first step. Especially as the real patches applied are not known (DBA_REGISTRY_HISTORY  is of limited help, and DBA_REGISTRY_SQLPATCH relies on OPatch) it's to complicated for me

My approach here is to mimic OPatch and just do it on my own. 

I'm lucky: the patch only contains 1 file to be applied:
files/lib/libserver19.a/kpdbc.o 

and etc/config/actions.xml only says
<oneoff_actions>
<oracle .rdbms="" opt_req="O" patch_level="3" version="19.0.0.0.0">
<archive backup_in_zip="false" name="libserver19.a" object_name="lib/libserver19.a/kpdbc.o" path="%ORACLE_HOME%/lib" shaolue="E2CB4E2A994EB8B59E24471B719EA8F2A0079E66">
<make change_dir="%ORACLE_HOME%/rdbms/lib" make_file="ins_rdbms.mk" make_target="ioracle">
</make></archive></oracle>
</oneoff_actions>
Doesn't look difficult.
First of course, make sure no binaries are running. Then copy kpdbc.o to $ORACLE_HOME/lib.
There (after backup of libserver19.a) in this archive, kpbdc.o is replaced:
ar -r libserver19.a kpdbc.o
It should be possible to complete with
relink all
But it fails with
  Can't open perl script "/u01/app/oracle/product/version/db_1/install/modmakedeps.pl": (null)
This file also mist be provided from another installation. To cut it short, also $ORACLE_HOME/inventory/make/makeorder.xml is required.
With the help of these files, relink is happy. 


It can be done without the help of these 2 files.
cd $ORACLE_HOME/rdbms/lib
make -f ins_rdbms.mk ioracle
also does the trick.

one purpose of trm files

$
0
0
Since Oracle version 11g, beside trace files (.trc) there are also trace metadata files (.trm). They are often quite small. Still often they are seen as useless and cleaned up. 

Oracle Support Document TRM Trace Files Getting Generated (Doc ID 750982.1) claims:

The metadata in .trm files describes the trace records stored inside of .trc trace files.
The Trace metadata allows tools, such as Adrci, to post-process the trace information.

By deleting the .trm file, you make the .trc file unusable for post processing from ADR using ADRCI tool.
One additional purpose is to assist in proper results in V$DIAG_TRACE_FILE_CONTENTS.

Here a small example of a SQL_TRACE file: 
In a text editor, you can see the line numbers and it's content:



But V$DIAG_TRACE_FILE_CONTENTS shows it slightly different:


You can see a gap between LINE_NUMBER 28 and 40. 
The full payload of line 40 is 
declare
stm varchar2(32767) := 'select payload from v$diag_trace_file_contents where trace_filename = ''cdb1_ora_3435.trc'' and rownum = 1';
app varchar2(1000) := ' and trace_filename = ''cdb1_ora_3435.trc''';
val varchar2(4000);
n number;
begin
for i in 1 .. 500 loop
stm := stm || app;
end loop;
execute immediate stm into val;
end;

The full content of original lines 29..40 is proposed in only 1 line here - with the real line number of it's last line as LINE_NUMBER

This can be useful, e.g. to identify the SQL at one entity, instead of parsing the result set line by line. 
It is one of several ways how trace metadata files help interpreting the trace files content. 



If the .trm file is removed, the result looks slightly different: 


every line on the tracefile is a real line in V$DIAG_TRACE_FILE_CONTENTS
There is also no COMPONENT_NAME visible. 
The simple content if the tracefile without any additional metadata or interpretation.

wrong LINE_NUMBER in v$diag_trace_file_contents

$
0
0
V$DIAG_TRACE_FILE_CONTENTS is a very nice way to access Oracle trace files without direct access to the instances host. 
But for very long lines there is a problem, as PAYLOAD is limited to VARCHAR2(4000)

PAYLOAD

VARCHAR2(4000)

Displays the trace record payload (contents)


Oracle tries to do it's best and presents the one-line in multiple rows. In my 19.7 sandbox it looks like: 

This excerpt was created by a SQL which shows exactly the problem:
SELECT parsing_line,
line_number,
payload
FROM
v$diag_trace_file_contents MATCH_RECOGNIZE (
PARTITION BY trace_filename
ORDER BY line_number, timestamp
MEASURES
parse.line_number AS parsing_line
ALL ROWS PER MATCH
PATTERN ( parse lines_ + endline nextline ) DEFINE
parse AS ( payload LIKE 'PARSING IN CURSOR%' ),
lines_ AS ( line_number = prev(line_number) ),
endline AS ( line_number = prev(line_number) + 1 ),
nextline AS ( line_number = prev(line_number) + 1 )
)
WHERE trace_filename = '&trace_file'
/
Here you see the beauty of MATCH_RECOGNIZE: it describes quite clear, what I want to show. 
The pattern shown 
  • Starts with a row payload LIKE 'PARSING IN CURSOR%'
  • show all row where it's line_number is equal to previous rows line_number
  • the 2 lines afterwards which increases their line_number (in comparison to previous row) again

The wring line number can be seen easily: All the rows with the SQLs PAYLOAD have LINE_NUMBER 57. But in fact 57 is only 
PARSING IN CURSOR #140574625525808 len=20604 dep=1 uid=0 oct=3 lid=0 tim=529427750 hv=1387884324 ad='63388040' sqlid='9ygdp6j9bkvt4'
Only the last SQLs fragment is shown as LINE_NUMBER 58.

An additional problem is the missing capability of order these multiple rows properly. 
The ORDER BY line_number, timestamp is not sufficient, as all the lines 57 and 58 share the same timestamp. The fixed view x$DBGTFVIEW has a column INDX which is a good candidate for such purpose, but it's not available right now. 

For those who read my previous post: if the .trm file is missing, v$diag_trace_file_contents provides one row per line and the payload is truncated to 4000 characters. 

V$EVENT_NAME

$
0
0
This post is a simple content of V$EVENT_NAME as of 19.7. 
It's here mostly for my easy lookup. As I had to start my sandbox twice (on a Sunday) to check some uncommon waits, this is worth for me.  

EVENT_IDNAMEPARAMETER1PARAMETER2PARAMETER3WAIT CLASSDISPLAY_NAME
2516578839null event   Other<- name
3934444552logout restrictor   Concurrency<- name
939791390VKTM Logical Idle Wait   Idle<- name
1513856046VKTM Init Wait for GSGA   Idle<- name
1421578053IORM Scheduler Slave Idle Wait   Idle<- name
3767648750acknowledge over PGA limitlimitmargingrowthScheduler<- name
1179235204Parameter File I/Oblkno#blksread/writeUser I/O<- name
866018717rdbms ipc messagetimeout  Idle<- name
3222461937remote db operationclientidoperationtimeoutNetwork<- name
2171045634remote db file readclientidcountintrNetwork<- name
538064841remote db file writeclientidcountintrNetwork<- name
1867721841io donemsg ptr  System I/O<- name
4259433894i/o slave waitmsg ptr  Idle<- name
4120085931RMAN Disk slave I/Owait countwait flagstimeoutSystem I/O<- name
2828390964RMAN Tape slave I/Otape operationoperation flagstimeoutSystem I/O<- name
3671110102DBWR slave I/Owait countwait flagstimeoutSystem I/O<- name
1180269184LGWR slave I/Owait countwait flagstimeoutSystem I/O<- name
1260687889Archiver slave I/Owait countwait flagstimeoutSystem I/O<- name
166678035Disk file operations I/OFileOperationfilenofiletypeUser I/O<- name
2215689832Disk file I/O Calibrationcount  User I/O<- name
13102552Disk file Mirror ReadfilenoblknofiletypeUser I/O<- name
2577606720Disk file Mirror/Media Repair WritefilenoblknofiletypeUser I/O<- name
2093619153direct path syncFile numberFlags User I/O<- name
2006672057Clonedb bitmap file writeblknosize System I/O<- name
4155572307Datapump dump file I/OcountintrtimeoutUser I/O<- name
1791724291dbms_file_transfer I/OcountintrtimeoutUser I/O<- name
432473858DG Broker configuration file I/OcountintrtimeoutUser I/O<- name
2326919048Data file init writecountintrtimeoutUser I/O<- name
3992632846Log file init writecountintrtimeoutUser I/O<- name
2089793129Log archive I/OcountintrtimeoutSystem I/O<- name
3107297351RMAN backup & recovery I/OcountintrtimeoutSystem I/O<- name
2431534215RMAN lost write rereadcountintrtimeoutSystem I/O<- name
3511162007Standby redo I/OcountintrtimeoutSystem I/O<- name
2907891391Network file transfercountintrtimeoutSystem I/O<- name
171909448Pluggable Database file copycountintrtimeoutUser I/O<- name
4053220855File CopycountintrtimeoutUser I/O<- name
708427085Backup: MML initialization   Administrative<- name
90799346Backup: MML v1 open backup piece   Administrative<- name
1699816995Backup: MML v1 read backup piece   Administrative<- name
2733564901Backup: MML v1 write backup piece   Administrative<- name
3963262976Backup: MML v1 close backup piece   Administrative<- name
4157057748Backup: MML v1 query backup piece   Administrative<- name
4019590666Backup: MML v1 delete backup piece   Administrative<- name
1895924988Backup: MML create a backup piece   Administrative<- name
3051341818Backup: MML commit backup piece   Administrative<- name
3102084144Backup: MML command to channel   Administrative<- name
2388692075Backup: MML shutdown   Administrative<- name
1926582779Backup: MML obtain textual error   Administrative<- name
2632503569Backup: MML query backup piece   Administrative<- name
2690859083Backup: MML extended initialization   Administrative<- name
1533823139Backup: MML read backup piece   Administrative<- name
2524600641Backup: MML delete backup piece   Administrative<- name
2275421618Backup: MML restore backup piece   Administrative<- name
3388241768Backup: MML write backup piece   Administrative<- name
3815526880Backup: MML proxy initialize backup   Administrative<- name
2642609849Backup: MML proxy cancel   Administrative<- name
2960327623Backup: MML proxy commit backup piece   Administrative<- name
1156967028Backup: MML proxy session end   Administrative<- name
583062335Backup: MML datafile proxy backup?   Administrative<- name
3346425666Backup: MML datafile proxy restore?   Administrative<- name
585335785Backup: MML proxy initialize restore   Administrative<- name
2701284369Backup: MML proxy start data movement   Administrative<- name
216701082Backup: MML data movement done?   Administrative<- name
4278597786Backup: MML proxy prepare to start   Administrative<- name
2139086251Backup: MML obtain a direct buffer   Administrative<- name
2070697616Backup: MML release a direct buffer   Administrative<- name
531815827Backup: MML get base address   Administrative<- name
3181276243Backup: MML query for direct buffers   Administrative<- name
3421583815OFS Receive Queue   Idle<- name
303766224OFS operation completion   Administrative<- name
1048659203OFS idle   Idle<- name
58311103VKRM Idle   Idle<- name
1601747446resmgr: redo throttle   Scheduler<- name
218649935wait for unread message on broadcast channelchannel contextchannel handle Idle<- name
3224768590wait for unread message on multiple broadcast channelschannel contextchannel handle count Idle<- name
1055154682class slave waitslave id  Idle<- name
739096548RMA: IPC0 completion syncsend count  Idle<- name
2966135248IPC group service callfunction id  Network<- name
900394413PING   Idle<- name
1668213210Service operation completion   Cluster<- name
3615400802service monitor: inst recovery completion   Cluster<- name
2748706322watchdog main loop   Idle<- name
3939514704process in prespawned state   Idle<- name
2656070573BA: Performance API   Administrative<- name
565450542File Repopulation Writefilename_hashblkno System I/O<- name
3539483025pmon timerduration  Idle<- name
635602798pman timer   Idle<- name
1233153647latch: MGA shared context root latchaddressnumberwhyConcurrency<- name
2598281784latch: MGA shared context latchaddressnumberwhyConcurrency<- name
500901621latch: MGA heap latchaddressnumberwhyConcurrency<- name
975995734latch: MGA pid alloc latchaddressnumberwhyConcurrency<- name
4082766567latch: MGA asr alloc latchaddressnumberwhyConcurrency<- name
1275333778DNFS disp IO slave idle   Idle<- name
3176176482DIAG idle waitcomponentwherewait time(millisec)Idle<- name
317011907ges remote messagewaittimeloopp3Idle<- name
2269002043enq: RI - Reader Farm SQL Isolationname|mode00Concurrency<- name
338940857SCM slave idle   Idle<- name
3416399148LMS CR slave timertype  Idle<- name
2910564005gcs remote messagewaittimepolleventIdle<- name
332747553gcs yield cpu   Idle<- name
2619295687heartbeat monitor sleep   Idle<- name
341609523GCR sleep   Idle<- name
3650619114PBR logfile IOFile IDblknbytesSystem I/O<- name
1197131876PBR logfile block writeFile IDblkpbridxSystem I/O<- name
1989349184SGA: MMAN sleep for component shrinkcomponent idcurrent sizetarget sizeIdle<- name
863929674retry contact SCN lock master   Cluster<- name
3213517201control file sequential readfile#block#blocksSystem I/Ocontrol file read
2383414886control file single writefile#block#blocksSystem I/Ocontrol file write
4078387448control file parallel writefilesblock#requestsSystem I/O<- name
2365673131control file backup creation   Administrative<- name
2970185817Shared IO Pool Memory   Concurrency<- name
1959037329Shared IO Pool IO Completion   User I/O<- name
3141712284enq: PW - flush prewarm buffersname|mode00Application<- name
2779959231latch: cache buffers chainsaddressnumberwhyConcurrency<- name
2701153470free buffer waitsfile#block#set-id#Configuration<- name
1570123276local write waitfile#block# User I/O<- name
1181827162checkpoint completed   Configuration<- name
4229542060write complete waitsfile#block# Configuration<- name
2451603592write complete waits: flash cachefile#block# Configuration<- name
3761122497buffer read retryfile#block# User I/O<- name
2161531084buffer busy waitsfile#block#class#Concurrency<- name
1912606394gc buffer busy acquirefile#block#class#Cluster<- name
105117041gc buffer busy releasefile#block#class#Cluster<- name
3056446529read by other sessionfile#block#class#User I/O<- name
1176352510multiple dbwriter suspend/resume for file offline   Administrative<- name
765902655recovery read   System I/O<- name
1387386639pi renounce write completefile#block# Cluster<- name
1963118444db flash cache single block physical read   User I/O<- name
2070455916db flash cache multiblock physical read   User I/O<- name
1153916164db flash cache write   User I/O<- name
1055954476db flash cache invalidate waitfile#block# Concurrency<- name
1847602198db flash cache dynamic disabling wait   Administrative<- name
23293667remote log force - committhread#thread scnsession scnCommit<- name
2057720172remote log force - buffer updatefile#block#class#Cluster<- name
1073104909remote log force - buffer readfile#block#class#Cluster<- name
2849107610remote log force - SCN rangefile#block#class#Cluster<- name
3387973199remote log force - session cleanoutthread#thread scnsession scnCluster<- name
427932892DBWR timer   Idle<- name
3500532018enq: RO - contentionname|mode20Application<- name
143262751enq: RO - fast object reusename|mode20Application<- name
4205197519enq: KO - fast object checkpointname|mode20Application<- name
1198921735Data Guard network buffer stall reap   Network<- name
2369083111Data Guard: Gap Manager   Idle<- name
3183521032Data Guard: controlfile update   Idle<- name
1460436880MRP redo arrival   Idle<- name
3134783330RFS sequential i/o   System I/O<- name
3089862638RFS random i/o   System I/O<- name
2009048728RFS write   System I/O<- name
1799268421Data Guard: Timer   Idle<- name
1959287235ARCH wait for net re-connect   Network<- name
4051103488ARCH wait for netserver start   Network<- name
1304409668LNS wait on LGWR   Network<- name
2949988816LGWR wait on LNS   Network<- name
406979416ARCH wait for netserver init 2   Network<- name
3411133732ARCH wait for flow-control   Network<- name
2731366464ARCH wait for netserver detach   Network<- name
2836458162LNS ASYNC archive log   Idle<- name
3599169768LNS ASYNC dest activation   Idle<- name
3378470826LNS ASYNC end of log   Idle<- name
549236675log file sequential readlog#block#blocksSystem I/Olog file multiblock read
215477332log file single writelog#block#blocksSystem I/Olog file header write
3999721902log file parallel writefilesblocksrequestsSystem I/Olog file redo write
400279894log file pmem persist writethreadgroupmemberSystem I/O<- name
2650776430log file pmem persist readthreadgroupmemberSystem I/O<- name
2539661515latch: redo writingaddressnumberwhyConfiguration<- name
2107275157latch: redo copyaddressnumberwhyConfiguration<- name
3357856061log buffer space   Configurationlog buffer full -
LGWR bottleneck
2867289651log file switch (checkpoint incomplete)   Configuration<- name
114164561log file switch (private strand flush incomplete)   Configuration<- name
681532028log file switch (archiving needed)   Configuration<- name
3845123846switch logfile command   Administrative<- name
3834950329log file switch completion   Configuration<- name
1328744198log file syncbuffer#sync scn Commitcommit: log file sync
1243695914log file sync: SCN orderingbuffer#sync scn Concurrency<- name
2915106572simulated log write delay   Idle<- name
4233989021heartbeat redo informer   Idle<- name
1278638045LGWR real time apply sync   Idlestandby apply
advance notification
91842589LGWR worker group idlegroup_idslave_id Idle<- name
159901149remote log force - log switch/recoverythread#thread SCNforce SCNCluster<- name
2652584166db file sequential readfile#block#blocksUser I/Odb single block read
506183215db file scattered readfile#block#blocksUser I/Odb multiblock read
1307477558db file single writefile#block#blocksUser I/Odb single block write
1620694733db file parallel writerequestsinterrupttimeoutSystem I/Odb list of blocks write
133155944db file async I/O submitrequestsinterrupttimeoutSystem I/O<- name
834992820db file parallel readfilesblocksrequestsUser I/Odb list of blocks read
1567037747enq: MV - datafile movename|modetypefile #Administrative<- name
3905407295gc current requestfile#block#id#Cluster<- name
512320954gc cr requestfile#block#class#Cluster<- name
1136317622gc cr disk requestfile#block#class#Cluster<- name
661121159gc cr multi block requestfile#block#class#Cluster<- name
2272899030gc cr multi block mixed   Cluster<- name
2774151265gc cr multi block grant   Cluster<- name
3897775868gc current multi block requestfile#block#id#Cluster<- name
1627043053gc block recovery requestfile#block#class#Cluster<- name
310416032gc imc multi block requestfile#block# Cluster<- name
2628845780gc imc multi block quiescefile#block# Cluster<- name
3035277123gc cr block remote readfile#block#class#Cluster<- name
737661873gc cr block 2-way   Cluster<- name
3046984244gc cr block 3-way   Cluster<- name
1520064534gc cr block busy   Cluster<- name
2705335821gc cr block congested   Cluster<- name
2375802695gc cr failure   Cluster<- name
3151901526gc cr block lost   Cluster<- name
111015833gc current block 2-way   Cluster<- name
3570184881gc current block 3-way   Cluster<- name
2701629120gc current block busy   Cluster<- name
3785617759gc current block congested   Cluster<- name
1742950045gc current retry   Cluster<- name
957917679gc current block lost   Cluster<- name
1457266432gc current split   Cluster<- name
3201690383gc cr grant 2-way   Cluster<- name
3666253819gc cr grant 3-way   Cluster<- name
3261528052gc cr grant busy   Cluster<- name
3794703642gc cr grant congested   Cluster<- name
1445598276gc cr disk read   Cluster<- name
690277170gc cr grant ka   Cluster<- name
1341316678gc cr grant cluster flash cache read   Cluster<- name
3015759224gc cr cluster flash cache read   Cluster<- name
1236598300gc cr flash cache copy   Cluster<- name
3609908235gc cr grant read-mostly invalidation   Cluster<- name
1577027000gc cr grant read-only instance invalidation   Cluster<- name
2685450749gc current grant 2-way   Cluster<- name
1094886395gc current grant 3-way   Cluster<- name
2277737081gc current grant busy   Cluster<- name
667696377gc current grant congested   Cluster<- name
4071646426gc current grant ka   Cluster<- name
1301716097gc current grant cluster flash cache read   Cluster<- name
1116778291gc current grant read-mostly invalidation   Cluster<- name
2183032747gc current grant read-only instance invalidation   Cluster<- name
1188530765gc transaction tablecount  Cluster<- name
4185841437gc index operationusn#slot#seq#Cluster<- name
297486966gc freelist   Cluster<- name
75296820gc remasterfile#block#class#Cluster<- name
758475196gc quiesce   Cluster<- name
3612069565gc recovery   Cluster<- name
3726007083gc flushed buffer   Cluster<- name
3708514396gc send complete   Cluster<- name
3415121734gc current cancelle  Cluster<- name
3289120169gc cr cancelle  Cluster<- name
2369255784gc assumele  Cluster<- name
3893928311gc current index splitle  Cluster<- name
3571931909gc domain validationfile#block#class#Cluster<- name
2961011386gc recovery free   Cluster<- name
3106959643gc recovery quiescefile#block#class#Cluster<- name
830518988gc claimfile#block#class#Cluster<- name
3723089570gc cancel retry   Cluster<- name
3926164927direct path readfile numberfirst dbablock cntUser I/O<- name
861319509direct path read tempfile numberfirst dbablock cntUser I/O<- name
885859547direct path writefile numberfirst dbablock cntUser I/O<- name
38438084direct path write tempfile numberfirst dbablock cntUser I/O<- name
428700550datafile pre-create   Administrative<- name
2328740855parallel recovery slave idle wait   Idle<- name
3230901260Backup Appliance waiting for worksession_idserial Idle<- name
1629412133Backup Appliance waiting restore startsession_idserial Idle<- name
1911215282Backup Appliance Surrogate waitsession_idserial Idle<- name
3411526999Backup Appliance Servlet waitsession_idserial Idle<- name
614344865Backup Appliance Comm SGA setup waitsession_idserial Idle<- name
1221077576LogMiner builder: idleSession ID  Idle<- name
2130278899LogMiner builder: memorySession ID  Queueing<- name
3993953808LogMiner builder: DDLSession ID  Queueing<- name
3650510895LogMiner builder: branchSession ID  Idle<- name
37490450LogMiner preparer: idleSession ID  Idle<- name
4176490272LogMiner preparer: memorySession ID  Queueing<- name
2969107883LogMiner reader: bufferSession ID  Queueing<- name
3314391977LogMiner reader: log (idle)Session IDThreadSequenceIdle<- name
1534896503LogMiner reader: redo (idle)Session IDThreadSequenceIdle<- name
3214539112LogMiner merger: idleSession IDThread Idle<- name
2858596797LogMiner client: transactionSession ID  Idle<- name
3893525907LogMiner: otherSession ID  Idle<- name
3685504676LogMiner: activateSession ID  Idle<- name
3979031729LogMiner: resetCaller ID  Idle<- name
2694966712LogMiner: find sessionSession ID  Idle<- name
2989610564LogMiner: internalCaller ID  Idle<- name
226544737Logical Standby Apply Delay   Idle<- name
3525876136wait for possible quiesce finish   Administrativequiesce database
completion
2842195073parallel recovery coordinator waits for slave cleanup   Idle<- name
3487232407flashback log file writelog#block#BytesSystem I/O<- name
2769438501flashback log file readlog#block#BytesSystem I/O<- name
1760381182flashback buf free by RVWR   Configuration<- name
157547587flashback log file sync   User I/O<- name
2032998565parallel recovery coordinator idle wait   Idle<- name
722766223parallel recovery control message reply   Idle<- name
2314562763cell smart table scancellhash#  User I/O<- name
601047792cell smart index scancellhash#  User I/O<- name
186581379cell external table smart scancellhash#  User I/O<- name
447002770cell statistics gathercellhash#  User I/O<- name
2705202413cell smart incremental backupcellhash#  System I/O<- name
2569366771cell smart file creationcellhash#  User I/O<- name
3260626027cell smart restore from backupcellhash#  System I/O<- name
572448743parallel recovery slave next change   Idle<- name
4031319789concurrent I/O completion   Administrativeonline move datafile
IO completion
1845020027datafile copy range completion   Administrativeonline move datafile
copy range completion
1226277798nologging fetch slave idle   Idle<- name
445146538Nologging standby progressPrimary client SCNMax wait in centi-seconds Commit<- name
354850594nologging standby txn commit   Commit<- name
2506001814nologging range consumption list   Configuration<- name
3669067250recovery sender idle   Idle<- name
1872203966recovery receiver idle   Idle<- name
3286605538recovery coordinator idle   Idle<- name
3619482101recovery logmerger idle   Idle<- name
4138829642block compare coord process idle   Idle<- name
668627480enq: TM - contentionname|modeobject #table/partitionApplication<- name
1649608974enq: ST - contentionname|mode00Configuration<- name
1781586680undo segment extensionsegment#  Configuration<- name
2539132690undo segment tx slotsegment#  Configuration<- name
1107691084switch undo - offline   Administrative<- name
1005272400alter rbs offline   Administrative<- name
310662678enq: TX - row lock contentionname|modeusn<<16 | slotsequenceApplication<- name
281768874enq: TX - allocate ITL entryname|modeusn<<16 | slotsequenceConfiguration<- name
1035026728enq: TX - index contentionname|modeusn<<16 | slotsequenceConcurrency<- name
1435178951enq: TW - contentionname|mode0operationAdministrative<- name
1817260038PX Deq: Txn Recovery Startsleeptime/senderidpasses Idle<- name
1029371363PX Deq: Txn Recovery Replysleeptime/senderidpasses Idle<- name
1574097577latch: Undo Hint LatchaddressnumberwhyConcurrency<- name
680822103statement suspended, wait error to be cleared   Configuration<- name
1394127552latch: In memory undo latchaddressnumberwhyConcurrency<- name
1286443595latch: MQL Tracking LatchaddressnumberwhyConcurrency<- name
2729944181fbar timersleep timefailed Idle<- name
1832903562Archive Manager file transfer I/OcountintrtimeoutUser I/O<- name
3886663633SecureFile log buffer   Configuration<- name
822361323IM buffer busy   Concurrency<- name
2468447540IM buffer busy TXN   Concurrency<- name
3258151131IM buffer busy SHR   Concurrency<- name
1606606310securefile chain updateseghdrfsb Concurrency<- name
1645217925enq: HW - contentionname|modetable space #blockConfiguration<- name
206780098enq: BE - Critical Block Allocationname|modetablespace#block#Concurrency<- name
3890744969enq: SS - contentionname|modetablespace #dbaConfiguration<- name
2672479943sort segment request   Configuration<- name
1403232821smon timersleep timefailed Idle<- name
3431783400PX Deq: Metadata Updatektelc_wait1s  Idle<- name
2942611488Space Manager: slave idle waitSlave ID  Idle<- name
2322460838enq: SQ - contentionname|modeobject #0Configuration<- name
818518977enq: SV - contentiontype|modeid1id2Configuration<- name
2288901790PX Deq: Index Merge Replysleeptime/senderidpasses Idle<- name
2881101577PX Deq: Index Merge Executesleeptime/senderidpasses Idle<- name
259094851PX Deq: Index Merge Closesleeptime/senderidpasses Idle<- name
2908893972enq: HV - contentionname|modeobject #0Concurrency<- name
1775596922PX Deq: kdcph_maikdcph_mai  Idle<- name
3388026088PX Deq: kdcphc_ackkdcphc_ack  Idle<- name
3311157317index (re)build online startobjectmodewaitAdministrative<- name
3507172204index (re)build online cleanupobjectmodewaitAdministrative<- name
459595925index (re)build online mergeobjectmodewaitAdministrative<- name
3347698104index (re)build lock or pin objectnamespacelock_modepin_modeAdministrative<- name
3999678875securefile direct-read completion   User I/O<- name
3535858375securefile direct-write completion   User I/O<- name
39333034SecureFile mutex   Concurrency<- name
122034066enq: WG - lock fsoname|modekdlw lobid first halfkdlw lobid sec halfConcurrency<- name
3185393509imco timersleep timefailed Idle<- name
542160597Inmemory Populate: get loadscn   Concurrency<- name
238930206IMFS defer writes scheduler   Idle<- name
1318477709memoptimize write buffer get   Configuration<- name
2299584621memoptimize write drain idle   Idle<- name
1117386924latch: row cache objectsaddressnumberwhyConcurrency<- name
306610566row cache mutexcache idwhere requested Concurrency<- name
1714089451row cache lockcache idmoderequestConcurrency<- name
3733770256row cache readcache id  Concurrency<- name
670556006libcache interrupt action by LCKlocation  Concurrency<- name
2563317866enq: IV - cross instance invalidationlock idx  Concurrency<- name
877525844cursor: mutex XidnvaluewhereConcurrency<- name
1575214430cursor: mutex SidnvaluewhereConcurrency<- name
3085815766cursor: pin XidnvaluewhereConcurrency<- name
352301881cursor: pin SidnvaluewhereConcurrency<- name
1729366244cursor: pin S wait on XidnvaluewhereConcurrency<- name
3015879322enq: CB - role operationname|mode00Concurrency<- name
850477422Global transaction acquire instance locksretries  Configuration<- name
3304404527enq: BB - 2PC across RAC instancesname|modegtrid hash valuebqual hash valueCommit<- name
2696347763latch: shared pooladdressnumberwhyConcurrency<- name
2142653731LCK0 row cache object freeheap dsmin_sizeclatchConcurrency<- name
2405459892Unpin a recreatable chunkchunk addrmax attemptattemptedConcurrency<- name
2802704141library cache pinhandle addresspin address100*mode+namespaceConcurrency<- name
916468430library cache lockhandle addresslock address100*mode+namespaceConcurrency<- name
2952162927library cache load lockobject addresslock address100*mask+namespaceConcurrency<- name
1646780882library cache: mutex XidnvaluewhereConcurrency<- name
2601513493library cache: bucket mutex XidnvaluewhereConcurrency<- name
2382371857library cache: dependency mutex XidnvaluewhereConcurrency<- name
2446268751library cache: mutex SidnvaluewhereConcurrency<- name
1241467722BFILE readUser I/O<- name
1452455426resmgr:cpu quantumlocationconsumer group idScheduler<- name
3911289767resmgr:large I/O queuedlocationScheduler<- name
2027842284resmgr: I/O rate limitlocationScheduler<- name
4043670897resmgr:internal state changelocationConcurrency<- name
3942551365resmgr:sessions to exitlocationConcurrency<- name
1861259087resmgr:become activelocationScheduler<- name
1724186970resmgr:pq queuedlocationScheduler<- name
3680756349TCP Socket (KGAS)Network<- name
2804400934utl_file I/O   User I/O<- name
639905136DNFS disp IO slave completionpnumUser I/O<- name
4219255068alter system set dispatcherwaited  Administrative<- name
2900469894virtual circuit waitcircuit#type Network<- name
1091942974virtual circuit next requestcircuit#type Idle<- name
1786390478shared server idle wait   Idle<- name
4090013609dispatcher timersleep time  Idle<- name
4195517431dispatcher listen timersleep time  Network<- name
660387499dedicated server timerwait event  Network<- name
963656759cmon timersleep time  Idle<- name
3775760766pool server timersleep time  Idle<- name
1524501944connection pool waitopnum procs Administrative<- name
604512360connection broker handoffconnection brokerconnectionopNetwork<- name
3113908805lreg timersuccwaitfailIdle<- name
2173075130JOX Jit Process Sleep   Idle<- name
782339817jobq slave wait   Idle<- name
775793103Wait for Table Lock   Application<- name
160773985pipe gethandle addressbuffer lengthtimeoutIdle<- name
3479211658pipe puthandle addressrecord lengthtimeoutConcurrency<- name
3835660459enq: DB - contentionname|modeEnqMode0Administrative<- name
961027629PX Deque waitsleeptime/senderidpasses Idle<- name
3382828453PX Idle Waitsleeptime/senderidpasses Idle<- name
2267953574PX Deq Credit: need buffersleeptime/senderidpassesqrefIdle<- name
2610814049PX Deq Credit: send blkdsleeptime/senderidpassesqrefIdle<- name
77145095PX Deq: Msg Fragmentsleeptime/senderidpasses Idle<- name
4255662421PX Deq: Parse Replysleeptime/senderidpasses Idle<- name
2599037852PX Deq: Execute Replysleeptime/senderidpasses Idle<- name
98582416PX Deq: Execution Msgsleeptime/senderidpasses Idle<- name
799271425PX Deq: Table Q Normalsleeptime/senderidpasses Idle<- name
1062854067PX Deq: Table Q Samplesleeptime/senderidpasses Idle<- name
3600835498enq: TG - IMCDT global resourcename|modecontainer id #0Concurrency<- name
4196504577enq: TI - IMCDT object HTname|modequery exec id #qc session id #Concurrency<- name
1850448852external table readfilectxfile#sizeUser I/O<- name
2573156426external table writefilectxfile#sizeUser I/O<- name
332943844external table openfilectxfile# User I/O<- name
2580575859external table seekfilectxfile#posUser I/O<- name
4284613698external table misc IOfilectxiocodeP3User I/O<- name
2649722911enq: RC - Result Cache: Contentionname|modechunkNoblockNoApplication<- name
3225147589result cache lock waitobject no  Concurrency<- name
1636695715enq: JX - SQL statement queuename|modesqlidexecidScheduler<- name
3822543692enq: JX - cleanup of queuename|modesqlidexecidScheduler<- name
3419368467PX Queuing: statement queuesleeptimepasses Scheduler<- name
3042070696enq: KV - IMA key vector accessname|modenode#+sess#,
cursor#+kv#
kv #Concurrency<- name
892389094dbverify readscountintrtimeoutUser I/O<- name
938380620REPL Apply: txns   Idle<- name
463459266REPL Capture: subscribers to catch up2=>GoldenGate 1=>XStream 0=>StreamsTYPE Queueing<- name
249067227REPL Capture/Apply: memory2=>GoldenGate
1=>XStream
0=>Streams
  Queueing<- name
188497226REPL Apply: commit2=>GoldenGate
1=>XStream
0=>Streams
  Configuration<- name
2757875356REPL Apply: dependency2=>GoldenGate
1=>XStream
0=>Streams
  Concurrency<- name
2524336375REPL Capture/Apply: flow control2=>GoldenGate
1=>XStream
0=>Streams
  Queueing<- name
3941979276REPL Capture/Apply: messages2=>GoldenGate
1=>XStream
0=>Streams
  Idle<- name
1684328492REPL Capture: archive log2=>GoldenGate
1=>XStream
0=>Streams
TYPE Idle<- name
1421698562REPL Capture: filter callback ruleset2=>GoldenGate
1=>XStream
0=>Streams
  Application<- name
2362278079REPL Apply: apply DDL2=>GoldenGate
1=>XStream
0=>Streams
sleep time Application<- name
845337552enq: ZG - contentionname|modefile group idversion idAdministrative<- name
2254800293single-task message   Idle<- name
2067390145SQL*Net message to clientdriver id#bytes Network<- name
3655533736SQL*Net message to dblinkdriver id#bytes Network<- name
554161347SQL*Net more data to clientdriver id#bytes Network<- name
1958556342SQL*Net more data to dblinkdriver id#bytes Network<- name
1421975091SQL*Net message from clientdriver id#bytes Idle<- name
3530226808SQL*Net more data from clientdriver id#bytes Network<- name
4093028837SQL*Net message from dblinkdriver id#bytes Network<- name
1136294303SQL*Net more data from dblinkdriver id#bytes Network<- name
483818214SQL*Net vector message from clientdriver id#bytes Idle<- name
599122182SQL*Net vector message from dblinkdriver id#bytes Idle<- name
3957226286SQL*Net vector data to clientdriver id#bytes Network<- name
524447658SQL*Net vector data from clientdriver id#bytes Network<- name
380483207SQL*Net vector data to dblinkdriver id#bytes Network<- name
1970154257SQL*Net vector data from dblinkdriver id#bytes Network<- name
1963888671SQL*Net break/reset to clientdriver idbreak? Application<- name
634664853SQL*Net break/reset to dblinkdriver idbreak? Application<- name
3879957351External Procedure initial connection   Application<- name
1909653202External Procedure callHS_SESSION_ID  Application<- name
818280116PL/SQL lock timerduration  Idle<- name
1564641971wait for EMON to process ntfns   Configuration<- name
1053768773Streams AQ: emn coordinator idle wait   Idle<- name
1034167112EMON slave idle wait   Idle<- name
2249606771Emon coordinator main loop   Idle<- name
928709037Emon slave main loop   Idle<- name
738183602enq: UL - contentionname|modeid0Application<- name
3955192389Streams AQ: waiting for messages in the queuequeue idprocess#wait timeIdle<- name
3702640206Streams AQ: waiting for time management or cleanup tasks   Idle<- name
2461999423Streams AQ: enqueue blocked on low memory   Queueing<- name
764740284Streams AQ: enqueue blocked due to flow control   Queueing<- name
1755736138Streams AQ: delete acknowledged messages   Idle<- name
1133197228Streams AQ: deallocate messages from Streams Pool   Idle<- name
989870553Streams AQ: qmn coordinator idle wait   Idle<- name
1830121438Streams AQ: qmn slave idle waitType  Idle<- name
3888265502AQ: 12c message cache init wait   Idle<- name
3013878596AQ Cross Master idle   Idle<- name
3367618326AQPC idle   Idle<- name
1646312927Streams AQ: load balancer idle   Idle<- name
1402142990Sharded Queues : Part Maintenance idle   Idle<- name
759460378Sharded Queues : Part Truncate idle   Idle<- name
3846605265REPL Capture/Apply: RAC AQ qmn coordinator1=>MASTER
2=>SLAVE
  Idle<- name
2874621763Streams AQ: opt idle1=>SLAVE0
2=>SLAVE1
3=>SLAVE2
4=>SLAVE3
5=>MASTER
  Idle<- name
255548015HS message to agent   Idle<- name
2904668353TEXT: URL_DATASTORE network wait   Network<- name
1267930770TEXT: File System I/O   User I/O<- name
867069076OLAP DML Sleepduration  Application<- name
2908122354Cube Build Master Wait for Jobs   Concurrency<- name
604179256ASM sync cache disk readgroupobjblockUser I/O<- name
178886535ASM sync relocation I/OcountwherefileSystem I/O<- name
1271689928ASM async relocation I/OcountwherefileSystem I/O<- name
1049283008ASM COD rollback operation completiondismount force  Administrative<- name
1568594048kfk: async disk IOcountwheretimeoutSystem I/O<- name
3288045901ASM IO for non-blocking pollcountwheretimeoutUser I/O<- name
3423355190ASM remote SQL   Network<- name
2042354203ASM background timer   Idle<- name
2317972841ASM cluster membership changes   Idle<- name
1835713968iowp iocountintrtimeoutSystem I/O<- name
1931000598iowp msgiowp id  Idle<- name
2213525889iowp file idiowp id  Idle<- name
3936513851netp networknetp id  Idle<- name
3193337724gopp msggopp id  Idle<- name
3800093324ASM Fixed Package I/OblknobytesfiletypeUser I/O<- name
1299431751ASM mount : wait for heartbeat   Administrative<- name
2619540468ASM PST query : wait for [PM][grp][0] grant   Cluster<- name
3491398912lock remastering   Cluster<- name
3166130ASM Staleness File I/Oblkno#blksdisknoUser I/O<- name
769429583ASM File Group SyncopgnpdbidUser I/O<- name
3066824253auto-sqltune: wait graph update   Idle<- name
277762365WCR: replay client notifywho am I  Idle<- name
1481930431WCR: replay clockwait for scn's
hi 4 bytes
wait for scn's
lo 4 bytes
schedule capture IDIdle<- name
3833657348WCR: replay lock orderwait for scn's
hi 4 bytes
wait for scn's
lo 4 bytes
 Application<- name
4280671222WCR: replay paused   Idle<- name
1955925289JS kgl get object wait   Administrative<- name
1045742593JS external job   Idle<- name
1371173112JS kill job wait   Administrative<- name
2190647165JS coord start wait   Administrative<- name
2614864156cell single block physical readcellhash#diskhash#bytesUser I/O<- name
443865681cell multiblock physical readcellhash#diskhash#bytesUser I/O<- name
3975960017cell list of blocks physical readcellhash#diskhash#blocksUser I/O<- name
213372979cell physical read no I/Ocellhash#diskhash#bytesUser I/O<- name
1963099394cell single block read requestcellhash#diskhash#bytesUser I/O<- name
631446859cell multiblock read requestcellhash#diskhash#bytesUser I/O<- name
4067812586cell list of blocks read requestcellhash#diskhash#blocksUser I/O<- name
1946591843cell manager opening cellcellhash#  System I/O<- name
1617821548cell manager closing cellcellhash#  System I/O<- name
4026210594cell manager discovering diskscellhash#  System I/O<- name
1693614820cell worker idle   Idle<- name
1736664284events in waitclass Other   Other<- name
2390244800enq: WM - WLM Plan activationname|mode00Other<- name
3474287957latch freeaddressnumberwhyOther<- name
2701202185latch activityaddressnumberprocess#Other<- name
2530878290wait list latch freeaddressnumber Other<- name
2680091115kslwait unit test event 1p1p2p3Other<- name
2424426032kslwait unit test event 2p1p2p3Other<- name
2025755259kslwait unit test event 3p1p2p3Other<- name
2971802445unspecified wait event   Other<- name
3498297576global enqueue expand wait   Other<- name
2917886901free process state object   Other<- name
3757863830inactive sessionsession#serialinstanceOther<- name
1812220754process terminate   Other<- name
139039345latch: call allocationaddressnumberwhyOther<- name
2900750527latch: session allocationaddressnumberwhyOther<- name
1945768837check CPU wait times   Other<- name
327222633ADG switchover completionpdbid  Other<- name
1947980297process allocation slot   Other<- name
2915720968session allocation inc count   Other<- name
1760863753enq: CI - contentionname|modeopcodetypeOther<- name
3733307663enq: PR - contentionname|modetypedtpOther<- name
3155844579enq: AK - contentiontype|modeid1id2Other<- name
2921505296enq: XK - contentiontype|modeid1id2Other<- name
1210775251enq: DI - contentiontype|modeid1id2Other<- name
3710671834enq: RM - contentiontype|modeid1id2Other<- name
3226762304enq: BO - contentiontype|modeid1id2Other<- name
2383012730ges resource enqueue open retry sleep   Other<- name
2151749845ksim generic wait eventwherewait_count Other<- name
1981266442enq: DE - Update Draining Testname|mode00Other<- name
2030748592debugger command   Other<- name
2530266680oradebug request slot   Other<- name
367999153oradebug request completion   Other<- name
4013410966latch: ksm sga alloc latchaddressnumberwhyOther<- name
1732444908defer SGA allocation slavedefer segment
index
allocation mode Other<- name
1785376945SGA Allocator termination   Other<- name
1800992443PGA memory operation   Other<- name
4129138703enq: PE - contentionname|modeparno0Other<- name
925144608enq: PG - contentionname|mode00Other<- name
3228065868ksbsrv   Other<- name
3024348788ksbcic   Other<- name
875419734process startuptypeprocess# Other<- name
2726125541process shutdowntypeprocess# Other<- name
1060877110prior spawner clean upprocess_pidprocess_sno Other<- name
1973577887latch: messagesaddressnumberwhyOther<- name
2616562781rdbms ipc message block   Other<- name
2587381521rdbms ipc replyfrom_process  Other<- name
3999387466latch: pdb enqueue hash chainsaddressnumberwhyOther<- name
1847483002latch: enqueue hash chainsaddressnumberwhyOther<- name
880740118imm opmsg ptr  Other<- name
2914969843slave exitnalivesleeptimeloopOther<- name
3750685624enq: FP - global fob contentionname|modelow file obj addhigh file obj addOther<- name
1272752883enq: RE - block repair contentionname|modeFile Type or
File number
block numberOther<- name
3396302007enq: BM - clonedb bitmap file writename|modeblock numbernumber of blocksOther<- name
2505166323asynch descriptor resizeoutstanding #aiocurrent aio limitnew aio limitOther<- name
534373369OFS interrupted req not found   Other<- name
2004679423enq: FO - file system operation contentionname|mode00Other<- name
3804628168resmgr:plan changecon_id  Other<- name
1504129838enq: KM - contentionname|modetypetypeOther<- name
1301289702enq: KT - contentionname|modeplan #0Other<- name
2962754459enq: CA - contentionname|mode00Other<- name
2775294757enq: KD - determine DBRM mastername|mode00Other<- name
906644781reliable messagechannel contextchannel handlebroadcast messageOther<- name
973988003broadcast mesg queue transitionchannel handlemessagelocationOther<- name
1519436045broadcast mesg recovery queue transitionchannel handlemessagelocationOther<- name
1510356050KSV master waitindicator  Other<- name
1628776795master exitalive slaves  Other<- name
1361925913ksv slave avail wait   Other<- name
3063016909enq: PV - syncstartname|modeclass id0Other<- name
2894614381enq: PV - syncshutname|modeclass id0Other<- name
980653535enq: SP - contention 1name|modeid1id2Other<- name
351221043enq: SP - contention 2name|modeid1id2Other<- name
839059449enq: SP - contention 3name|modeid1id2Other<- name
1340803846enq: SP - contention 4name|modeid1id2Other<- name
3678823943enq: SX - contention 5name|modeid1id2Other<- name
2086036097enq: SX - contention 6name|modeid1id2Other<- name
2607158008first spare wait eventp1p2p3Other<- name
889843531second spare wait eventp1p2p3Other<- name
237562822Memory: Reg/Deregksmsq contextaddresslengthOther<- name
2795431108IPC send completion syncsend count  Other<- name
710749070OSD IPC libraryrolling mig  Other<- name
3327525223IPC wait for name service busy   Other<- name
1961805585IPC busy async request   Other<- name
429189883IPC waiting for OSD resources   Other<- name
3586266983ksxr poll remote instances   Other<- name
3974056937ksxr wait for mount shared   Other<- name
2278252783DBMS_LDAP: LDAP operation    Other<- name
97018265wait for FMON to come up   Other<- name
1830645796enq: FM - contentionname|mode00Other<- name
107371275enq: XY - contentionname|modeid1id2Other<- name
2767884586latch: active service listaddressnumberwhyOther<- name
2022747370latch: service drain listaddressnumberwhyOther<- name
1086558492latch: last service listaddressnumberwhyOther<- name
753553155latch: java patchingaddressnumberwhyOther<- name
2558928434enq: AS - service activationname|mode00Other<- name
626337999JAVA patching   Other<- name
245034220enq: PD - contentionname|modeproperty namekey hashOther<- name
4097944222oracle thread bootstrappname  Other<- name
2423447952os thread creationpnameis_process Other<- name
2192866519cleanup of aborted processlocation  Other<- name
4131775738enq: XM - contentiontype|modeid1id2Other<- name
3530171172enq: RU - contentionname|mode00Other<- name
2020359573enq: RU - waitingname|mode00Other<- name
2107633232rolling migration: cluster quiescelocationwaits Other<- name
2464601005LMON global data update   Other<- name
202883655rolling migration: orphans detected   Other<- name
2682948634process diagnostic dump   Other<- name
1933295843enq: MX - sync storage server infoname|modenodeidinstanceidOther<- name
1992784715master diskmon startup   Other<- name
2421679227master diskmon read   Other<- name
1624113736DSKM to complete cell health check   Other<- name
616694188pmon dblkr tst eventindex  Other<- name
2329324816latch: ksolt lwth allocaddressnumberwhyOther<- name
3025569338lightweight thread operationPURPOSEARG1ARG2Other<- name
219323361lightweight thread task completionTasks lefttask_countARG3Other<- name
2347021890enq: WN - rw snapshot synchronizationname|modepluggable database idsnapshot nameOther<- name
1218217082read/write snapshot completionfile object handlesnapshot scnpluggable
database id
Other<- name
1570927321enq: ZX - repopulation file writename|modefilenameblock numberOther<- name
3466817607pmon cleanupop  Other<- name
937324971pmon shutdowntypenum Other<- name
3765978937GL: cross instance latch free   Other<- name
1029869674RMA: rlog allocateState ObjectInstance Other<- name
1166502110RMA: RAC reconfig   Other<- name
1511705394RMA: latchRMA LatchLatch Val Other<- name
4031831034DNFS disp IO slave cleanupclmn pnum  Other<- name
1440204212enq: KA - ACL control statusname|mode00Other<- name
1591580536Nest operation   Other<- name
332825436DIAG lock acquisitionwhere  Other<- name
665933121latch: ges resource hash listaddressnumberwhyOther<- name
3595075359DFS lock handletype|modeid1id2Other<- name
759618117ges server process to shutdowntype  Other<- name
3128645467ges client process to exit   Other<- name
2627274657ges global resource directory to be frozenlocation  Other<- name
1761249154ges resource directory to be unfrozen   Other<- name
2871858069gcs resource directory to be unfrozen   Other<- name
2542045584ges LMD to inherit communication channels   Other<- name
1612310333ges lmd sync during reconfiglocation  Other<- name
2796847522ges wait for lmon to be ready   Other<- name
2656205476ges cgs registrationwhere  Other<- name
1183226617wait for master scnwaittimestartscnackscnOther<- name
1088316196ges yield cpu in reconfiglocation  Other<- name
685206108ges2 proc latch in rm latch get 1   Other<- name
154184229ges2 proc latch in rm latch get 2   Other<- name
695825723ges lmd/lmses to freeze in rcfglmd/lms id  Other<- name
1010381418ges lmd/lmses to unfreeze in rcfglmd/lms id  Other<- name
1631772444ges lms sync during dynamic remastering and reconfiglocationlms id Other<- name
818898053ges LMON to join CGS group   Other<- name
3008471467ges pmon to exit   Other<- name
2595201782ges lmd and pmon to attach   Other<- name
4224327511gcs drm freeze begin   Other<- name
3116973328gcs retry nowait latch getlocation  Other<- name
2635889591gcs remastering wait for read latchflagsidx1idx2Other<- name
2181430622ges cached resource cleanupwaittime  Other<- name
2785624238ges generic event   Other<- name
1962787835ges instance reconfig name entry queryretryinst Other<- name
2857777550ges process with outstanding i/opid  Other<- name
3957868722ges user errorerror  Other<- name
2120155596ges enter server mode   Other<- name
350643236gcs enter server mode   Other<- name
4261098405ges ipc enter server mode   Other<- name
2038008095gcs drm freeze in enter server mode   Other<- name
1895771704gcs ddet enter server mode   Other<- name
2783453682ges cancel   Other<- name
26939470ges resource cleanout during enqueue open   Other<- name
1260212817ges resource cleanout during enqueue open-cvt   Other<- name
3741819151ges master to get established for SCN op   Other<- name
1312215341ges LMON to get to FTDONE    Other<- name
2863691995ges1 LMON to wake up LMD - mrcvr   Other<- name
1687619969ges2 LMON to wake up LMD - mrcvr   Other<- name
2414509731ges2 LMON to wake up lms - mrcvr 2   Other<- name
2242140456ges2 LMON to wake up lms - mrcvr 3   Other<- name
4086135771ges inquiry responsetype|mode|whereid1id2Other<- name
3642965647ges reusing os pidpidcount Other<- name
505407722ges LMON for send queues   Other<- name
643358389ges LMD suspend for testing event   Other<- name
2287899877ges performance test completion   Other<- name
1166323227kjbopen wait for recovery domain attach   Other<- name
361900693kjudomatt wait for recovery domain attach   Other<- name
2662540004kjudomdet wait for recovery domain detach   Other<- name
1193769478kjbdomalc allocate recovery domain - retry   Other<- name
1228081120kjbdrmcvtq lmon drm quiesce: ping completionlocationlms id Other<- name
164764783ges RMS0 retry add redo log   Other<- name
2627100592readable standby redo apply remastering   Other<- name
2589387632ges DFS hang analysis phase 2 acks   Other<- name
2986589560ges/gcs diag dumplocation  Other<- name
3757130716global plug and play automatic resource creationwhere  Other<- name
4188419816gcs lmon dirtydetach step completiondomain idlocation Other<- name
2134833657recovery instance recovery completion   Other<- name
3271968413ack for a broadcasted res from a remote instance   Other<- name
2595497065kill all read-only instances in cluster   Other<- name
3664355268latch: kjci process context latchaddressnumberwhyOther<- name
3993261106latch: kjci request sequence latchaddressnumberwhyOther<- name
2765459430DLM cross inst call completioncaller instance
number
cluster incarnation
number
request identifierOther<- name
3534674430DLM: shared instance mode init   Other<- name
1656318846enq: KI - contentionname|modeclient opcode0Other<- name
3296595079latch: kjoeq omni enqueue hash bucket latchaddressnumberwhyOther<- name
3892456182DLM enqueue copy completionOwner IDop|restypeid1|id2Other<- name
1575324855latch: kjoer owner hash bucketaddressnumberwhyOther<- name
1793459373DLM Omni Enq Owner replicationOwner ID  Other<- name
4079369678KJC: Wait for msg sends to completemsgdest|rcvrmtypeOther<- name
1801723349ges message buffer allocationpoolrequestallocatedOther<- name
3613653811kjctssqmg: quick message send wait   Other<- name
3368851413gcs domain validationcluincrcvinc Other<- name
142175773latch: gcs resource hashaddressnumberwhyOther<- name
2848189392affinity expansion in replay   Other<- name
2470511309wait for sync ackcluincpending_nd Other<- name
189592347wait for verification ackcluincpending_insts Other<- name
3428259705wait for assert messages to be sent   Other<- name
3937428465wait for scn ackpending_ndscn Other<- name
3928537616lms flush message acksid  Other<- name
3954828229name-service call waitwaittimeoplocOther<- name
1736567536CGS wait for IPC msg   Other<- name
2321793642IMR hang simulation   Other<- name
4139178294IMR mount phase II completion   Other<- name
1175435584IMR disk votes   Other<- name
3706379258IMR rr lock release   Other<- name
872961962IMR net-check message ack   Other<- name
1055131010IMR rr update   Other<- name
1123581371IMR membership resolution   Other<- name
4003053530IMR CSS join retryretry count  Other<- name
2448812170IMR slave process init   Other<- name
2268235780IMR slave process shutdownlocation  Other<- name
269767187IMR slave acknowledgement msg   Other<- name
2151285256CGS skgxn join retryretry count  Other<- name
4241215981CGS ping operationlocation  Other<- name
1965140390gcs to be enabled   Other<- name
3480025058gcs log flush syncwaittimepolleventOther<- name
2222314230KA: shared KGA not initialized   Other<- name
2373399366enq: PP - contentiontype|modeid1id2Other<- name
2288038353enq: HM - contentiontype|modeid1id2Other<- name
2948850473GCR ctx lock acquisitionretry count  Other<- name
3428914697GCR CSS group lock   Other<- name
1308860334GCR CSS group joinretry count  Other<- name
3139209677GCR CSS group leave   Other<- name
2548959420GCR CSS group update   Other<- name
2771226010GCR CSS group query   Other<- name
3856692583enq: AC - acquiring partition idname|mode00Other<- name
894671924LMA glob lock acquisitionlockretry count Other<- name
3165031328LMA KGA glob lock acquisitionlockretry count Other<- name
3418985179latch: GCS logfile blockaddressnumberwhyOther<- name
812661408latch: GCS logfile write queueaddressnumberwhyOther<- name
2411650447LMFC reconfig operationRCFG StateOperation Other<- name
3006093898PCFC: recovery domain valid   Other<- name
3493282803SGA: allocation forcing component growth   Other<- name
3659501038SGA: sga_target resize   Other<- name
1230198893enq: SC - contentiontype|modeid1id2Other<- name
40893507control file heartbeat   Other<- name
3061031534control file diagnostic dumptypeparam Other<- name
1494394835enq: CF - contentionname|mode0operationOther<- name
608373385enq: SW - contentionname|mode00Other<- name
1608438935enq: DS - contentionname|mode00Other<- name
1231322525enq: TC - contentionname|modecheckpoint ID0Other<- name
718572278enq: TC - contention2name|modecheckpoint ID0Other<- name
2332720660buffer exterminatefile#block#buf_ptrOther<- name
4243513970kcbw: cache protect wait   Other<- name
3401628503latch: cache buffers lru chainaddressnumberwhyOther<- name
1340848367enq: PW - perwarm status in dbw0name|mode00Other<- name
22066106latch: checkpoint queue latchaddressnumberwhyOther<- name
2935866945latch: cache buffer handlesaddressnumberwhyOther<- name
3476701947kcbzps   Other<- name
912137450DBWR range invalidation syncdbwr#  Other<- name
218992928buffer deadlockdbaclass*10+modeflagOther<- name
1948834383buffer latchlatch addrchain# Other<- name
3807851191cr request retryfile#block# Other<- name
271673613influx scnfile#block#class#Other<- name
479497384writes stopped by instance recovery or database suspensionby thread#our thread# Other<- name
2545148957lock escalate retry   Other<- name
3412713426lock deadlock retry   Other<- name
1315338218prefetch warmup block being transferredfile#block#id#Other<- name
105891848recovery buffer pinnedfile#block# Other<- name
1250260140tablespace key changepdb#ts#file#Other<- name
1531409241TSE SSO wallet reopen   Other<- name
3874022972force-cr-override flushfile#block# Other<- name
2576559565enq: CR - block range reuse ckptname|mode20Other<- name
2622395338enq: TR - serialize TS rekeysname|modepdbidts#Other<- name
666989299enq: TR - database key open checkname|modepdbidts#Other<- name
577169102enq: TR - serialize system rekeysname|modepdbidts#Other<- name
1898285196wait for MTTR advisory state object   Other<- name
295718413latch: object queue header operationaddressnumberwhyOther<- name
4273032105enq: BU - recovery set constructname|mode00Other<- name
591247898enq: BU - recovery set takeovername|mode00Other<- name
3102461226retry CFTXN during close   Other<- name
1383326310get branch/thread/sequence enqueue   Other<- name
2704451831enq: WL - Test access/lockingname|modelog # / thread id #sequence #Other<- name
841803369Data Guard server operation completion   Other<- name
529335332FAL archive wait 1 sec for REOPEN minimum   Other<- name
4036275899TEST: action sync   Other<- name
205495275TEST: action hang   Other<- name
3845085937RSGA: RAC reconfiguration   Other<- name
1128412462enq: WL - RAC-wide SGA initializename|modelog # / thread id #sequence #Other<- name
3068515786enq: WL - RAC-wide SGA writename|modelog # / thread id #sequence #Other<- name
3376312326enq: WL - RAC-wide SGA dumpname|modelog # / thread id #sequence #Other<- name
2123819464MRP stop   Other<- name
4125956551enq: SA - standby redo logfilesname|mode00Other<- name
1423505461enq: WS - contentiontype|modeid1id2Other<- name
4257177215MRP wait on process start   Other<- name
4223476495MRP wait on process restart   Other<- name
2370040255MRP wait on startup clear   Other<- name
56334152MRP inactivation   Other<- name
916189195MRP wait on archivelog arrival   Other<- name
649270296MRP wait on archivelog archival   Other<- name
2490803321enq: WL - Far Sync Fail Overname|modelog # / thread id #sequence #Other<- name
3285081853enq: SA - MRP SRL accessname|mode00Other<- name
3394915937Monitor testing   Other<- name
274926311enq: WL - redo_db table updatename|modelog # / thread id #sequence #Other<- name
952807416enq: WL - redo_log table updatename|modelog # / thread id #sequence #Other<- name
1722088478log switch/archivethread#  Other<- name
3409933913enq: WL - Switchover To Primaryname|modelog # / thread id #sequence #Other<- name
805821516ARCH wait on c/f tx acquire 1   Other<- name
3771596012RFS attach   Other<- name
4172664383RFS create   Other<- name
2508684169RFS close   Other<- name
1498277161RFS announce   Other<- name
2909083597RFS register   Other<- name
1120829189RFS detach   Other<- name
571751314RFS ping   Other<- name
881117162RFS dispatch   Other<- name
784686743enq: WL - RFS global state contentionname|modelog # / thread id #sequence #Other<- name
219245212enq: WL - SNA access/lockingname|modelog # / thread id #sequence #Other<- name
984914326LGWR simulation latency wait   Other<- name
781082802LNS simulation latency wait   Other<- name
668166272ASYNC Remote Write   Other<- name
3339190814SYNC Remote Write   Other<- name
2147654677ARCH Remote Write   Other<- name
2528235682Redo Transport Attach   Other<- name
33151350Redo Transport Detach   Other<- name
3470397773Redo Transport Open   Other<- name
1539866381Redo Transport Close   Other<- name
2666458816Redo Transport Ping   Other<- name
1319950766Remote SYNC Ping   Other<- name
3032907492Redo Transport Slave Startup   Other<- name
188013640Redo Transport Slave Shutdown   Other<- name
3656641042Redo Writer Remote Sync Notify   Other<- name
3213124895Redo Writer Remote Sync Complete   Other<- name
3944789232Redo Transport MISC   Other<- name
566288919Redo Transport Network Throttle   Other<- name
649262647enq: WL - Network Throttlename|modelog # / thread id #sequence #Other<- name
3098550178LGWR-LNS wait on channel   Other<- name
1211302889enq: WR - contentionname|modethread id #sequence #Other<- name
2617915495Data Guard: rtrt work   Other<- name
3291268781Redo transport testing   Other<- name
3601986267enq: RZ - add elementname|mode00Other<- name
1802258776enq: RZ - remove elementname|mode00Other<- name
3839860880Image redo gen delay   Otherredo resource management
3451340452Long operation CF pause   OtherCF txn pause
4266849434LGWR wait for redo copycopy latch #  Other<- name
266850936latch: redo allocationaddressnumberwhyOther<- name
1561425187log file switch (clearing log file)   Other<- name
4160645236log file sync: PDB shutdown abortsync scn  Other<- name
2397844549target log write size   Other<- name
1793502753LGWR any worker group   Other<- name
1249397642LGWR all worker groups   Other<- name
3116432628LGWR worker group orderinglwn_idphase Other<- name
771590720LGWR intra group syncwheregroupidslaveidOther<- name
269666300LGWR intra group IO completionwheregroupidslaveidOther<- name
1555037586enq: WL - contentionname|modelog # / thread id #sequence #Other<- name
1281359820enq: RN - contentionname|modethread numberlog numberOther<- name
1242352358DFS db file lockfile#  Otherquiesce for datafile
offline
665338553PDB close/open on another instance   Other<- name
80051109database open on read-write instance   Other<- name
217146514enq: DF - contentionname|mode0file #Other<- name
1184948750enq: IS - contentionname|mode0 or pdbidtypeOther<- name
1317384776enq: IP - open/close PDBname|modetypepdbuidOther<- name
3839871930enq: PX - PDB instance recoveryname|mode0 or thread#typeOther<- name
1309055815enq: FS - contentionname|mode0 or pdbidtypeOther<- name
2183635389enq: FS - online log operationname|mode0 or pdbidtypeOther<- name
3294817508enq: DM - contentionname|modetypetypeOther<- name
178034865enq: DM - access controlname|modetypetypeOther<- name
647852263enq: RP - contentionname|modefile #1 or blockOther<- name
1925256273latch: gc elementaddressnumberwhyOther<- name
4193134291redo log switch request completion   Other<- name
1143317824enq: RT - contentionname|moderedo threadtypeOther<- name
2588100800enq: RT - thread internal enable/disablename|moderedo threadtypeOther<- name
4021392840enq: IR - contentionname|mode00/1Other<- name
3041521765enq: IR - contention2name|mode00/1Other<- name
457958410enq: IR - global serializationname|mode00/1Other<- name
3639275442enq: IR - local serializationname|mode00/1Other<- name
1926932789enq: IR - arbitrate instance recoveryname|mode00/1Other<- name
3113891348enq: MR - contentionname|mode0 or file #typeOther<- name
3480024039enq: MR - standby role transitionname|mode0 or file #typeOther<- name
2989355594enq: MR - multi instance redo applyname|mode0 or file #typeOther<- name
901508430enq: MR - any role transitionname|mode0 or file #typeOther<- name
2835520952enq: MR - PDB openname|mode0 or file #typeOther<- name
2431157470enq: MR - datafile onlinename|mode0 or file #typeOther<- name
2195955142enq: MR - adg instance recoveryname|mode0 or file #typeOther<- name
2266304296enq: MR - preplugin recoveryname|mode0 or file #typeOther<- name
1315198629enq: MR - datafile pre-createname|mode0 or file #typeOther<- name
1819372799shutdown after switchover to standby   Other<- name
855778212cancel media recovery on switchover   Other<- name
2172988940PDB lock domain invalidation   Other<- name
2289478848Recovery: scn growth limit   Other<- name
2938939381parallel recovery coord wait for reply   Other<- name
201710181parallel recovery coord send blocked   Other<- name
4008505077parallel recovery slave wait for change   Other<- name
3954034543enq: BR - file shrinkname|modeoperationfile #Other<- name
1796838767enq: BR - proxy-copyname|modeoperationfile #Other<- name
1785130586enq: BR - multi-section restore headername|modeoperationfile #Other<- name
1429048489enq: BR - multi-section restore sectionname|modeoperationfile #Other<- name
3146685455enq: BR - space info datafile hdr updatename|modeoperationfile #Other<- name
4186138071enq: BR - request autobackupname|modeoperationfile #Other<- name
120917685enq: BR - perform autobackupname|modeoperationfile #Other<- name
1408460348enq: BR - perform catalog recovery areaname|modeoperationfile #Other<- name
4055016213enq: ID - contentionname|mode00Other<- name
1895301661Backup Restore Throttle sleepsession_idserial Other<- name
3940042335Backup Restore Switch Bitmap sleepsession_idserial Other<- name
1158580207Backup Restore Event sleepsession_idserial Other<- name
2696003729RMAN wallet access limit   Other<- name
4254153540enq: BS - Backup spare1name|modeid1id2Other<- name
3572922547enq: BS - Backup spare2name|modeid1id2Other<- name
1519110690enq: BS - Backup spare3name|modeid1id2Other<- name
918511175enq: BS - Backup spare4name|modeid1id2Other<- name
119366042enq: BS - Backup spare5name|modeid1id2Other<- name
4127095906enq: BS - Backup spare6name|modeid1id2Other<- name
890108316enq: BS - Backup spare7name|modeid1id2Other<- name
4010237913enq: BS - Backup spare8name|modeid1id2Other<- name
512631582enq: BS - Backup spare9name|modeid1id2Other<- name
2567538002enq: BS - Backup spare0name|modeid1id2Other<- name
513503674enq: AB - ABMR process start/stopname|modeoperationoperation parmOther<- name
4289089804enq: AB - ABMR process initializedname|modeoperationoperation parmOther<- name
1348089685Auto BMR completionfile#block# Other<- name
3217997244Auto BMR RPC standby catchupwrapbase Other<- name
1423698111enq: ZR - ZDLRA lock dbname|modeoperationidOther<- name
2394356444enq: ZR - ZDLRA lock storage locname|modeoperationidOther<- name
165935761enq: ZR - ZDLRA lock timer queuename|modeoperationidOther<- name
1636438482enq: ZR - ZDLRA lock schedulername|modeoperationidOther<- name
1002738712enq: ZR - ZDLRA lock APIname|modeoperationidOther<- name
2470140807enq: ZR - ZDLRA quiesce tasks name|modeoperationidOther<- name
1254781511enq: ZR - ZDLRA check quiesce tasksname|modeoperationidOther<- name
2590051530enq: ZR - ZDLRA quiesce servletsname|modeoperationidOther<- name
4080162904enq: ZR - ZDLRA check servlet quiescencename|modeoperationidOther<- name
2124551921enq: ZR - ZDLRA serialize unregister dbname|modeoperationidOther<- name
466463911enq: ZR - ZDLRA run schedulername|modeoperationidOther<- name
1183844682enq: ZR - ZDLRA purge storage locname|modeoperationidOther<- name
618668824enq: ZR - ZDLRA spare enq 10name|modeoperationidOther<- name
204987005enq: ZR - ZDLRA invalidate plansname|modeoperationidOther<- name
680840689enq: ZR - ZDLRA protect plansname|modeoperationidOther<- name
4290115138enq: BC - drop container groupname|modecontainer groupcontainer idOther<- name
995732317enq: BC - create containername|modecontainer groupcontainer idOther<- name
1176032305enq: BC - group - create containername|modecontainer groupcontainer idOther<- name
3553233538enq: BC - drop containername|modecontainer groupcontainer idOther<- name
1267579589enq: BC - group - create filename|modecontainer groupcontainer idOther<- name
623108742enq: BI - create filename|modegroup ID / file IDfile IDOther<- name
84640895enq: BI - identify filename|modegroup ID / file IDfile IDOther<- name
2652244696enq: BI - delete filename|modegroup ID / file IDfile IDOther<- name
2214479234enq: BZ - resize filename|modegroup ID / file IDfile IDOther<- name
990760803enq: BV - rebuild/validate groupname|modeamrv$ key Other<- name
1532804659Backup Appliance container synchronous readblock#blocks Other<- name
3349653204Backup Appliance container synchronous writeblock#blocks Other<- name
2488361479Backup Appliance container I/Orequests  Other<- name
823842457Supplemental logging rolesrole id  Other<- name
2347406356LogMiner builder: queue fullSession ID  Other<- name
3592915900LogMiner reader: redo slotSession IDThread Other<- name
1126267022LogMiner reader: memorySession ID  Other<- name
2344841594LogMiner merger: redo slotSession ID  Other<- name
1937230003LogMiner: txnSession IDLockStateOther<- name
146026836LogMiner: queueSession IDLockStateOther<- name
2806308254LogMiner: session audit listSession IDLockStateOther<- name
1047024350LogMiner FSC: dictionary load completionSession ID  Other<- name
1489162918enq: MN - contentionname|modesession ID0Other<- name
2417659362enq: ZL - LogMiner foreign log metadataname|modesession ID0Other<- name
622794581enq: PL - contentionname|mode00Other<- name
1930628560enq: CP - Pluggable database resetlogsname|modeInternalInternalOther<- name
260587712enq: SB - logical standby metadataname|mode00Other<- name
2514944057enq: SB - table instantiationname|mode00Other<- name
2366696931Logical Standby Apply shutdown   Other<- name
2276822405Logical Standby pin transactionxidusnxidsltxidsqnOther<- name
1748443679Logical Standby dictionary build   Other<- name
3415281788Logical Standby Terminal Applystage  Other<- name
993838451Logical Standby Debugevent  Other<- name
1061728450Resolution of in-doubt txnsSCN  Other<- name
707813539enq: XR - quiesce databasename|modeoperation0Other<- name
3609173507enq: XR - database force loggingname|modeoperation0Other<- name
529913931ADG query scn advance   Other<- name
4238679773ADG instance recovery complete   Other<- name
907871122latch: obj/range reuse redo processingaddressnumberwhyOther<- name
4185983479standby query scn advance   Other<- name
1445223374change tracking file synchronous readblock#blocks Other<- name
424098511change tracking file synchronous writeblock#blocks Other<- name
30036540change tracking file parallel writeblocksrequests Other<- name
513392991block change tracking buffer space   Other<- name
4217808978CTWR media recovery checkpoint request   Other<- name
1487467637enq: CT - global space managementname|modeoperationoperation parmOther<- name
3466352936enq: CT - local space managementname|modeoperationoperation parmOther<- name
690018733enq: CT - change stream ownershipname|modeoperationoperation parmOther<- name
2979034732enq: CT - statename|modeoperationoperation parmOther<- name
790405879enq: CT - state change gate 1name|modeoperationoperation parmOther<- name
2477507895enq: CT - state change gate 2name|modeoperationoperation parmOther<- name
3488556206enq: CT - CTWR process start/stopname|modeoperationoperation parmOther<- name
513540187enq: CT - readingname|modeoperationoperation parmOther<- name
3598948525recovery area: computing dropped files   Other<- name
4063976546recovery area: computing obsolete files   Other<- name
1877105024recovery area: computing backed up files   Other<- name
2825667152recovery area: computing applied logs   Other<- name
2897929244enq: RS - file deletename|moderecord typerecord idOther<- name
313351369enq: RS - record reusename|moderecord typerecord idOther<- name
3504071695enq: RS - prevent file deletename|moderecord typerecord idOther<- name
3170569251enq: RS - prevent aging list updatename|moderecord typerecord idOther<- name
3178040924enq: RS - persist alert levelname|moderecord typerecord idOther<- name
115643876enq: RS - read alert levelname|moderecord typerecord idOther<- name
3488540422enq: RS - write alert levelname|moderecord typerecord idOther<- name
3383573524enq: FL - Flashback database logname|modeLog #zeroOther<- name
511900941enq: FL - Flashback db commandname|modeLog #zeroOther<- name
1057119651enq: FD - Marker generationname|modeInternalInternalOther<- name
120716488enq: FD - Tablespace flashback on/offname|modeInternalInternalOther<- name
3377895670enq: FD - Flashback coordinatorname|modeInternalInternalOther<- name
1783985711enq: FD - Flashback on/offname|modeInternalInternalOther<- name
795831746enq: FD - Restore point create/dropname|modeInternalInternalOther<- name
2085703061enq: FD - Flashback logical operationsname|modeInternalInternalOther<- name
1729254775flashback free VI log   Other<- name
3594374201flashback log switch   Other<- name
626068540enq: FW - contentiontype|modeid1id2Other<- name
799112511RVWR wait for flashback copycopy latch #  Other<- name
3601079116parallel recovery read buffer free   Other<- name
3312658627parallel recovery redo cache buffer free   Other<- name
4215254072parallel recovery change buffer free   Other<- name
2620531563parallel recovery push change   Other<- name
3995823356cell smart flash keepcellhash#  Other<- name
4081701776cell smart flash unkeepcellhash#  Other<- name
2051476866cell ram cache populationcellhash#  Other<- name
3015991344parallel recovery coord: all replies   Other<- name
930916630datafile move cleanup during resize   Otheronline move datafile
resize cleanup
1699923767Nologging Standby Unit Test   Other<- name
3599750200Nonlogged block fetchAbsolute fileStart blockRCVID or RequestOther<- name
3747686915recovery receive buffer free   Other<- name
261947819recovery cancel    Other<- name
689601736recovery remote file verification    Other<- name
3798980926recovery active instance mapping setup   Other<- name
25545516recovery new thread enable   Other<- name
3479514684recovery file header update for checkpoint   Other<- name
1591128517recovery file header update for fuzziness   Other<- name
376996958recovery coordinator apply pending   Other<- name
2158353269recovery coordinator marker apply   Other<- name
3702772090recovery coordinator message   Other<- name
60575812recovery merge pending   Other<- name
3948720099recovery metadata latch   Other<- name
4257452445recovery checkpoint   Other<- name
1877449207recovery apply pending   Other<- name
519712656recovery fuzzy update   Other<- name
1797919480recovery shutdown   Other<- name
321437621recovery message   Other<- name
2011314812recovery slaves to be informed   Other<- name
3371685550recovery move influx buffers   Other<- name
2421198487recovery marker apply   Other<- name
4023429149recovery timestamp   Other<- name
3178497879recovery send buffer free   Other<- name
4093658961DBMS_ROLLING instruction completionInstruction id  Other<- name
3030855852Shadow lost write   Other<- name
2177880604blocking txn id for DDLtablescnonly dmlOther<- name
2153157043transactionundo seg#|slot#wrap#countOther<- name
403545727inactive transaction branchbranch#waited Other<- name
957725912txn to complete   Other<- name
2264655921PMON to cleanup pseudo-branches at svc stop time   Other<- name
2206434397PMON to cleanup detached branches at shutdown   Other<- name
2091246363test long ops   Other<- name
2221529869latch: undo global dataaddressnumberwhyOther<- name
1467219297undo segment recoverysegment#tx flags Other<- name
4224098334unbound tx   Other<- name
865316074wait for change   Other<- name
1657000051wait for another txn - undo rcv abort   Other<- name
1886837281wait for another txn - txn abort   Other<- name
2537911001wait for another txn - rollback to savepoint   Other<- name
313295972undo_retention publish retrywhereretry_count Other<- name
2742799282txn cache read version   Other<- name
2605232529enq: TA - contentionname|modeoperationundo segment #
/ other
Other<- name
1629782133enq: TX - contentionname|modeusn<<16 | slotsequenceOther<- name
2458904239enq: US - contentionname|modeundo segment #0Other<- name
3065535233wait for stopper event to be increased   Other<- name
3020078888wait for a undo record   Other<- name
289494273wait for a paralle reco to abort   Other<- name
2301151944enq: IM - contention for blrname|modepool #0Other<- name
1752153790enq: TD - KTF dump entriesname|mode00Other<- name
4241032297enq: TE - KTF broadcastname|mode00Other<- name
706934628enq: CN - race with txnname|modereg id0Other<- name
4060759714enq: CN - race with regname|modereg id0Other<- name
613420004enq: CN - race with initname|modereg id0Other<- name
2549235236latch: Change Notification Hash table latchaddressnumberwhyOther<- name
606473003enq: CO - master slave detname|modeinst id0Other<- name
3932945957enq: FE - contentionname|mode00Other<- name
2487720797latch: change notification client cache latchaddressnumberwhyOther<- name
3805228026latch: SGA Logging Log LatchaddressnumberwhyOther<- name
3039512838latch: SGA Logging Bkt LatchaddressnumberwhyOther<- name
305609008enq: MC - Securefile logname|mode0hash(logname)Other<- name
1813165094enq: MF - flush bkgnd periodicname|modelogidbktId<<16|instidOther<- name
2216368433enq: MF - creating swap in instancename|modelogidbktId<<16|instidOther<- name
4015649387enq: MF - flush spacename|modelogidbktId<<16|instidOther<- name
1168962483enq: MF - flush clientname|modelogidbktId<<16|instidOther<- name
322730247enq: MF - flush prior errorname|modelogidbktId<<16|instidOther<- name
3312041081enq: MF - flush destroyname|modelogidbktId<<16|instidOther<- name
3248177810latch: ILM activity tracking latchaddressnumberwhyOther<- name
3307999956latch: ILM access tracking extentaddressnumberwhyOther<- name
3751718539IM CU busy   Other<- name
1224810073enq: ZQ - registername|modets#dbaOther<- name
139032432enq: ZQ - quiescename|modets#dbaOther<- name
3524622153IM ADG space pressurebucket#|slave#retry#countOther<- name
896842959enq: TF - contentionname|modePDB ID & tablespace #relative file #Other<- name
310348786latch: lob segment hash table latchaddressnumberwhyOther<- name
2868244995latch: lob segment query latchaddressnumberwhyOther<- name
361584826latch: lob segment dispenser latchaddressnumberwhyOther<- name
2934069603Wait for shrink lock2object_idlock_mode Other<- name
3943836588Wait for shrink lockobject_idlock_mode Other<- name
1330927475L1 validationseghdrl1bmb Other<- name
628015238Wait for TT enqueuetsn  Other<- name
3075113618kttm2d   Other<- name
1972012953ktsambl   Other<- name
2560588841ktfbtgextsn  Other<- name
319052581enq: DT - contentionname|mode00Other<- name
2667616873enq: TS - contentionname|modetablespace IDdbaOther<- name
1238611814enq: FB - contentionname|modetablespace #dbaOther<- name
2678203686enq: SK - contentionname|modetablespace #dbaOther<- name
2910919470enq: DW - contentionname|modetablespace #dbaOther<- name
3652428359enq: SU - contentionname|modetable space #0Other<- name
4205956891enq: TT - contentionname|modetablespace IDoperationOther<- name
3226067315ktm: instance recoveryundo segment#  Other<- name
1525267497instance state changelayervaluewaitedOther<- name
1335721068enq: SM - contentiontype|modeid1id2Other<- name
887351382enq: SJ - Slave Task Cancelname|modeSlave process idtask idOther<- name
2705466509Space Manager: slave messages   Other<- name
3728789504enq: FH - contentionname|modeInstance ID Other<- name
4294793344latch: IM area scb latchaddressnumberwhyOther<- name
1911429171latch: IM area sb latchaddressnumberwhyOther<- name
404240180enq: TZ - contentionname|modetablespace #dbaOther<- name
3618490056enq: IN - contentionname|modetablespace #dbaOther<- name
1409544283enq: ZB - contentionname|modetablespace #dbaOther<- name
974506341latch: IM seg hdr latchaddressnumberwhyOther<- name
483380562latch: IM emb latchaddressnumberwhyOther<- name
4152697039Analyze hash compare   Other<- name
67546339index block splitrootdbalevelchilddbaOther<- name
1147524433internal test event (index split branch)   Other<- name
2057953336internal test event (index split leaf)   Other<- name
2099272158kdblil wait before retrying ORA-54   Other<- name
3753064287dupl. cluster keydba  Other<- name
3554823254internal test event (index merge)   Other<- name
1349347951enq: DL - contentionname|modeobject #0Other<- name
403868930enq: HQ - contentionname|modeobject #hash valueOther<- name
893937616enq: HP - contentionname|modetablespace #dbaOther<- name
3874544423Securefile Write Gather Cache Yield Process   Other<- name
1065985958enq: KL - contentiontype|modeid1id2Other<- name
3445676385enq: WG - delete fsoname|modekdlw lobid first halfkdlw lobid sec halfOther<- name
3380482012enq: SL - get lockname|modekdlw lobid first halfkdlw lobid sec halfOther<- name
1973889364enq: SL - escalate lockname|modekdlw lobid first halfkdlw lobid sec halfOther<- name
3555038872enq: SL - get lock for undoname|modekdlw lobid first halfkdlw lobid sec halfOther<- name
2630448508enq: ZH - compression analysisname|modeobj#ulevelOther<- name
2929689230Compression analysis   Other<- name
608160643enq: SZ - contentionname|modetablespace #rdbaOther<- name
2990561203enq: ZC - FS Seg contentionname|modetsn#objd#Other<- name
2876222906enq: ZD - FS CU modname|modesegidstartdbaOther<- name
987611292enq: SY - IM populate by other sessionname|modetablespace # & objdrdbaOther<- name
2350325668enq: JZ - Join group dictionaryname|mode00Other<- name
2513432000IM populate completion   Other<- name
3843389040IMXT Populate - drop HT   Other<- name
1035049954IM FastStart deadlock retry   Other<- name
1300659046IM ADO scheduler retry   Other<- name
3484624144latch: IMFS defer write listaddressnumberwhyOther<- name
882830310IMFS Flush defer writes   Other<- name
390916909In-Memory populate: over pga limitprocess numberserial number Other<- name
2984698957latch: Column stats entry latchaddressnumberwhyOther<- name
2322167609row cache cleanup   Other<- name
1263391620row cache processlocation  Other<- name
108267531enq: QA - contentiontype|modeid1id2Other<- name
1139092931enq: QB - contentiontype|modeid1id2Other<- name
1907863590enq: QC - contentiontype|modeid1id2Other<- name
3962851118enq: QD - contentiontype|modeid1id2Other<- name
774455082enq: QE - contentiontype|modeid1id2Other<- name
2436256250enq: QF - contentiontype|modeid1id2Other<- name
1347029671enq: QG - contentiontype|modeid1id2Other<- name
1414776114enq: QH - contentiontype|modeid1id2Other<- name
1851813854enq: QI - contentiontype|modeid1id2Other<- name
4087131843enq: QJ - contentiontype|modeid1id2Other<- name
1542600248enq: QK - contentiontype|modeid1id2Other<- name
2159175404enq: QL - contentiontype|modeid1id2Other<- name
1480629321enq: QM - contentiontype|modeid1id2Other<- name
988442240enq: QN - contentiontype|modeid1id2Other<- name
1348672103enq: QO - contentiontype|modeid1id2Other<- name
4077590343enq: QP - contentiontype|modeid1id2Other<- name
871478667enq: QQ - contentiontype|modeid1id2Other<- name
188776046enq: QR - contentiontype|modeid1id2Other<- name
3543257946enq: QS - contentiontype|modeid1id2Other<- name
2183806234enq: QT - contentiontype|modeid1id2Other<- name
331767289enq: QU - contentiontype|modeid1id2Other<- name
251336424enq: QV - contentiontype|modeid1id2Other<- name
348872490enq: QX - contentiontype|modeid1id2Other<- name
2109119095enq: QY - contentiontype|modeid1id2Other<- name
1939400123enq: QZ - contentiontype|modeid1id2Other<- name
2210508267enq: DV - contentionname|modeobject #0Other<- name
2584404246enq: SO - contentionname|modeobject #0Other<- name
2513782899RAC: row cache lock nowait retrystub handleattempt count Other<- name
4136932854enq: VA - contentiontype|modeid1id2Other<- name
143723934enq: VB - contentiontype|modeid1id2Other<- name
1494426468enq: VC - contentiontype|modeid1id2Other<- name
948192883enq: VD - contentiontype|modeid1id2Other<- name
2478141767enq: VE - contentiontype|modeid1id2Other<- name
1821295450enq: VF - contentiontype|modeid1id2Other<- name
3151153518enq: VG - contentiontype|modeid1id2Other<- name
2667965274enq: VH - contentiontype|modeid1id2Other<- name
2073979996enq: VI - contentiontype|modeid1id2Other<- name
3548033582enq: VJ - contentiontype|modeid1id2Other<- name
3854837673enq: VK - contentiontype|modeid1id2Other<- name
1719975306enq: VL - contentiontype|modeid1id2Other<- name
2388580865enq: VM - contentiontype|modeid1id2Other<- name
421100281enq: VN - contentiontype|modeid1id2Other<- name
3088969444enq: VO - contentiontype|modeid1id2Other<- name
2517810683enq: VP - contentiontype|modeid1id2Other<- name
3292945243enq: VQ - contentiontype|modeid1id2Other<- name
2799228463enq: VR - contentiontype|modeid1id2Other<- name
1184138424enq: VS - contentiontype|modeid1id2Other<- name
3090276998enq: VT - contentiontype|modeid1id2Other<- name
2565788971enq: VU - contentiontype|modeid1id2Other<- name
4143858120enq: VV - contentiontype|modeid1id2Other<- name
296128251enq: VX - contentiontype|modeid1id2Other<- name
4244679353enq: VY - contentiontype|modeid1id2Other<- name
487077473enq: VZ - contentiontype|modeid1id2Other<- name
6973873enq: EA - contentiontype|modeid1id2Other<- name
1795491474enq: EB - contentiontype|modeid1id2Other<- name
4060429599enq: EC - contentiontype|modeid1id2Other<- name
1617660300enq: ED - contentiontype|modeid1id2Other<- name
1236794935enq: EE - contentiontype|modeid1id2Other<- name
2286575608enq: EF - contentiontype|modeid1id2Other<- name
2645745678enq: EG - contentiontype|modeid1id2Other<- name
3577533227enq: EH - contentiontype|modeid1id2Other<- name
1285941240enq: EI - contentiontype|modeid1id2Other<- name
1146405468enq: EJ - contentiontype|modeid1id2Other<- name
3016736045enq: EK - contentiontype|modeid1id2Other<- name
3992761025enq: EL - contentiontype|modeid1id2Other<- name
2089285608enq: EM - contentiontype|modeid1id2Other<- name
2899227099enq: EN - contentiontype|modeid1id2Other<- name
88490769enq: EO - contentiontype|modeid1id2Other<- name
3931594708enq: EP - contentiontype|modeid1id2Other<- name
2541744767enq: EQ - contentiontype|modeid1id2Other<- name
3235986442enq: ER - contentiontype|modeid1id2Other<- name
1894918728enq: ES - contentiontype|modeid1id2Other<- name
3810509754enq: ET - contentiontype|modeid1id2Other<- name
3336800414enq: EU - contentiontype|modeid1id2Other<- name
1649381315enq: EV - contentiontype|modeid1id2Other<- name
1652839384enq: EX - contentiontype|modeid1id2Other<- name
1483837291enq: EY - contentiontype|modeid1id2Other<- name
2534915893enq: EZ - contentiontype|modeid1id2Other<- name
255555647enq: LA - contentiontype|modeid1id2Other<- name
923714426enq: LB - contentiontype|modeid1id2Other<- name
3275074137enq: LC - contentiontype|modeid1id2Other<- name
871599156enq: LD - contentiontype|modeid1id2Other<- name
2857947505enq: LE - contentiontype|modeid1id2Other<- name
2639284940enq: LF - contentiontype|modeid1id2Other<- name
834829421enq: LG - contentiontype|modeid1id2Other<- name
978782178enq: LH - contentiontype|modeid1id2Other<- name
278321110enq: LI - contentiontype|modeid1id2Other<- name
3300838304enq: LJ - contentiontype|modeid1id2Other<- name
3400360290enq: LK - contentiontype|modeid1id2Other<- name
2789266358enq: LL - contentiontype|modeid1id2Other<- name
1670662413enq: LM - contentiontype|modeid1id2Other<- name
1469305273enq: LN - contentiontype|modeid1id2Other<- name
3489117640enq: LO - contentiontype|modeid1id2Other<- name
3355742611enq: LP - contentiontype|modeid1id2Other<- name
3810098838enq: LQ - contentiontype|modeid1id2Other<- name
688765145enq: LR - contentiontype|modeid1id2Other<- name
2437279763enq: LS - contentiontype|modeid1id2Other<- name
1781121790enq: LT - contentiontype|modeid1id2Other<- name
3836307699enq: LU - contentiontype|modeid1id2Other<- name
1320668291enq: LV - contentiontype|modeid1id2Other<- name
970056814enq: LX - contentiontype|modeid1id2Other<- name
3540555035enq: LY - contentiontype|modeid1id2Other<- name
42470383enq: LZ - contentiontype|modeid1id2Other<- name
4141358912enq: YA - contentiontype|modeid1id2Other<- name
49303873enq: YB - contentiontype|modeid1id2Other<- name
16923067enq: YC - contentiontype|modeid1id2Other<- name
430723601enq: YD - contentiontype|modeid1id2Other<- name
2777252872enq: YE - contentiontype|modeid1id2Other<- name
716188495enq: YF - contentiontype|modeid1id2Other<- name
3273918077enq: YG - contentiontype|modeid1id2Other<- name
4261727606enq: YH - contentiontype|modeid1id2Other<- name
3900056393enq: YI - contentiontype|modeid1id2Other<- name
1086588912enq: YJ - contentiontype|modeid1id2Other<- name
1546516104enq: YK - contentiontype|modeid1id2Other<- name
3656843901enq: YL - contentiontype|modeid1id2Other<- name
1902098915enq: YM - contentiontype|modeid1id2Other<- name
2694944627enq: YN - contentiontype|modeid1id2Other<- name
3078550945enq: YO - contentiontype|modeid1id2Other<- name
3866696202enq: YP - contentiontype|modeid1id2Other<- name
1945496019enq: YQ - contentiontype|modeid1id2Other<- name
2349867750enq: YR - contentiontype|modeid1id2Other<- name
2384470175enq: YS - contentiontype|modeid1id2Other<- name
104199150enq: YT - contentiontype|modeid1id2Other<- name
1824966457enq: YU - contentiontype|modeid1id2Other<- name
1334630542enq: YV - contentiontype|modeid1id2Other<- name
222894096enq: YX - contentiontype|modeid1id2Other<- name
3368294287enq: YY - contentiontype|modeid1id2Other<- name
4162515370enq: YZ - contentiontype|modeid1id2Other<- name
3149857794enq: GA - contentiontype|modeid1id2Other<- name
707945442enq: GB - contentiontype|modeid1id2Other<- name
3184090883enq: GC - contentiontype|modeid1id2Other<- name
3010766263enq: GD - contentiontype|modeid1id2Other<- name
2257184003enq: GE - contentiontype|modeid1id2Other<- name
1470408532enq: GF - contentiontype|modeid1id2Other<- name
1578294037enq: GG - contentiontype|modeid1id2Other<- name
356161086enq: GH - contentiontype|modeid1id2Other<- name
2197298464enq: GI - contentiontype|modeid1id2Other<- name
3500533291enq: GJ - contentiontype|modeid1id2Other<- name
3571038774enq: GK - contentiontype|modeid1id2Other<- name
4115167081enq: GL - contentiontype|modeid1id2Other<- name
2822381649enq: GM - contentiontype|modeid1id2Other<- name
1932106797enq: GN - contentiontype|modeid1id2Other<- name
1220576703enq: GO - contentiontype|modeid1id2Other<- name
744993121enq: GP - contentiontype|modeid1id2Other<- name
2885424359enq: GQ - contentiontype|modeid1id2Other<- name
1692170555enq: GR - contentiontype|modeid1id2Other<- name
297473731enq: GS - contentiontype|modeid1id2Other<- name
3224017946enq: GT - contentiontype|modeid1id2Other<- name
2778953476enq: GU - contentiontype|modeid1id2Other<- name
959853025enq: GV - contentiontype|modeid1id2Other<- name
2865689336enq: GX - contentiontype|modeid1id2Other<- name
2895074916enq: GY - contentiontype|modeid1id2Other<- name
4024171206enq: GZ - contentiontype|modeid1id2Other<- name
1348917136enq: NA - contentiontype|modeid1id2Other<- name
3834846031enq: NB - contentiontype|modeid1id2Other<- name
2006236678enq: NC - contentiontype|modeid1id2Other<- name
1871532613enq: ND - contentiontype|modeid1id2Other<- name
4012219648enq: NE - contentiontype|modeid1id2Other<- name
3502491416enq: NF - contentiontype|modeid1id2Other<- name
2471192843enq: NG - contentiontype|modeid1id2Other<- name
1409485279enq: NH - contentiontype|modeid1id2Other<- name
672532181enq: NI - contentiontype|modeid1id2Other<- name
2473475281enq: NJ - contentiontype|modeid1id2Other<- name
3808553866enq: NK - contentiontype|modeid1id2Other<- name
1598198340enq: NL - contentiontype|modeid1id2Other<- name
3050419639enq: NM - contentiontype|modeid1id2Other<- name
1665290538enq: NN - contentiontype|modeid1id2Other<- name
1174794313enq: NO - contentiontype|modeid1id2Other<- name
2004959591enq: NP - contentiontype|modeid1id2Other<- name
3657424359enq: NQ - contentiontype|modeid1id2Other<- name
3356952131enq: NR - contentiontype|modeid1id2Other<- name
2192142731enq: NS - contentiontype|modeid1id2Other<- name
3427460944enq: NT - contentiontype|modeid1id2Other<- name
112223784enq: NU - contentiontype|modeid1id2Other<- name
4128471227enq: NV - contentiontype|modeid1id2Other<- name
2545284036enq: NX - contentiontype|modeid1id2Other<- name
1766455960enq: NY - contentiontype|modeid1id2Other<- name
2086756223enq: NZ - contentiontype|modeid1id2Other<- name
3753139397enq: IV - contentiontype|modeid1id2Other<- name
3937527428enq: TP - contentionname|mode00Other<- name
1305530676enq: RW - MV metadata contentionname|modetable obj#0Other<- name
1911278064enq: OC - contentionname|mode12Other<- name
3443769614enq: OL - contentionname|modehash value0Other<- name
2380778435kkdlgon   Other<- name
987594289kkdlsipon   Other<- name
1604845996kkdlhpon   Other<- name
355994765Remote Tool Request Reply   Other<- name
3009035641Remote Tool Request Free List   Other<- name
3770549072kgltwait   Other<- name
3834925098kksfbc research   Other<- name
695862004kksscl hash split   Other<- name
2679325kksfbc child completion   Other<- name
325782660enq: CU - contentionname|modehandlehandleOther<- name
3963940642enq: AE - lockname|modeedition obj#pdbuidOther<- name
3983390698Revoke: get objectmaximum timeamount of time Other<- name
2211137592enq: PF - contentionname|mode00Other<- name
3405015922enq: PZ - flush passwordfile metadataname|mode00Other<- name
2886680154enq: PZ - load passwordfile metadataname|mode00Other<- name
1682769842enq: IL - contentionname|modeobject #0Other<- name
1619270516enq: CL - drop labelname|modeobject #0Other<- name
3032662556enq: CL - compare labelsname|modeobject #0Other<- name
2966458487enq: SG - OLS Add Groupname|modeobject #0Other<- name
2242607460enq: SG - OLS Create Groupname|modeobject #0Other<- name
2337297337enq: SG - OLS Drop Groupname|modeobject #0Other<- name
2419135517enq: SG - OLS Alter Group Parentname|modeobject #0Other<- name
842554107enq: OP - OLS Store user entriesname|modeobject #0Other<- name
4210998488enq: OP - OLS Cleanup unused profilesname|modeobject #0Other<- name
2064902942move audit tablespace delay   Other<- name
1548192275enq: CC - decryptionname|mode00Other<- name
3559219295enq: MK - contentionname|mode00Other<- name
4033490427enq: OW - initializationname|mode00Other<- name
964463181enq: OW - terminationname|mode00Other<- name
3147636141enq: RK - set keyname|mode00Other<- name
3379814898enq: RK - queue wallet and TS keysname|mode00Other<- name
3158937066enq: HC - HSM cache writename|mode00Other<- name
663631404enq: HC - HSM cache readname|mode00Other<- name
2687533677enq: RL - RAC wallet lockname|mode00Other<- name
4025463557enq: PJ - modify DV policyname|mode00Other<- name
1522297956enq: PJ - read DV policyname|mode00Other<- name
3612159796Row cache for Grant or Revokemaximum timeamount of time Other<- name
1248642937enq: ZZ - update hash tablesname|modeKSBXIC Action0Other<- name
387973045Failed Logon Delay   Other<- name
1444835457enq: ZA - add std audit table partitionname|modeKZAM Aud Partition0Other<- name
2473367936enq: ZF - add fga audit table partitionname|modeKZAM Fga Partition0Other<- name
4117873466enq: ZS - excl access to spill audit filename|modeSpillover audit file0Other<- name
2167287208enq: UT - transfer audit recordsname|modeTRANSFER AUDIT
RECORDS
0Other<- name
2191852259enq: PA - modify a privilege capturename|mode00Other<- name
3768392460enq: PA - read a privilege capturename|mode00Other<- name
3218498929enq: PC - update privilege capture infoname|mode00Other<- name
3478134814enq: PC - read privilege capture infoname|mode00Other<- name
2825881230enq: KZ - contentiontype|modeid1id2Other<- name
2881503609enq: DX - contentionname|modetransaction entry #0Other<- name
721778600enq: DR - contentionname|mode00Other<- name
363664498pending global transaction(s)scans  Other<- name
1932123989free global transaction table entrytries  Other<- name
800384622library cache revalidationOther<- name
1578286316library cache shutdownOther<- name
168007407BFILE closureOther<- name
3242184666BFILE check if existsOther<- name
1942306413BFILE check if openOther<- name
472769133BFILE get lengthOther<- name
4198001558BFILE get name objectOther<- name
33957852BFILE get path objectOther<- name
1993008680BFILE openOther<- name
2281626056BFILE internal seekOther<- name
2625557633resmgr:internal state cleanuplocationOther<- name
1731053206xdb schema cache initialization   Other<- name
378175956ASM cluster file accesslockmode Other<- name
366154626CSS initialization   Other<- name
3315172079CSS group registrationgroup_name1group_name2mem_idOther<- name
321492953CSS group membership querygroup_name1group_name2group_name3Other<- name
4255804750CSS operation: data queryfunction_id  Other<- name
3392052408CSS operation: data updatefunction_id  Other<- name
1812662268CSS Xgrp shared operationfunction_id  Other<- name
1558934147CSS operation: queryfunction_id  Other<- name
2051030365CSS operation: actionfunction_id  Other<- name
2821557051CSS operation: diagnosticfunction_id  Other<- name
1957973247GIPC operation: dumpfunction_id  Other<- name
3269846298GPnP Initialization   Other<- name
3458573322GPnP Termination   Other<- name
2801929040GPnP Get Item   Other<- name
2084604428GPnP Set Item   Other<- name
725794275GPnP Get Error   Other<- name
660190475ADR file lockOther<- name
1780066010ADR block file readOther<- name
4092822979ADR block file writeOther<- name
3329884903CRS call completionclsrrestypekjha_action Other<- name
1957311914ASM: OFS Cluster membership update   Other<- name
1720615545dispatcher shutdownwaited  Other<- name
2160405876latch: virtual circuit queuesaddressnumberwhyOther<- name
2803313450listen endpoint statusend-point#status Other<- name
3085137677listener registration dumpdump  Other<- name
3280053043OJVM: Generic   Other<- name
3225641117select wait   Other<- name
2155415449jobq slave shutdown wait   Other<- name
1039441158jobq slave TJ process wait   Other<- name
2521301688job scheduler coordinator slave wait   Other<- name
2016557033enq: JD - contentionname|mode00Other<- name
4077422893enq: JQ - contentionname|mode00Other<- name
143199788enq: OD - Serializing DDLsname|modeobject #0Other<- name
3862184413RAC referential constraint parent lockmaximum attemptsattempt count Other<- name
198056240RAC: constraint DDL lockmaximum attemptsattempt count Other<- name
4264819978kkshgnc reloop   Other<- name
3412463764optimizer stats update retry   Other<- name
1586753839wait active processes   Other<- name
4042173709SUPLOG PL wait for inflight pragma-d PL/SQLsession_num  Other<- name
3735259588enq: MD - contentionname|modemaster object #0Other<- name
3982742587enq: MS - contentionname|modemaster object #purposeOther<- name
2191672992wait for kkpo ref-partitioning *TEST EVENT*where  Other<- name
2212621438RAC reference partitioning descendants lockmaximum attemptsattempt count Other<- name
197381757enq: AP - contentionname|mode00Other<- name
3350442546enq: RH - quarantinename|mode00Other<- name
4097381538PX slave connection   Other<- name
677587481PX slave release   Other<- name
624762663PX Send Wait   Other<- name
175758063PX qref latchfunctionsleeptimeqrefOther<- name
2914763719PX server shutdownnalivesleeptimeloopOther<- name
713547867PX create servernserverssleeptimeenqueueOther<- name
275064659PX signal serverserialerrornbusyOther<- name
4205438796PX Deq: Join ACKsleeptime/senderidpasses Other<- name
2019821942PX Deq Credit: free buffersleeptime/senderidpassesqrefOther<- name
4186184097PX Deq: Test for msgsleeptime/senderidpasses Other<- name
2485206220PX Deq: Test for creditsleeptime/senderidpasses Other<- name
2705287540PX Deq: Signal ACK RSGsleeptime/senderidpasses Other<- name
1974015973PX Deq: Signal ACK EXTsleeptime/senderidpasses Other<- name
146029171PX Deq: reap credit   Other<- name
4195961226PX Nsq: PQ descriptor query   Other<- name
1721932125PX Nsq: PQ load info query   Other<- name
55053127PX Deq Credit: Session Statssleeptime/senderidpasses Other<- name
2306891574PX Deq: Slave Session Statssleeptime/senderidpasses Other<- name
1826399205PX Deq: Slave Join Fragsleeptime/senderidpasses Other<- name
2143046196enq: PI - contentionname|modeoperationserial #Other<- name
2071012023enq: PS - contentionname|modeinstanceslave IDOther<- name
3187918539enq: DA - Slave Process Arrayname|mode00Other<- name
676951513latch: parallel query alloc bufferaddressnumberwhyOther<- name
2176755381kxfxsekxfxse debug wait:
stalling for slave 0
  Other<- name
789727252kxfxspkxfxsp debug wait:
stalling for slave 0
  Other<- name
2049127157PX Deq: Table Q qrefsleeptime/senderidpasses Other<- name
4068211615PX Deq: Table Q Get Keyssleeptime/senderidpasses Other<- name
2044715771PX Deq: Table Q Closesleeptime/senderidpasses Other<- name
1944760014GV$: slave acquisition retry wait time   Other<- name
265138948PX hash elem being insertedhashidelementinsert/updateOther<- name
2185396738latch: PX hash array latchaddressnumberwhyOther<- name
3076848514enq: AY - contentionname|modeOp1Op2Other<- name
3701540314enq: TO - contentionname|modeobject #1Other<- name
3003716442enq: ZP - Private Temporary Tablename|modesess#ser#Other<- name
210464158IMCDT end of scans cleanupsession id  Other<- name
2239268215enq: IT - contentionname|modeobject #0Other<- name
2212717019enq: BF - allocation contentionname|modenode#/parallelizer#bloom#Other<- name
2476632936enq: BF - PMON Join Filter cleanupname|modenode#/parallelizer#bloom#Other<- name
3612504684enq: RD - RAC loadname|modesqlidexecidOther<- name
720590657PX key vector flattensleeptimepasses Other<- name
2134054793PX hash key vector cellsleeptimepasses Other<- name
3088459204PX hash key vector mergesleeptimepasses Other<- name
227324969PX key vector use loadsleeptimepasses Other<- name
1640694188PX key vector create dgk initsleeptimepasses Other<- name
1677991500enq: MG - MGA allocationname|modeqcserial#rowsource#/mgacode#Other<- name
4252762903enq: MG - client shared context allocationname|modeqcserial#rowsource#/mgacode#Other<- name
4172720392timer in sksawat   Other<- name
148348926scginq AST call   Other<- name
3632212035kupp process wait   Other<- name
1677898746Kupp process shutdownnalivesleeptimeloopOther<- name
1618891965Data Pump slave startup   Other<- name
1990104190Data Pump slave init   Other<- name
4149771879enq: KP - contentionname|mode00Other<- name
62357398Replication Dequeue sleeptime/senderidpasses Other<- name
171343339knpc_acwm_AwaitChangedWaterMark   Other<- name
68404501knpc_anq_AwaitNonemptyQueue   Other<- name
2722071092knpsmai   Other<- name
3056899600enq: SR - contentionname|modeoperationsequence # /
apply #
Other<- name
1695560430enq: RG - Apply coord start/stopname|mode00Other<- name
2065856153REPL Capture/Apply: database startup2=>GoldenGate
1=>XStream
0=>Streams
  Other<- name
2721331920REPL Capture/Apply: miscellaneous2=>GoldenGate
1=>XStream
0=>Streams
TYPE Other<- name
3398735787enq: SI - contentionname|modeobject #0Other<- name
1864425273REPL Capture/Apply: RAC inter-instance ack2=>GoldenGate
1=>XStream
0=>Streams
  Other<- name
2673474179enq: IA - contentionname|mode00Other<- name
2959147725enq: JI - contentionname|modeview object #0Other<- name
2379543324qerex_gdml   Other<- name
545059663enq: AT - contentionname|mode00Other<- name
3227435068Retry DB Audit Record Insertion Delay   Other<- name
2694900870opishd   Other<- name
2339167892secure protocol error delay   Other<- name
3714800175kpodplck wait before retrying ORA-54   Other<- name
4187088707enq: CQ - contentionname|mode00Other<- name
256518009wait for EMON to spawn   Other<- name
2145388EMON termination   Other<- name
3606851176enq: AZ - AQ_SRVNTFN_Q Creationname|mode00Other<- name
2204104508Emon coordinator startup   Other<- name
3429311972enq: SE - contentionname|modeSession-idSerial#Other<- name
4191886805tsm with timeout   Other<- name
475650147Streams AQ: waiting for busy instance for instance_namewherewait_count Other<- name
360694399Streams AQ: index block pin/row lockOther  Other<- name
1371132976enq: TQ - TM contentionname|modeQT_OBJ#Other=>0 pdbOpen=>1Other<- name
717240345enq: TQ - DDL contentionname|modeQT_OBJ#Other=>0 pdbOpen=>1Other<- name
451597502enq: TQ - INI contentionname|modeQT_OBJ#Other=>0 pdbOpen=>1Other<- name
3544909312enq: TQ - DDL-INI contentionname|modeQT_OBJ#Other=>0 pdbOpen=>1Other<- name
2485099792enq: TQ - INI sq contentionname|modeQT_OBJ#Other=>0 pdbOpen=>1Other<- name
2161466780enq: TQ - MC free sync at cross job startname|modeQT_OBJ#Other=>0 pdbOpen=>1Other<- name
3940406592enq: TQ - MC free sync at cross job stopname|modeQT_OBJ#Other=>0 pdbOpen=>1Other<- name
3556092800enq: TQ - MC free sync at cross job endname|modeQT_OBJ#Other=>0 pdbOpen=>1Other<- name
1806788557enq: TQ - MC free sync at export subshardname|modeQT_OBJ#Other=>0 pdbOpen=>1Other<- name
414829123enq: TQ - create eviction tablename|modeQT_OBJ#Other=>0 pdbOpen=>1Other<- name
1253896331enq: TQ - TM Job cache initializationname|modeQT_OBJ#Other=>0 pdbOpen=>1Other<- name
851010114enq: TQ - TM Job cache usename|modeQT_OBJ#Other=>0 pdbOpen=>1Other<- name
140858203enq: TQ - sq TM contentionname|modeQT_OBJ#Other=>0 pdbOpen=>1Other<- name
1778940434enq: TQ - LB drop volatile shardname|modeQT_OBJ#Other=>0 pdbOpen=>1Other<- name
184877469AQ reload SO release   Other<- name
1604858083enq: RQ - Enqueue commit uncachedname|modeQ_OBJ#shard:modeOther<- name
3085538108enq: RQ - Enqueue commit cachedname|modeQ_OBJ#shard:modeOther<- name
2919324227enq: RQ - Dequeue update scnname|modeQ_OBJ#shard:modeOther<- name
865607805enq: RQ - Parallel cross update scnname|modeQ_OBJ#shard:modeOther<- name
3441381857enq: RQ - Cross update scnname|modeQ_OBJ#shard:modeOther<- name
2880690823enq: RQ - Trucate subshardname|modeQ_OBJ#shard:modeOther<- name
3170569805enq: RQ - Cross export subshardname|modeQ_OBJ#shard:modeOther<- name
1369383293enq: RQ - Cross import subshardname|modeQ_OBJ#shard:modeOther<- name
1413769130enq: RQ - Free shadow shardname|modeQ_OBJ#shard:modeOther<- name
3015178340enq: RQ - AQ indexed cached commitname|modeQ_OBJ#shard:modeOther<- name
2216156465enq: RQ - AQ uncached commit WM updatename|modeQ_OBJ#shard:modeOther<- name
1097722103enq: RQ - AQ uncached dequeuename|modeQ_OBJ#shard:modeOther<- name
2303995540enq: RQ - AQ Eq Ptn Mappingname|modeQ_OBJ#shard:modeOther<- name
880236959enq: RQ - AQ Dq Ptn Mappingname|modeQ_OBJ#shard:modeOther<- name
3508179254enq: RQ - AQ Trnc mem freename|modeQ_OBJ#shard:modeOther<- name
732656061enq: RQ - AQ Trnc mem free remotename|modeQ_OBJ#shard:modeOther<- name
2182291775enq: RQ - AQ Trnc mem free by LBname|modeQ_OBJ#shard:modeOther<- name
2158440508enq: RQ - AQ Trnc mem free by CPname|modeQ_OBJ#shard:modeOther<- name
2511032739enq: RQ - AQ Enq commit incarnation wrapname|modeQ_OBJ#shard:modeOther<- name
992085483enq: RQ - AQ Rule evaluation segment loadname|modeQ_OBJ#shard:modeOther<- name
3549861016enq: RQ - AQ Evict: block truncatename|modeQ_OBJ#shard:modeOther<- name
263001462enq: RQ - AQ Unevict PGA: setup subscribername|modeQ_OBJ#shard:modeOther<- name
1533122454enq: RQ - AQ Unevict PGA: Queue Viewname|modeQ_OBJ#shard:modeOther<- name
3768201353enq: RQ - AQ Shid Genname|modeQ_OBJ#shard:modeOther<- name
1316606076enq: RQ - AQ Enq commit block truncatename|modeQ_OBJ#shard:modeOther<- name
2034753927enq: RQ - AQ Cross update scn for delayname|modeQ_OBJ#shard:modeOther<- name
995822741enq: RQ - AQ Cross Shard mem freename|modeQ_OBJ#shard:modeOther<- name
623563369enq: RQ - AQ rollback retry count updatename|modeQ_OBJ#shard:modeOther<- name
2906438445enq: RQ - AQ cached commit WM updatename|modeQ_OBJ#shard:modeOther<- name
2832768511enq: RQ - AQ cached dequeue by conditionname|modeQ_OBJ#shard:modeOther<- name
2877960639AQ propagation connection   Other<- name
8998880enq: KR - Drop rule forcename|modeR_OBJ#0Other<- name
3809944109enq: KR - Add rule to rulesetname|modeR_OBJ#0Other<- name
1527114466enq: KR - Remove rule from rulesetname|modeR_OBJ#0Other<- name
1150705222enq: DP - contentionname|mode00Other<- name
798324601enq: MH - contentionname|mode00Other<- name
4174613831enq: ML - contentionname|mode00Other<- name
148033462enq: PH - contentionname|mode00Other<- name
3322341088enq: SF - contentionname|mode00Other<- name
3111555168enq: XH - contentionname|mode00Other<- name
3791087697enq: WA - contentionname|mode00Other<- name
2512310275Streams AQ: QueueTable kgl locks   Other<- name
1444745059AQ spill debug idle   Other<- name
1036481366AQ master shutdown   Other<- name
1719027518AQPC: new master   Other<- name
521075289AQ Background Master: slave start   Other<- name
217236789enq: AQ - QPT fg map dqptname|modeQT_OBJ#0Other<- name
2886730684enq: AQ - QPT fg map qptname|modeQT_OBJ#0Other<- name
4020471302enq: PQ - QPT add qptname|modeQT_OBJ#0Other<- name
588884722enq: PQ - QPT drop qptname|modeQT_OBJ#0Other<- name
555943052enq: PQ - QPT add dqptname|modeQT_OBJ#0Other<- name
3301195157enq: PQ - QPT drop dqptname|modeQT_OBJ#0Other<- name
1959042520enq: PQ - QPT add qpt fgname|modeQT_OBJ#0Other<- name
3836089153enq: PQ - QPT add dqpt fgname|modeQT_OBJ#0Other<- name
861646821enq: PQ - QPT Truncname|modeQT_OBJ#0Other<- name
2920134246enq: PQ - QPT LB Trunc syncname|modeQT_OBJ#0Other<- name
441889315enq: PQ - QPT XSTART Trunc syncname|modeQT_OBJ#0Other<- name
1492596895AQ master: time mgmt/task cleanup   Other<- name
51933697AQ slave: time mgmt/task cleanup   Other<- name
4071093774enq: BA - SUBBMAP contentionname|mode00Other<- name
2421053357AQ:non durable subscriber add or drop   Other<- name
2363885740AQ: RAC AQ Network   Other<- name
93406953latch: AQ Sharded subscriber statistics latchaddressnumberwhyOther<- name
1465038546AQ OPT Operation Completesubshardskiplist Other<- name
2371292690latch: AQ OPT Background Master LatchaddressnumberwhyOther<- name
4107448082enq: CX - TEXT: Index Specific Lockname|modeIndex IdPartition IdOther<- name
389396261enq: OT - TEXT: Generic Lockname|mode00Other<- name
1110641933XDB SGA initialization   Other<- name
300221745enq: XC - XDB Configurationname|mode  Other<- name
1255252648NFS read delegation outstandingdelegation count  Other<- name
4100251918Data Guard Broker WaitBroker ComponentWait Argument 1Wait Argument 2Other<- name
2609577957enq: RF - synch: DG Broker metadataname|modelock operationlock valueOther<- name
3779250430enq: RF - atomicityname|modelock operationlock valueOther<- name
1367687622enq: RF - Broker Chief Lockname|modelock operationlock valueOther<- name
770131870enq: RF - synchronization: aifo mastername|modelock operationlock valueOther<- name
1283852695enq: RF - new AIname|modelock operationlock valueOther<- name
3573752690enq: RF - synchronization: critical ainame|modelock operationlock valueOther<- name
1173618054enq: RF - RF - Database Automatic Disablename|modelock operationlock valueOther<- name
1422251130enq: RF - FSFO Observer Heartbeatname|modelock operationlock valueOther<- name
2735020950enq: RF - DG Broker Current File IDname|modelock operationlock valueOther<- name
2311929058enq: RF - FSFO Primary Shutdown suspendedname|modelock operationlock valueOther<- name
3754864244enq: RF - Broker State Lockname|modelock operationlock valueOther<- name
3053910820enq: RF - FSFO string buffername|modelock operationlock valueOther<- name
2069842805enq: RF - Broker NSV Lockname|modelock operationlock valueOther<- name
1285804450enq: RF - Broker LSBY FO Lockname|modelock operationlock valueOther<- name
687406475PX Deq: OLAP Update Replysleeptime/senderidpasses Other<- name
2722627124PX Deq: OLAP Update Executesleeptime/senderidpasses Other<- name
3949837646PX Deq: OLAP Update Closesleeptime/senderidpasses Other<- name
3728184289enq: AW - AW$ table lockname|modeoperationworkspace #Other<- name
2438512004enq: AW - AW state lockname|modeoperationworkspace #Other<- name
541043045enq: AW - user access for AWname|modeoperationworkspace #Other<- name
2247828282enq: AW - AW generation lockname|modeoperationworkspace #Other<- name
2009316128enq: AG - contentionname|modeworkspace #generationOther<- name
2454416615enq: AO - contentionname|modeworkspace #object #Other<- name
523388040enq: OQ - xsoqhiAllocname|moderesource id0Other<- name
3682185722enq: OQ - xsoqhiFlushname|moderesource id0Other<- name
681553729enq: OQ - xsoq*histrecbname|moderesource id0Other<- name
2148426979enq: OQ - xsoqhiClosename|moderesource id0Other<- name
4194119705enq: OQ - xsoqhistrecbname|moderesource id0Other<- name
1170604220enq: IZ - contentiontype|modeid1id2Other<- name
409056071enq: AM - client registrationname|modeid1id2Other<- name
4003623979enq: AM - shutdownname|modeid1id2Other<- name
3718305enq: AM - rollback COD reservationname|modeid1id2Other<- name
2163538166enq: AM - background COD reservationname|modeid1id2Other<- name
2512559650enq: AM - ASM cache freezename|modeid1id2Other<- name
1784903832enq: AM - ASM ACD Relocationname|modeid1id2Other<- name
3865222969enq: AM - group usename|modeid1id2Other<- name
2069926448enq: AM - group blockname|modeid1id2Other<- name
827631834enq: AM - ASM File Destroyname|modeid1id2Other<- name
1369527695enq: AM - ASM Username|modeid1id2Other<- name
1010353447enq: AM - ASM Password File Updatename|modeid1id2Other<- name
2754586444enq: AM - ASM Amdu Dumpname|modeid1id2Other<- name
1111439585enq: AM - disk offlinename|modeid1id2Other<- name
1454769910enq: AM - ASM reservedname|modeid1id2Other<- name
279744402enq: AM - block repairname|modeid1id2Other<- name
3396428008enq: AM - ASM disk based alloc/deallocname|modeid1id2Other<- name
3160612488enq: AM - ASM file descriptorname|modeid1id2Other<- name
92719042enq: AM - ASM file relocationname|modeid1id2Other<- name
2483622550enq: AM - ASM SR relocationname|modeid1id2Other<- name
1063667893enq: AM - ASM Grow ACDname|modeid1id2Other<- name
3837655383enq: AM - ASM DD update SrRlocname|modeid1id2Other<- name
4169101203enq: AM - ASM file chownname|modeid1id2Other<- name
2601059080enq: AM - Register with IOServername|modeid1id2Other<- name
699477076enq: AM - ASM metadata replicationname|modeid1id2Other<- name
985067372enq: AM - SR slice Clear/Markname|modeid1id2Other<- name
3556433611enq: AM - Enable Remote ASMname|modeid1id2Other<- name
442057748enq: AM - Disable Remote ASMname|modeid1id2Other<- name
4095213098enq: AM - Credential creationname|modeid1id2Other<- name
1623955356enq: AM - Credential deletionname|modeid1id2Other<- name
2677727449enq: AM - ASM file access reqname|modeid1id2Other<- name
64802329enq: AM - ASM client operationname|modeid1id2Other<- name
2358860044enq: AM - ASM client checkname|modeid1id2Other<- name
1675121924enq: AM - ASM ATB COD creationname|modeid1id2Other<- name
3472725730enq: AM - Create default DG key in OCRname|modeid1id2Other<- name
2680210812enq: AM - ASM Audit file Deletename|modeid1id2Other<- name
2479275509enq: AM - ASM Audit file Cleanupname|modeid1id2Other<- name
2073560035enq: AM - ASM VAT migrationname|modeid1id2Other<- name
1975769604enq: AM - Update SR nomark flagname|modeid1id2Other<- name
1591602342enq: AM - ASM VAL cachename|modeid1id2Other<- name
3793499008enq: AM - ASM SR Segment Reusename|modeid1id2Other<- name
250443378enq: AM - ASM SR Segment Reuse Lookupname|modeid1id2Other<- name
537017889enq: AM - ASM SR Batch Allocationname|modeid1id2Other<- name
1134572957enq: AM - ASM Sparse Disk IOCTLname|modeid1id2Other<- name
1654589745enq: AM - ASM VAM Activename|modeid1id2Other<- name
3363174857enq: AM - ASM Split Mirror File Createname|modeid1id2Other<- name
2694311567enq: AM - ASM Split Mirror File Deletename|modeid1id2Other<- name
2896300204enq: AM - ASM Mirror Preparename|modeid1id2Other<- name
3154205335enq: AM - ASM Mirror Splitname|modeid1id2Other<- name
305997448enq: AM - ASM Drop Mirrorname|modeid1id2Other<- name
1949526317enq: AM - ASM PDB Mirror Splitname|modeid1id2Other<- name
3578425710enq: AM - DB Mirror Preparename|modeid1id2Other<- name
621703965enq: AM - DB Drop Mirror Copyname|modeid1id2Other<- name
2893418612enq: AM - DB Mirror Splitname|modeid1id2Other<- name
1758319559enq: AM - PDB Mirror Splitname|modeid1id2Other<- name
2320430895enq: AM - Create Prepare Child file groupname|modeid1id2Other<- name
716767539enq: AM - Change file group redundancyname|modeid1id2Other<- name
525190891enq: AM - ASM Split Mirror ODM File Crtname|modeid1id2Other<- name
2345780184enq: AM - ASM Split Mirror ODM File Delname|modeid1id2Other<- name
2488686235enq: AM - ASMB Startupname|modeid1id2Other<- name
3410638104enq: AM - ASMB Renewname|modeid1id2Other<- name
294867266enq: AM - ASM: group unblockname|modeid1id2Other<- name
1743182406enq: AM - ASM file createname|modeid1id2Other<- name
1956883892enq: AM - ASM ATE conversionname|modeid1id2Other<- name
3446354675enq: AM - ASM resync from ATEname|modeid1id2Other<- name
3550195952enq: AM - ASM Split Status Writename|modeid1id2Other<- name
4245020571enq: AM - ASM Split Status Readname|modeid1id2Other<- name
1314989500enq: AM - ASM Client Assisted Offlinename|modeid1id2Other<- name
143193948enq: AM - ASM Client Assisted Offline Chkname|modeid1id2Other<- name
1209620185ASM internal hang testtest #  Other<- name
1458436774ASM Instance startup   Other<- name
2251737163buffer busygroup#obj#block#Other<- name
3520118347buffer freelistbusygroup#obj#block#Other<- name
4196750963buffer rememberlist busygroup#obj#block#Other<- name
539980354buffer writeList fullgroup#obj#block#Other<- name
3607843151no free buffersgroup#obj#block#Other<- name
1188005821buffer write waitgroup#obj#block#Other<- name
1339059840buffer invalidation waitgroup#obj#block#Other<- name
3809103184buffer dirty disabledgroup#  Other<- name
3227373516ASM metadata cache frozengroup#obj#block#Other<- name
3006239876enq: FZ - contentiontype|modeid1id2Other<- name
4186342174enq: CM - gatename|modedisk group #typeOther<- name
3394651275enq: CM - instancename|modedisk group #typeOther<- name
3457552864enq: CM - diskgroup dismountname|modedisk group #typeOther<- name
3051305468enq: XQ - recoveryname|modedisk group #unusedOther<- name
1688174401enq: XQ - relocationname|modedisk group #unusedOther<- name
3970804539enq: XQ - purificationname|modedisk group #unusedOther<- name
2345563243enq: AD - allocate AUname|modegroup and disk numberAU numberOther<- name
143335296enq: AD - deallocate AUname|modegroup and disk numberAU numberOther<- name
2372793991enq: AD - relocate AUname|modegroup and disk numberAU numberOther<- name
2627023149enq: AD - flush writes to AUname|modegroup and disk numberAU numberOther<- name
1035436594enq: DO - disk onlinename|modedisk group #disk #Other<- name
3543159936enq: DO - disk online recoveryname|modedisk group #disk #Other<- name
3796486218enq: DO - Staleness Registry createname|modedisk group #disk #Other<- name
1190657481enq: DO - startup of MARK processname|modedisk group #disk #Other<- name
2314060976extent map load/unlockgroupfileextentOther<- name
3108652202extent map lockedmid  Other<- name
187881552enq: XL - fault extent mapname|modemap idnothingOther<- name
1759761944Sync ASM rebalance   Other<- name
1532208117Sync ASM discovery   Other<- name
177573324File Directory Use   Other<- name
685231043enq: DG - contentionname|modedisk grouptypeOther<- name
3688395675enq: DD - contentionname|modedisk grouptypeOther<- name
4039922119enq: HD - contentionname|modedisk group0Other<- name
996118641enq: DQ - contentiontype|modeid1id2Other<- name
2749567914ASM ioctl to dematerialize blocksOSS FDwheretimeoutOther<- name
2043768807enq: DN - contentionname|mode00Other<- name
895023593Cluster stabilization wait   Other<- name
1575986328Cluster Suspension wait   Other<- name
3861676729ASMB cookie valid check   Other<- name
2662459136ASM background starting   Other<- name
1187368726CSS cookie check   Other<- name
2985320524ASM db client exists   Other<- name
3967390525ASM file metadata operationmsgoplocn Other<- name
2340849898ASM network foreground exitsgroup#  Other<- name
3684153710ASM check disk slicesgroup#  Other<- name
1565536645enq: XB - contentiontype|modeid1id2Other<- name
3182712926enq: FA - access filename|modedisk group numberfile numberOther<- name
2145403328enq: RX - relocate extentname|modedisk group #:file #virtual
extent number
Other<- name
3415870113enq: RX - unlock extentname|modedisk group #:file #virtual
extent number
Other<- name
1530586040enq: AR - contentiontype|modeid1id2Other<- name
2210429417enq: AH - contentiontype|modeid1id2Other<- name
3902700176log write(odd)group#  Other<- name
1156678023log write(even)group#  Other<- name
2188655897checkpoint advancedgroup#  Other<- name
1893664477enq: FR - contentionname|modedisk groupthreadOther<- name
3144887602enq: FR - use the threadname|modedisk groupthreadOther<- name
2085113153enq: FR - recover the threadname|modedisk groupthreadOther<- name
1457820412enq: FG - serialize ACD relocatename|modedisk grouptypeOther<- name
903153076enq: FG - FG redo generation enq racename|modedisk grouptypeOther<- name
3282679649enq: FG - LGWR redo generation enq racename|modedisk grouptypeOther<- name
4166969980enq: FT - allow LGWR writesname|modedisk groupthreadOther<- name
3784147810enq: FT - disable LGWR writesname|modedisk groupthreadOther<- name
1342373550enq: FC - open an ACD threadname|modedisk groupthreadOther<- name
4041110320enq: FC - recover an ACD threadname|modedisk groupthreadOther<- name
642072527enq: FX - issue ACD Xtnt Relocation CICname|modedisk groupunusedOther<- name
1290945549rollback operations block fullmax operations  Other<- name
3090342480rollback operations activeoperation count  Other<- name
11871430enq: RB - contentionname|modedisk group0Other<- name
2388386205ASM: MARK subscribe to msg channel   Other<- name
356559202ASM: Send msg to MARKgroup#dginc Other<- name
1863410699IOS client reconnect to dif IOS   Other<- name
2796523246enq: II - contentiontype|modeid1id2Other<- name
2402091651enq: IK - contentiontype|modeid1id2Other<- name
3763393154IOS worker process startupprocess typeprocess number Other<- name
2169926259IOS worker process exitprocess typeprocess number Other<- name
2526851348callaction  Other<- name
1149393865enq: IC - IOServer clientIDname|modeclient idnoneOther<- name
2190180976enq: IF - file openname|modeclient id/group numFile numberOther<- name
143253470enq: IF - file closename|modeclient id/group numFile numberOther<- name
1698021162enq: PT - contentionname|modedisk group #typeOther<- name
1341347015enq: PT - ASM Storage May Splitname|modedisk group #typeOther<- name
4005116367enq: PM - contentiontype|modeid1id2Other<- name
1675551899ASM concurrent diskgroup dismount   Other<- name
1641349801ASM PST operationop  Other<- name
165998259global cache busygroupfile#block#Other<- name
1178367029lock release pendinggroupfile#block#Other<- name
768347202dma prepare busygroupobj#block#Other<- name
882942043GCS lock cancelle  Other<- name
1614997189GCS lock open Sgroupobj#block#Other<- name
2914709075GCS lock open Xgroupobj#block#Other<- name
2319975598GCS lock opengroupobj#block#Other<- name
4196128727GCS lock cvt Sgroupobj#block#Other<- name
1477609608GCS lock cvt Xgroupobj#block#Other<- name
526018501GCS lock esc Xgroupobj#block#Other<- name
3407862862GCS lock escgroupobj#block#Other<- name
3438313554GCS recovery lock opengroupobj#block#Other<- name
3795772310GCS recovery lock convertgroupobj#block#Other<- name
2200249458kfcl: instance recoverygroupobj#block#Other<- name
1446952136no free locks   Other<- name
3946320739lock closegrouplms# Other<- name
4237717925enq: KE - contentiontype|modeid1id2Other<- name
3738539678enq: KQ - access ASM attributename|modegroupentryOther<- name
3252202162ASM Volume Background   Other<- name
1040863550ASM volume directive sendmsgopdgvolOther<- name
1113408825ASM Volume Resource Action   Other<- name
1869608638enq: AV - persistent DG numbername|modepersistent DG numbernon-DG number enqsOther<- name
3917752439enq: AV - volume relocatename|modepersistent DG numbernon-DG number enqsOther<- name
1293149770enq: AV - AVD client registrationname|modepersistent DG numbernon-DG number enqsOther<- name
845350487enq: AV - add/enable first volume in DGname|modepersistent DG numbernon-DG number enqsOther<- name
2067455519ASM Scrubbing I/OblknobytesfiletypeOther<- name
1981525493ASM Async Scrub   Other<- name
1128811488ASM Scrub Stop   Other<- name
1140319009ASM Scrub Running   Other<- name
4059731982ASM: VAM activationgroup#  Other<- name
594948517DB Split Delay   Other<- name
1641438405enq: WF - contentionname|mode00Other<- name
1872744606enq: WT - contentionname|mode00Other<- name
2389341073enq: WP - contentionname|mode00Other<- name
2941830639enq: FU - contentionname|mode00Other<- name
2821914527enq: UF - undo stat flush per PDBname|mode00Other<- name
3539930272enq: WI - AWR importname|mode00Other<- name
1743780004enq: WE - AWR auto-exportname|mode00Other<- name
2716218059enq: WD - AWR mail package retrievalname|mode00Other<- name
2288329625AWR Flush   Other<- name
2618836277AWR Metric Capture   Other<- name
3315745697enq: TB - SQL Tuning Base Cache Updatename|mode12Other<- name
2878002362enq: TB - SQL Tuning Base Cache Loadname|mode12Other<- name
3691188946enq: SH - contentionname|mode00Other<- name
955173113enq: AF - task serializationname|modetask id0Other<- name
761672870MMON slave messages   Other<- name
3694317464MMON (Lite) shutdownprocess#waited Other<- name
3932123875enq: MO - contentionname|mode00Other<- name
4246084819enq: MM - MMON Autotask schedulingname|mode00Other<- name
2407027636enq: TL - contentionname|mode00Other<- name
3243557671enq: TH - metric threshold evaluationname|mode00Other<- name
917975477enq: TK - Auto Task Serializationname|mode0-MMON, 1-MMON Slave0Other<- name
1739764420enq: TK - Auto Task Slave Lockoutname|mode0-MMON, 1-MMON Slave0Other<- name
2152050500enq: RR - contentionname|modelock#not usedOther<- name
1171942730WCR: RAC message context busy   Other<- name
1692125788WCR: capture file IO write   Other<- name
2064810505WCR: Sync context busy   Other<- name
339324686latch: WCR: syncaddressnumberwhyOther<- name
1606818110latch: WCR: processes HTaddressnumberwhyOther<- name
3397007672enq: RA - RT ADDM flood controlname|mode00Other<- name
3384888932enq: MW - contentionname|modeSchedule Id0Other<- name
1964249173enq: TU - UMF topologyname|mode00Other<- name
3857332111SPA slave messages   Other<- name
6961751enq: JS - job run lock - synchronizename|modeservice IDqueue typeOther<- name
1043516589enq: JS - job recov lockname|modeservice IDqueue typeOther<- name
3418411601enq: JS - wdw opname|modeservice IDqueue typeOther<- name
3478457902enq: JS - evt notifyname|modeservice IDqueue typeOther<- name
903782161enq: JS - aq syncname|modeservice IDqueue typeOther<- name
1946447820enq: JG - queue lockname|modeservice IDqueue typeOther<- name
4268683640enq: JG - q mem clnup lckname|modeservice IDqueue typeOther<- name
3206939239enq: JG - contentionname|modeservice IDqueue typeOther<- name
4137510178enq: JG - sch locl enqsname|modeservice IDqueue typeOther<- name
561979420enq: JG - evt notifyname|modeservice IDqueue typeOther<- name
3768795743enq: JG - evtsub addname|modeservice IDqueue typeOther<- name
3926916813enq: JG - evtsub dropname|modeservice IDqueue typeOther<- name
1953322323enq: AU - ADR Purge Operationname|mode00Other<- name
3791535926enq: XD - ASM disk drop/addname|modeopcodenotusedOther<- name
3849855823enq: XD - ASM disk ONLINEname|modeopcodenotusedOther<- name
1707790998enq: XD - ASM disk OFFLINEname|modeopcodenotusedOther<- name
1178543798cell worker online completioncellhash#  Other<- name
799178018cell worker retry cellhash#  Other<- name
3247799346cell manager cancel work request   Other<- name
3295957859cell manager: CRS DG unmounted list   Other<- name
4128858080cell manager: CRS DG start   Other<- name
3539423858opening cell offload devicecellhash#  Other<- name
3591236115ioctl to cell offload devicecellhash#  Other<- name
3649276447reap block level offload operationsslowcellhash#  Other<- name
1625602236enq: SN - PDB SGA allocationname|modepdbid0Other<- name
1423149423enq: SN - PDB SGA freename|modepdbid0Other<- name
3660194637enq: SN - PDB SGA protectionname|modepdbid0Other<- name
3137068004CDB: Per Instance Query for PDB Info   Other<- name
4266840842PDB relocate completionpdbid  Other<- name
2667320203enq: PB - PDB Lockname|mode0typeOther<- name
1664976218chunk move metadata prefetch   Other<- name
3014224958secondary eventevent #wait time Other<- name

unauditable select

$
0
0
 
Source: Natalie Berger
 Oracle Unified Audit is a great and flexible tool. 
Unfortunately I found a little gap where a SELECT is not audited. 
It is an edge-case: a common use in a CDB selects the object via the CONTAINERS() syntax.

Please follow this example to see the details. 
As I'm lazy, I used a lot of code from Timsexample



First the preparations:
SYSTEM@CDB
CREATE USER c##common_user IDENTIFIED BY Common1 QUOTA UNLIMITED ON users;

GRANT CREATE SESSION, CREATE TABLE, CREATE VIEW, CREATE SYNONYM TO c##common_user CONTAINER=ALL;

SYSTEM@PDB
CREATE USER local_user IDENTIFIED BY Local1 QUOTA UNLIMITED ON users;

GRANT CREATE SESSION, CREATE TABLE TO local_user;

CREATE TABLE local_user.local_user_tab AS
SELECT level AS ID
FROM dual
CONNECT BY level <= 2;

GRANT SELECT, INSERT, UPDATE, DELETE ON local_user.local_user_tab TO c##common_user;

Now let's enable & test an audit policy:
SYSTEM@PDB1
Create Audit Policy local_user_select
ACTIONS
ALL on local_user.local_user_tab
;

select * from local_user.local_user_tab;
ID
1
2

select event_timestamp, action_name, object_name, sql_text, system_privilege_used
from unified_audit_trail u
where UNIFIED_AUDIT_POLICIES='LOCAL_USER_SELECT'
order by u.event_timestamp desc;

EVENT_TIMESTAMP DBUSERNAME ACTION_NAME OBJECT_NAME SQL_TEXT SYSTEM_PRIVILEGE_USED
19-JUN-20 09.36.35.912206000 AM SYSTEM SELECT LOCAL_USER_TAB select * from LOCAL_USER.LOCAL_USER_TAB SELECT ANY TABLE
Let's continue the setup:
C##COMMON_USER@CDB
CREATE TABLE c##common_user.local_user_tab_v (id NUMBER);

C##COMMON_USER@PDB1
CREATE VIEW c##common_user.local_user_tab_v AS
SELECT * FROM local_user.local_user_tab;

select * from local_user_tab_v;
ID
1
2
SYSTEM@PDB1
/

EVENT_TIMESTAMP DBUSERNAME ACTION_NAME OBJECT_NAME SQL_TEXT SYSTEM_PRIVILEGE_USED
19-JUN-20 09.42.44.379274000 AM C##COMMON_USER SELECT LOCAL_USER_TAB select * from local_user_tab_v
19-JUN-20 09.42.33.786949000 AM C##COMMON_USER SELECT LOCAL_USER_TAB CREATE VIEW c##common_user.local_use ... CREATE VIEW
19-JUN-20 09.36.35.912206000 AM SYSTEM SELECT LOCAL_USER_TAB select * from LOCAL_USER.LOCAL_USER_TAB SELECT ANY TABLE

Everything fine so far.
But the following statement is not audited:
C##COMMON_USER@CDB
SELECT con_id, id
FROM CONTAINERS(local_user_tab_v)
ORDER BY con_id, id;

CON_ID ID
3 1
3 2

But there is nothing in the audit trail on PDB1:
SYSTEM@PDB1
/

EVENT_TIMESTAMP DBUSERNAME ACTION_NAME OBJECT_NAME SQL_TEXT SYSTEM_PRIVILEGE_USED
19-JUN-20 09.42.44.379274000 AM C##COMMON_USER SELECT LOCAL_USER_TAB select * from local_user_tab_v
19-JUN-20 09.42.33.786949000 AM C##COMMON_USER SELECT LOCAL_USER_TAB CREATE VIEW c##common_user.local_use ... CREATE VIEW
19-JUN-20 09.36.35.912206000 AM SYSTEM SELECT LOCAL_USER_TAB select * from LOCAL_USER.LOCAL_USER_TAB SELECT ANY TABLE

I can't enable a proper audit in the CDB, as the object does not exist in ALL containers:
SYSTEM@CDB
Create Audit Policy local_user_select
ACTIONS
ALL on local_user.local_user_tab
Container=ALL;

ALL on local_user.local_user_tab
*
ERROR at line 3:
ORA-00942: table or view does not exist
Here it's visible, there is a SELECT which is not audited properly.



But it's not totally invisible to Oracle. Performing privilege analysis in the PDB shows the activity:
After a quick sequence
 DBMS_PRIVILEGE_CAPTURE.enable_capture (on PDB) - SELECT (C##COMMON_USER@CDB) - DBMS_PRIVILEGE_CAPTURE.disable_capture& DBMS_PRIVILEGE_CAPTURE.generate_result (on PDB), 
at least these results are available:
select * from DBA_USED_OBJPRIVS       where capture not in ('ORA$DEPENDENCY') ;
CAPTURE SEQUENCE OS_USER USERHOST MODULE USERNAME USED_ROLE OBJ_PRIV OBJECT_OWNER OBJECT_NAME OBJECT_TYPE
db_pol 1 oracle localhost java@localhost (TNS V1-V3) C##COMMON_USER C##COMMON_USER SELECT LOCAL_USER LOCAL_USER_TAB TABLE


If you have any idea how to audit this select properly, please leave a comment.

comparison between SQL*TRACE and ASH - get the right information

$
0
0
I'm quite interested in analyzing and improving Performance in Oracle databases. 
There are different approaches. A lot was discussed already if tracing or sampling is appropriate. Namely SQL*Trace or ASH/AWR. 
I will not favor one side here, just pick one aspect and compare both methods. 

Todays aspect is to compare how a specific user experience can be identified. As samples (ASH) are always enabled, it means to filter the right data out of this heap of data; In SQL*Trace it's to scope what or where SQL*Trace should be enabled. 

As I'm a lazy guy, I refer to Cary MillsapsMastering Oracle Trace Data. In my copy of the book, Chapter 3 (Tracing Oracle) he shows an ordered list of tracing preferences. I will follow this list:

  1. If the application set a distinct client ID for each business task execution ...
    SQL*Trace can be enabled by DBMS_MONITOR.CLIENT_ID_TRACE_ENABLE
    ASH can be filtered on column CLIENT_ID
  2. If the application set a distinct module and action name ... 
    SQL*Trace can be enabled by DBMS_MONITOR.SERV_MODE_ACT_TRACE_ENABLE
    ASH can be filtered on columns MODULE and ACTION
  3. If the program run long enough to be identified ... and still run long enough ... 
    SQL*Trace can be enabled for this session by DBMS_MONITOR.SESSION_TRACE_ENABLE 
    ASH can be filtered on columns SESSION_ID and SESSION_SERIAL# 
  4. If there is any x such as SYS_CONTEXT('USERENV', x)  ...
    SQL*Trace can be enabled by an AFTER LOGON trigger
    ASH use this AFTER LOGON trigger to set CLIENT_ID, MODULE or ACTION and then filter on any of those
  5. If a new service can be created for the problematic experience ... 
    SQL*Trace can be enabled by DBMS_MONITOR.SERV_MODE_ACT_TRACE_ENABLE
    ASH can be filtered on column SERVICE_HASH (with a little join of DBA_SERVICES)
  6. If nothing else helps ... 
    SQL*Trace can be enabled for everything a short period of time by DBMS_MONITOR.DATABASE_TRACE_ENABLE and the user experience can be identified later
    ASH is on all the time, still the user experience mist be identified by the same investigation effort 

This comparison seems to be equal between SQL*Trace and ASH sampling. But I know of a small but specific difference: Wherever the user experience can not be accurately enabled by any setting, it must be filtered by other means. Here SQL*Trace has a big advantage, especially when investigated by a toolset like mrskew in Method-R Workbench: Some activities can be identified by specific start and stop statements, e.g. getting some parameters from a configuration table with a SELECT at the beginning, and write a trace line at the end. mrskew can be used to generate an artificial experience-ID for every experience between these 2 markers. In ASH, as the sampling might not catch any of these statements for a specific execution. This needs additional triggers on the statements to set any CLIENT_ID, MODULE or ACTION as in point 4 above. For sure more work in  this case, especially for SELECTs

My high level summary on identifying the users experience: both SQL*Trace and ASH are comparable. The big advantage of ASH is it's always on implementation, whereas SQL*Trace has advantages when it's about specific SQLs as markers. 

IDLE wait events can indicate work done

$
0
0
Oracle wait events are categorized into different wait classes. One of these classes is called Idle
As far as I know, wait events were defined by oracle kernel developers. 
From their perspective, this class makes sense: There is no work to be done by this specific session / process, so the session indicates it's waiting for new requests. 

This classification does not help when application performance or user experience is the focus. 

Even when the server process is idle - e.g. in event SQL*Net message from client, the application might do some work. 

Of course, from the server process perspective it can not be decided if somewhere some work is done, or all involved processes are idle and the user falled asleep.
A slightly differenciation could be done: from server process, there is a difference if for any open cursor (statement) more data can be provided, or there is nothing the server process can deliver to the client. Unfortunately this is not indicated in the event. 

From application perspective, idle events are misleading. That's why I prefer to call them timed events. 
This naming is not invented by me, I got some great help: 
 


sampling everything

$
0
0
Oracle ASH is a great tool! 
It's on by default, and (when properly licensed) can give a lot of information about a system.
Unfortunately there are some drawbacks. One is the limited information for users experience, when part of the work is spent outside of the instance (and it's subsystems like disk-IO). Normally this part is spent on application side. 
Oracle indicates this with wait event SQL*Net message from client. As this wait event belongs to the wait class idle, it's not visible in ASH for a simple reason: ASH stands for Active Session History.  And idle just doesn't count as active. 
In my previous post I shortly explained why idle stati can be of some interest from users experience perspective. 

There is a parameter which transforms ASH into ALL Session History:

_ash_sample_all = TRUE

With this undocumented (and unsupported) setting, all sessions (not only those not idle) are sampled and the sample are written into ASH memory ring buffer. 
(There are more ash related undocumented parameters

On my sandbox system a small test created these entries:

SAMPLE_IDSQL_IDEVENTSEQ#WAIT_CLASS
485161 ON CPU8 
48516230kanbhk5wg4mSQL*Net message from client32Idle
48516330kanbhk5wg4mSQL*Net message from client32Idle
485164817dp83nj72zpON CPU32 
485165 SQL*Net message from client36Idle
485166 SQL*Net message from client36Idle


This corresponds quite well with the matching tracefile (filtered for SQL*Net message form client

WAIT #139691636527808: nam='SQL*Net message from client' ela= 22382 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=740940045
WAIT #139691636521672: nam='SQL*Net message from client' ela= 217489 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=741185838
WAIT #139691636521672: nam='SQL*Net message from client' ela= 11484 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=741200014
WAIT #139691637134592: nam='SQL*Net message from client' ela= 2241071 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=743459220
WAIT #139691636521672: nam='SQL*Net message from client' ela= 11994 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=743475271
WAIT #0: nam='SQL*Net message from client' ela= 2223365 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=745699337
In this specific case we can match the event of sample_id 485162 and 485163 (it is the same event, as seq# doesn't change) matches the 4th line of the trace excerpt (the one which lasts 2241071 ). 
The event of samles 485165 and 485166 match to the last line in the trace excerpt - ela= 2223365



Of course putting additional load onto the system comes at some risk. Let's consider how risky it is - especially if enabled for short time for specific analysis.

First a busy system where most sessions are active doing some work. 
In this instance most of the sessions are sampled anyhow - because active. The additional idle samples only add a relative small amount of lines - little additional load. 

Next a system where most sessions are idle. 
In this instance, much more lines will appear in ASH. Initially this can be seend as dangerous load. 
But all these idle sessions can become active anyhow - in worst case all together. 
If the instance is sized for the load of most sessions active, writing ALL sessions information to ASH will not hurt while it's idle. If the instance is NOT sized for the sessions coming active, the system is in high structural danger anyhow. 
 
Still another detail sould be cared of: ASH is written to AWR at some time - which will lead to more storage used when enabled for longer time. 


When compared with DBMS_MONITOR.DATABASE_TRACE_ENABLE, both methods have slightly different impact. When the system is busy, it will have a lot of quite fast wait events. A lot will be written to tracefiles and many lines will appear in ASH. 
But when the system has events which last quite long (as the 2 events in my example ago) they will create only one entry in the tracefile, but more lines in ASH. 

Oceans, Islands, and Rivers in ASH

$
0
0
The Idea of Oceans, Islands and Rivers in performance data from Oracle sessions comes from Cary Millsap. I recommend reading his Presentation - especially page 33+. 
To summarize it very short: in an ocean of idle states (where the application doesn't interact with the session at all) there are islands of activity, but within these islands, there still can be rivers of idle events - when there is communication between the server process and the application. 

Even the algorithm was defined for trace data, I'm sure it can be implemented based on ASH data. Of course, the resolution isn't as fine as trace data, but if only big islands are of interest, and these islands doesn't have to many rivers, sampled ASH sould be acceptable.

This can be done quite easy with a statement like this.
I tried to keep it simple by having a CONST CTE at the beginning. there the RIVER_WIDTH can be set. It defines how many idle (non visible) samples define the widest river. Everything greater is an ocean which separates islands. 
In the 2nd CTE FILTER_FIRST, additional filters can be applied to ASH. Everything which narrows the focus can help, like USER_ID, SAMPLE_ID or timestamps. The idea matches proper scoping in SQL*Trace.

WITH CONST as (
SELECT /*+ qb_name(QB_CONST) */
100 as GANTT_LENGTH -- unit: characters
, 1 as RIVER_WIDTH -- unit: sample_periode of ASH. --everything else IDLE is an OCEAN
FROM DUAL
) ,FILTER_FIRST as (
SELECT /*+ qb_name(QB_FILTER_FIRST) */ ash.*
FROM gv$active_session_history ash
WHERE 1=1
-- AND USER_ID=123
-- AND ....
-- AND SAMPLE_ID < 487871

), ISLANDS as (
SELECT /*+ qb_Name(QB_ISLANDS) */
min(BEGIN_SAMPLE_ID) OVER () total_min_sample_ID
, max(END_SAMPLE_ID) OVER () total_max_sample_ID
, BEGIN_SAMPLE_ID
, END_SAMPLE_ID
, END_SAMPLE_ID - BEGIN_SAMPLE_ID +1 as ISLAND_LENGTH
, ACTIVE_COUNT
, inst_id
, session_id
, session_serial#
FROM FILTER_FIRST ff
MATCH_RECOGNIZE(
PARTITION BY inst_id, session_id, session_serial#
ORDER BY SAMPLE_ID
MEASURES
first(SAMPLE_ID) as BEGIN_SAMPLE_ID,
LAST(sample_id) as END_SAMPLE_ID,
COUNT(sample_id) as ACTIVE_COUNT
ONE ROW PER MATCH
PATTERN( frst cont*)
DEFINE cont as SAMPLE_ID - prev(SAMPLE_ID) <= (SELECT RIVER_WIDTH FROM CONST)
)
)
SELECT /*+ qb_name(QB_MAIN)*/ isl.begin_sample_id
, isl.end_sample_id
, isl.island_length
, isl.active_count
, isl.inst_id
, isl.session_id
, isl.session_serial#
FROM ISLANDS isl
Order by isl.begin_sample_id
, isl.inst_id
, isl.session_id
/
The result on my sandbox is like this:

BEGIN SAMPLE_IDEND SAMPLE_IDISLAND LENGTHACTIVE COUNTINST IDSESSION IDSESSION SERIAL#
48776048777617171216605
4877774877804412747693
48778148778222126465268
48778548778511127822792
4877914877922212217104
4877944877941112237292
48779548779511128436814
48779648779722127822792
4877984877981112237292
4878004878001113144098
48780048780344127822792
487802487875747112237292
4878074878071112827351

BEGIN_SAMPLE_ID, END_SAMPLE_ID, INST_ID, SESSION_ID and SESSION_SERIAL# together describe every single island. It can be userd later on to do specific analysis on this island. 
ISLAND_LENGTH show the total length of the island, and ACTIVE_COUNT is the amount of "land" on this island. The lower this number, the more riverswere found. 

This can be a total different approach to analyse ASH data.

Draw an GANTT chart of how your workload fits together

$
0
0

In this Post I try tho provide a different view on ASH.
Again I'm focussed more on a specific user experience than general system overview.
The Idea again is from Cary Millsap - for details see this Youtube Video.

This time I rely on a script from my post Oceans, Islands, and Rivers in ASH and will show how it can provide a GANTT diagram of a specific user experience.

I created 2 dummy experiences - both by a user A. With a small extension of the yesterdays script and a filter on only this user_id and only current samples, 
...
WHERE 1=1
AND USER_ID=111
AND SAMPLE_ID > 293910
...
the result is

It shows 17 different sessions which were active at some time. And with some experience and good imagination, the 2 different experiences can be separated. 
But as my testcases are properly instrumented, with an additional filter it's easy to show only the one experience I'm interested in.
...
WHERE 1=1 
AND USER_ID=111
D SAMPLE_ID > 293910
AND CLIENT_ID='R1'
...

This shows only those 7 lines which matches my CLIENT_ID='R1' user experience. 
It also shows 4 parallel proceses in lines 3-6. 2 of them completed slightly faster. 
Because of these parallel processes, the user experience is 816 seconds, but DB-time is 1195 seconds! (Another reason why simple aggregates on ASH are often misleading). 

This result can be used as a starting point for further investigation - often together with the applicaitons responsible. 

The full statement is here, the GANTT_LENGTHdefines how many characters the Gantt diagram should have for better visibility.
WITH CONST as (
SELECT /*+ qb_name(CONST) */
100 as GANTT_LENGTH -- unit: characters
, 1 as RIVER_WIDTH -- unit: sample_periode of ASH. --everything else IDLE is an OCEAN
FROM DUAL
) ,FILTER_FIRST as (
SELECT /*+ qb_name('FILTER_FIRST') */ ash.*
FROM gv$active_session_history ash
WHERE 1=1
-- AND USER_ID=123
-- AND ....
-- AND SAMPLE_ID < 487871 -->
-- AND CLIENT_ID='R1'
), ISLANDS as (
SELECT /*+ qb_Name('ISLANDS') */
min(BEGIN_SAMPLE_ID) OVER () total_min_sample_ID
, max(END_SAMPLE_ID) OVER () total_max_sample_ID
, BEGIN_SAMPLE_ID
, END_SAMPLE_ID
, END_SAMPLE_ID - BEGIN_SAMPLE_ID +1 as ISLAND_LENGTH
, ACTIVE_COUNT
, inst_id
, session_id
, session_serial#
FROM FILTER_FIRST ff
MATCH_RECOGNIZE(
PARTITION BY inst_id, session_id, session_serial#
ORDER BY SAMPLE_ID
MEASURES
first(SAMPLE_ID) as BEGIN_SAMPLE_ID,
LAST(sample_id) as END_SAMPLE_ID,
COUNT(sample_id) as ACTIVE_COUNT
ONE ROW PER MATCH
PATTERN( frst cont*)
DEFINE cont as SAMPLE_ID - prev(SAMPLE_ID) <= (SELECT RIVER_WIDTH FROM CONST) -->
)
), DERIVED as (
SELECT /*+ qb_name (DERIVED) */
(select (total_max_sample_id - total_min_sample_id) / ( SELECT GANTT_LENGTH FROM CONST)
FROM ISLANDS
WHERE rownum =1) as divisor
FROM DUAL
)
SELECT i.begin_sample_id
, i.end_sample_id
, i.inst_id
, i.session_id
, i.session_serial#
, rpad('>', trunc( (begin_sample_id - total_min_sample_ID)/ d.divisor ,1)+1, '') ||
rpad('*',ceil(island_length/ d.divisor) ,'*') AS GANTT
from ISLANDS i
, DERIVED d
WHERE END_SAMPLE_ID - BEGIN_SAMPLE_ID +1 > 2
ORDER BY BEGIN_SAMPLE_ID, ISLAND_LENGTH, INST_ID, SESSION_ID
/
and is also availalbe on github.
Viewing all 172 articles
Browse latest View live