Search

Top 60 Oracle Blogs

Recent comments

Oakies Blog Aggregator

Occurence

Before you comment – I do know that the title has a spelling mistake in it. That’s because the Oracle code uses exactly this spelling in one of the little-used features of tracing.

I write a note a few years ago about enabling sql_trace (and other tracing events) system-wide for a single SQL statement. In the note I suggested that you could enable tracing for a few minutes then disable it to minimise the impact on the system while still capturing a reasonable number of statement traces. A recent ODC thread, however, described a problem where a particular statement executed in the order of 1,000,000 times per hour – which is getting on for about 300 executions per second, and you probably don’t want to leave a system-wide trace running for any length of time when things are operating at that rate. Fortunately we can refine the method with the occurence filter to capture a small and limited number of executions, spread over as many sessions as are running. Here’s an example of the syntax:

rem
rem     Script: trace_occur.sql
rem     Author: Jonathan Lewis
rem     Dated:  April 2019
rem

define m_sql_id = 'gu1s28n6y73dg'
define m_sql_id = 'fu0ftxk6jcyya'

alter system set events 
        '
        sql_trace[SQL:&m_sql_id] 
        {occurence: start_after 101, end_after 496}
        bind=true,
        wait=true
        '
;

pause   Run the test script here and press return when it ends

alter system set events 
        '
        sql_trace[SQL:&m_sql_id]
        off
        '
;

All I’ve done, compared to the earlier note, is include in curly brackets, just after identifying the SQL ID, the text: “{occurence: start_after 101 , end_after 496}”. Roughly speaking this means that every session will start counting calls to the given statement and on the hundred and first it will start dumping the trace file, and for a total of 496 calls it will continue dumping the trace file. So it’s possible to make sure that a session does trace but doesn’t dump a huge volume of trace data. Of course I do still execute a call to switch tracing off for the statement otherwise every session that subsequently logs on will still start tracing and dump a few executions into their trace file.

There is, unfortunately, a catch. I don’t know how Oracle is counting for the start_after/end_after values – but it’s not executions of the statement, and it varies with working environment, and it changes as the trace is enabled, and it changes with version, and is probably dependent on the session_cached_cursors parameter, and it behaves differently when interacting with the PL/SQL cursor cache. It is perhaps easiest to show an example.

I have table called test_lobs (id, bytes …) with a unique index on (id) for this test.


create table test_lobs (
        id        number(8,0) primary key,
        bytes     number(8,0)
);

insert into test_lobs values(-1,999):
commit;

execute dbms_stats.gather_table_stats(user,'test_lobs')

And one of my test scripts is as follows:

rem
rem     This generates a statement with SQL_ID = gu1s28n6y73dg
rem

declare
        m_result number;
begin
        for i in 1..1000 loop
                begin
                        select bytes into m_result from test_lobs where id = i;
                exception
                        when others then null;
        end;
        end loop;
end;
/

Running 18.3 I start the trace script from one session, then start the test script from another session. As it stands the SQL statement embedded in the PL/SQL loop will have the SQL_ID I am tracing, so the second session will start dumping a trace file. The big question is: which executions of the statement will it dump? Since I’ve enabled bind variable dumping and the bound value is a simple loop counter it will be easy (!) to find the answer to this question.

To stabilise the results I did the following:

  • Session 1: Create the table.
  • Session 1: Start the trace event
  • Session 2: Connect to the database and run the test
  • Session 1: End the trace event
  • Session 1: Start the trace event again
  • Session 2: Connect to the database again and run the test a second time
  • Session 1: End the trace event

I’ll explain the need for looking at the results of the second cycle in a moment.

The trace file I produced started with the first three lines below, and then repeated the 10 line highlighted fragment a number of times:


PARSING IN CURSOR #140126713239784 len=43 dep=1 uid=104 oct=3 lid=104 tim=168304257545 hv=233016751 ad='63b8f0c0' sqlid='gu1s28n6y73dg'
SELECT BYTES FROM TEST_LOBS WHERE ID = :B1
END OF STMT

====================================================================================================
BINDS #140126713239784:

 Bind#0
  oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00
  oacflg=03 fl2=1206001 frm=00 csi=00 siz=24 off=0
  kxsbbbfp=7f71cb0c67c0  bln=22  avl=02  flg=05
  value=50
EXEC #140126713239784:c=0,e=57,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=1,plh=2054437130,tim=168304262695
FETCH #140126713239784:c=0,e=3,p=0,cr=1,cu=0,mis=0,r=0,dep=1,og=1,plh=2054437130,tim=168304262729
CLOSE #140126713239784:c=0,e=1,dep=1,type=3,tim=168304262772
====================================================================================================

Notice the bind value report. A key feature that we are interested in is the first “value=” reported and the last “value=”. In my case the low/high were 26 and 87, for a total of 62 executions. A little arithmetic (and a few corroborating checks) highlight the significance of the following:

  • I started tracing after the 25th execution, and 25 * 4 + 1 = 101, my start_after value.
  • I traced 62 executions and 62 * 8 = 496, my end_after value.

Oracle is counting something whenever it hits the SQL_ID we’ve specified but (for SQL inside a PL/SQL loop) it’s counting something which happens 4 times for each execution; then when it hits the start_after and starts tracing whatever it counts happens twice as often each time around the loop.

My general response to this type of detail is: “Argh!!!” – by the way. Maybe a call to Frits or Stefan asking them to trace C functions is in order.

By this time you may have guessed why I examined the trace file from the second run of the test. The counting seems to include counts of database calls that take place in the recursive SQL needed to optimise / hard parse the query – anything that relates to the SQL_ID we specify may be included in the counts. So on the first test I got a load of garbage in the trace file then saw a partial dump of the trace data for value=2 and the trace file ended partway through the trace data for value=17.

As a further test, I had a go with pure SQL calls in a test script:


set serveroutput off
variable b1 number;

exec :b1 := 100
select bytes from test_lobs where id = :b1;

exec :b1 := 101
select bytes from test_lobs where id = :b1;

...

exec :b1 := 129
select bytes from test_lobs where id = :b1;

After getting a stable result, versions 12.1.0.2 and 18.3.0.0 behaved differently;

  • 18.3.0.0 – counted 5 for every execution, so start_after = 16 skipped the first 3 executions and started tracing for value = 103
  • 12.1.0.2 – counted 7 for the first execution and 5 thereafter, so start_after=8 skipped one execution, start_after=13 skipped two and so on.
  • Both versions counted 10 for every execution while tracing was enabled, so end_after = 30 traced 3 executions in both cases.

It’s possible, of course, that some differences in the way session_cached_cursors works would for the small difference – but I suspect I could have spent a couple of days trying to sort out minor variations due to slight parameter and implementation changes between versions. It’s also possible that some of my guesses are wrong and there is more method to the madness than I have spotted.

Conclusion

It is possible to enable tracing system-wide for a limited number of executions per session of a given statement; however the number of executions that might take place before tracing starts and the number of executions actually traced depends on a variety of details of which some may be outside your control.

As a baseline, it looks as if the number of executions before tracing starts is going to be about one-fifth of the value you set for start_after, and the number of executions trace will be about one-tenth of the end_after; however recursive SQL (perhaps even including dynamic sampling) can get caught up in the counts, potentially reducing the number of executions of the target statement that you see.

LOB length

This note is a reminder combined with a warning about unexpected changes as you move from version to version. Since it involves LOBs (large objects) it may not be relevant for most people but since there’s a significant change in the default character set for the database as you move up to 18.3 (or maybe even as you move to 12.2) anyone using character LOBs may get a surprise.

Here’s a simple script that I’m first going to run on an instance of 11.2.0.4:

rem
rem     Script:         lob_length_4.sql
rem     Author:         Jonathan Lewis
rem     Dated:          Apr 2019
rem

create table t1(
        n1      number,
        version varchar2(8),
        v1      varchar2(4000),
        c1      clob,
        nc1     nclob
)
lob (c1) store as securefile c1_lob(
        enable storage in row
        chunk 8K
        cache logging
)
lob (nc1) store as securefile nc1_lob(
        enable storage in row
        chunk 8K
        cache logging
)
;

insert into t1 values( 0,'General',  null,               empty_clob(),       empty_clob()      ) ;

insert into t1 values( 1,'11.2.0.4', rpad('x',1951,'x'), rpad('x',1951,'x'), rpad('x',1951,'x')) ;
insert into t1 values( 2,'11.2.0.4', rpad('x',1952,'x'), rpad('x',1952,'x'), rpad('x',1952,'x')) ;

insert into t1 values( 3,'12.1.0.2', rpad('x',1951,'x'), rpad('x',1951,'x'), rpad('x',1951,'x')) ;
insert into t1 values( 4,'12.1.0.2', rpad('x',1952,'x'), rpad('x',1952,'x'), rpad('x',1952,'x')) ;

insert into t1 values( 5,'12.2.0.1', rpad('x',1937,'x'), rpad('x',1937,'x'), rpad('x',1937,'x')) ;
insert into t1 values( 6,'12.2.0.1', rpad('x',1938,'x'), rpad('x',1938,'x'), rpad('x',1938,'x')) ;

insert into t1 values( 7,'18.3.0.0', rpad('x',1984,'x'), rpad('x',1984,'x'), rpad('x',1984,'x')) ;
insert into t1 values( 8,'18.3.0.0', rpad('x',1985,'x'), rpad('x',1985,'x'), rpad('x',1985,'x')) ;

begin
        dbms_stats.gather_table_stats(
                ownname     => null,
                tabname     => 'T1',
                method_opt  => 'for all columns size 1'
        );
end;
/

break on version skip 1 on report

compute avg of sys_op_opnsize(c1)  on report
compute avg of sys_op_opnsize(nc1) on report

select
        version, n1,
        length(v1), length(c1), length(nc1),
        sys_op_opnsize(v1), sys_op_opnsize(c1), sys_op_opnsize(nc1)
from
        t1
order by
        n1
;

select  avg_row_len
from    user_tables
where   table_name = 'T1'
;

select  column_name, avg_col_len
from    user_tab_cols
where   table_name = 'T1'
order by
        column_id
;

I’ve created a table holding a varchar2() a CLOB, and an NCLOB, then I’ve inserted some rows into that table, labelling the rows in pairs with what appear to be Oracle version numbers, with one extra row labelled “General” that holds the special “empty LOB value (note a NULL and an empty clob behave very differently). Then I’ve reported the lengths of the LOB columns in two different ways, once using the standard length() function (I could have used the dbms_lob.getlength() function) and once using the internal sys_op_opnsize() function that Oracle uses in its queries to gather table stats.

Here’s the output from the script. Since this first run is on 11.2.0.4 I want you to note, particularly, the numbers in the rows labelled 11.2.0.4

VERSION          N1 LENGTH(V1) LENGTH(C1) LENGTH(NC1) SYS_OP_OPNSIZE(V1) SYS_OP_OPNSIZE(C1) SYS_OP_OPNSIZE(NC1)
-------- ---------- ---------- ---------- ----------- ------------------ ------------------ -------------------
General           0                     0           0                                    96                  96

11.2.0.4          1       1951       1951        1951               1951               2048                3999
                  2       1952       1952        1952               1952               2049                  86

12.1.0.2          3       1951       1951        1951               1951               2048                3999
                  4       1952       1952        1952               1952               2049                  86

12.2.0.1          5       1937       1937        1937               1937               2034                3971
                  6       1938       1938        1938               1938               2035                3973

18.3.0.0          7       1984       1984        1984               1984               2081                  86
                  8       1985       1985        1985               1985               2082                  86

********                                                                 ------------------ -------------------
avg                                                                              1835.77778          1820.22222


AVG_ROW_LEN
-----------
       5410

COLUMN_NAME          AVG_COL_LEN
-------------------- -----------
N1                             3
VERSION                        9
V1                          1740
C1                          1837
NC1                         1822

The reminders:

  • A LOB that uses a multi-byte character set (and possibly, but I have not checked, an NCLOB that is using a single-byte character set) stores its content using a two-byte fixed width character set. So when I insert a character string of 1,951 (multibyte) characters the internal representation uses double the number of bytes as there are characters – so the data content will be 3,902 bytes.
  • The length() and dbms_lob.getlength() functions report the number of characters not the number of bytes. (There is a lengthb() function to report the number of bytes, but it doesn’t work with multibyte character set LOBs, raising error: “ORA-22998: CLOB or NCLOB in multibyte character set not supported”). Even though our NCLOB needs 3,902 bytes for its content it is reported – just like the CLOB – with a length of 1,951.
  • The sys_op_opnsize() internal function tells you about the number of bytes a column takes up in the row – though not always totally accurately, as we shall soon see – so it will tell you about the 3,902 bytes stored for the data plus the “structural” data that helps to describe the LOB. So for the row holding strings of length 1,951 we can see that the CLOB seems to take 1,951 + 97 = 2,048 bytes while the NCLOB seems to take 2 * 1951 + 97 = 3,999 bytes.
  • When the total storage for a LOB column exceeds 4,000 bytes the LOB is stored “out of line” even when it has been declared as mine have with “enable storage in row”. So when we insert strings of length 1,952 the CLOB column stays in line and reports a size of 1,952 + 97 = 2.049 bytes while the NCLOB exceeds the limit (2 + 1,952 + 97 = 4001) and goes out of row, reporting an “in-row” size of 86 bytes which is (we assume) the LOB metadata.

You might note, by the way, that the avg_col_len is the average (which I’ve reported for the CLOB and NCLOB columns) of the sys_op_opnsize() values rounded up plus 1 (for the “column count” byte); and – because the number of columns in the table is small – the avg_row_len is very similar to the sum of the avg_col_len.

You should also note that the storage size of an “empty” LOB is (or seems to be) 96 bytes in this version of Oracle. That’s quite a lot of space to say that there’s no data  – but using an empty_[n]clob() to represent “nothing” does mean that you don’t have to code for “is null or is empty” and it may help you to avoid incorrect results as a consequence. In fact a block dump shows that the actual space usage for the empty_[n]clob() is only 30 bytes – so it’s not quite as bad as it seems. The error is probably based around the older code using the maximum possible length of a lob locator as an assumption rather than checking the actual size in the table.

The warning

It’s a minor variation of the standard warning: “odd little things change when you upgrade and some of them may have a big side effect”. Here are the results from 18.3 (which, amongst other details, defaults to a multi-byte character set – which I’ll check before I show you the LOB results).

SQL> select * from v$nls_parameters where parameter like '%CHARACTERSET%';

PARAMETER                        VALUE
-------------------------------- --------------------
NLS_CHARACTERSET                 AL32UTF8
NLS_NCHAR_CHARACTERSET           AL16UTF16

This affects the storage of CLOBs if you’ve previously been using a default single-byte character set – you’re suddenly going to find your LOB segments are twice as big as they used to be – even though any report of “length()” will be unchanged. But there are other changes. Here’s the output from the same script running on 18.3.0.0:



VERSION          N1 LENGTH(V1) LENGTH(C1) LENGTH(NC1) SYS_OP_OPNSIZE(V1) SYS_OP_OPNSIZE(C1) SYS_OP_OPNSIZE(NC1)
-------- ---------- ---------- ---------- ----------- ------------------ ------------------ -------------------
General           0                     0           0                                    30                  30

11.2.0.4          1       1951       1951        1951               1951               3933                3933
                  2       1952       1952        1952               1952               3935                3935

12.1.0.2          3       1951       1951        1951               1951               3933                3933
                  4       1952       1952        1952               1952               3935                3935

12.2.0.1          5       1937       1937        1937               1937               3905                3905
                  6       1938       1938        1938               1938               3907                3907

18.3.0.0          7       1984       1984        1984               1984               3999                3999
                  8       1985       1985        1985               1985                132                 132
********                                                                 ------------------ -------------------
avg                                                                              3078.77778          3078.77778

AVG_ROW_LEN
-----------
       7912

COLUMN_NAME          AVG_COL_LEN
-------------------- -----------
N1                             3
VERSION                        9
V1                          1740
C1                          3080
NC1                         3080

Looking at the details for “General” and “18.3.0.0” what can we see that’s changed?

First, the length of an empty_[n]clob is now reported correctly at 30 bytes. This might (if the value is also used internally) explain why a LOB can now be 33 characters (66 bytes) longer before it’s moved out of line – it’s a small difference, but you might be at a boundary condition where it makes a big difference (for good, or for bad – who can tell) or your system.

Secondly, the LOB metadata for an out of line LOB seems to have jumped from 86 bytes to 132 bytes. Like the empty_[n]clob() issue, this is an error. The actual space usage in row was 38 bytes – consisting of the basic 30 bytes “empty” metadata, 4 extra bytes overhead, and a 4-byte block address linking to the stored LOB value. (For larger LOBs you will probably see that the “tail” of the in-row data grows to accomodate a short list of block addresses and chunk information).

Finally, you’re allowed to guess that the rows labelled 12.2.0.1 are there to give you a hint that in that version the NCLOB moves out of line at 1,938 characters – but you’ll probably want to run the test on 12.2 to confirm that claim. This does mean, though, that an upgrade to 12.2 from a lower version might be a bigger threat than any upgrade to 18.3. You’ll also find that in 12.2 the empty_[n]clob() is reported with a length of 124. (Again, this may explain the change in the break-point for going out of line: 124 – 96 = 28, and (1952 – 28/2) = 1,938. The arithmetic is consistent with the incorrect reporting of the size of the empty LOB metadata.

So the bottom line is this – if you do a lot of work with LOBs, do some careful checking of how much space you are using, how much space you will use on the next install, how changes in character sets can affect numbers, how the statistics might change – even when collected in exactly the same way – and what this might do to execution plans.

Footnote

This testing was all done using securefile LOBs – which has been the default for some time if you don’t specify the type of LOB you want to use. The numbers, particularly the break from in-row to out-of-row, are a little different if you switch to basicfile LOBs.

A quick test on LiveSQL (19.2) suggests that nothing has changed from 18.3 to 19.3

For further reading on quirky details of LOBs – here’s the article that has a footnote reporting another interesting change in LOB handling in 18.3; and a very old note about analysing the contents of a LOB segment with a view to assessing the impact of deleting old LOBs and potentially moving the LOB segment to a tablespace of a different size.

 

 

Partition loading in direct mode

Direct mode insert using the APPEND hint is a cool piece of technology that lets you load bulk data into a table very quickly and efficiently. Obviously there are a number of implications of doing so which you can read about here, but the one that catches most people out is the that you are locking the table during the load and once the load is completed, the table is “disabled” until the transaction ends. Here’s a quick example of that in action:


SQL> create table t
  2  as select * from dba_objects d
  3  where 1=0;

Table created.

SQL> insert /*+ APPEND */ into t
  2  select * from dba_objects d;

82417 rows created.

--
-- No further INSERTs are possible
--
SQL> insert /*+ APPEND */ into t
  2  select * from dba_objects d;
insert /*+ APPEND */ into t
                          *
ERROR at line 1:
ORA-12838: cannot read/modify an object after modifying it in parallel


--
-- No further DML at all is possible
--
SQL> delete from t;
delete from t
            *
ERROR at line 1:
ORA-12838: cannot read/modify an object after modifying it in parallel


--
-- Not even a SELECT statement is allowed
--
SQL> select count(*) from t;
select count(*) from t
                     *
ERROR at line 1:
ORA-12838: cannot read/modify an object after modifying it in parallel


--
-- I must end the transaction first with commit or rollback before normal service is resumed
--
SQL> commit;

Commit complete.

SQL> select count(*) from t;

  COUNT(*)
----------
     82417

This makes sense given that a direct mode insert is manipulating the high water mark (HWM) for a table, so it pretty much has to be an all or nothing process for the session issuing the load, because the HWM is in a state of flux until we commit or rollback.

However, what about a partitioned table? Can I do a direct mode insert into a single partition, whilst leaving the other partitions available in the same session? Let’s try it out.


SQL> create table t
  2  partition by list ( x )
  3  ( partition p1 values (1),
  4    partition p2 values (2)
  5  )
  6  as select 1 x, d.* from dba_objects d
  7  where 1=0;

Table created.

--
-- Only load into partition P1
--
SQL> insert /*+ APPEND */ into t partition (p1)
  2  select 1 x, d.* from dba_objects d;

82419 rows created.

--
-- And now see if partition P2 can be loaded as part of the same transaction
--
SQL> insert /*+ APPEND */ into t partition (p2)
  2  select 2 x, d.* from dba_objects d;
insert /*+ APPEND */ into t partition (p2)
                          *
ERROR at line 1:
ORA-12838: cannot read/modify an object after modifying it in parallel

Unfortunately not. Even though we never touched partition P2 with the first INSERT, and partition P2 is a different physical segment, we still cannot do additional direct loads on it. One easy workaround to this is to place that second load in a separate transaction, for example:


SQL> declare
  2    pragma autonomous_transaction;
  3  begin
  4    insert /*+ APPEND */ into t partition (p2)
  5    select 2 x, d.* from dba_objects d;
  6    commit;
  7  end;
  8  /

PL/SQL procedure successfully completed.

You’re probably thinking “That’s a bit silly. If we’re going to commit for each partition, then why wouldn’t we just commit after the load of the first partition P1 anyway?”. That’s a valid point, but what the above example shows is that you can do direct path loads into separate partitions concurrently. This opens up opportunities for (dramatically) increasing the throughput of direct path loads if you can segment the source data into its designated target partitions at load time. I’ll extend the table above to have 10 partitions, and use a little DBMS_JOB code to now load 10 partitions all concurrently.


SQL> create table t
  2  partition by list ( x )
  3  ( partition p1 values (1),
  4    partition p2 values (2),
  5    partition p3 values (3),
  6    partition p4 values (4),
  7    partition p5 values (5),
  8    partition p6 values (6),
  9    partition p7 values (7),
 10    partition p8 values (8),
 11    partition p9 values (9),
 12    partition p10 values (10)
 13  )
 14  as select 1 x, d.* from dba_objects d
 15  where 1=0;

Table created.

SQL>
SQL> declare
  2    j int;
  3    l_sql varchar2(200) :=
  4      'begin
  5         insert into t partition (p@)
  6         select @ x, d.* from dba_objects d;
  7         commit;
  8       end;';
  9  begin
 10    for i in 1 .. 10 loop
 11      dbms_job.submit(j,replace(l_sql,'@',i));
 12    end loop;
 13    
 14  end;
 15  /

PL/SQL procedure successfully completed.

SQL>
SQL> select job, what from user_jobs
  2  where what like '%dba_objects%';

       JOB WHAT
---------- --------------------------------------------------
       161 begin
           insert into t partition (p1)
           select 1 x, d.* from dba_objects d;
           commit;
           end;

       162 begin
           insert into t partition (p2)
           select 2 x, d.* from dba_objects d;
           commit;
           end;

       163 begin
           insert into t partition (p3)
           select 3 x, d.* from dba_objects d;
           commit;
           end;

       164 begin
           insert into t partition (p4)
           select 4 x, d.* from dba_objects d;
           commit;
           end;

       165 begin
           insert into t partition (p5)
           select 5 x, d.* from dba_objects d;
           commit;
           end;

       166 begin
           insert into t partition (p6)
           select 6 x, d.* from dba_objects d;
           commit;
           end;

       167 begin
           insert into t partition (p7)
           select 7 x, d.* from dba_objects d;
           commit;
           end;

       168 begin
           insert into t partition (p8)
           select 8 x, d.* from dba_objects d;
           commit;
           end;

       169 begin
           insert into t partition (p9)
           select 9 x, d.* from dba_objects d;
           commit;
           end;

       170 begin
           insert into t partition (p10)
           select 10 x, d.* from dba_objects d;
           commit;
           end;


10 rows selected.

SQL>
SQL> commit;

Commit complete.

SQL> select subobject_name, cnt
  2  from (
  3    select dbms_rowid.rowid_object(rowid) obj, count(*) cnt
  4    from   t
  5    group by dbms_rowid.rowid_object(rowid)
  6    ), user_objects
  7  where obj = data_object_id
  8  order by to_number(substr(subobject_name,2));

SUBOBJECT_        CNT
---------- ----------
P1              82427
P2              82427
P3              82427
P4              82427
P5              82427
P6              82427
P7              82427
P8              82427
P9              82427
P10             82427

And voila! 10 partitions all loaded in direct mode concurrently! There is also a standard means of loading data concurrently using parallel DML, but if I know the segmentation of the data in advance, the “manual” method above can sometimes be a quicker and easier to debug option.

I/O Benchmark Minor Update

I've recently published a new version 1.03 of the I/O benchmark scripts on #333333;">my #336699;">github repository#333333;"> (ideally pick the #336699;">IO_BENCHMARK.ZIP containing all the scripts#333333; font-family: "verdana" , "arial" , sans-serif;">). The original post including some more instructions can be found here, and there is also a video on my Youtube channel explaining how to use the benchmark scripts.
#333333; font-family: "verdana" , "arial" , sans-serif;">
#333333; font-family: "verdana" , "arial" , sans-serif;">The main change is a new version of the "Write IOPS" benchmark that should scale much better than the older version.
#333333; font-family: "verdana" , "arial" , sans-serif;">
#333333; font-family: "verdana" , "arial" , sans-serif;">There are now #333333;">actually#333333; font-family: "verdana" , "arial" , sans-serif;"> two variants of the "#333333;">max_write_iops_benchmark_slave.sql" script. The currently used one is based on a batch SQL update whereas the "max_write_iops_benchmark_slave_forall.sql" script uses a PL/SQL FORALL update approach to achieve the same. In my tests the two performed quite similarly, but I've decided to include both so you can test which one works better for you - just rename the scripts accordingly.

#333333;">
#333333;">In order to max out "Write IOPS" I suggest you create objects that are smaller than the corresponding buffer cache so can be cached entirely and set FAST_START_MTTR_TARGET to 1 to maximize the write pressure on the DBWR process(es). The Online Redo Logs should be sized adequately in order to avoid bottlenecks in that area. The script is designed to minimize redo generation and maximize the number of blocks modified that have then to be written by DBWR.

#333333;">
#333333;">You could still run the script in a mixed read/write IOPS mode if you create objects larger than the buffer cache - in which case there can be additional pressure on the DBWR if there are no free buffers to read in new blocks ("free buffer waits"). I've also already used successfully both the "Read IOPS" and "Write IOPS" benchmark scripts simultaneously to maximize both, read and write IOPS.

#333333;">
#333333;">There is still the problem at least in 12.2 (and I think it's still there in 18c but not entirely sure off the top of my head) that the PDB level AWR reports don't cover properly the DBWR "Write I/O" related figures, so although the script specifically detects that it runs on 12.2+ and on PDB level and creates AWR PDB reports accordingly you won't get any useful "Write IOPS" results and would have to either run the benchmark on CDB level or create CDB level AWR snapshots accordingly.

#333333;">
#333333;">The interactive scripts now also echo the command finally called to execute the actual benchmark script, which can be helpful if you don't want to go through the interactive script again and again for repeated executions. Of course you still would need to take care of dropping / creating / keeping a suitable schema where to execute the benchmark, and maybe also modify the scripts that they don't keep creating and dropping the objects if you want have multiple runs with same object size / concurrency settings.
#333333;">
#333333;">I'm thinking about a version 2.0 of the I/O benchmark scripts that should be improved in various aspects - the "interactive" script should become much more user friendly with improved defaults and abbreviations that can be entered, and more options like keeping the schema / objects. Also the measurement of the IOPS / throughput should be improved by monitoring the figures continuously which should provide a much better picture of the performance over time (varying IOPS rates for example). The core I/O benchmark scripts seem to be working pretty well (now that the write IOPS is improved) so I don't see much need for improvement there. Maybe an option to execute the benchmark in a kind of loop with increasing object sizes / concurrency level might also be useful.

Writing Linux Scripts- Part I

Many see scripting as a science, but if you want to write not just functional scripts, but efficient and easy to work with scripts, it is also an art.

Most SQL DBAs are feeling the pressure to learn BASH as they enter Azure and I strongly recommend it. I’m learning PowerShell as part of my education coming from a Linux background to Azure. It’s all about “the more you know”….you know?

So let’s start with learning it right.

Scripts = Stories

A good script has the following parts to it:

  • An Introduction
  • A Body
  • A Conclusion

We’re going to focus on this as part of our education on Linux scripting before we get into a load of terminology or scripting language.

The Introduction

Just as we would have an introduction to a story, we need to set up our reader for what we plan on performing as part of our script:

  • What scripting language do we plan on using
    • If shell, we’ll set our shell, (#/bin/bash)
    • If we’re working with Python, well then we’ll import our pre-built functions
  • We’ll set up our arguments, our variables and other values that are pertinent to the script processing what is needed dynamically or statically
  • Designate any error handling and requirements for the script to execute.

The Body

This section will contain 90% of the “functional” code. This is the meat of the script- processing, manipulating and building out what must be performed or performing it. The reason that I say perform or what will be performed is that functions are a very powerful and useful part of Linux scripting, allow you to more efficiently build and test your scripts, (as anyone who works with them would verify…) and is a big part of advanced Linux scripting.

The Conclusion

In the conclusion, you will wrap up, clean up, log out or if using functions, execute all the code in your script that you’ve spent so much valuable time on building.

Now that we know what is expected in our scripting quality, we’ll start to break down each piece in subsequent posts.

Keep your chin up!



Tags:  ,


Del.icio.us



Facebook

TweetThis

Digg

StumbleUpon




Copyright © DBAKevlar [Writing Linux Scripts- Part I], All Right Reserved. 2019.

Raw partitions?

Here’s a quirky one for you. It can happen when you are dealing with a partitioned table where the partition key is defined as RAW. To be honest, I really can’t think of a reason why you ever want a table with a raw partition key. (If you have one, please let me know in the comments). Anyway, here’s the demo. I’ll start with a table using the cool automatic list partition facility and load a single row into it.


C:\>sql18

SQL*Plus: Release 18.0.0.0.0 - Production on Mon Apr 29 16:38:19 2019
Version 18.6.0.0.0

Copyright (c) 1982, 2018, Oracle.  All rights reserved.

Last Successful login time: Mon Apr 29 2019 16:37:30 +08:00

Connected to:
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.6.0.0.0


SQL> create table test
  2  (
  3     id         raw(16),
  4     groupid    raw(16),
  5     chardata   varchar2(20),
  6     numbdata   number,
  7     datedata   date
  8  )
  9    partition by list (groupid) automatic (partition P_ values ('FF'))
 10  ;

Table created.

SQL> alter table test
  2  add constraint test_pk
  3  primary key (id)
  4  using index;

Table altered.

SQL> insert into test
  2  values (sys_guid(), sys_guid(), 'some char data', 123, sysdate - 3);

1 row created.

SQL> commit;

Commit complete.

SQL> exit
Disconnected from Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.6.0.0.0

No dramas there. Now I’ll take a DataPump export of that table using the defaults.


C:\>expdp mcdonac/*****@db18_pdb1 directory=TEMP dumpfile=test_exp.dmp tables=test

Export: Release 18.0.0.0.0 - Production on Mon Apr 29 16:38:19 2019
Version 18.6.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.

Connected to: Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Starting "MCDONAC"."SYS_EXPORT_TABLE_01":  mcdonac/********@db18_pdb1 directory=TEMP dumpfile=test_exp.dmp tables=test
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
Processing object type TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
Processing object type TABLE_EXPORT/TABLE/STATISTICS/MARKER
Processing object type TABLE_EXPORT/TABLE/TABLE
Processing object type TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
. . exported "MCDONAC"."TEST":"P_"                           0 KB       0 rows
. . exported "MCDONAC"."TEST":"SYS_P7389"                6.804 KB       1 rows
Master table "MCDONAC"."SYS_EXPORT_TABLE_01" successfully loaded/unloaded
******************************************************************************
Dump file set for MCDONAC.SYS_EXPORT_TABLE_01 is:
  C:\TEMP\TEST_EXP.DMP
Job "MCDONAC"."SYS_EXPORT_TABLE_01" successfully completed at Mon Apr 29 16:38:40 2019 elapsed 0 00:00:16

Everything is still going OK. If I took a DataPump export, it’s a reasonable assumption that I will be wanting to load that into a new database somewhere. To mimic that, I’ll simply drop the table I just created so that I can import the table back into the same schema anew.


C:\>sql18

SQL*Plus: Release 18.0.0.0.0 - Production on Mon Apr 29 16:38:42 2019
Version 18.6.0.0.0

Copyright (c) 1982, 2018, Oracle.  All rights reserved.

Last Successful login time: Mon Apr 29 2019 16:38:19 +08:00

Connected to:
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.6.0.0.0



SQL> drop table test purge;

Table dropped.

SQL> exit
Disconnected from Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.6.0.0.0

And now we’ll run a simple DataPump import to put my table back in place.



C:\>impdp mcdonac/******@db18_pdb1 directory=TEMP dumpfile=test_exp.dmp tables=test

Import: Release 18.0.0.0.0 - Production on Mon Apr 29 16:38:43 2019
Version 18.6.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.

Connected to: Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Master table "MCDONAC"."SYS_IMPORT_TABLE_01" successfully loaded/unloaded
Starting "MCDONAC"."SYS_IMPORT_TABLE_01":  mcdonac/********@db18_pdb1 directory=TEMP dumpfile=test_exp.dmp tables=test
Processing object type TABLE_EXPORT/TABLE/TABLE
ORA-39083: Object type TABLE:"MCDONAC"."TEST" failed to create with error:
ORA-14308: partition bound element must be one of: string, datetime or interval literal, number, or NULL

Failing sql is:
CREATE TABLE "MCDONAC"."TEST" ("ID" RAW(16), "GROUPID" RAW(16), "CHARDATA" VARCHAR2(20 BYTE) COLLATE "USING_NLS_COMP", "NUMBDATA" NUMB
ER, "DATEDATA" DATE)  DEFAULT COLLATION "USING_NLS_COMP" PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255  STORAGE( BUFFER_POOL DEFAULT F
LASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT) TABLESPACE "USERS"  PARTITION BY LIST ("GROUPID") AUTOMATIC  (PARTITION "P_"  VALUES ('FF
') SEGMENT CREATION DEFERRED PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255  NOCOMPRESS LOGGING  STORAGE( BUFFER_POOL DEFAULT FLASH_CAC
HE DEFAULT CELL_FLASH_CACHE DEFAULT) TABLESPACE "USERS"  READ WRITE , PARTITION "SYS_P7389"  VALUES (HEXTORAW('38E50ADF7A7840149B16767
9433196C5')) SEGMENT CREATION IMMEDIATE PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255  NOCOMPRESS LOGGING  STORAGE(INITIAL 8388608 NEX
T 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_
FLASH_CACHE DEFAULT) TABLESPACE "USERS"  READ WRITE )

Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
Processing object type TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
ORA-39112: Dependent object type CONSTRAINT:"MCDONAC"."TEST_PK" skipped, base object type TABLE:"MCDONAC"."TEST" creation failed

Processing object type TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
Processing object type TABLE_EXPORT/TABLE/STATISTICS/MARKER
Job "MCDONAC"."SYS_IMPORT_TABLE_01" completed with 2 error(s) at Mon Apr 29 16:38:46 2019 elapsed 0 00:00:03

Uh oh… You can see from the highlighted part of the import log, that DataPump sees the RAW datatype definition and hence tries to map the partition keys to the the same datatype using HEXTORAW. It’s an interesting contradiction that you are allowed to partition a table by raw, but if you try to nominate a raw datatype in the actual partition definition values, then the database gets upset with you. Here’s the same DDL in simpler form showing the same error.



SQL> create table test
  2  (
  3     id         raw(16),
  4     groupid    raw(16),
  5     chardata   varchar2(20),
  6     numbdata   number,
  7     datedata   date
  8  )  partition by list (groupid) (partition P_ values (hextoraw('FF')));
)  partition by list (groupid) (partition P_ values (hextoraw('FF')))
                                                                   *
ERROR at line 8:
ORA-14308: partition bound element must be one of: string, datetime or interval literal, number, or NULL

To be honest, I’m not losing any sleep over this, because I can’t think of a reason to partition by raw. But if you do have a valid case for it, then you’ll need to pre-create the table (without the HEXTORAW expressions) and then use DataPump to load the data back into the table.

PostgreSQL and Jupyter notebook

Here is a little test of Jupyter Notebook to access a PostgreSQL database with very simple installation, thanks to Anaconda. I did it on Windows 10 but the same simplicity is on Linux and Mac.

Anaconda

I’ll use Anaconda to install the required components

Conda is an open source package management system and environment management system that runs on Windows, macOS and Linux. Conda quickly installs, runs and updates packages and their dependencies.

https://www.anaconda.com/distribution/#download-section

Installation

The install is very easy — just go to https://www.anaconda.com/ and download for your environment. Then, manage everything from the Anaconda Navigator. I choose the Python3 64-bit version for Windows.

I used all defaults, the installation directory being in the %USERPROFILE% home directory (like C:\Users\Franck\Anaconda3).

This installs a few shortcuts in the Start Menu, such as the Anaconda Prompt (the command line where you can run conda, with all environment set) in CMD and PowerShell version, or the Jupyter notebook.

You can run everything from the Anaconda Navigator, for example, get the command line with all the environment set:

Or you can simply run the Anaconda Prompt in the Start Menu which is a shortcut for:

%windir%\System32\cmd.exe "/K" C:\Users\Franck\Anaconda3\Scripts\activate.bat C:\Users\Franck\Anaconda3

Now, from this prompt, I’ll install a few additional packages

IPython SQL

ipython-sql introduces a %sql (or %%sql) magic to your notebook allowing you to connect to a database, using SQLAlchemy connect strings, then issue SQL commands within IPython or IPython Notebook.

catherinedevlin/ipython-sql

Here is how to install it from the Anaconda Prompt:

conda install -y -c conda-forge ipython-sql

PostgreSQL

I’ll run the postgres server directly in this environment:

conda install -y -c conda-forge postgresql

The link between ipython-sql and the postgresql API is done by psycopg2:

Psycopg is the most popular PostgreSQL adapter for the Python programming language. Its main features are the complete implementation of the Python DB API 2.0 specification and the thread safety.

conda install -y -c anaconda psycopg2

I also install Pgspecial to run the ‘backslash’ commands like in psql

conda install -y -c conda-forge pgspecial

Create a database

From the Anaconda Prompt, I create my PostgreSQL database in C:\Anaconda\pgdata:

set PGDATA=C:\Anaconda\pgdata
mkdir %PGDATA%
pg_ctl initdb
pg_ctl start
psql -c "create database DEMO;" postgres

I’m now ready to run some SQL from the Jupyter notebook and do not need the Anaconda Prompt anymore (I can run shell commands from a notebook).

Jupyter Notebook

I can start Jupyter from the Anaconda Navigator, but it defaults to the %USERPROFILE% directory.

I prefer to change the Jupyter Notebook shortcut (right-click-more-open file location-properties) to replace USERPROFILE with my C:\Anaconda directory which will be where I’ll create notebooks:

C:\Users\Franck\Anaconda3\python.exe C:\Users\Franck\Anaconda3\cwp.py C:\Users\Franck\Anaconda3 C:\Users\Franck\Anaconda3\python.exe C:\Users\Franck\Anaconda3\Scripts\jupyter-notebook-script.py "C:\Anaconda/"

Or simply run it from the Anaconda Prompt:

jupyter.exe notebook --notebook-dir=C:\Anaconda

This runs Jupyter and opens it in my browser. I create a new notebook with New-Python3:

I load the iPython SQL extension:

%load_ext sql

connect to the DEMO database

%sql postgresql://localhost/demo

and I can run some SQL statements, like:

%sql select version()

But I’ll not put more commands in this blog post, because that’s the main advantage of a Jupyter Notebook: show the commands, the output, and some comments.

GitHub Gist and Medium

I’ve uploaded my notebook on GitHub Gist for easy sharing: Blog20190428-postgresql-and-jupyter-notebook-on-windows.ipynb

GitHub display it correctly, and you can download it to test on your environment. And Medium seems to embed it in a very way:


Avoid compound hints for better Hint Reporting in 19c

Even if the syntax accepts it, it is not a good idea to write a hint like:

https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/Comments.html#GUID-56DAA0EC-54BB-4E9D-9049-BCEA934F7A89

/*+ USE_NL(A B) */ with multiple aliases (‘tablespec’) even if it is documented.

One reason is that it is misleading. How many people think that this tells the optimizer to use a Nested Loop between A and B? That’s wrong. This hint just declares that Nested Loop should be used if possible when joining from any table to A, and for joining from any table to B.

Actually, this is a syntax shortcut for: /*+ USE_NL(A) USE_NL(B) */

The other reason is that the 19c Hint Reporting will not tell you wich join was possible or not. Here is an example:

SQL> create table demo0 as select 1 x from dual;
Table DEMO0 created.
SQL> create table demo1 as select 1 id from dual;
Table DEMO1 created.
SQL> create table demo2 as select 1 id from dual;
Table DEMO2 created.
SQL> explain plan for
select /*+ USE_HASH(demo1 demo2) */ *
from demo1 join demo2 using(id);
Explained.
SQL> select * from dbms_xplan.display(format=>'basic +rows +hint_report');
PLAN_TABLE_OUTPUT                                                   
--------------------------------------------------------------------
Plan hash value: 3212315601

--------------------------------------------
| Id | Operation | Name | Rows |
--------------------------------------------
| 0 | SELECT STATEMENT | | 1 |
| 1 | HASH JOIN | | 1 |
| 2 | TABLE ACCESS FULL| DEMO1 | 1 |
| 3 | TABLE ACCESS FULL| DEMO2 | 1 |
--------------------------------------------

Hint Report (identified by operation id / Query Block Name / Object
Alias):
Total hints for statement: 2 (U - Unused (1))
--------------------------------------------------------------------
2 -  SEL$58A6D7F6 / DEMO1@SEL$1
U - USE_HASH(demo1 demo2)

3 - SEL$58A6D7F6 / DEMO2@SEL$1
- USE_HASH(demo1 demo2)

Here, my hint was used to join to DEMO2 but not to join to DEMO1 because the optimizer didn’t choose a plan with DEMO1 as the inner table. This is reported by the 19c dbms_xplan: I have two lines, one for the used hint and one for the Unused one. But both mention the same hint because I used a compound syntax.

I have more detail in the PLAN_TABLE.OTHER_XML, with the state ‘NU’ but still mentioning the full hint with the two alias names:

SQL> select cast(extract(xmltype(other_xml),'//hint_usage/q/t/h') as varchar2(4000)) from plan_table where other_xml like '%hint_usage%';
CAST(EXTRACT(XMLTYPE(OTHER_XML),'//HINT_USAGE/Q/T/H')ASVARCHAR2(4000
--------------------------------------------------------------------

st="NU">USE_HASH(demo1 demo2)]]>

Now, running the same query with the two USE_HASH hints, one for each alias:

SQL> explain plan for
select /*+ USE_HASH(demo1) USE_HASH(demo2) */ *
from demo1 join demo2 using(id);
Explained.
SQL> select * from dbms_xplan.display(format=>'basic +rows +hint_report');
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------
Plan hash value: 3212315601

--------------------------------------------
| Id | Operation | Name | Rows |
--------------------------------------------
| 0 | SELECT STATEMENT | | 1 |
| 1 | HASH JOIN | | 1 |
| 2 | TABLE ACCESS FULL| DEMO1 | 1 |
| 3 | TABLE ACCESS FULL| DEMO2 | 1 |
--------------------------------------------

Hint Report (identified by operation id / Query Block Name / Object Alias):
Total hints for statement: 2 (U - Unused (1))
--------------------------------------------------------------------

2 - SEL$58A6D7F6 / DEMO1@SEL$1
U - USE_HASH(demo1)

3 - SEL$58A6D7F6 / DEMO2@SEL$1
- USE_HASH(demo2)

Everything is clear now: the hint on DEMO1 was not used but the hint on DEMO2 was used.

SQL> select cast(extract(xmltype(other_xml),'//hint_usage/q/t/h') as varchar2(4000)) from plan_table where other_xml like '%hint_usage%';
CAST(EXTRACT(XMLTYPE(OTHER_XML),'//HINT_USAGE/Q/T/H')ASVARCHAR2(4000))
--------------------------------------------------------------------

st="NU">USE_HASH(demo1)]]>

Having the detail for each join hinted is also useful to get the reason. For example, if I hint with an inexistent alias, like /*+ USE_HASH(demo1) USE_HASH(demoX) */, I have two different reasons — ‘Unused’ and ‘uNresolved’:

Total hints for statement: 2 (U - Unused (1), N - Unresolved (1))
--------------------------------------------------------------------

1 - SEL$58A6D7F6
N - USE_HASH(demoX)

2 - SEL$58A6D7F6 / DEMO1@SEL$1
U - USE_HASH(demo1)

With one compound hint, I will not know which ’N’ and which is ‘U’

I’ll show this with the two internal states of ‘Unused’ by adding an additional cartesian join with DEMO0:

SQL> explain plan for
select /*+ USE_HASH(demo0) USE_HASH(demo1) USE_HASH(demo2) */ *
from demo0 cross join demo1 join demo2 using(id);
Explained.
SQL> select * from dbms_xplan.display(format=>'basic +rows +hint_report');
PLAN_TABLE_OUTPUT 
--------------------------------------------------------------------
Plan hash value: 61862555

-----------------------------------------------
| Id | Operation | Name | Rows |
-----------------------------------------------
| 0 | SELECT STATEMENT | | 1 |
| 1 | HASH JOIN | | 1 |
| 2 | MERGE JOIN CARTESIAN| | 1 |
| 3 | TABLE ACCESS FULL | DEMO0 | 1 |
| 4 | BUFFER SORT | | 1 |
| 5 | TABLE ACCESS FULL | DEMO1 | 1 |
| 6 | TABLE ACCESS FULL | DEMO2 | 1 |
-----------------------------------------------

Hint Report (identified by operation id / Query Block Name / Object Alias):
Total hints for statement: 2 (U - Unused (1))
--------------------------------------------------------------------

3 - SEL$9E43CB6E / DEMO0@SEL$1
U - USE_HASH(demo0)

5 - SEL$9E43CB6E / DEMO1@SEL$1
U - USE_HASH(demo1)

6 - SEL$9E43CB6E / DEMO2@SEL$2
- USE_HASH(demo2)
SQL> select cast(extract(xmltype(other_xml),'//hint_usage/q/t/h') as varchar2(4000)) from plan_table where other_xml like '%hint_usage%';
CAST(EXTRACT(XMLTYPE(OTHER_XML),'//HINT_USAGE/Q/T/H')ASVARCHAR2(4000))
--------------------------------------------------------------------

st="EU">USE_HASH(demo1)]]>
st="NU">USE_HASH(demo0)]]>

The USE_HASH(demo0) is impossible because, as above, it is the first outer table. It has the internal unused state of ‘NU’. The USE_HASH(demo1) is a possible join but not used because the join type (cartesian) is incompatible with the hash join. The unusable state for it is ‘EU’. If you have any guess about those names (‘NU’/’EU’), or any comment, don’t forget my Twitter:

Franck Pachot (@FranckPachot) | Twitter

Oracle: compare DB Time and CPU time to ASH

Screen Shot 2019-04-26 at 1.31.49 PM

Below I’m comparing AAS from ASH verses SYSMETRICs specificially

  • ASH CPU in AAS vs SYSMETRIC CPU in AAS
  • ASH total AAS vs SYSMETRIC  total AAS derived from DB TIME

ASH CPU is consistently lower that SYSMETRIC  CPU and that could be because waits burn CPU but show up as waits and not CPU in ASH.

On the other hand, not sure why total AAS from SYSMETRIC  is consistently smaller than total AAS from ASH.

  Def v_secs=60 --  bucket size

select   DBTT.begin_time ,ASH_CPU, DBT_CPU , ASH_AAS,  DBT_AAS from
(
    select to_char(begin_time,'MON DD YYYY HH24:MI') begin_time,
          round(value/100,2) DBT_AAS
    from v$sysmetric_history 
    where metric_name='Database Time Per Sec'
    and INTSIZE_CSEC > 2000
    order by 1
)  DBTT,
(
    select to_char(begin_time,'MON DD YYYY HH24:MI') begin_time,
          round(value/100,2) DBT_CPU
    from v$sysmetric_history 
    where metric_name='CPU Usage Per Sec'
)  DBTC,
(
   select
        to_char(to_date(
                         trunc((id*&v_secs)/ (24*60*60)) || ' ' ||  -- Julian days
                           mod((id*&v_secs),  24*60*60)             -- seconds in the day
                , 'J SSSSS' ), 'MON DD YYYY HH24:MI')     start_time,
        round(CPU/&v_secs,2) ASH_CPU,
        round(total/&v_secs,2)  ASH_AAS
   from ( 
     select
        trunc((to_char(sample_time,'J')*(24*60*60)+to_char(sample_time,'SSSSS'))/&v_secs)  id,
        sum(decode(session_state,'ON CPU',1,0))     CPU,
        sum(decode(session_state,'ON CPU',0,1))     Wait,
       --  decode(session_state,'ON CPU','ON CPU','WAIT')     event,
        count(*) total
     from
        v$active_session_history ash
     where SAMPLE_TIME > sysdate - 60/(24*60)
     group by
         trunc((to_char(sample_time,'J')*(24*60*60)+to_char(sample_time,'SSSSS'))/&v_secs)
        )
) AAS
where
     DBTT.begin_time=DBTC.begin_time
 and DBTT.begin_time=AAS.start_time (+)
order by DBTT.begin_time ;

Low load – data looks pretty comparable:

BEGIN_TIME		      ASH_CPU	 DBT_CPU    ASH_AAS    DBT_AAS
-------------------------- ---------- ---------- ---------- ----------
APR 26 2019 18:24			       0		     0
APR 26 2019 18:25		  .02	       0	.02	     0
APR 26 2019 18:26			       0		     0
APR 26 2019 18:27			       0		     0
APR 26 2019 18:28			       0		     0
APR 26 2019 18:29		  .03	       0	.03	     0
APR 26 2019 18:30			       0		     0
APR 26 2019 18:31			       0		     0
APR 26 2019 18:32		    0	       0	 .8	     0
APR 26 2019 18:33		    0	       0	  1	     0
APR 26 2019 18:34		  .02	       0	.05	     0
APR 26 2019 18:35		  .22	     .21	.22	   .21
APR 26 2019 18:36			       0		     0
APR 26 2019 18:37		  .22	     .21	.22	   .21
APR 26 2019 18:38		  .02	       0	.02	     0
APR 26 2019 18:39			       0		     0
APR 26 2019 18:40			       0		     0

Higher load – we start to see consistent differences :

BEGIN_TIME		      ASH_CPU	 DBT_CPU    ASH_AAS    DBT_AAS
-------------------------- ---------- ---------- ---------- ----------
APR 26 2019 18:56		  .52	     .85	3.7	  2.54
APR 26 2019 18:57		   .4	     .62       2.95	  1.96
APR 26 2019 18:58		  .23	     .39       1.73	   1.2
APR 26 2019 18:59		  .17	      .4       1.32	  1.27
APR 26 2019 19:00		  .45	     .85       3.17	  2.51
APR 26 2019 19:01		  .53	     .81	3.2	  2.57
APR 26 2019 19:02		  .33	      .4       2.18	  1.28
APR 26 2019 19:03		   .2	     .39	.87	  1.24
APR 26 2019 19:04		  .28	      .4       1.88	  1.17
APR 26 2019 19:05		  .43	     .81       3.12	  2.56
APR 26 2019 19:06		  .48	     .81       3.33	  2.36
APR 26 2019 19:07		   .3	     .41       1.43	  1.33
APR 26 2019 19:08		  .43	      .4	2.2	   1.2
APR 26 2019 19:09		  .13	      .4       1.43	  1.29
APR 26 2019 19:10		  .48	     .87       3.48	  2.49
APR 26 2019 19:11		  .48	     .72       3.03	  2.25
APR 26 2019 19:12		  .27	     .39       2.03	   1.2

 

The screen shot below reproduces much of the above except DB Time and CPU used by this Session come from v$systat and not SYSMETRICs and in this case DB TIME is showing a higher AAS than ASH whereas it is the other way around for DB TIME from SYSMETRICs.

 

Screen Shot 2019-04-26 at 12.28.06 PM

John Beresniewicz pointed out that DB Time doesn’t include BACKGROUND processes, so here is slight update just filtering for FOREGROUND processes

 

  Def v_secs=60 --  bucket size

select   DBTT.begin_time ,ASH_CPU, DBT_CPU , ASH_AAS,  DBT_AAS from
(
    select to_char(begin_time,'MON DD YYYY HH24:MI') begin_time,
          round(value/100,2) DBT_AAS
    from v$sysmetric_history
    where metric_name='Database Time Per Sec'
    and INTSIZE_CSEC > 2000
    order by 1
)  DBTT,
(
    select to_char(begin_time,'MON DD YYYY HH24:MI') begin_time,
          round(value/100,2) DBT_CPU
    from v$sysmetric_history
    where metric_name='CPU Usage Per Sec'
)  DBTC,
(
   select
        to_char(to_date(
                         trunc((id*&v_secs)/ (24*60*60)) || ' ' ||  -- Julian days
                           mod((id*&v_secs),  24*60*60)             -- seconds in the day
                , 'J SSSSS' ), 'MON DD YYYY HH24:MI')     start_time,
        round(CPU/&v_secs,2) ASH_CPU,
        round(total/&v_secs,2)  ASH_AAS
   from (
     select
        trunc((to_char(sample_time,'J')*(24*60*60)+to_char(sample_time,'SSSSS'))/&v_secs)  id,
        sum(decode(session_state,'ON CPU',1,0))     CPU,
        sum(decode(session_state,'ON CPU',0,1))     Wait,
       --  decode(session_state,'ON CPU','ON CPU','WAIT')     event,
        count(*) total
     from
        v$active_session_history ash
     where SAMPLE_TIME > sysdate - 60/(24*60)
        and session_type = 'FOREGROUND'
     group by
         trunc((to_char(sample_time,'J')*(24*60*60)+to_char(sample_time,'SSSSS'))/&v_secs)
        )
) AAS
where
     DBTT.begin_time=DBTC.begin_time
 and DBTT.begin_time=AAS.start_time (+)
order by DBTT.begin_time ;

and the output is much closer to being inline

BEGIN_TIME		      ASH_CPU	 DBT_CPU    ASH_AAS    DBT_AAS
-------------------------- ---------- ---------- ---------- ----------
APR 27 2019 01:25			       0		     0
APR 27 2019 01:26			       0		     0
APR 27 2019 01:27			       0		     0
APR 27 2019 01:28			       0		     0
APR 27 2019 01:29		  .02	     .01	.02	   .02
APR 27 2019 01:30		    0	     .15	.05	   .42
APR 27 2019 01:31		  .35	     .83	2.8	  2.56
APR 27 2019 01:32		  .55	     .79       2.62	  2.38
APR 27 2019 01:33		  .17	     .41       1.67	  1.31
APR 27 2019 01:34		   .3	     .42       1.37	  1.28
APR 27 2019 01:35		  .48	     .78	2.8	  2.61

BEGIN_TIME		      ASH_CPU	 DBT_CPU    ASH_AAS    DBT_AAS
-------------------------- ---------- ---------- ---------- ----------
APR 27 2019 01:36		  .42	     .84	2.6	  2.56
APR 27 2019 01:37		   .3	     .58       1.88	  1.87
APR 27 2019 01:38		  .23	     .41       1.48	  1.25
APR 27 2019 01:39		  .23	     .41       1.57	  1.32
APR 27 2019 01:40		  .43	     .83       2.82	  2.53
APR 27 2019 01:41		  .55	      .8       2.67	  2.52
APR 27 2019 01:42		   .3	     .41       1.62	  1.28
APR 27 2019 01:43		  .32	      .4	1.1	  1.27
APR 27 2019 01:44		  .25	      .4       1.17	  1.19
APR 27 2019 01:45		  .52	     .79       2.38	  2.55
APR 27 2019 01:46		   .3	      .8       2.23	  2.39

BEGIN_TIME		      ASH_CPU	 DBT_CPU    ASH_AAS    DBT_AAS
-------------------------- ---------- ---------- ---------- ----------
APR 27 2019 01:47		  .25	      .4       1.67	  1.32
APR 27 2019 01:48		  .32	     .41       1.47	  1.18
APR 27 2019 01:49		  .27	     .42	1.4	  1.34
APR 27 2019 01:50		  .42	     .86       2.65	  2.51
APR 27 2019 01:51		   .4	     .76       2.57	   2.4
APR 27 2019 01:52		  .18	     .41	1.8	  1.32
APR 27 2019 01:53		  .25	     .41       1.58	  1.32
APR 27 2019 01:54		   .2	     .41       1.35	  1.21
APR 27 2019 01:55		  .42	      .8       2.28	  2.56
APR 27 2019 01:56		   .4	     .72       2.55	   2.2
APR 27 2019 01:57		  .23	     .41       1.32	  1.34

BEGIN_TIME		      ASH_CPU	 DBT_CPU    ASH_AAS    DBT_AAS
-------------------------- ---------- ---------- ---------- ----------
APR 27 2019 01:58		  .25	     .41       1.18	  1.19
APR 27 2019 01:59		   .2	     .51       1.47	  1.87
APR 27 2019 02:00		  1.3	     1.5       4.05	  4.19
APR 27 2019 02:01		 1.12	    1.34       3.15	  3.14
APR 27 2019 02:02		  .27	     .43       1.45	  1.26
APR 27 2019 02:03		  .25	     .42       1.02	   1.3
APR 27 2019 02:04		  .17	     .42       1.37	  1.21
APR 27 2019 02:05		  .47	     .82       2.17	  2.49
APR 27 2019 02:06		  .42	     .78	2.6	   2.3
APR 27 2019 02:07		  .17	     .41       1.15	  1.44
APR 27 2019 02:08		  .22	     .42       1.75	  1.22

BEGIN_TIME		      ASH_CPU	 DBT_CPU    ASH_AAS    DBT_AAS
-------------------------- ---------- ---------- ---------- ----------
APR 27 2019 02:09		   .2	     .42       1.33	  1.31
APR 27 2019 02:10		  .32	     .85       2.37	  2.53
APR 27 2019 02:11		  .52	     .74       2.38	  2.28
APR 27 2019 02:12		  .22	     .41       1.78	  1.25
APR 27 2019 02:13		  .28	     .41       1.27	  1.27
APR 27 2019 02:14		  .27	     .42       1.48	  1.19
APR 27 2019 02:15		  .35	     .82       2.37	  2.53
APR 27 2019 02:16		  .32	     .75       2.85	  2.17
APR 27 2019 02:17		  .17	      .4	.87	  1.35
APR 27 2019 02:18		  .25	     .43       1.68	  1.21
APR 27 2019 02:19		  .22	     .42       1.57	  1.32

BEGIN_TIME		      ASH_CPU	 DBT_CPU    ASH_AAS    DBT_AAS
-------------------------- ---------- ---------- ---------- ----------
APR 27 2019 02:20		  .47	     .88       2.42	   2.5
APR 27 2019 02:21		  .37	     .71       2.27	  2.18
APR 27 2019 02:22		   .2	     .42       1.47	  1.27
APR 27 2019 02:23		  .28	     .41	1.2	  1.28
APR 27 2019 02:24		  .17	     .43       1.27	  1.25
APR 27 2019 02:25		  .47	     .82       2.05	  2.54

Now we can see it's much closer

 

Screen Shot 2019-04-26 at 8.36.24 PM

 

AWR from load period

WORKLOAD REPOSITORY report for

DB Name         DB Id    Instance     Inst Num Startup Time    Release     RAC
------------ ----------- ------------ -------- --------------- ----------- ---
ORCL          1534324168 ORCL                1 25-Apr-19 22:07 11.2.0.4.0  NO

Host Name        Platform                         CPUs Cores Sockets Memory(GB)
---------------- -------------------------------- ---- ----- ------- ----------
ip-10-13-0-252   Linux x86 64-bit                    2     1       1      15.38

              Snap Id      Snap Time      Sessions Curs/Sess
            --------- ------------------- -------- ---------
Begin Snap:        23 26-Apr-19 21:00:37        34       1.0
  End Snap:        24 26-Apr-19 22:00:04        33       1.0
   Elapsed:               59.46 (mins)
   DB Time:               98.53 (mins)

Load Profile                    Per Second   Per Transaction  Per Exec  Per Call
~~~~~~~~~~~~~~~            ---------------   --------------- --------- ---------
             DB Time(s):               1.7               0.0      0.00      0.00
              DB CPU(s):               0.6               0.0      0.00      0.00
      Redo size (bytes):       4,762,632.4           4,196.8
  Logical read (blocks):          57,271.0              50.5
          Block changes:          36,004.1              31.7
 Physical read (blocks):               0.2               0.0
Physical write (blocks):             239.9               0.2
       Read IO requests:               0.2               0.0
      Write IO requests:              70.5               0.1
           Read IO (MB):               0.0               0.0
          Write IO (MB):               1.9               0.0
             User calls:           3,746.0               3.3
           Parses (SQL):           1,872.4               1.7
      Hard parses (SQL):               0.0               0.0
     SQL Work Area (MB):               1.3               0.0
                 Logons:               0.0               0.0
         Executes (SQL):           1,895.9               1.7
              Rollbacks:               0.0               0.0
           Transactions:           1,134.8

Instance Efficiency Percentages (Target 100%)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            Buffer Nowait %:   97.86       Redo NoWait %:  100.00
            Buffer  Hit   %:  100.00    In-memory Sort %:  100.00
            Library Hit   %:  101.55        Soft Parse %:  100.00
         Execute to Parse %:    1.24         Latch Hit %:   99.22
Parse CPU to Parse Elapsd %:    0.20     % Non-Parse CPU:  100.00

Top 10 Foreground Events by Total Wait Time
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                            Tota    Wait   % DB
Event                                 Waits Time Avg(ms)   time Wait Class
------------------------------ ------------ ---- ------- ------ ----------
log file sync                     4,048,143 3688       1   62.4 Commit
DB CPU                                      1947           32.9
buffer busy waits                 2,395,899 341.       0    5.8 Concurrenc
enq: TX - row lock contention       412,330 71.6       0    1.2 Applicatio
latch: cache buffers chains           9,514  3.8       0     .1 Concurrenc
log file switch (checkpoint in           26  3.5     135     .1 Configurat
SQL*Net message to client         6,685,887  2.9       0     .0 Network
enq: SQ - contention                 11,266  2.4       0     .0 Configurat
log file switch completion              335  2.2       7     .0 Configurat
latch: In memory undo latch           2,863  1.8       1     .0 Concurrenc
^L
Wait Classes by Total Wait Time
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                        Avg             Avg
                                        Total Wait     Wait   % DB   Active
Wait Class                  Waits       Time (sec)     (ms)   time Sessions
---------------- ---------------- ---------------- -------- ------ --------
Commit                  4,048,145            3,689        1   62.4      1.0
DB CPU                                       1,947            32.9      0.5
System I/O              2,649,191            1,614        1   27.3      0.5
Concurrency             2,408,339              347        0    5.9      0.1
Application               412,330               72        0    1.2      0.0
Other                     182,809               17        0     .3      0.0
Configuration              11,676                8        1     .1      0.0
Network                 6,686,094                3        0     .0      0.0
User I/O                    2,124                1        1     .0      0.0

Host CPU
~~~~~~~~                  Load Average
 CPUs Cores Sockets     Begin       End     %User   %System      %WIO     %Idle
----- ----- ------- --------- --------- --------- --------- --------- ---------
    2     1       1      1.38      1.19       3.3       6.4      12.5      65.9

Instance CPU
~~~~~~~~~~~~
              % of total CPU for Instance:      30.2
              % of busy  CPU for Instance:      88.6
  %DB time waiting for CPU - Resource Mgr:       0.0

IO Profile                  Read+Write/Second     Read/Second    Write/Second
~~~~~~~~~~                  ----------------- --------------- ---------------
            Total Requests:             897.6             9.6           888.0
         Database Requests:              70.7             0.2            70.5
        Optimized Requests:               0.0             0.0             0.0
             Redo Requests:             816.3             5.2           811.2
                Total (MB):              16.7             5.1            11.7
             Database (MB):               1.9             0.0             1.9
      Optimized Total (MB):               0.0             0.0             0.0
                 Redo (MB):               9.8             4.9             4.9
         Database (blocks):             240.1             0.2           239.9
 Via Buffer Cache (blocks):             239.7             0.0           239.7
           Direct (blocks):               0.5             0.2             0.2

Memory Statistics
~~~~~~~~~~~~~~~~~                       Begin          End
                                 ------------ ------------
                  Host Mem (MB):     15,753.8     15,753.8
                   SGA use (MB):     11,680.0     11,680.0
                   PGA use (MB):        265.3        260.0
    % Host Mem used for SGA+PGA:        75.82        75.79

Cache Sizes                       Begin        End
~~~~~~~~~~~                  ---------- ----------
               Buffer Cache:     9,952M     9,952M  Std Block Size:         8K
           Shared Pool Size:     1,422M     1,422M      Log Buffer:     9,920K

 Shared Pool Statistics        Begin    End
~~~~~~~~~~~~~~~~~~~~~~~~~~~~  ------  ------
             Memory Usage %:   29.71   29.73
    % SQL with executions>1:   95.33   95.28
  % Memory for SQL w/exec>1:   82.84   82.66

^LTime Model Statistics                        DB/Inst: ORCL/ORCL  Snaps: 23-24
-> Total time in database user-calls (DB Time): 5912.1s
-> Statistics including the word "background" measure background process
   time, and so do not contribute to the DB time statistic
-> Ordered by % or DB time desc, Statistic name

Statistic Name                                       Time (s) % of DB Time
------------------------------------------ ------------------ ------------
DB CPU                                                1,947.3         32.9
sql execute elapsed time                              1,835.4         31.0
parse time elapsed                                       51.9           .9
sequence load elapsed time                               11.7           .2
connection management call elapsed time                   1.0           .0
repeated bind elapsed time                                0.2           .0
PL/SQL execution elapsed time                             0.0           .0
DB time                                               5,912.1
background elapsed time                               1,738.5
background cpu time                                     169.1
                          ------------------------------------------------------

Operating System Statistics                   DB/Inst: ORCL/ORCL  Snaps: 23-24
-> *TIME statistic values are diffed.
   All others display actual values.  End Value is displayed if different
-> ordered by statistic type (CPU Use, Virtual Memory, Hardware Config), Name

Statistic                                  Value        End Value
------------------------- ---------------------- ----------------
BUSY_TIME                                238,871
IDLE_TIME                                461,716
IOWAIT_TIME                               87,280
NICE_TIME                                163,683
SYS_TIME                                  45,109
USER_TIME                                 22,772
LOAD                                           1                1
RSRC_MGR_CPU_WAIT_TIME                         0
VM_OUT_BYTES                           1,249,280
PHYSICAL_MEMORY_BYTES             16,519,077,888
NUM_CPUS                                       2
NUM_CPU_CORES                                  1
NUM_CPU_SOCKETS                                1
GLOBAL_RECEIVE_SIZE_MAX                4,194,304
GLOBAL_SEND_SIZE_MAX                   4,194,304
TCP_RECEIVE_SIZE_DEFAULT                  87,380
TCP_RECEIVE_SIZE_MAX                   6,291,456
TCP_RECEIVE_SIZE_MIN                       4,096
TCP_SEND_SIZE_DEFAULT                     16,384
TCP_SEND_SIZE_MAX                      4,194,304
TCP_SEND_SIZE_MIN                          4,096
                          ------------------------------------------------------

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

Operating System Statistics - Detail          DB/Inst: ORCL/ORCL  Snaps: 23-24

Snap Time           Load    %busy    %user     %sys    %idle  %iowait
--------------- -------- -------- -------- -------- -------- --------
26-Apr 21:00:37      1.4      N/A      N/A      N/A      N/A      N/A
26-Apr 22:00:04      1.2     34.1      3.3      6.4     65.9     12.5
                          ------------------------------------------------------

Foreground Wait Class                         DB/Inst: ORCL/ORCL  Snaps: 23-24
-> s  - second, ms - millisecond -    1000th of a second
-> ordered by wait time desc, waits desc
-> %Timeouts: value of 0 indicates value was < .5%.  Value of null is truly 0
-> Captured Time accounts for        102.6%  of Total DB time       5,912.07 (s)
-> Total FG Wait Time:             4,119.97 (s)  DB CPU time:       1,947.29 (s)

                                                                  Avg
                                      %Time       Total Wait     wait
Wait Class                      Waits -outs         Time (s)     (ms)  %DB time
-------------------- ---------------- ----- ---------------- -------- ---------
Commit                      4,048,143     0            3,689        1      62.4
DB CPU                                                 1,947               32.9
Concurrency                 2,408,319     0              347        0       5.9
Application                   412,330     0               72        0       1.2
Configuration                  11,676     0                8        1       0.1
Network                     6,685,887     0                3        0       0.0
System I/O                        989     0                1        1       0.0
User I/O                          307     0                0        1       0.0
Other                             215     0                0        1       0.0
                          ------------------------------------------------------

^LForeground Wait Events                       DB/Inst: ORCL/ORCL  Snaps: 23-24
-> s  - second, ms - millisecond -    1000th of a second
-> Only events with Total Wait Time (s) >= .001 are shown
-> ordered by wait time desc, waits desc (idle events last)
-> %Timeouts: value of 0 indicates value was < .5%.  Value of null is truly 0

                                                             Avg
                                        %Time Total Wait    wait    Waits   % DB
Event                             Waits -outs   Time (s)    (ms)     /txn   time
-------------------------- ------------ ----- ---------- ------- -------- ------
log file sync                 4,048,143     0      3,689       1      1.0   62.4
buffer busy waits             2,395,899     0        341       0      0.6    5.8
enq: TX - row lock content      412,330     0         72       0      0.1    1.2
latch: cache buffers chain        9,514     0          4       0      0.0     .1
log file switch (checkpoin           26     0          4     135      0.0     .1
SQL*Net message to client     6,685,887     0          3       0      1.7     .0
enq: SQ - contention             11,266     0          2       0      0.0     .0
log file switch completion          335     0          2       7      0.0     .0
latch: In memory undo latc        2,863     0          2       1      0.0     .0
control file sequential re          989     0          1       1      0.0     .0
log file switch (private s           49     0          0       8      0.0     .0
db file sequential read             300     0          0       1      0.0     .0
cursor: pin S                        19     0          0       5      0.0     .0
library cache: mutex X               24     0          0       4      0.0     .0
latch: enqueue hash chains           66     0          0       1      0.0     .0
latch: undo global data              24     0          0       1      0.0     .0
latch free                           45     0          0       1      0.0     .0
latch: redo allocation               61     0          0       0      0.0     .0
latch: session allocation             1     0          0       9      0.0     .0
latch: cache buffers lru c            5     0          0       2      0.0     .0
latch: cache buffer handle            8     0          0       1      0.0     .0
Disk file operations I/O              7     0          0       0      0.0     .0
latch: checkpoint queue la            3     0          0       0      0.0     .0
SQL*Net message from clien    6,685,885     0     29,743       4      1.7
                          ------------------------------------------------------

^LBackground Wait Events                       DB/Inst: ORCL/ORCL  Snaps: 23-24
-> ordered by wait time desc, waits desc (idle events last)
-> Only events with Total Wait Time (s) >= .001 are shown
-> %Timeouts: value of 0 indicates value was < .5%.  Value of null is truly 0




                                                             Avg
                                        %Time Total Wait    wait    Waits   % bg
Event                             Waits -outs   Time (s)    (ms)     /txn   time
-------------------------- ------------ ----- ---------- ------- -------- ------
log file parallel write       2,597,621     0      1,569       1      0.6   90.3
log file sequential read         15,328     0         25       2      0.0    1.5
LGWR wait for redo copy         181,500     0         16       0      0.0     .9
db file parallel write           13,637     0          8       1      0.0     .5
control file sequential re       13,797     0          6       0      0.0     .4
control file parallel writ        4,854     0          3       1      0.0     .2
Disk file operations I/O          1,288     0          1       1      0.0     .0
db file async I/O submit          2,497     0          1       0      0.0     .0
reliable message                    721     0          1       1      0.0     .0
Log archive I/O                     155     0          0       2      0.0     .0
os thread startup                    16     0          0      12      0.0     .0
log file single write               310     0          0       0      0.0     .0
direct path write                   167     0          0       1      0.0     .0
latch: redo allocation              102     0          0       1      0.0     .0
direct path read                    347     0          0       0      0.0     .0
ADR block file read                  15     0          0       0      0.0     .0
log file sync                         2     0          0       2      0.0     .0
db file sequential read              11     0          0       0      0.0     .0
ADR block file write                  5     0          0       0      0.0     .0
asynch descriptor resize             83   100          0       0      0.0     .0
db file scattered read                4     0          0       0      0.0     .0
rdbms ipc message             1,738,809     1     51,666      30      0.4
DIAG idle wait                    7,127   100      7,127    1000      0.0
Space Manager: slave idle           976    99      4,857    4976      0.0
Streams AQ: qmn slave idle          128     0      3,585   28008      0.0
Streams AQ: qmn coordinato          256    50      3,585   14004      0.0
pmon timer                        1,207    97      3,566    2954      0.0
smon timer                           61    13      3,398   55704      0.0
SQL*Net message from clien          274     0          0       1      0.0
class slave wait                     16     0          0       0      0.0
                          ------------------------------------------------------

^LWait Event Histogram                         DB/Inst: ORCL/ORCL  Snaps: 23-24
-> Units for Total Waits column: K is 1000, M is 1000000, G is 1000000000
-> % of Waits: value of .0 indicates value was <.05%; value of null is truly 0
-> % of Waits: column heading of <=1s is truly <1024ms, >1s is truly >=1024ms
-> Ordered by Event (idle events last)

                                                    % of Waits
                                 -----------------------------------------------
                           Total
Event                      Waits  1s
-------------------------- ----- ----- ----- ----- ----- ----- ----- ----- -----
ADR block file read           15  93.3   6.7
ADR block file write           5 100.0
ADR file lock                  6 100.0
ARCH wait for archivelog l   156 100.0
Disk file operations I/O    1295  85.8   1.8  12.2    .2          .1
LGWR wait for redo copy    181.5  99.5    .2    .1    .1    .0    .0    .0
Log archive I/O              155  13.5  74.2  11.0    .6                .6
SQL*Net message to client  6629. 100.0    .0    .0    .0    .0
asynch descriptor resize      83  98.8   1.2
buffer busy waits          2395.  99.3    .6    .1    .0    .0    .0    .0    .0
control file parallel writ  4855  94.8   3.9    .7    .5    .1    .0    .0
control file sequential re 14.8K  94.8   4.0    .7    .3    .1    .0    .0
cursor: pin S                 19  42.1  15.8              42.1
db file async I/O submit    2497  99.0    .7    .2    .0
db file parallel write     13.6K  89.6   9.4    .6    .2    .1    .0    .2
db file scattered read         4 100.0
db file sequential read      311  86.8   7.7   1.6   2.9   1.0
direct path read             347  98.8   1.2
direct path write            167  91.0   9.0
enq: SQ - contention       11.3K  99.1    .6    .1    .1    .1
enq: TX - row lock content 412.3  99.8    .1    .0    .0    .0    .0    .0
latch free                    47  85.1   8.5   4.3               2.1
latch: In memory undo latc  2863  88.9   4.0   3.5   2.4    .8    .3    .0
latch: cache buffer handle     8  87.5        12.5
latch: cache buffers chain  9514  95.5   1.4   1.3   1.0    .6    .3    .0
latch: cache buffers lru c     5  60.0  20.0        20.0
latch: checkpoint queue la     4 100.0
latch: enqueue hash chains    66  86.4   4.5   4.5   4.5
latch: messages                5 100.0
latch: object queue header     1 100.0
latch: redo allocation       164  87.2   6.7   3.7   2.4
latch: session allocation      1                         100.0
latch: undo global data       24  66.7  12.5   8.3  12.5
library cache: mutex X        24  66.7         4.2        25.0   4.2
log file parallel write    2597.  96.9   2.1    .7    .3    .1    .0    .0
log file sequential read   15.3K  55.2  34.4   9.5    .4    .1    .0    .5
log file single write        310  99.7    .3
log file switch (checkpoin    26         3.8   7.7  42.3  34.6              11.5
log file switch (private s    49         6.1        51.0  42.9
log file switch completion   335   5.4   6.0   5.7  57.3  25.1    .6
log file sync              4047.  82.2  15.6   1.2    .7    .3    .1    .0
os thread startup             16                    50.0  37.5        12.5
reliable message             721  84.6  15.0    .4
DIAG idle wait              7127                                     100.0
SQL*Net message from clien 6682.  83.6   5.5    .5   2.4   7.4    .5    .0    .0
Space Manager: slave idle    957                            .1          .2  99.7
Streams AQ: qmn coordinato   256  49.2          .4          .4              50.0
Streams AQ: qmn slave idle   128                                           100.0
class slave wait              16  93.8               6.3
pmon timer                  1208          .2    .2                .1   1.2  98.3
rdbms ipc message          1738.  80.8   9.6    .8   2.9   4.8    .2    .4    .5
smon timer                    62   1.6                                19.4  79.0
                          ------------------------------------------------------


^LWait Event Histogram Detail (64 msec to 2 sec)DB/Inst: ORCL/ORCL  Snaps: 23-2
-> Units for Total Waits column: K is 1000, M is 1000000, G is 1000000000
-> Units for % of Total Waits:
   ms is milliseconds
   s is 1024 milliseconds (approximately 1 second)
-> % of Total Waits: total waits for all wait classes, including Idle
-> % of Total Waits: value of .0 indicates value was <.05%;
   value of null is truly 0
-> Ordered by Event (only non-idle events are displayed)

                                                 % of Total Waits
                                 -----------------------------------------------
                           Waits
                           64ms
Event                      to 2s =2s
-------------------------- ----- ----- ----- ----- ----- ----- ----- ----- -----
LGWR wait for redo copy        2 100.0    .0
Log archive I/O                1  99.4                .6
buffer busy waits             13 100.0    .0                            .0
control file parallel writ     1 100.0    .0
control file sequential re     4 100.0    .0    .0
db file parallel write        22  99.8    .0    .1    .1
enq: TX - row lock content     2 100.0    .0
latch: In memory undo latc     1 100.0    .0
latch: cache buffers chain     1 100.0    .0
log file parallel write       81 100.0    .0    .0    .0    .0    .0
log file sequential read      69  99.5    .0    .2    .2
log file switch (checkpoin     3  88.5                                11.5
log file sync                593 100.0    .0    .0    .0    .0    .0
os thread startup              2  87.5  12.5
                          ------------------------------------------------------

^LWait Event Histogram Detail (4 sec to 2 min) DB/Inst: ORCL/ORCL  Snaps: 23-24

                  No data exists for this section of the report.
                          ------------------------------------------------------

^LWait Event Histogram Detail (4 min to 1 hr)  DB/Inst: ORCL/ORCL  Snaps: 23-24

                  No data exists for this section of the report.
                          ------------------------------------------------------

^LService Statistics                           DB/Inst: ORCL/ORCL  Snaps: 23-24
-> ordered by DB Time

                                                           Physical      Logical
Service Name                  DB Time (s)   DB CPU (s)    Reads (K)    Reads (K)
---------------------------- ------------ ------------ ------------ ------------
SYS$USERS                           5,912        1,947            0      204,286
ORCL_A                                  0            0            0            0
SYS$BACKGROUND                          0            0            1           21
                          ------------------------------------------------------


Service Wait Class Stats                      DB/Inst: ORCL/ORCL  Snaps: 23-24
-> Wait Class info for services in the Service Statistics section.
-> Total Waits and Time Waited displayed for the following wait
   classes:  User I/O, Concurrency, Administrative, Network
-> Time Waited (Wt Time) in seconds

Service Name
----------------------------------------------------------------
 User I/O  User I/O  Concurcy  Concurcy     Admin     Admin   Network   Network
Total Wts   Wt Time Total Wts   Wt Time Total Wts   Wt Time Total Wts   Wt Time
--------- --------- --------- --------- --------- --------- --------- ---------
SYS$USERS
      307         0   2408319       347         0         0   6685891         3
SYS$BACKGROUND
     1817         1        20         0         0         0         0         0
                          ------------------------------------------------------

^LSQL ordered by Elapsed Time                  DB/Inst: ORCL/ORCL  Snaps: 23-24
-> Resources reported for PL/SQL code includes the resources used by all SQL
   statements called by the code.
-> % Total DB Time is the Elapsed Time of the SQL statement divided
   into the Total Database Time multiplied by 100
-> %Total - Elapsed Time  as a percentage of Total DB time
-> %CPU   - CPU Time      as a percentage of Elapsed Time
-> %IO    - User I/O Time as a percentage of Elapsed Time
-> Captured SQL account for   31.4% of Total DB Time (s):           5,912
-> Captured PL/SQL account for    0.0% of Total DB Time (s):           5,912

        Elapsed                  Elapsed Time
        Time (s)    Executions  per Exec (s)  %Total   %CPU    %IO    SQL Id
---------------- -------------- ------------- ------ ------ ------ -------------
           833.4      1,668,249          0.00   14.1   37.7     .0 21yp54r1kwdcw
Module: JDBC Thin Client
INSERT ALL INTO authors (id,name,email) VALUES ( serial.nextval ,'Priya','p@g
mail.com') INTO authors (id,name,email) VALUES ( serial.nextval ,'Priya','p@
gmail.com') INTO authors (id,name,email) VALUES ( serial.nextval ,'Priya','p
@gmail.com') INTO authors (id,name,email) VALUES ( serial.nextval ,'Priya','

           454.9      1,667,916          0.00    7.7   35.1     .0 djyntpq5hxwpk
Module: JDBC Thin Client
delete from authors where id < ( select * from (select max(id) - 30 from author
s) a ) and id > ( select * from (select max(id) - 500 from authors) b )

           294.0      1,668,262          0.00    5.0   28.2     .0 128ccsst17vwb
Module: JDBC Thin Client
update authors set email = 'toto' where id > ( select max(id) - 1 from authors)

           260.7      1,667,137          0.00    4.4   45.1     .0 2fpz2m7duxb64
Module: JDBC Thin Client
select count(*) from authors where id < ( select max(id) - 30 from authors) and
 id > ( select max(id) - 2500 from authors) union select count(*) from authors
where id < ( select max(id) - 30 from authors) and id > ( select max(id) - 1500
 from authors) union select count(*) from authors where id < ( select max(id) -

             5.1         83,419          0.00     .1   94.1     .0 4m7m0t6fjcs5x
update seq$ set increment$=:2,minvalue=:3,maxvalue=:4,cycle#=:5,order$=:6,cache=
:7,highwater=:8,audit$=:9,flags=:10 where obj#=:1

             4.1          1,843          0.00     .1   80.2     .0 3p9jxd3w1hdx9
Module: rdsoracleperfmon@ip-10-13-0-252 (TNS V1-V3)
select s.sid||':'||s.serial# session_id, nvl(s.username,decode(s.type,'BACKGRO
UND','SYS')) username, s.machine, q.force_matching_signature, s.sql_id,
s.sql_hash_value, substr(q.sql_text, 1, 1000) sql_text, nvl (c.command_name,
 decode(s.wait_class,'Commit',s.wait_class, decode(s.type,'BACKGROUND', b.na

             0.8             61          0.01     .0   25.0     .0 ca6tq9wk5wakf
Module: JDBC Thin Client
select * from (select name, to_char(next_time, 'YYYY/MM/DD HH24:MI:SS') as resto
rable_time, recid from sys.v_$archived_log al JOIN sys.v_$database_incarnation d
i ON di.RESETLOGS_ID = al.RESETLOGS_ID and di.STATUS = 'CURRENT' where al.name i
s NOT NULL and al.standby_dest = 'NO' AND al.archived = 'YES' AND al.thread# = 1

             0.6              1          0.64     .0   88.2     .0 bunssq950snhf
insert into wrh$_sga_target_advice (snap_id, dbid, instance_number, SGA_SIZ
E, SGA_SIZE_FACTOR, ESTD_DB_TIME, ESTD_PHYSICAL_READS) select :snap_id, :dbi
d, :instance_number, SGA_SIZE, SGA_SIZE_FACTOR, ESTD_DB_TIME, ESTD_PHYSICAL_R
EADS from v$sga_target_advice

             0.6             60          0.01     .0    2.0   38.2 3h0a0h5srz9t9
Module: JDBC Thin Client
select count(*) from sys.v_$datafile where status in ('RECOVER','ONLINE') and EN
ABLED != 'READ ONLY' and checkpoint_time < sysdate-(120/1440)

             0.4             30          0.01     .0   93.9     .0 75p1jt4wbk27n
Module: rdsoracleperfmon@ip-10-13-0-252 (TNS V1-V3)
select decode(class,1,'User',2,'Redo',4,'Enqueue',8,'Cache',16,'OS',64,'SQL','Ot
her') class, name, value from v$sysstat where class not in (32,128) and name not
 like 'session%' and name not like 'java session%' and not regexp_like (name,'(O
LAP|^IM|spare|cell|^flash|^gc|^HSC|^EHCC|^(W|w)orkload|^(C|c)luster|RAC)') order

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

^LSQL ordered by CPU Time                      DB/Inst: ORCL/ORCL  Snaps: 23-24
-> Resources reported for PL/SQL code includes the resources used by all SQL
   statements called by the code.
-> %Total - CPU Time      as a percentage of Total DB CPU
-> %CPU   - CPU Time      as a percentage of Elapsed Time
-> %IO    - User I/O Time as a percentage of Elapsed Time
-> Captured SQL account for   35.1% of Total CPU Time (s):           1,947
-> Captured PL/SQL account for    0.0% of Total CPU Time (s):           1,947

    CPU                   CPU per           Elapsed
  Time (s)  Executions    Exec (s) %Total   Time (s)   %CPU    %IO    SQL Id
---------- ------------ ---------- ------ ---------- ------ ------ -------------
     314.1    1,668,249       0.00   16.1      833.4   37.7     .0 21yp54r1kwdcw
Module: JDBC Thin Client
INSERT ALL INTO authors (id,name,email) VALUES ( serial.nextval ,'Priya','p@g
mail.com') INTO authors (id,name,email) VALUES ( serial.nextval ,'Priya','p@
gmail.com') INTO authors (id,name,email) VALUES ( serial.nextval ,'Priya','p
@gmail.com') INTO authors (id,name,email) VALUES ( serial.nextval ,'Priya','

     159.8    1,667,916       0.00    8.2      454.9   35.1     .0 djyntpq5hxwpk
Module: JDBC Thin Client
delete from authors where id < ( select * from (select max(id) - 30 from author
s) a ) and id > ( select * from (select max(id) - 500 from authors) b )

     117.5    1,667,137       0.00    6.0      260.7   45.1     .0 2fpz2m7duxb64
Module: JDBC Thin Client
select count(*) from authors where id < ( select max(id) - 30 from authors) and
 id > ( select max(id) - 2500 from authors) union select count(*) from authors
where id < ( select max(id) - 30 from authors) and id > ( select max(id) - 1500
 from authors) union select count(*) from authors where id < ( select max(id) -

      83.0    1,668,262       0.00    4.3      294.0   28.2     .0 128ccsst17vwb
Module: JDBC Thin Client
update authors set email = 'toto' where id > ( select max(id) - 1 from authors)

       4.8       83,419       0.00    0.2        5.1   94.1     .0 4m7m0t6fjcs5x
update seq$ set increment$=:2,minvalue=:3,maxvalue=:4,cycle#=:5,order$=:6,cache=
:7,highwater=:8,audit$=:9,flags=:10 where obj#=:1

       3.3        1,843       0.00    0.2        4.1   80.2     .0 3p9jxd3w1hdx9
Module: rdsoracleperfmon@ip-10-13-0-252 (TNS V1-V3)
select s.sid||':'||s.serial# session_id, nvl(s.username,decode(s.type,'BACKGRO
UND','SYS')) username, s.machine, q.force_matching_signature, s.sql_id,
s.sql_hash_value, substr(q.sql_text, 1, 1000) sql_text, nvl (c.command_name,
 decode(s.wait_class,'Commit',s.wait_class, decode(s.type,'BACKGROUND', b.na

       0.6            1       0.57    0.0        0.6   88.2     .0 bunssq950snhf
insert into wrh$_sga_target_advice (snap_id, dbid, instance_number, SGA_SIZ
E, SGA_SIZE_FACTOR, ESTD_DB_TIME, ESTD_PHYSICAL_READS) select :snap_id, :dbi
d, :instance_number, SGA_SIZE, SGA_SIZE_FACTOR, ESTD_DB_TIME, ESTD_PHYSICAL_R
EADS from v$sga_target_advice

       0.3           30       0.01    0.0        0.4   93.9     .0 75p1jt4wbk27n
Module: rdsoracleperfmon@ip-10-13-0-252 (TNS V1-V3)
select decode(class,1,'User',2,'Redo',4,'Enqueue',8,'Cache',16,'OS',64,'SQL','Ot
her') class, name, value from v$sysstat where class not in (32,128) and name not
 like 'session%' and name not like 'java session%' and not regexp_like (name,'(O
LAP|^IM|spare|cell|^flash|^gc|^HSC|^EHCC|^(W|w)orkload|^(C|c)luster|RAC)') order

       0.2           61       0.00    0.0        0.8   25.0     .0 ca6tq9wk5wakf
Module: JDBC Thin Client
select * from (select name, to_char(next_time, 'YYYY/MM/DD HH24:MI:SS') as resto
rable_time, recid from sys.v_$archived_log al JOIN sys.v_$database_incarnation d
i ON di.RESETLOGS_ID = al.RESETLOGS_ID and di.STATUS = 'CURRENT' where al.name i
s NOT NULL and al.standby_dest = 'NO' AND al.archived = 'YES' AND al.thread# = 1

       0.2        1,242       0.00    0.0        0.3   63.9     .0 cm5vu20fhtnq1
select /*+ connect_by_filtering */ privilege#,level from sysauth$ connect by gra
ntee#=prior privilege# and privilege#>0 start with grantee#=:1 and privilege#>0

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

^LSQL ordered by User I/O Wait Time            DB/Inst: ORCL/ORCL  Snaps: 23-24
-> Resources reported for PL/SQL code includes the resources used by all SQL
   statements called by the code.
-> %Total - User I/O Time as a percentage of Total User I/O Wait time
-> %CPU   - CPU Time      as a percentage of Elapsed Time
-> %IO    - User I/O Time as a percentage of Elapsed Time
-> Captured SQL account for   19.2% of Total User I/O Wait Time (s):
-> Captured PL/SQL account for    0.2% of Total User I/O Wait Time (s):
  User I/O                UIO per           Elapsed
  Time (s)  Executions    Exec (s) %Total   Time (s)   %CPU    %IO    SQL Id
---------- ------------ ---------- ------ ---------- ------ ------ -------------
       0.2           60       0.00   18.7        0.6    2.0   38.2 3h0a0h5srz9t9
Module: JDBC Thin Client
select count(*) from sys.v_$datafile where status in ('RECOVER','ONLINE') and EN
ABLED != 'READ ONLY' and checkpoint_time < sysdate-(120/1440)

       0.0            1       0.00    0.2        0.1   96.1    3.3 6ajkhukk78nsr
begin prvt_hdm.auto_execute( :dbid, :inst_num , :end_snap_id ); end;

       0.0            1       0.00    0.2        0.0   39.7   56.9 47mm81hm9sggy
 SELECT sum(case when a.session_type = 1 and a.wait_time = 0 then 1
else 0 end) as fgw, sum(case when a.session_type = 1 and a.wait_time <>
0 then 1 else 0 end) as fgc, sum(case when a.session_type <>
 1 and a.wait_time = 0 then 1 else 0 end) as bgw, sum(case w

       0.0            1       0.00    0.2        0.0   77.5   11.6 85px9dq62dc0q
INSERT /*+ APPEND LEADING(@"SEL$F5BB74E1" "H"@"SEL$2" "A"@"SEL$1") USE_NL(@"SE
L$F5BB74E1" "A"@"SEL$1") */ INTO WRH$_ACTIVE_SESSION_HISTORY ( snap_id,
dbid, instance_number, sample_id, sample_time , session_id, session_serial#, ses
sion_type , flags , user_id , sql_id, sql_child_number, sql_opcode, force_matchi

       0.0    1,668,262       0.00    0.1      294.0   28.2     .0 128ccsst17vwb
Module: JDBC Thin Client
update authors set email = 'toto' where id > ( select max(id) - 1 from authors)

       0.0           62       0.00    0.0        0.0   66.8     .0 0k8522rmdzg4k
select privilege# from sysauth$ where (grantee#=:1 or grantee#=1) and privilege#
>0

       0.0          240       0.00    0.0        0.1   80.1     .0 0kqxgptj0p6rt
Module: JDBC Thin Client
SELECT count(1) FROM dba_users WHERE username = 'RDSADMIN'

       0.0            1       0.00    0.0        0.0  100.2     .0 0pt4jfmq9f1q0
SELECT x.statistic# as stat_id, x.keh_id as keh_id, nvl(awr_time.value_diff, 0
) as value_diff FROM X$KEHTIMMAP x ,(SELECT startsn.stat_id as stat_id, sum(G
REATEST( 0, (endsn.value - startsn.value) )) as value_diff FROM WRH$_SYS_TIME_
MODEL startsn , WRH$_SYS_TIME_MODEL endsn WHERE endsn.dbid = :dbid AND ends

       0.0           67       0.00    0.0        0.0   87.1     .0 0ws7ahf1d78qa
select SYS_CONTEXT('USERENV', 'SERVER_HOST'), SYS_CONTEXT('USERENV', 'DB_UNIQUE_
NAME'), SYS_CONTEXT('USERENV', 'INSTANCE_NAME'), SYS_CONTEXT('USERENV', 'SERVICE
_NAME'), INSTANCE_NUMBER, STARTUP_TIME, SYS_CONTEXT('USERENV', 'DB_DOMAIN') from
 v$instance where INSTANCE_NAME=SYS_CONTEXT('USERENV', 'INSTANCE_NAME')

       0.0            1       0.00    0.0        0.0  100.0     .0 155cwuv2pfp1d
 SELECT distinct x.id, e.instance_number FROM WRM$_SNAP_ERROR e , X$KEHSQT
x WHERE e.table_name = x.name AND e.dbid = :dbid AND e.instance_number =
:inst AND e.snap_id IN (:bid, :eid) AND x.ver_type = :edge

                          ------------------------------------------------------
^LSQL ordered by Gets                          DB/Inst: ORCL/ORCL  Snaps: 23-24
-> Resources reported for PL/SQL code includes the resources used by all SQL
   statements called by the code.
-> %Total - Buffer Gets   as a percentage of Total Buffer Gets
-> %CPU   - CPU Time      as a percentage of Elapsed Time
-> %IO    - User I/O Time as a percentage of Elapsed Time
-> Total Buffer Gets:     204,307,245
-> Captured SQL account for   98.1% of Total

     Buffer                 Gets              Elapsed
      Gets   Executions   per Exec   %Total   Time (s)  %CPU   %IO    SQL Id
----------- ----------- ------------ ------ ---------- ----- ----- -------------
1.03668E+08   1,668,249         62.1   50.7      833.4  37.7     0 21yp54r1kwdcw
Module: JDBC Thin Client
INSERT ALL INTO authors (id,name,email) VALUES ( serial.nextval ,'Priya','p@g
mail.com') INTO authors (id,name,email) VALUES ( serial.nextval ,'Priya','p@
gmail.com') INTO authors (id,name,email) VALUES ( serial.nextval ,'Priya','p
@gmail.com') INTO authors (id,name,email) VALUES ( serial.nextval ,'Priya','

 51,657,287   1,667,137         31.0   25.3      260.7  45.1     0 2fpz2m7duxb64
Module: JDBC Thin Client
select count(*) from authors where id < ( select max(id) - 30 from authors) and
 id > ( select max(id) - 2500 from authors) union select count(*) from authors
where id < ( select max(id) - 30 from authors) and id > ( select max(id) - 1500
 from authors) union select count(*) from authors where id < ( select max(id) -

 28,710,182   1,667,916         17.2   14.1      454.9  35.1     0 djyntpq5hxwpk
Module: JDBC Thin Client
delete from authors where id < ( select * from (select max(id) - 30 from author
s) a ) and id > ( select * from (select max(id) - 500 from authors) b )

 16,135,337   1,668,262          9.7    7.9      294.0  28.2     0 128ccsst17vwb
Module: JDBC Thin Client
update authors set email = 'toto' where id > ( select max(id) - 1 from authors)

    254,263      83,419          3.0    0.1        5.1  94.1     0 4m7m0t6fjcs5x
update seq$ set increment$=:2,minvalue=:3,maxvalue=:4,cycle#=:5,order$=:6,cache=
:7,highwater=:8,audit$=:9,flags=:10 where obj#=:1

     10,226           1     10,226.0    0.0        0.1  96.1   3.3 6ajkhukk78nsr
begin prvt_hdm.auto_execute( :dbid, :inst_num , :end_snap_id ); end;

      7,444       1,242          6.0    0.0        0.3  63.9     0 cm5vu20fhtnq1
select /*+ connect_by_filtering */ privilege#,level from sysauth$ connect by gra
ntee#=prior privilege# and privilege#>0 start with grantee#=:1 and privilege#>0

      6,986           1      6,986.0    0.0        0.0 102.4     0 cw860p03hy5ff
 SELECT count(*) as cnt , a.SQL_ID, a.CURRENT_OBJ#, sum
(case when a.event_id in (:e0, :e1, :e2, :e3, :e4, :e5, :e6, :e7) then 1 else 0
end) as full_scan FROM WRH$_ACTIVE_SESSION_HISTORY a , WRH$_EVENT_NAME en
 WHERE a.dbid = :dbid AND a.instance_number = :inst AND a.snap_id > :bid AND

      3,840         240         16.0    0.0        0.1  80.1     0 0kqxgptj0p6rt
Module: JDBC Thin Client
SELECT count(1) FROM dba_users WHERE username = 'RDSADMIN'

      1,488          62         24.0    0.0        0.0  66.8     0 0k8522rmdzg4k
select privilege# from sysauth$ where (grantee#=:1 or grantee#=1) and privilege#
>0

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

^LSQL ordered by Reads                         DB/Inst: ORCL/ORCL  Snaps: 23-24
-> %Total - Physical Reads as a percentage of Total Disk Reads
-> %CPU   - CPU Time      as a percentage of Elapsed Time
-> %IO    - User I/O Time as a percentage of Elapsed Time
-> Total Disk Reads:             810
-> Captured SQL account for    3.5% of Total

   Physical              Reads              Elapsed
      Reads  Executions per Exec   %Total   Time (s)   %CPU    %IO    SQL Id
----------- ----------- ---------- ------ ---------- ------ ------ -------------
         28           1       28.0    3.5        0.0   39.7   56.9 47mm81hm9sggy
 SELECT sum(case when a.session_type = 1 and a.wait_time = 0 then 1
else 0 end) as fgw, sum(case when a.session_type = 1 and a.wait_time <>
0 then 1 else 0 end) as fgc, sum(case when a.session_type <>
 1 and a.wait_time = 0 then 1 else 0 end) as bgw, sum(case w

         28           1       28.0    3.5        0.1   96.1    3.3 6ajkhukk78nsr
begin prvt_hdm.auto_execute( :dbid, :inst_num , :end_snap_id ); end;

          0          62        0.0    0.0        0.0   66.8     .0 0k8522rmdzg4k
select privilege# from sysauth$ where (grantee#=:1 or grantee#=1) and privilege#
>0

          0         240        0.0    0.0        0.1   80.1     .0 0kqxgptj0p6rt
Module: JDBC Thin Client
SELECT count(1) FROM dba_users WHERE username = 'RDSADMIN'

          0           1        0.0    0.0        0.0  100.2     .0 0pt4jfmq9f1q0
SELECT x.statistic# as stat_id, x.keh_id as keh_id, nvl(awr_time.value_diff, 0
) as value_diff FROM X$KEHTIMMAP x ,(SELECT startsn.stat_id as stat_id, sum(G
REATEST( 0, (endsn.value - startsn.value) )) as value_diff FROM WRH$_SYS_TIME_
MODEL startsn , WRH$_SYS_TIME_MODEL endsn WHERE endsn.dbid = :dbid AND ends

          0          67        0.0    0.0        0.0   87.1     .0 0ws7ahf1d78qa
select SYS_CONTEXT('USERENV', 'SERVER_HOST'), SYS_CONTEXT('USERENV', 'DB_UNIQUE_
NAME'), SYS_CONTEXT('USERENV', 'INSTANCE_NAME'), SYS_CONTEXT('USERENV', 'SERVICE
_NAME'), INSTANCE_NUMBER, STARTUP_TIME, SYS_CONTEXT('USERENV', 'DB_DOMAIN') from
 v$instance where INSTANCE_NAME=SYS_CONTEXT('USERENV', 'INSTANCE_NAME')

          0   1,668,262        0.0    0.0      294.0   28.2     .0 128ccsst17vwb
Module: JDBC Thin Client
update authors set email = 'toto' where id > ( select max(id) - 1 from authors)

          0           1        0.0    0.0        0.0  100.0     .0 155cwuv2pfp1d
 SELECT distinct x.id, e.instance_number FROM WRM$_SNAP_ERROR e , X$KEHSQT
x WHERE e.table_name = x.name AND e.dbid = :dbid AND e.instance_number =
:inst AND e.snap_id IN (:bid, :eid) AND x.ver_type = :edge

          0           1        0.0    0.0        0.0     .0     .0 181cvj277dvuq
Module: JDBC Thin Client
select count(*) from sys.dba_triggers where owner = 'RDSADMIN' and trigger_name
= 'RDS_GRANT_TRIGGER' and status = 'ENABLED'

          0           1        0.0    0.0        0.0  100.6     .0 18c2yb5aj919t
 SELECT nvl(e1,0) as e1, nvl(e2,0) as e2, nvl(e3,0) as e3,
nvl(e4,0) as e4, nvl(e5,0) as e5, nvl(e6,0) as e6 FROM (SELECT e.
event_id as event_id, e.event_name as event_name FROM WRH$_EVENT_NAME e
 WHERE e.dbid = :dbid AND e.event_name in ('log

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


LSQL ordered by Physical Reads (UnOptimized)  DB/Inst: ORCL/ORCL  Snaps: 23-24
-> UnOptimized Read Reqs = Physical Read Reqts - Optimized Read Reqs
-> %Opt   - Optimized Reads as percentage of SQL Read Requests
-> %Total - UnOptimized Read Reqs as a percentage of Total UnOptimized Read Reqs
-> Total Physical Read Requests:             790
-> Captured SQL account for  162.2% of Total
-> Total UnOptimized Read Requests:             790
-> Captured SQL account for  162.2% of Total
-> Total Optimized Read Requests:               1
-> Captured SQL account for    0.0% of Total

UnOptimized   Physical              UnOptimized
  Read Reqs   Read Reqs Executions Reqs per Exe   %Opt %Total    SQL Id
----------- ----------- ---------- ------------ ------ ------ -------------
        741         741         61         12.1    0.0   93.8 ca6tq9wk5wakf
Module: JDBC Thin Client
select * from (select name, to_char(next_time, 'YYYY/MM/DD HH24:MI:SS') as resto
rable_time, recid from sys.v_$archived_log al JOIN sys.v_$database_incarnation d
i ON di.RESETLOGS_ID = al.RESETLOGS_ID and di.STATUS = 'CURRENT' where al.name i
s NOT NULL and al.standby_dest = 'NO' AND al.archived = 'YES' AND al.thread# = 1

        540         540         60          9.0    0.0   68.4 3h0a0h5srz9t9
Module: JDBC Thin Client
select count(*) from sys.v_$datafile where status in ('RECOVER','ONLINE') and EN
ABLED != 'READ ONLY' and checkpoint_time < sysdate-(120/1440)

          8           8          1          8.0    0.0    1.0 6ajkhukk78nsr
begin prvt_hdm.auto_execute( :dbid, :inst_num , :end_snap_id ); end;

          0           0         62          0.0    N/A    0.0 0k8522rmdzg4k
select privilege# from sysauth$ where (grantee#=:1 or grantee#=1) and privilege#
>0

          0           0        240          0.0    N/A    0.0 0kqxgptj0p6rt
Module: JDBC Thin Client
SELECT count(1) FROM dba_users WHERE username = 'RDSADMIN'

          0           0          1          0.0    N/A    0.0 0pt4jfmq9f1q0
SELECT x.statistic# as stat_id, x.keh_id as keh_id, nvl(awr_time.value_diff, 0
) as value_diff FROM X$KEHTIMMAP x ,(SELECT startsn.stat_id as stat_id, sum(G
REATEST( 0, (endsn.value - startsn.value) )) as value_diff FROM WRH$_SYS_TIME_
MODEL startsn , WRH$_SYS_TIME_MODEL endsn WHERE endsn.dbid = :dbid AND ends

          0           0         67          0.0    N/A    0.0 0ws7ahf1d78qa
select SYS_CONTEXT('USERENV', 'SERVER_HOST'), SYS_CONTEXT('USERENV', 'DB_UNIQUE_
NAME'), SYS_CONTEXT('USERENV', 'INSTANCE_NAME'), SYS_CONTEXT('USERENV', 'SERVICE
_NAME'), INSTANCE_NUMBER, STARTUP_TIME, SYS_CONTEXT('USERENV', 'DB_DOMAIN') from
 v$instance where INSTANCE_NAME=SYS_CONTEXT('USERENV', 'INSTANCE_NAME')

          0           0  1,668,262          0.0    N/A    0.0 128ccsst17vwb
Module: JDBC Thin Client
update authors set email = 'toto' where id > ( select max(id) - 1 from authors)

          0           0          1          0.0    N/A    0.0 155cwuv2pfp1d
 SELECT distinct x.id, e.instance_number FROM WRM$_SNAP_ERROR e , X$KEHSQT
x WHERE e.table_name = x.name AND e.dbid = :dbid AND e.instance_number =
:inst AND e.snap_id IN (:bid, :eid) AND x.ver_type = :edge

         0           0          1          0.0    N/A    0.0 181cvj277dvuq
Module: JDBC Thin Client
select count(*) from sys.dba_triggers where owner = 'RDSADMIN' and trigger_name
= 'RDS_GRANT_TRIGGER' and status = 'ENABLED'

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

^LSQL ordered by Executions                    DB/Inst: ORCL/ORCL  Snaps: 23-24
-> %CPU   - CPU Time      as a percentage of Elapsed Time
-> %IO    - User I/O Time as a percentage of Elapsed Time
-> Total Executions:       6,763,255
-> Captured SQL account for  100.0% of Total

                                              Elapsed
 Executions   Rows Processed  Rows per Exec   Time (s)  %CPU   %IO    SQL Id
------------ --------------- -------------- ---------- ----- ----- -------------
   1,668,262      16,682,570           10.0      294.0  28.2     0 128ccsst17vwb
Module: JDBC Thin Client
update authors set email = 'toto' where id > ( select max(id) - 1 from authors)

   1,668,249      16,682,340           10.0      833.4  37.7     0 21yp54r1kwdcw
Module: JDBC Thin Client
INSERT ALL INTO authors (id,name,email) VALUES ( serial.nextval ,'Priya','p@g
mail.com') INTO authors (id,name,email) VALUES ( serial.nextval ,'Priya','p@
gmail.com') INTO authors (id,name,email) VALUES ( serial.nextval ,'Priya','p
@gmail.com') INTO authors (id,name,email) VALUES ( serial.nextval ,'Priya','

   1,667,916      16,682,560           10.0      454.9  35.1     0 djyntpq5hxwpk
Module: JDBC Thin Client
delete from authors where id < ( select * from (select max(id) - 30 from author
s) a ) and id > ( select * from (select max(id) - 500 from authors) b )

   1,667,137       1,667,976            1.0      260.7  45.1     0 2fpz2m7duxb64
Module: JDBC Thin Client
select count(*) from authors where id < ( select max(id) - 30 from authors) and
 id > ( select max(id) - 2500 from authors) union select count(*) from authors
where id < ( select max(id) - 30 from authors) and id > ( select max(id) - 1500
 from authors) union select count(*) from authors where id < ( select max(id) -

      83,419          83,419            1.0        5.1  94.1     0 4m7m0t6fjcs5x
update seq$ set increment$=:2,minvalue=:3,maxvalue=:4,cycle#=:5,order$=:6,cache=
:7,highwater=:8,audit$=:9,flags=:10 where obj#=:1

       1,843           4,199            2.3        4.1  80.2     0 3p9jxd3w1hdx9
Module: rdsoracleperfmon@ip-10-13-0-252 (TNS V1-V3)
select s.sid||':'||s.serial# session_id, nvl(s.username,decode(s.type,'BACKGRO
UND','SYS')) username, s.machine, q.force_matching_signature, s.sql_id,
s.sql_hash_value, substr(q.sql_text, 1, 1000) sql_text, nvl (c.command_name,
 decode(s.wait_class,'Commit',s.wait_class, decode(s.type,'BACKGROUND', b.na

       1,242           3,782            3.0        0.3  63.9     0 cm5vu20fhtnq1
select /*+ connect_by_filtering */ privilege#,level from sysauth$ connect by gra
ntee#=prior privilege# and privilege#>0 start with grantee#=:1 and privilege#>0

         491             491            1.0        0.0  15.8     0 d3mr8mdgarrrf
Module: JDBC Thin Client
Select 1 from dual

         357             357            1.0        0.0  15.9     0 bunvx480ynf57
Module: rdsoracleperfmon@ip-10-13-0-252 (TNS V1-V3)
SELECT 1 FROM DUAL

         240             240            1.0        0.1  80.1     0 0kqxgptj0p6rt
Module: JDBC Thin Client
SELECT count(1) FROM dba_users WHERE username = 'RDSADMIN'

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

^LSQL ordered by Parse Calls                   DB/Inst: ORCL/ORCL  Snaps: 23-24
-> Total Parse Calls:       6,679,380
-> Captured SQL account for   98.0% of Total

                            % Total
 Parse Calls  Executions     Parses    SQL Id
------------ ------------ --------- -------------
   1,646,465    1,668,249     24.65 21yp54r1kwdcw
Module: JDBC Thin Client
INSERT ALL INTO authors (id,name,email) VALUES ( serial.nextval ,'Priya','p@g
mail.com') INTO authors (id,name,email) VALUES ( serial.nextval ,'Priya','p@
gmail.com') INTO authors (id,name,email) VALUES ( serial.nextval ,'Priya','p
@gmail.com') INTO authors (id,name,email) VALUES ( serial.nextval ,'Priya','

   1,644,580    1,667,916     24.62 djyntpq5hxwpk
Module: JDBC Thin Client
delete from authors where id < ( select * from (select max(id) - 30 from author
s) a ) and id > ( select * from (select max(id) - 500 from authors) b )

   1,631,166    1,667,137     24.42 2fpz2m7duxb64
Module: JDBC Thin Client
select count(*) from authors where id < ( select max(id) - 30 from authors) and
 id > ( select max(id) - 2500 from authors) union select count(*) from authors
where id < ( select max(id) - 30 from authors) and id > ( select max(id) - 1500
 from authors) union select count(*) from authors where id < ( select max(id) -

   1,618,879    1,668,262     24.24 128ccsst17vwb
Module: JDBC Thin Client
update authors set email = 'toto' where id > ( select max(id) - 1 from authors)

       1,843        1,843      0.03 3p9jxd3w1hdx9
Module: rdsoracleperfmon@ip-10-13-0-252 (TNS V1-V3)
select s.sid||':'||s.serial# session_id, nvl(s.username,decode(s.type,'BACKGRO
UND','SYS')) username, s.machine, q.force_matching_signature, s.sql_id,
s.sql_hash_value, substr(q.sql_text, 1, 1000) sql_text, nvl (c.command_name,
 decode(s.wait_class,'Commit',s.wait_class, decode(s.type,'BACKGROUND', b.na

       1,242        1,242      0.02 cm5vu20fhtnq1
select /*+ connect_by_filtering */ privilege#,level from sysauth$ connect by gra
ntee#=prior privilege# and privilege#>0 start with grantee#=:1 and privilege#>0

         444          491      0.01 d3mr8mdgarrrf
Module: JDBC Thin Client
Select 1 from dual


         357          357      0.01 bunvx480ynf57
Module: rdsoracleperfmon@ip-10-13-0-252 (TNS V1-V3)
SELECT 1 FROM DUAL

         240          240      0.00 0kqxgptj0p6rt
Module: JDBC Thin Client
SELECT count(1) FROM dba_users WHERE username = 'RDSADMIN'

          86           86      0.00 g00cj285jmgsw
update sys.mon_mods$ set inserts = inserts + :ins, updates = updates + :upd, del
etes = deletes + :del, flags = (decode(bitand(flags, :flag), :flag, flags, flags
 + :flag)), drop_segments = drop_segments + :dropseg, timestamp = :time where ob
j# = :objn

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

^LSQL ordered by Sharable Memory               DB/Inst: ORCL/ORCL  Snaps: 23-24

                  No data exists for this section of the report.
                          ------------------------------------------------------

^LSQL ordered by Version Count                 DB/Inst: ORCL/ORCL  Snaps: 23-24

                  No data exists for this section of the report.
                          ------------------------------------------------------

^LKey Instance Activity Stats                  DB/Inst: ORCL/ORCL  Snaps: 23-24
-> Ordered by statistic name

Statistic                                     Total     per Second     per Trans
-------------------------------- ------------------ -------------- -------------
db block changes                        128,440,171       36,004.1          31.7
execute count                             6,763,255        1,895.9           1.7
logons cumulative                                83            0.0           0.0
opened cursors cumulative                 6,762,912        1,895.8           1.7
parse count (total)                       6,679,380        1,872.4           1.7
parse time elapsed                            4,427            1.2           0.0
physical reads                                  810            0.2           0.0
physical writes                             855,813          239.9           0.2
redo size                            16,990,119,384    4,762,632.4       4,196.8
session cursor cache hits                    77,548           21.7           0.0
session logical reads                   204,307,245       57,271.0          50.5
user calls                               13,363,557        3,746.0           3.3
user commits                              4,048,312        1,134.8           1.0
workarea executions - optimal             2,384,500          668.4           0.6
                          ------------------------------------------------------



^LOther Instance Activity Stats                DB/Inst: ORCL/ORCL  Snaps: 23-24
-> Ordered by statistic name

Statistic                                     Total     per Second     per Trans
-------------------------------- ------------------ -------------- -------------
Batched IO (bound) vector count                   0            0.0           0.0
Batched IO (full) vector count                    0            0.0           0.0
Batched IO block miss count                       0            0.0           0.0
Batched IO buffer defrag count                    0            0.0           0.0
Batched IO double miss count                      0            0.0           0.0
Batched IO same unit count                        0            0.0           0.0
Batched IO single block count                     0            0.0           0.0
Batched IO vector block count                     0            0.0           0.0
Batched IO vector read count                      0            0.0           0.0
Block Cleanout Optim referenced                   3            0.0           0.0
CCursor + sql area evicted                        0            0.0           0.0
CPU used by this session                    169,854           47.6           0.0
CPU used when call started                  169,437           47.5           0.0
CR blocks created                           445,415          124.9           0.1
Cached Commit SCN referenced                  7,260            2.0           0.0
Commit SCN cached                            26,256            7.4           0.0
DBWR checkpoint buffers written             855,036          239.7           0.2
DBWR checkpoints                                155            0.0           0.0
DBWR revisited being-written buf                  3            0.0           0.0
DBWR thread checkpoint buffers w            855,036          239.7           0.2
DBWR transaction table writes                   555            0.2           0.0
DBWR undo block writes                      853,316          239.2           0.2
Effective IO time                                 0            0.0           0.0
HSC Heap Segment Block Changes           41,562,557       11,650.7          10.3
Heap Segment Array Inserts               16,684,612        4,677.0           4.1
Heap Segment Array Updates                1,045,076          293.0           0.3
IMU CR rollbacks                                262            0.1           0.0
IMU Flushes                               2,736,609          767.1           0.7
IMU Redo allocation size              7,883,745,880    2,209,954.1       1,947.4
IMU commits                               1,447,676          405.8           0.4
IMU contention                              362,320          101.6           0.1
IMU ktichg flush                                  0            0.0           0.0
IMU pool not allocated                      127,058           35.6           0.0
IMU undo allocation size             32,646,758,648    9,151,466.5       8,064.3
IMU- failed to get a private str            127,058           35.6           0.0
Number of read IOs issued                         0            0.0           0.0
Requests to/from client                   6,685,887        1,874.2           1.7
SMON posted for undo segment shr                 50            0.0           0.0
SQL*Net roundtrips to/from clien          6,685,883        1,874.2           1.7
TBS Extension: bytes extended                     0            0.0           0.0
TBS Extension: files extended                     0            0.0           0.0
TBS Extension: tasks created                      0            0.0           0.0
TBS Extension: tasks executed                     0            0.0           0.0
active txn count during cleanout            954,481          267.6           0.2
auto extends on undo tablespace                   0            0.0           0.0
background checkpoints completed                156            0.0           0.0
background checkpoints started                  155            0.0           0.0
background timeouts                          16,771            4.7           0.0
buffer is not pinned count               59,277,768       16,616.6          14.6
buffer is pinned count                   17,737,723        4,972.2           4.4
bytes received via SQL*Net from       4,388,680,667    1,230,225.2       1,084.1
bytes sent via SQL*Net to client        624,356,803      175,018.3         154.2
calls to get snapshot scn: kcmgs         11,156,856        3,127.5           2.8
calls to kcmgas                           5,845,836        1,638.7           1.4
calls to kcmgcs                          33,990,250        9,528.1           8.4
cell physical IO interconnect by     62,515,707,392   17,524,263.6      15,442.4
change write time                            42,538           11.9           0.0
cleanout - number of ktugct call          1,139,165          319.3           0.3
cleanouts and rollbacks - consis            509,091          142.7           0.1
cleanouts only - consistent read             99,170           27.8           0.0
^LOther Instance Activity Stats                DB/Inst: ORCL/ORCL  Snaps: 23-24
-> Ordered by statistic name

Statistic                                     Total     per Second     per Trans
-------------------------------- ------------------ -------------- -------------
cluster key scan block gets                     510            0.1           0.0
cluster key scans                               510            0.1           0.0
commit batch/immediate performed                  0            0.0           0.0
commit batch/immediate requested                  0            0.0           0.0
commit cleanout failures: block                   0            0.0           0.0
commit cleanout failures: buffer                  4            0.0           0.0
commit cleanout failures: callba                135            0.0           0.0
commit cleanout failures: cannot            314,740           88.2           0.1
commit cleanouts                          7,588,079        2,127.1           1.9
commit cleanouts successfully co          7,273,200        2,038.8           1.8
commit immediate performed                        0            0.0           0.0
commit immediate requested                        0            0.0           0.0
commit txn count during cleanout            360,974          101.2           0.1
consistent changes                        3,391,626          950.7           0.8
consistent gets                          80,542,873       22,577.6          19.9
consistent gets - examination             4,656,779        1,305.4           1.2
consistent gets direct                            0            0.0           0.0
consistent gets from cache               80,542,873       22,577.6          19.9
consistent gets from cache (fast         17,153,679        4,808.5           4.2
cursor authentications                           21            0.0           0.0
data blocks consistent reads - u          3,256,005          912.7           0.8
db block gets                           123,764,360       34,693.4          30.6
db block gets direct                             28            0.0           0.0
db block gets from cache                123,764,332       34,693.3          30.6
db block gets from cache (fastpa         26,902,471        7,541.2           6.7
deferred (CURRENT) block cleanou          2,600,211          728.9           0.6
enqueue conversions                           3,455            1.0           0.0
enqueue releases                         13,832,614        3,877.5           3.4
enqueue requests                         13,832,621        3,877.5           3.4
enqueue timeouts                                  2            0.0           0.0
enqueue waits                               423,596          118.7           0.1
failed probes on index block rec                  0            0.0           0.0
free buffer inspected                        10,222            2.9           0.0
free buffer requested                     2,484,063          696.3           0.6
global undo segment hints helped                  0            0.0           0.0
global undo segment hints were s                  0            0.0           0.0
heap block compress                         107,507           30.1           0.0
immediate (CR) block cleanout ap            608,261          170.5           0.2
immediate (CURRENT) block cleano             28,028            7.9           0.0
index crx upgrade (positioned)                    0            0.0           0.0
index fast full scans (full)                    995            0.3           0.0
index fetch by key                           84,969           23.8           0.0
index scans kdiixs1                      59,960,451       16,808.0          14.8
leaf node 90-10 splits                           20            0.0           0.0
leaf node splits                                 29            0.0           0.0
lob reads                                         0            0.0           0.0
lob writes                                       48            0.0           0.0
lob writes unaligned                             48            0.0           0.0
logical read bytes from cache     1,673,684,623,360  469,163,538.3     413,427.8
max cf enq hold time                              0            0.0           0.0
messages received                         2,616,086          733.3           0.7
messages sent                             2,616,086          733.3           0.7
min active SCN optimization appl                 41            0.0           0.0
no buffer to keep pinned count                    0            0.0           0.0
no work - consistent read gets              789,829          221.4           0.2
non-idle wait count                      27,096,037        7,595.5           6.7
parse count (describe)                            0            0.0           0.0
parse count (failures)                            0            0.0           0.0
parse count (hard)                               10            0.0           0.0
parse time cpu                                    9            0.0           0.0
^LOther Instance Activity Stats                DB/Inst: ORCL/ORCL  Snaps: 23-24
-> Ordered by statistic name

Statistic                                     Total     per Second     per Trans
-------------------------------- ------------------ -------------- -------------
physical read IO requests                       790            0.2           0.0
physical read bytes                       6,635,520        1,860.1           1.6
physical read total IO requests              34,302            9.6           0.0
physical read total bytes            18,875,869,184    5,291,241.5       4,662.7
physical read total multi block              17,899            5.0           0.0
physical reads cache                             30            0.0           0.0
physical reads cache prefetch                    20            0.0           0.0
physical reads direct                           780            0.2           0.0
physical reads direct (lob)                       0            0.0           0.0
physical reads direct temporary                   0            0.0           0.0
physical reads prefetch warmup                   20            0.0           0.0
physical write IO requests                  251,370           70.5           0.1
physical write bytes                  7,010,820,096    1,965,257.4       1,731.8
physical write total IO requests          3,167,748          888.0           0.8
physical write total bytes           43,639,838,208   12,233,022.1      10,779.8
physical write total multi block             57,191           16.0           0.0
physical writes direct                          808            0.2           0.0
physical writes direct (lob)                      2            0.0           0.0
physical writes direct temporary                  0            0.0           0.0
physical writes from cache                  855,005          239.7           0.2
physical writes non checkpoint              708,767          198.7           0.2
pinned cursors current                            4            0.0           0.0
process last non-idle time                    4,560            1.3           0.0
recursive calls                           5,127,204        1,437.3           1.3
recursive cpu usage                           4,180            1.2           0.0
redo KB read                             17,814,209        4,993.6           4.4
redo blocks checksummed by FG (e          7,995,007        2,241.1           2.0
redo blocks written                      35,756,793       10,023.3           8.8
redo buffer allocation retries                  410            0.1           0.0
redo entries                             49,700,791       13,932.0          12.3
redo log space requests                         691            0.2           0.0
redo ordering marks                         112,321           31.5           0.0
redo size for direct writes                 230,428           64.6           0.1
redo subscn max counts                      152,956           42.9           0.0
redo synch long waits                         1,708            0.5           0.0
redo synch time                             369,850          103.7           0.1
redo synch time (usec)                3,698,507,708    1,036,757.4         913.6
redo synch time overhead (usec)         198,391,675       55,612.7          49.0
redo synch time overhead count (                 49            0.0           0.0
redo synch time overhead count (          4,042,627        1,133.2           1.0
redo synch time overhead count (              1,634            0.5           0.0
redo synch time overhead count (              3,886            1.1           0.0
redo synch time overhead count (                  0            0.0           0.0
redo synch writes                         4,048,305        1,134.8           1.0
redo wastage                            688,387,636      192,967.3         170.0
redo write info find                      4,048,197        1,134.8           1.0
redo write info find fail                         1            0.0           0.0
redo write time                             157,587           44.2           0.0
redo writes                               2,597,619          728.2           0.6
rollback changes - undo records                   0            0.0           0.0
rollbacks only - consistent read             22,116            6.2           0.0
rows fetched via callback                       678            0.2           0.0
session connect time                              0            0.0           0.0
shared hash latch upgrades - no          56,213,811       15,757.7          13.9
shared hash latch upgrades - wai          2,307,379          646.8           0.6
sorts (memory)                            3,861,606        1,082.5           1.0
sorts (rows)                             33,399,372        9,362.4           8.3
sql area evicted                                  0            0.0           0.0
sql area purged                                   0            0.0           0.0
switch current to new buffer              1,332,200          373.4           0.3
^LOther Instance Activity Stats                DB/Inst: ORCL/ORCL  Snaps: 23-24
-> Ordered by statistic name

Statistic                                     Total     per Second     per Trans
-------------------------------- ------------------ -------------- -------------
table fetch by rowid                         99,222           27.8           0.0
table fetch continued row                         0            0.0           0.0
table scan blocks gotten                      1,681            0.5           0.0
table scan rows gotten                       76,003           21.3           0.0
table scans (short tables)                    1,110            0.3           0.0
temp space allocated (bytes)                      0            0.0           0.0
total cf enq hold time                        4,600            1.3           0.0
total number of cf enq holders                  797            0.2           0.0
total number of times SMON poste                 54            0.0           0.0
transaction rollbacks                             0            0.0           0.0
undo change vector size               6,750,240,964    1,892,212.5       1,667.4
user logons cumulative                           67            0.0           0.0
user logouts cumulative                          68            0.0           0.0
write clones created in backgrou                  2            0.0           0.0
write clones created in foregrou                454            0.1           0.0
                          ------------------------------------------------------

^LInstance Activity Stats - Absolute Values    DB/Inst: ORCL/ORCL  Snaps: 23-24
-> Statistics with absolute values (should not be diffed)

Statistic                            Begin Value       End Value
-------------------------------- --------------- ---------------
logons current                                34              33
opened cursors current                        34              34
session cursor cache count                13,647          14,165
session pga memory                   317,235,240     308,502,240
session pga memory max               395,829,960     387,817,856
session uga memory                   131,833,304     136,933,720
session uga memory max             2,274,160,264   2,395,967,584
                          ------------------------------------------------------

Instance Activity Stats - Thread Activity     DB/Inst: ORCL/ORCL  Snaps: 23-24
-> Statistics identified by '(derived)' come from sources other than SYSSTAT

Statistic                                     Total  per Hour
-------------------------------- ------------------ ---------
log switches (derived)                          155    156.42
                          ------------------------------------------------------
IOStat by Function summary                    DB/Inst: ORCL/ORCL  Snaps: 23-24
-> 'Data' columns suffixed with M,G,T,P are in multiples of 1024
    other columns suffixed with K,M,G,T,P are in multiples of 1000
-> ordered by (Data Read + Write) desc

                Reads:   Reqs   Data    Writes:  Reqs   Data    Waits:    Avg
Function Name   Data    per sec per sec Data    per sec per sec Count    Tm(ms)
--------------- ------- ------- ------- ------- ------- ------- ------- -------
Others            17.5G     7.8   5.02M     17G     5.8  4.891M   13.5K     0.1
LGWR                86M     1.6   .024M   17.1G   811.6  4.901M   2605K     0.1
DBWR                 0M     0.0      0M    6.5G    70.2  1.873M       0     N/A
Direct Reads         6M     0.2   .002M      0M     0.0      0M       0     N/A
Direct Writes        0M     0.0      0M      6M     0.2   .002M       0     N/A
Buffer Cache Re      0M     0.0      0M      0M     0.0      0M      10     0.0
TOTAL:            17.6G     9.6  5.046M   40.6G   887.9 11.666M 2618.6K     0.1
                          ------------------------------------------------------

IOStat by Filetype summary                    DB/Inst: ORCL/ORCL  Snaps: 23-24
-> 'Data' columns suffixed with M,G,T,P are in multiples of 1024
    other columns suffixed with K,M,G,T,P are in multiples of 1000
-> Small Read and Large Read are average service times, in milliseconds
-> Ordered by (Data Read + Write) desc

                Reads:   Reqs   Data    Writes:  Reqs   Data      Small   Large
Filetype Name   Data    per sec per sec Data    per sec per sec    Read    Read
--------------- ------- ------- ------- ------- ------- ------- ------- -------
Log File            17G     5.2  4.877M     17G   811.2  4.894M     0.0     3.5
Archive Log          0M     0.0      0M     17G     4.9  4.877M     N/A     N/A
Data File           10M     0.3   .003M    6.5G    70.5  1.874M     0.1     N/A
Control File       596M     4.1   .167M     76M     1.4   .021M     0.1     1.3
TOTAL:            17.6G     9.6  5.047M   40.6G   887.9 11.666M     0.1     3.5
                          ------------------------------------------------------

IOStat by Function/Filetype summary           DB/Inst: ORCL/ORCL  Snaps: 23-24
-> 'Data' columns suffixed with M,G,T,P are in multiples of 1024
    other columns suffixed with K,M,G,T,P are in multiples of 1000
-> Ordered by (Data Read + Write) desc for each function

 Reads:   Reqs   Data    Writes:  Reqs   Data    Waits:    Avg
 Data    per sec per sec Data    per sec per sec Count    Tm(ms)
 ------- ------- ------- ------- ------- ------- ------- -------
Others
   17.5G     7.8   5.02M     17G     5.8  4.891M   10.2K     0.2
 Others (Log File)
     17G     5.1  4.877M      0M     0.0      0M     621     0.0
 Others (Archive Log)
      0M     0.0      0M     17G     4.9  4.877M       0     N/A
 Others (Control File)
    509M     2.6   .143M     51M     0.9   .014M    9276     0.2
 Others (Data File)
      2M     0.1   .001M      0M     0.0      0M     305     0.4
LGWR
     86M     1.6   .024M   17.1G   811.6  4.901M    6137     0.1
 LGWR (Log File)
      0M     0.1      0M     17G   811.2  4.894M     620     0.0
 LGWR (Control File)
     86M     1.5   .024M     24M     0.4   .007M    5517     0.1
DBWR
      0M     0.0      0M    6.5G    70.3  1.874M       0     N/A
      0M     0.0      0M    6.5G    70.3  1.874M       0     N/A
 DBWR (Data File)
      0M     0.0      0M    6.5G    70.3  1.874M       0     N/A
Direct Reads
      6M     0.2   .002M      0M     0.0      0M       0     N/A
 Direct Reads (Data File)
      6M     0.2   .002M      0M     0.0      0M       0     N/A
Direct Writes
      0M     0.0      0M      6M     0.2   .002M       0     N/A
 Direct Writes (Data File)
      0M     0.0      0M      6M     0.2   .002M       0     N/A
Buffer Cache Reads
      0M     0.0      0M      0M     0.0      0M       8     0.0
 Buffer Cache Reads (Data File)
      0M     0.0      0M      0M     0.0      0M       8     0.0
TOTAL:
   17.6G     9.6  5.046M   40.6G   887.9 11.667M   16.3K     0.1
                          ------------------------------------------------------

^LTablespace IO Stats                          DB/Inst: ORCL/ORCL  Snaps: 23-24
-> ordered by IOs (Reads + Writes) desc

Tablespace
------------------------------
          Av       Av     Av      1-bk  Av 1-bk          Writes        Av    Buf
  Reads   Rds/s  Rd(ms) Blks/Rd   Rds/s  Rd(ms)  Writes   avg/s Writes(ms)    Wa
------- ------- ------- ------- ------- ------- ------- ------- ---------- -----
UNDO_T1
    156       0     0.0     1.0 2.5E+05     0.0       0      70        0.3  813,
USERS
    156       0     0.0     1.0     653     0.0       0       0        2.9 3.55E
SYSAUX
    166       0     0.0     1.1     476     0.0       0       0        2.9
SYSTEM
    156       0     0.0     1.0     229     0.0       0       0        0.4
RDSADMIN
    156       0     0.0     1.0     156     0.0       0       0        0.0
                          ------------------------------------------------------

^LFile IO Stats                                DB/Inst: ORCL/ORCL  Snaps: 23-24
-> ordered by Tablespace, File

Tablespace               Filename
------------------------ ----------------------------------------------------
          Av       Av     Av      1-bk  Av 1-bk          Writes   Buffer  Av Buf
  Reads   Rds/s  Rd(ms) Blks/Rd   Rds/s  Rd(ms)  Writes   avg/s    Waits  Wt(ms)
------- ------- ------- ------- ------- ------- ------- ------- -------- -------
RDSADMIN                 /rdsdbdata/db/ORCL_A/datafile/o1_mf_rdsadmin_g52c5fo
    156       0     0.0     1.0       0     0.0     156       0        0     0.0
SYSAUX                   /rdsdbdata/db/ORCL_A/datafile/o1_mf_sysaux_g52bly2r_
    166       0     0.0     1.1       0     0.0     476       0        0     0.0
SYSTEM                   /rdsdbdata/db/ORCL_A/datafile/o1_mf_system_g52blcs9_
    156       0     0.0     1.0       0     0.0     229       0        0     0.0
UNDO_T1                  /rdsdbdata/db/ORCL_A/datafile/o1_mf_undo_t1_g52bmb96
    156       0     0.0     1.0       0     0.0 2.5E+05      70  813,152     0.1
USERS                    /rdsdbdata/db/ORCL_A/datafile/o1_mf_users_g52bmd5h_.
    156       0     0.0     1.0       0     0.0     653       0 3.55E+06     0.1
                          ------------------------------------------------------
^LBuffer Pool Statistics                       DB/Inst: ORCL/ORCL  Snaps: 23-24
-> Standard block size Pools  D: default,  K: keep,  R: recycle
-> Default Pools for other block sizes: 2k, 4k, 8k, 16k, 32k

                                                            Free   Writ   Buffer
     Number of Pool       Buffer     Physical    Physical   Buff   Comp     Busy
P      Buffers Hit%         Gets        Reads      Writes   Wait   Wait    Waits
--- ---------- ---- ------------ ------------ ----------- ------ ------ --------
D    1,225,340  100  203,886,410           30     855,005      0      0 4.36E+06
                          ------------------------------------------------------

Checkpoint Activity                           DB/Inst: ORCL/ORCL  Snaps: 23-24
-> Total Physical Writes:                      855,813

                                          Other    Autotune      Thread
       MTTR    Log Size    Log Ckpt    Settings        Ckpt        Ckpt
     Writes      Writes      Writes      Writes      Writes      Writes
----------- ----------- ----------- ----------- ----------- -----------
          0     853,497           0           0           0       1,539
                          ------------------------------------------------------

Instance Recovery Stats                       DB/Inst: ORCL/ORCL  Snaps: 23-24
-> B: Begin Snapshot,  E: End Snapshot

                                                                            Estd
  Targt  Estd                                     Log Ckpt Log Ckpt    Opt   RAC
  MTTR   MTTR Recovery  Actual   Target   Log Sz   Timeout Interval    Log Avail
   (s)    (s) Estd IOs RedoBlks RedoBlks RedoBlks RedoBlks RedoBlks  Sz(M)  Time
- ----- ----- -------- -------- -------- -------- -------- -------- ------ -----
B     0    41    15950   663396   636984   636984  1419489      N/A    N/A   N/A
E     0    42    15615   672998   636984   636984  1472527      N/A    N/A   N/A
                          ------------------------------------------------------

MTTR Advisory                                     DB/Inst: ORCL/ORCL  Snap: 24

                  No data exists for this section of the report.
                          ------------------------------------------------------

Buffer Pool Advisory                              DB/Inst: ORCL/ORCL  Snap: 24
-> Only rows with estimated physical reads >0 are displayed
-> ordered by Block Size, Buffers For Estimate


                                    Est
                                   Phys      Estimated                  Est
    Size for   Size      Buffers   Read     Phys Reads     Est Phys %DBtime
P    Est (M) Factor  (thousands) Factor    (thousands)    Read Time for Rds
--- -------- ------ ------------ ------ -------------- ------------ -------
D        992     .1          122    1.0             19            1     5.0
D      1,984     .2          244    1.0             19            1     5.0
D      2,976     .3          366    1.0             19            1     5.0
D      3,968     .4          489    1.0             19            1     5.0
D      4,960     .5          611    1.0             19            1     5.0
D      5,952     .6          733    1.0             19            1     5.0
D      6,944     .7          855    1.0             19            1     5.0
D      7,936     .8          977    1.0             19            1     5.0
D      8,928     .9        1,099    1.0             19            1     5.0
D      9,920    1.0        1,221    1.0             19            1     5.0
D      9,952    1.0        1,225    1.0             19            1     5.0
D     10,912    1.1        1,344    1.0             19            1     5.0
D     11,904    1.2        1,466    1.0             19            1     5.0
D     12,896    1.3        1,588    1.0             19            1     5.0
D     13,888    1.4        1,710    1.0             19            1     5.0
D     14,880    1.5        1,832    1.0             19            1     5.0
D     15,872    1.6        1,954    1.0             19            1     5.0
D     16,864    1.7        2,076    1.0             19            1     5.0
D     17,856    1.8        2,199    1.0             19            1     5.0
D     18,848    1.9        2,321    1.0             19            1     5.0
D     19,840    2.0        2,443    1.0             19            1     5.0
                          ------------------------------------------------------

^LPGA Aggr Summary                             DB/Inst: ORCL/ORCL  Snaps: 23-24
-> PGA cache hit % - percentage of W/A (WorkArea) data processed only in-memory

PGA Cache Hit %   W/A MB Processed  Extra W/A MB Read/Written
--------------- ------------------ --------------------------
          100.0              4,577                          0
                          ------------------------------------------------------

PGA Aggr Target Stats                         DB/Inst: ORCL/ORCL  Snaps: 23-24
-> B: Begin Snap   E: End Snap (rows dentified with B or E contain data
   which is absolute i.e. not diffed over the interval)
-> Auto PGA Target - actual workarea memory target
-> W/A PGA Used    - amount of memory used for all Workareas (manual + auto)
-> %PGA W/A Mem    - percentage of PGA memory allocated to workareas
-> %Auto W/A Mem   - percentage of workarea memory controlled by Auto Mem Mgmt
-> %Man W/A Mem    - percentage of workarea memory under manual control

                                                %PGA  %Auto   %Man
    PGA Aggr   Auto PGA   PGA Mem    W/A PGA     W/A    W/A    W/A Global Mem
   Target(M)  Target(M)  Alloc(M)    Used(M)     Mem    Mem    Mem   Bound(K)
- ---------- ---------- ---------- ---------- ------ ------ ------ ----------
B      1,944      1,551      265.3        0.0     .0     .0     .0    199,080
E      1,944      1,558      260.0        0.0     .0     .0     .0    199,080
                          ------------------------------------------------------

PGA Aggr Target Histogram                     DB/Inst: ORCL/ORCL  Snaps: 23-24
-> Optimal Executions are purely in-memory operations

  Low     High
Optimal Optimal    Total Execs  Optimal Execs 1-Pass Execs M-Pass Execs
------- ------- -------------- -------------- ------------ ------------
     2K      4K      2,325,896      2,325,896            0            0
    64K    128K              8              8            0            0
   512K   1024K             19             19            0            0
     1M      2M             14             14            0            0
     4M      8M              2              2            0            0
                          ------------------------------------------------------

PGA Memory Advisory                               DB/Inst: ORCL/ORCL  Snap: 24
-> When using Auto Memory Mgmt, minimally choose a pga_aggregate_target value
   where Estd PGA Overalloc Count is 0

                                       Estd Extra    Estd P Estd PGA
PGA Target    Size           W/A MB   W/A MB Read/    Cache Overallo    Estd
  Est (MB)   Factr        Processed Written to Disk   Hit %    Count    Time
---------- ------- ---------------- ---------------- ------ -------- -------
       243     0.1         25,397.1              0.0  100.0        0 1.0E+07
       486     0.3         25,397.1              0.0  100.0        0 1.0E+07
       972     0.5         25,397.1              0.0  100.0        0 1.0E+07
     1,458     0.8         25,397.1              0.0  100.0        0 1.0E+07
     1,944     1.0         25,397.1              0.0  100.0        0 1.0E+07
     2,333     1.2         25,397.1              0.0  100.0        0 1.0E+07
     2,722     1.4         25,397.1              0.0  100.0        0 1.0E+07
     3,111     1.6         25,397.1              0.0  100.0        0 1.0E+07
     3,500     1.8         25,397.1              0.0  100.0        0 1.0E+07
     3,888     2.0         25,397.1              0.0  100.0        0 1.0E+07
     5,833     3.0         25,397.1              0.0  100.0        0 1.0E+07
     7,777     4.0         25,397.1              0.0  100.0        0 1.0E+07
    11,665     6.0         25,397.1              0.0  100.0        0 1.0E+07
    15,554     8.0         25,397.1              0.0  100.0        0 1.0E+07
                          ------------------------------------------------------

^LShared Pool Advisory                             DB/Inst: ORCL/ORCL  Snap: 24
-> SP: Shared Pool     Est LC: Estimated Library Cache   Factr: Factor
-> Note there is often a 1:Many correlation between a single logical object
   in the Library Cache, and the physical number of memory objects associated
   with it.  Therefore comparing the number of Lib Cache objects (e.g. in
   v$librarycache), with the number of Lib Cache Memory Objects is invalid.


                                       Est LC Est LC  Est LC Est LC
  Shared    SP   Est LC                  Time   Time    Load   Load       Est LC
    Pool  Size     Size       Est LC    Saved  Saved    Time   Time      Mem Obj
 Size(M) Factr      (M)      Mem Obj      (s)  Factr     (s)  Factr     Hits (K)
-------- ----- -------- ------------ -------- ------ ------- ------ ------------
     480    .3       32        2,943   65,509    1.0     332    1.2       31,482
     640    .4      156        9,042   65,512    1.0     329    1.2       31,484
     800    .5      156        9,042   65,512    1.0     329    1.2       31,484
     960    .6      156        9,042   65,512    1.0     329    1.2       31,484
   1,120    .7      156        9,042   65,512    1.0     329    1.2       31,484
   1,280    .8      156        9,042   65,512    1.0     329    1.2       31,484
   1,312    .8      156        9,042   65,512    1.0     329    1.2       31,484
   1,344    .8      156        9,042   65,512    1.0     329    1.2       31,484
   1,376    .9      156        9,042   65,512    1.0     329    1.2       31,484
   1,408    .9      156        9,042   65,512    1.0     329    1.2       31,484
   1,440    .9      156        9,042   65,512    1.0     329    1.2       31,484
   1,472    .9      156        9,042   65,512    1.0     329    1.2       31,484
   1,504    .9      156        9,042   65,517    1.0     324    1.1       31,486
   1,536   1.0      156        9,042   65,529    1.0     312    1.1       31,489
   1,568   1.0      156        9,042   65,543    1.0     298    1.0       31,492
   1,600   1.0      156        9,042   65,557    1.0     284    1.0       31,512
   1,632   1.0      156        9,042   65,557    1.0     284    1.0       31,512
   1,664   1.0      156        9,042   65,557    1.0     284    1.0       31,512
   1,696   1.1      156        9,042   65,557    1.0     284    1.0       31,512
   1,728   1.1      156        9,042   65,557    1.0     284    1.0       31,512
   1,760   1.1      156        9,042   65,557    1.0     284    1.0       31,512
   1,792   1.1      156        9,042   65,557    1.0     284    1.0       31,512
   1,824   1.1      156        9,042   65,557    1.0     284    1.0       31,512
   1,856   1.2      156        9,042   65,557    1.0     284    1.0       31,512
   1,888   1.2      156        9,042   65,557    1.0     284    1.0       31,512
   1,920   1.2      156        9,042   65,557    1.0     284    1.0       31,512
   2,080   1.3      156        9,042   65,557    1.0     284    1.0       31,512
   2,240   1.4      156        9,042   65,557    1.0     284    1.0       31,512
   2,400   1.5      156        9,042   65,557    1.0     284    1.0       31,512
   2,560   1.6      156        9,042   65,557    1.0     284    1.0       31,512
   2,720   1.7      156        9,042   65,557    1.0     284    1.0       31,512
   2,880   1.8      156        9,042   65,557    1.0     284    1.0       31,512
   3,040   1.9      156        9,042   65,557    1.0     284    1.0       31,512
   3,200   2.0      156        9,042   65,557    1.0     284    1.0       31,512
                          ------------------------------------------------------

SGA Target Advisory                               DB/Inst: ORCL/ORCL  Snap: 24
SGA Target   SGA Size       Est DB     Est Physical
  Size (M)     Factor     Time (s)            Reads
---------- ---------- ------------ ----------------
     2,920        0.3       33,117           19,342
     4,380        0.4       33,117           19,280
     5,840        0.5       33,117           19,157
     7,300        0.6       33,118           18,874
     8,760        0.8       33,118           18,874
    10,220        0.9       33,118           18,874
    11,680        1.0       33,117           18,874
    13,140        1.1       33,118           18,874
    14,600        1.3       33,118           18,874
    16,060        1.4       33,118           18,874
    17,520        1.5       33,122           18,874
    18,980        1.6       33,122           18,874
    20,440        1.8       33,122           18,874
    21,900        1.9       33,122           18,874
    23,360        2.0       33,122           18,874
                          ------------------------------------------------------

Streams Pool Advisory                             DB/Inst: ORCL/ORCL  Snap: 24

                  No data exists for this section of the report.
                          ------------------------------------------------------

Java Pool Advisory                                DB/Inst: ORCL/ORCL  Snap: 24

                  No data exists for this section of the report.
                          ------------------------------------------------------

Buffer Wait Statistics                        DB/Inst: ORCL/ORCL  Snaps: 23-24
-> ordered by wait time desc, waits desc

Class                    Waits Total Wait Time (s)  Avg Time (ms)
------------------ ----------- ------------------- --------------
data block           3,537,315                 287              0
undo block             779,085                  48              0
undo header             34,065                   2              0
1st level bmb           12,393                   1              0
                          ------------------------------------------------------

^LEnqueue Activity                             DB/Inst: ORCL/ORCL  Snaps: 23-24
-> only enqueues with waits are shown
-> Enqueue stats gathered prior to 10g should not be compared with 10g data
-> ordered by Wait Time desc, Waits desc

Enqueue Type (Request Reason)
------------------------------------------------------------------------------
    Requests    Succ Gets Failed Gets       Waits  Wt Time (s) Av Wt Time(ms)
------------ ------------ ----------- ----------- ------------ --------------
TX-Transaction (row lock contention)
     461,060      461,055           0     412,330           70            .17
SQ-Sequence Cache
      94,726       94,726           0      11,266            2            .21
                          ------------------------------------------------------
^LUndo Segment Summary                         DB/Inst: ORCL/ORCL  Snaps: 23-24
-> Min/Max TR (mins) - Min and Max Tuned Retention (minutes)
-> STO - Snapshot Too Old count,  OOS - Out of Space count
-> Undo segment block stats:
-> uS - unexpired Stolen,   uR - unexpired Released,   uU - unexpired reUsed
-> eS - expired   Stolen,   eR - expired   Released,   eU - expired   reUsed

Undo   Num Undo       Number of  Max Qry   Max Tx Min/Max   STO/     uS/uR/uU/
 TS# Blocks (K)    Transactions  Len (s) Concurcy TR (mins) OOS      eS/eR/eU
---- ---------- --------------- -------- -------- --------- ----- --------------
   2      865.8       4,195,091    1,278        5 15.1/35.3 0/0   0/0/0/0/0/0
                          ------------------------------------------------------

Undo Segment Stats                            DB/Inst: ORCL/ORCL  Snaps: 23-24
-> Most recent 35 Undostat rows, ordered by Time desc

                Num Undo    Number of Max Qry  Max Tx Tun Ret STO/    uS/uR/uU/
End Time          Blocks Transactions Len (s)   Concy  (mins) OOS     eS/eR/eU
------------ ----------- ------------ ------- ------- ------- ----- ------------
26-Apr 21:57     144,285      699,750      66       5      15 0/0   0/0/0/0/0/0
26-Apr 21:47     144,099      697,502     670       5      25 0/0   0/0/0/0/0/0
26-Apr 21:37     142,931      692,838      70       5      15 0/0   0/0/0/0/0/0
26-Apr 21:27     142,850      691,432     673       5      25 0/0   0/0/0/0/0/0
26-Apr 21:17     143,712      696,514   1,278       5      35 0/0   0/0/0/0/0/0
26-Apr 21:07     147,945      717,055     677       5      25 0/0   0/0/0/0/0/0
                          ------------------------------------------------------

^LLatch Activity                               DB/Inst: ORCL/ORCL  Snaps: 23-24
-> "Get Requests", "Pct Get Miss" and "Avg Slps/Miss" are statistics for
   willing-to-wait latch get requests
-> "NoWait Requests", "Pct NoWait Miss" are for no-wait latch get requests
-> "Pct Misses" for both should be very close to 0.0

                                           Pct    Avg   Wait                 Pct
                                    Get    Get   Slps   Time       NoWait NoWait
Latch Name                     Requests   Miss  /Miss    (s)     Requests   Miss
------------------------ -------------- ------ ------ ------ ------------ ------
AQ deq hash table latch               1    0.0             0            0    N/A
ASM db client latch               3,251    0.0             0            0    N/A
ASM map operation hash t              1    0.0             0            0    N/A
ASM network state latch              80    0.0             0            0    N/A
AWR Alerted Metric Eleme         25,303    0.0             0            0    N/A
Change Notification Hash          1,190    0.0             0            0    N/A
Consistent RBA                2,598,555    0.0    0.1      0            0    N/A
DML lock allocation          10,178,082    0.0    0.0      0            0    N/A
Event Group Locks                   167    0.0             0            0    N/A
FAL Queue                           452    0.0             0            0    N/A
FIB s.o chain latch                 932    0.0             0            0    N/A
FOB s.o list latch                1,029    0.0             0            0    N/A
File State Object Pool P              1    0.0             0            0    N/A
I/O Staticstics latch                 1    0.0             0            0    N/A
IPC stats buffer allocat              1    0.0             0            0    N/A
In memory undo latch         30,946,670    1.6    0.0      2    5,005,394    0.0
JS Sh mem access                      1    0.0             0            0    N/A
JS queue access latch                 1    0.0             0            0    N/A
JS slv state obj latch                1    0.0             0            0    N/A
KFC FX Hash Latch                     1    0.0             0            0    N/A
KFC Hash Latch                        1    0.0             0            0    N/A
KFCL LE Freelist                      1    0.0             0            0    N/A
KGNFS-NFS:SHM structure               1    0.0             0            0    N/A
KGNFS-NFS:SVR LIST                    1    0.0             0            0    N/A
KJC message pool free li              1    0.0             0            0    N/A
KJCT flow control latch               1    0.0             0            0    N/A
KMG MMAN ready and start          1,189    0.0             0            0    N/A
KTF sga latch                        18    0.0             0        1,193    0.0
Locator state objects po              1    0.0             0            0    N/A
Lsod array latch                      1    0.0             0            0    N/A
MQL Tracking Latch                    0    N/A             0           72    0.0
Memory Management Latch               1    0.0             0        1,189    0.0
Memory Queue                          1    0.0             0            0    N/A
Memory Queue Message Sub              1    0.0             0            0    N/A
Memory Queue Message Sub              1    0.0             0            0    N/A
Memory Queue Message Sub              1    0.0             0            0    N/A
Memory Queue Message Sub              1    0.0             0            0    N/A
Memory Queue Subscriber               1    0.0             0            0    N/A
MinActiveScn Latch                   40    0.0             0            0    N/A
Mutex                                 1    0.0             0            0    N/A
Mutex Stats                           1    0.0             0            0    N/A
OS process                          416    0.0             0            0    N/A
OS process allocation             7,335    0.0             0            0    N/A
OS process: request allo            167    0.0             0            0    N/A
PL/SQL warning settings              85    0.0             0            0    N/A
PX hash array latch                   1    0.0             0            0    N/A
QMT                                   1    0.0             0            0    N/A
Real-time plan statistic            348    0.0             0            0    N/A
Result Cache: RC Latch        8,096,606    0.0    0.0      0            0    N/A
SGA IO buffer pool latch         10,670    0.0             0       13,450    0.0
SGA blob parent                       1    0.0             0            0    N/A
SGA bucket locks                      1    0.0             0            0    N/A
SGA heap locks                        1    0.0             0            0    N/A
SGA pool locks                        1    0.0             0            0    N/A
SQL memory manager latch              1    0.0             0        1,188    0.0
SQL memory manager worka         86,600    0.0             0            0    N/A
Shared B-Tree                       129    0.0             0            0    N/A
Streams Generic                       1    0.0             0            0    N/A
Testing                               1    0.0             0            0    N/A
Token Manager                         1    0.0             0            0    N/A
^LLatch Activity                               DB/Inst: ORCL/ORCL  Snaps: 23-24
-> "Get Requests", "Pct Get Miss" and "Avg Slps/Miss" are statistics for
   willing-to-wait latch get requests
-> "NoWait Requests", "Pct NoWait Miss" are for no-wait latch get requests
-> "Pct Misses" for both should be very close to 0.0

                                           Pct    Avg   Wait                 Pct
                                    Get    Get   Slps   Time       NoWait NoWait
Latch Name                     Requests   Miss  /Miss    (s)     Requests   Miss
------------------------ -------------- ------ ------ ------ ------------ ------
WCR: sync                             1    0.0             0            0    N/A
Write State Object Pool               1    0.0             0            0    N/A
X$KSFQP                               1    0.0             0            0    N/A
XDB NFS Security Latch                1    0.0             0            0    N/A
XDB unused session pool               1    0.0             0            0    N/A
XDB used session pool                 1    0.0             0            0    N/A
active checkpoint queue          15,651    0.0             0            0    N/A
active service list               2,018    0.0             0        1,639    0.0
alert log latch                     310    0.0             0            0    N/A
archive control                     648    0.0             0            0    N/A
archive process latch             1,511    0.0             0            0    N/A
begin backup scn array                4    0.0             0            0    N/A
buffer pool                           1    0.0             0            0    N/A
business card                         1    0.0             0            0    N/A
cache buffer handles         36,706,018    0.3    0.0      0            0    N/A
cache buffers chains        678,148,703    0.9    0.0      4    1,103,253    0.9
cache buffers lru chain       4,081,822    0.0    0.0      0    3,969,584    0.1
call allocation                     382    0.0             0            0    N/A
cas latch                             1    0.0             0            0    N/A
change notification clie              1    0.0             0            0    N/A
channel handle pool latc            171    0.0             0            0    N/A
channel operations paren         24,232    0.0    0.0      0            0    N/A
checkpoint queue latch        2,390,524    0.0    0.1      0      854,563    0.0
client/application info             481    0.0             0            0    N/A
compile environment latc             83    0.0             0            0    N/A
cp cmon/server latch                  1    0.0             0            0    N/A
cp pool latch                         1    0.0             0            0    N/A
cp server hash latch                  1    0.0             0            0    N/A
cp sga latch                         80    0.0             0            0    N/A
cvmap freelist lock                   1    0.0             0            0    N/A
deferred cleanup latch               80    0.0             0            0    N/A
dml lock allocation                  80    0.0             0            0    N/A
done queue latch                      1    0.0             0            0    N/A
dummy allocation                    168    0.0             0            0    N/A
eighth spare latch - X p              1    0.0             0            0    N/A
eleventh spare latch - c              1    0.0             0            0    N/A
enqueue freelist latch              177    6.2    0.0      0    9,031,974    0.0
enqueue hash chains          28,147,972    0.9    0.0      0            5    0.0
enqueues                            361    0.0             0            0    N/A
fifteenth spare latch -               1    0.0             0            0    N/A
file cache latch                  1,536    0.0             0            0    N/A
first Audit Vault latch              62    0.0             0            0    N/A
flashback copy                        1    0.0             0            0    N/A
fourteenth spare latch -              1    0.0             0            0    N/A
fourth Audit Vault latch              1    0.0             0            0    N/A
gc element                            1    0.0             0            0    N/A
gcs commit scn state                  1    0.0             0            0    N/A
gcs partitioned table ha              1    0.0             0            0    N/A
gcs pcm hashed value buc              1    0.0             0            0    N/A
gcs resource freelist                 1    0.0             0            0    N/A
gcs resource hash                     1    0.0             0            0    N/A
gcs resource scan list                1    0.0             0            0    N/A
gcs resource validate li              1    0.0             0            0    N/A
gcs shadows freelist                  1    0.0             0            0    N/A
ges domain table                      1    0.0             0            0    N/A
ges enqueue table freeli              1    0.0             0            0    N/A
ges group table                       1    0.0             0            0    N/A
ges process hash list                 1    0.0             0            0    N/A
ges process parent latch              1    0.0             0            0    N/A
ges resource hash list                1    0.0             0            0    N/A
^LLatch Activity                               DB/Inst: ORCL/ORCL  Snaps: 23-24
-> "Get Requests", "Pct Get Miss" and "Avg Slps/Miss" are statistics for
   willing-to-wait latch get requests
-> "NoWait Requests", "Pct NoWait Miss" are for no-wait latch get requests
-> "Pct Misses" for both should be very close to 0.0

                                   Get    Get   Slps   Time       NoWait NoWait
Latch Name                     Requests   Miss  /Miss    (s)     Requests   Miss
------------------------ -------------- ------ ------ ------ ------------ ------
ges resource scan list                1    0.0             0            0    N/A
ges resource table freel              1    0.0             0            0    N/A
ges value block free lis              1    0.0             0            0    N/A
global KZLD latch for me             62    0.0             0            0    N/A
global tx hash mapping                1    0.0             0            0    N/A
granule operation                     1    0.0             0            0    N/A
hash table column usage              24    0.0             0          187    0.0
hash table modification              74    0.0             0            0    N/A
heartbeat check                       1    0.0             0            0    N/A
internal temp table obje              1    0.0             0            0    N/A
intra txn parallel recov              1    0.0             0            0    N/A
io pool granule metadata              1    0.0             0            0    N/A
job workq parent latch                1    0.0             0            0    N/A
k2q lock allocation                   1    0.0             0            0    N/A
kcbtsemkid latch                    155    0.0             0            0    N/A
kdlx hb parent latch                  1    0.0             0            0    N/A
kgb parent                            1    0.0             0            0    N/A
kgnfs mount latch                     1    0.0             0            0    N/A
kokc descriptor allocati              4    0.0             0            0    N/A
ksfv messages                         1    0.0             0            0    N/A
ksim group membership ca              1    0.0             0            0    N/A
kss move lock                        33    0.0             0            0    N/A
ksuosstats global area              360    0.0             0            0    N/A
ksv allocation latch                144    0.0             0            0    N/A
ksv class latch                      65    0.0             0            0    N/A
ksv msg queue latch                   1    0.0             0            0    N/A
ksz_so allocation latch             167    0.0             0            0    N/A
ktm global data                     246    0.0             0            0    N/A
kwqbsn:qsga                         128    0.0             0            0    N/A
lgwr LWN SCN                  2,602,992    0.0    0.0      0            0    N/A
list of block allocation             28    0.0             0            0    N/A
loader state object free          1,882    0.0             0            0    N/A
lob segment dispenser la              1    0.0             0            0    N/A
lob segment hash table l             13    0.0             0            0    N/A
lob segment query latch               1    0.0             0            0    N/A
lock DBA buffer during m              1    0.0             0            0    N/A
logical standby cache                 1    0.0             0            0    N/A
logminer context allocat              1    0.0             0            0    N/A
logminer local                        1    0.0             0            0    N/A
logminer work area                    1    0.0             0            0    N/A
longop free list parent               1    0.0             0            0    N/A
managed standby latch               297    0.0             0            0    N/A
mapped buffers lru chain              1    0.0             0            0    N/A
message pool operations           2,164    0.0             0            0    N/A
messages                      7,779,582    0.0    0.0      0            0    N/A
mostly latch-free SCN         2,620,722    0.2    0.0      0            0    N/A
msg queue latch                       1    0.0             0            0    N/A
multiblock read objects              10    0.0             0            0    N/A
name-service namespace b              1    0.0             0            0    N/A
ncodef allocation latch              80    0.0             0            0    N/A
nineth spare latch - X p              1    0.0             0            0    N/A
object queue header heap         30,131    0.0             0            2    0.0
object queue header oper      5,367,223    0.0    0.0      0            0    N/A
object stats modificatio              4    0.0             0            0    N/A
parallel query alloc buf            461    0.0             0            0    N/A
parallel query stats                  1    0.0             0            0    N/A
parameter list                       15    0.0             0            0    N/A
parameter table manageme            291    0.0             0            0    N/A
peshm                                 1    0.0             0            0    N/A
pesom_free_list                       1    0.0             0            0    N/A
^LLatch Activity                               DB/Inst: ORCL/ORCL  Snaps: 23-24
-> "Get Requests", "Pct Get Miss" and "Avg Slps/Miss" are statistics for
   willing-to-wait latch get requests
-> "NoWait Requests", "Pct NoWait Miss" are for no-wait latch get requests
-> "Pct Misses" for both should be very close to 0.0

                                           Pct    Avg   Wait                 Pct
                                    Get    Get   Slps   Time       NoWait NoWait
Latch Name                     Requests   Miss  /Miss    (s)     Requests   Miss
------------------------ -------------- ------ ------ ------ ------------ ------
pesom_hash_node                       1    0.0             0            0    N/A
post/wait queue               6,170,847    0.0    0.0      0    5,567,423    0.1
process allocation                  183    0.0             0           83    0.0
process group creation              167    0.0             0            0    N/A
process queue                         1    0.0             0            0    N/A
process queue reference               1    0.0             0            0    N/A
qmn task queue latch                521    0.0             0            0    N/A
query server freelists                1    0.0             0            0    N/A
queued dump request                  12    0.0             0            0    N/A
queuing load statistics               1    0.0             0            0    N/A
recovery domain hash lis              1    0.0             0            0    N/A
redo allocation              18,172,705    0.2    0.0      0   49,615,134    0.6
redo copy                             1    0.0             0   49,702,067    0.8
redo writing                  8,104,776    0.0    0.0      0            0    N/A
resmgr group change latc             72    0.0             0            0    N/A
resmgr:active threads               168    0.0             0            0    N/A
resmgr:actses change gro             84    0.0             0            0    N/A
resmgr:actses change sta              1    0.0             0            0    N/A
resmgr:free threads list            167    0.0             0            0    N/A
resmgr:plan CPU method                1    0.0             0            0    N/A
resmgr:resource group CP              1    0.0             0            0    N/A
resmgr:schema config                 11    0.0             0            0    N/A
resmgr:session queuing                1    0.0             0            0    N/A
rm cas latch                          1    0.0             0            0    N/A
row cache objects               635,859    0.0             0            0    N/A
second Audit Vault latch              1    0.0             0            0    N/A
sequence cache                5,183,895    1.6    0.0      0            0    N/A
session allocation            5,005,761    0.1    0.0      0    5,005,623    0.3
session idle bit             31,732,642    0.3    0.0      0            0    N/A
session queue latch                   1    0.0             0            0    N/A
session state list latch            174    0.0             0            0    N/A
session switching                   165    0.0             0            0    N/A
session timer                     1,208    0.0             0            0    N/A
seventh spare latch - X               1    0.0             0            0    N/A
shared pool                      29,044    0.0             0            0    N/A
shared pool sim alloc                 2    0.0             0            0    N/A
shared pool simulator                14    0.0             0            0    N/A
sim partition latch                   1    0.0             0            0    N/A
simulator hash latch          1,264,761    0.0             0            0    N/A
simulator lru latch             855,006    0.0    0.0      0      409,747    0.0
sixth spare latch - X pa              1    0.0             0            0    N/A
sort extent pool                    165    0.0             0            0    N/A
space background state o             10    0.0             0            0    N/A
space background task la          4,363    0.2    0.0      0        2,381    0.0
state object free list                2    0.0             0            0    N/A
statistics aggregation              336    0.0             0            0    N/A
tablespace key chain            852,982    0.0    0.0      0            0    N/A
temp lob duration state               2    0.0             0            0    N/A
tenth spare latch - X pa              1    0.0             0            0    N/A
test excl. parent l0                  1    0.0             0            0    N/A
test excl. parent2 l0                 1    0.0             0            0    N/A
thirteenth spare latch -              1    0.0             0            0    N/A
threshold alerts latch              129    0.0             0            0    N/A
transaction allocation               43    0.0             0            0    N/A
twelfth spare latch - ch              1    0.0             0            0    N/A
twenty-fifth spare latch              1    0.0             0            0    N/A
twenty-first spare latch              1    0.0             0            0    N/A
twenty-fourth spare latc              1    0.0             0            0    N/A
twenty-second spare latc              1    0.0             0            0    N/A
twenty-third spare latch              1    0.0             0            0    N/A
^LLatch Activity                               DB/Inst: ORCL/ORCL  Snaps: 23-24
-> "Get Requests", "Pct Get Miss" and "Avg Slps/Miss" are statistics for
   willing-to-wait latch get requests
-> "NoWait Requests", "Pct NoWait Miss" are for no-wait latch get requests
-> "Pct Misses" for both should be very close to 0.0

                                           Pct    Avg   Wait                 Pct
                                    Get    Get   Slps   Time       NoWait NoWait
Latch Name                     Requests   Miss  /Miss    (s)     Requests   Miss
------------------------ -------------- ------ ------ ------ ------------ ------
undo global data             19,869,354    0.2    0.0      0            0    N/A
virtual circuit buffers               1    0.0             0            0    N/A
virtual circuit holder                1    0.0             0            0    N/A
virtual circuit queues                1    0.0             0            0    N/A
write info latch                      0    N/A             0    2,597,776    0.0
                          ------------------------------------------------------

^LLatch Sleep Breakdown                        DB/Inst: ORCL/ORCL  Snaps: 23-24
-> ordered by misses desc

                                       Get                                 Spin
Latch Name                        Requests       Misses      Sleeps        Gets
-------------------------- --------------- ------------ ----------- -----------
cache buffers chains           678,148,703    6,039,532       9,920   6,030,019
In memory undo latch            30,946,670      498,440       3,120     495,577
enqueue hash chains             28,147,972      254,691          77     254,625
cache buffer handles            36,706,018      102,104           8     102,096
sequence cache                   5,183,895       84,508          24      84,484
session idle bit                31,732,642       80,214          15      80,199
undo global data                19,869,354       48,471          40      48,447
redo allocation                 18,172,705       41,799         177      41,636
mostly latch-free SCN            2,620,722        5,427           5       5,422
session allocation               5,005,761        5,030           1       5,029
messages                         7,779,582        3,026           5       3,021
post/wait queue                  6,170,847        1,008           2       1,006
object queue header operat       5,367,223          258           1         257
cache buffers lru chain          4,081,822          221           5         216
checkpoint queue latch           2,390,524           27           4          23
Consistent RBA                   2,598,555           10           1           9
                          ------------------------------------------------------

^LLatch Miss Sources                           DB/Inst: ORCL/ORCL  Snaps: 23-24
-> only latches with sleeps are shown
-> ordered by name, sleeps desc
Latch Name               Where                       Misses     Sleeps   Sleeps
------------------------ -------------------------- ------- ---------- --------
In memory undo latch     kticmt: child                    0      2,468        2
In memory undo latch     ktichg: child                    0        486        7
In memory undo latch     ktiFlushMe                       0        155        1
In memory undo latch     ktiFlush: child                  0         18    1,037
In memory undo latch     ktiTxnPoolFree                   0          4        0
cache buffer handles     kcbzfs                           0          8        3
cache buffers chains     kcbgcur_2                        0      4,881       49
cache buffers chains     kcbgtcr: fast path               0      3,079    7,957
cache buffers chains     kcbgtcr_2                        0        997      151
cache buffers chains     kcbrls_2                         0        750       16
cache buffers chains     kcbgcur: fast path (shr)         0        651    2,711
cache buffers chains     kcbchg1: clear MS bit            0        409        4
cache buffers chains     kcbchg1: mod cur pin             0        248       26
cache buffers chains     kcbzwb                           0        191      135
cache buffers chains     kcbchg1: mod cr pin              0        160       26
cache buffers chains     kcbnlc                           0        155        4
cache buffers chains     kcbchg1: aux pin                 0        112        0
cache buffers chains     kcbrls_1                         0         61       25
cache buffers chains     kcbso1: set no access            0         54      230
cache buffers chains     kcbrls: fast release             0         53       46
cache buffers chains     kcbgtcr: fast path (cr pin       0         40       51
cache buffers chains     kcbgcur_4                        0         25       25
cache buffers chains     kcbzgb: scan from tail. no       0         13        0
cache buffers chains     kcb_pre_apply: kcbhq61           0          7        1
cache buffers chains     kcb_commit                       0          6        0
cache buffers chains     kcbzpbuf                         0          6        7
cache buffers chains     kcb_post_apply: kcbhq62          0          4        0
cache buffers chains     kcbcge                           0          4       18
cache buffers chains     kcb_trim_hash_chain              0          3        0
cache buffers chains     kcbgtcr: kslbegin excl           0          3        0
cache buffers chains     kcb_is_private                   0          2      432
cache buffers lru chain  kcbzgws                          0          5        0
checkpoint queue latch   kcbbwthc: thread checkpoin       0          3        1
checkpoint queue latch   kcbswcu: Switch buffers          0          1        3
enqueue hash chains      ksqrcl                           0         40       21
enqueue hash chains      ksqgtl3                          0         36       56
enqueue hash chains      ksqcmi: get hash chain lat       0          1        0
lgwr LWN SCN             kcs023                           0          5        0
messages                 ksaamb: after wakeup             0          4        1
messages                 ksarcv                           0          1       14
mostly latch-free SCN    kcsnew_scn_rba                   0          1        0
object queue header oper kcbo_switch_q_bg                 0          1        0
post/wait queue          ksliwat:add:nowait               0          2        0
redo allocation          kcrfw_redo_gen: redo alloc       0        159        0
redo allocation          kcrfw_redo_write: before w       0         13       22
redo allocation          kcrfw_redo_gen: redo alloc       0          3       67
redo allocation          kcrfw_post: more space           0          2       88
sequence cache           kdnssd                           0         20        1
sequence cache           kdnnxt: cached seq               0          3       15
sequence cache           kdnss                            0          1        8
session allocation       ksucri_int : SSO                 0          1        0
session idle bit         ksupuc: set busy                 0          8       17
session idle bit         ksupuc: clear busy               0          6        0
session idle bit         ksuxds                           0          3        0
undo global data         ktudnx:child                     0         19        3
undo global data         ktufrbs_2                        0         15       21
undo global data         ktudba: KSLBEGIN                 0          5       16
undo global data         ktubnd_4                         0          1        0
                          ------------------------------------------------------

Mutex Sleep Summary                           DB/Inst: ORCL/ORCL  Snaps: 23-24
-> ordered by number of sleeps desc

                                                                         Wait
Mutex Type            Location                               Sleeps    Time (ms)
--------------------- -------------------------------- ------------ ------------
Library Cache         kglpin1   4                                33            0
Cursor Pin            kksfbc [KKSCHLPIN1]                        29            0
Library Cache         kglpndl1  95                                7            0
Library Cache         kglpnal1  90                                6            0
Cursor Pin            kksLockDelete [KKSCHLPIN6]                  5            0
                          ------------------------------------------------------

^LParent Latch Statistics                      DB/Inst: ORCL/ORCL  Snaps: 23-24

                  No data exists for this section of the report.
                          ------------------------------------------------------

Child Latch Statistics                        DB/Inst: ORCL/ORCL  Snaps: 23-24

                  No data exists for this section of the report.
                          ------------------------------------------------------

^LSegments by Logical Reads                    DB/Inst: ORCL/ORCL  Snaps: 23-24
-> Total Logical Reads:     204,307,245
-> Captured Segments account for   91.9% of Total

           Tablespace                      Subobject  Obj.       Logical
Owner         Name    Object Name            Name     Type         Reads  %Total
---------- ---------- -------------------- ---------- ----- ------------ -------
KYLELF     USERS      AUTHORS_I                       INDEX   93,967,584   45.99
KYLELF     USERS      AUTHORS                         TABLE   93,574,368   45.80
SYS        SYSTEM     I_SEQ1                          INDEX       85,200     .04
SYS        SYSTEM     SEQ$                            TABLE       83,408     .04
SYS        SYSTEM     I_SYSAUTH1                      INDEX        8,960     .00
                          ------------------------------------------------------

Segments by Physical Reads                    DB/Inst: ORCL/ORCL  Snaps: 23-24
-> Total Physical Reads:             810
-> Captured Segments account for    3.7% of Total

           Tablespace                      Subobject  Obj.      Physical
Owner         Name    Object Name            Name     Type         Reads  %Total
---------- ---------- -------------------- ---------- ----- ------------ -------
SYS        SYSAUX     WRH$_ACTIVE_SESSION_ 34324168_0 TABLE           28    3.46
SYS        SYSAUX     WRH$_IOSTAT_FUNCTION            INDEX            2     .25
                          ------------------------------------------------------

Segments by Physical Read Requests            DB/Inst: ORCL/ORCL  Snaps: 23-24
-> Total Physical Read Requests:             790
-> Captured Segments account for    1.3% of Total

           Tablespace                      Subobject  Obj.     Phys Read
Owner         Name    Object Name            Name     Type      Requests  %Total
---------- ---------- -------------------- ---------- ----- ------------ -------
SYS        SYSAUX     WRH$_ACTIVE_SESSION_ 34324168_0 TABLE            8    1.01
SYS        SYSAUX     WRH$_IOSTAT_FUNCTION            INDEX            2     .25
                          ------------------------------------------------------

Segments by UnOptimized Reads                 DB/Inst: ORCL/ORCL  Snaps: 23-24
-> Total UnOptimized Read Requests:             790
-> Captured Segments account for    1.3% of Total

           Tablespace                      Subobject  Obj.   UnOptimized
Owner         Name    Object Name            Name     Type         Reads  %Total
---------- ---------- -------------------- ---------- ----- ------------ -------
SYS        SYSAUX     WRH$_ACTIVE_SESSION_ 34324168_0 TABLE            8    1.01
SYS        SYSAUX     WRH$_IOSTAT_FUNCTION            INDEX            2     .25
                          ------------------------------------------------------

Segments by Optimized Reads                   DB/Inst: ORCL/ORCL  Snaps: 23-24

                  No data exists for this section of the report.
                          ------------------------------------------------------

Segments by Direct Physical Reads             DB/Inst: ORCL/ORCL  Snaps: 23-24

                  No data exists for this section of the report.
                          ------------------------------------------------------

Segments by Physical Writes                   DB/Inst: ORCL/ORCL  Snaps: 23-24
-> Total Physical Writes:         855,813
-> Captured Segments account for    0.1% of Total

           Tablespace                      Subobject  Obj.      Physical
Owner         Name    Object Name            Name     Type        Writes  %Total
---------- ---------- -------------------- ---------- ----- ------------ -------
KYLELF     USERS      AUTHORS                         TABLE          524     .06
SYS        SYSTEM     SEQ$                            TABLE           56     .01
KYLELF     USERS      AUTHORS_I                       INDEX           55     .01
SYS        SYSAUX     WRH$_ACTIVE_SESSION_ 34324168_0 TABLE           33     .00
SYS        SYSAUX     SMON_SCN_TIME                   TABLE           22     .00
                          ------------------------------------------------------

Segments by Physical Write Requests           DB/Inst: ORCL/ORCL  Snaps: 23-24
-> Total Physical Write Requestss:         251,370
-> Captured Segments account for    0.3% of Total

           Tablespace                      Subobject  Obj.    Phys Write
Owner         Name    Object Name            Name     Type      Requests  %Total
---------- ---------- -------------------- ---------- ----- ------------ -------
KYLELF     USERS      AUTHORS                         TABLE          442     .18
SYS        SYSTEM     SEQ$                            TABLE           56     .02
KYLELF     USERS      AUTHORS_I                       INDEX           55     .02
SYS        SYSAUX     SMON_SCN_TIME                   TABLE           22     .01
SYS        SYSAUX     WRH$_SYSMETRIC_HISTO            TABLE           12     .00
                          ------------------------------------------------------

Segments by Direct Physical Writes            DB/Inst: ORCL/ORCL  Snaps: 23-24
-> Total Direct Physical Writes:             808
-> Captured Segments account for    3.5% of Total

           Tablespace                      Subobject  Obj.        Direct
Owner         Name    Object Name            Name     Type        Writes  %Total
---------- ---------- -------------------- ---------- ----- ------------ -------
SYS        SYSAUX     WRH$_ACTIVE_SESSION_ 34324168_0 TABLE           26    3.22
SYS        SYSAUX     SYS_LOB0000006402C00            LOB              2     .25
                          ------------------------------------------------------
Segments by Table Scans                       DB/Inst: ORCL/ORCL  Snaps: 23-24
-> Total Table Scans:             995
-> Captured Segments account for  100.0% of Total

           Tablespace                      Subobject  Obj.         Table
Owner         Name    Object Name            Name     Type         Scans  %Total
---------- ---------- -------------------- ---------- ----- ------------ -------
SYS        SYSTEM     I_SYSAUTH1                      INDEX          992   99.70
SYS        SYSTEM     I_OBJ2                          INDEX            3     .30
                          ------------------------------------------------------

Segments by DB Blocks Changes                 DB/Inst: ORCL/ORCL  Snaps: 23-24
-> % of Capture shows % of DB Block Changes for each top segment compared
-> with total DB Block Changes for all segments captured by the Snapshot

           Tablespace                      Subobject  Obj.      DB Block    % of
Owner         Name    Object Name            Name     Type       Changes Capture
---------- ---------- -------------------- ---------- ----- ------------ -------
KYLELF     USERS      AUTHORS                         TABLE   26,820,688   55.81
KYLELF     USERS      AUTHORS_I                       INDEX   21,156,096   44.02
SYS        SYSTEM     SEQ$                            TABLE       83,440     .17
SYS        SYSAUX     WRH$_PARAMETER_PK    34324168_0 INDEX          112     .00
SYS        SYSAUX     WRH$_SQL_PLAN_PK                INDEX           80     .00
                          ------------------------------------------------------

^LSegments by Row Lock Waits                   DB/Inst: ORCL/ORCL  Snaps: 23-24
-> % of Capture shows % of row lock waits for each top segment compared
-> with total row lock waits for all segments captured by the Snapshot

                                                                     Row
           Tablespace                      Subobject  Obj.          Lock    % of
Owner         Name    Object Name            Name     Type         Waits Capture
---------- ---------- -------------------- ---------- ----- ------------ -------
KYLELF     USERS      AUTHORS                         TABLE      436,695  100.00
                          ------------------------------------------------------

Segments by ITL Waits                         DB/Inst: ORCL/ORCL  Snaps: 23-24

                  No data exists for this section of the report.
                          ------------------------------------------------------

Segments by Buffer Busy Waits                 DB/Inst: ORCL/ORCL  Snaps: 23-24
-> % of Capture shows % of Buffer Busy Waits for each top segment compared
-> with total Buffer Busy Waits for all segments captured by the Snapshot

                                                                  Buffer
           Tablespace                      Subobject  Obj.          Busy    % of
Owner         Name    Object Name            Name     Type         Waits Capture
---------- ---------- -------------------- ---------- ----- ------------ -------
KYLELF     USERS      AUTHORS                         TABLE    1,973,082   55.58
KYLELF     USERS      AUTHORS_I                       INDEX    1,576,624   44.42
                          ------------------------------------------------------

^LDictionary Cache Stats                       DB/Inst: ORCL/ORCL  Snaps: 23-24
-> "Pct Misses"  should be very low (< 2% in most cases)
-> "Final Usage" is the number of cache entries being used


                                   Get    Pct    Scan   Pct      Mod      Final
Cache                         Requests   Miss    Reqs  Miss     Reqs      Usage
------------------------- ------------ ------ ------- ----- -------- ----------
dc_awr_control                      64    0.0       0   N/A        2          1
dc_global_oids                       7    0.0       0   N/A        0         51
dc_histogram_data                    3   33.3       0   N/A        0      2,301
dc_histogram_defs                   77    1.3       0   N/A        0      4,392
dc_objects                         276    0.4       0   N/A        0      2,628
dc_profiles                        124    0.0       0   N/A        0          2
dc_rollback_segments               892    0.0       0   N/A        0         19
dc_segments                        753    0.0       0   N/A        9        927
dc_sequences                    83,429    0.0       0   N/A   83,429         14
dc_tablespaces                   5,185    0.0       0   N/A        0          7
dc_users                         8,085    0.0       0   N/A        0         87
global database name             2,458    0.0       0   N/A        0          1
outstanding_alerts                  24    0.0       0   N/A        0          5
                          ------------------------------------------------------

Library Cache Activity                        DB/Inst: ORCL/ORCL  Snaps: 23-24
-> "Pct Misses"  should be very low

                         Get    Pct            Pin    Pct             Invali-
Namespace           Requests   Miss       Requests   Miss    Reloads  dations
--------------- ------------ ------ -------------- ------ ---------- --------
ACCOUNT_STATUS           186    0.0              0    N/A          0        0
BODY                      16    0.0             22    0.0          0        0
DBLINK                   198    0.0              0    N/A          0        0
EDITION                   78    0.0            140    0.0          0        0
INDEX                      2    0.0              2    0.0          0        0
SCHEMA                    62    0.0              0    N/A          0        0
SQL AREA                 637    0.2      6,603,229   -2.3          0        0
SQL AREA BUILD             8   12.5              0    N/A          0        0
SQL AREA STATS             8  100.0              8  100.0          0        0
TABLE/PROCEDURE           87    0.0      3,337,268    0.0          0        0
                          ------------------------------------------------------

^LMemory Dynamic Components                    DB/Inst: ORCL/ORCL  Snaps: 23-24
-> Min/Max sizes since instance startup
-> Oper Types/Modes: INItializing,GROw,SHRink,STAtic/IMMediate,DEFerred
-> ordered by Component

                 Begin Snap     Current         Min         Max   Oper Last Op
Component         Size (Mb)   Size (Mb)   Size (Mb)   Size (Mb)  Count Typ/Mod
--------------- ----------- ----------- ----------- ----------- ------ -------
ASM Buffer Cach         .00         .00         .00         .00      0 STA/
DEFAULT 16K buf         .00         .00         .00         .00      0 STA/
DEFAULT 2K buff         .00         .00         .00         .00      0 STA/
DEFAULT 32K buf         .00         .00         .00         .00      0 STA/
DEFAULT 4K buff         .00         .00         .00         .00      0 STA/
DEFAULT 8K buff         .00         .00         .00         .00      0 STA/
DEFAULT buffer     9,952.00    9,952.00    9,952.00    9,952.00      0 INI/
KEEP buffer cac         .00         .00         .00         .00      0 STA/
PGA Target         1,952.00    1,952.00    1,952.00    1,952.00      0 STA/
RECYCLE buffer          .00         .00         .00         .00      0 STA/
SGA Target        11,680.00   11,680.00   11,680.00   11,680.00      0 STA/
Shared IO Pool          .00         .00         .00         .00      0 STA/
java pool             32.00       32.00       32.00       32.00      0 STA/
large pool            32.00       32.00       32.00       32.00      0 STA/
shared pool        1,600.00    1,600.00    1,600.00    1,600.00      0 STA/
streams pool            .00         .00         .00         .00      0 STA/
                          ------------------------------------------------------



Memory Resize Operations Summary              DB/Inst: ORCL/ORCL  Snaps: 23-24

                  No data exists for this section of the report.
                          ------------------------------------------------------

Memory Resize Ops                             DB/Inst: ORCL/ORCL  Snaps: 23-24

                  No data exists for this section of the report.
                          ------------------------------------------------------

^LProcess Memory Summary                       DB/Inst: ORCL/ORCL  Snaps: 23-24
-> B: Begin Snap   E: End Snap
-> All rows below contain absolute values (i.e. not diffed over the interval)
-> Max Alloc is Maximum PGA Allocation size at snapshot time
-> Hist Max Alloc is the Historical Max Allocation for still-connected processes
-> ordered by Begin/End snapshot, Alloc (MB) desc

                                                            Hist
                                    Avg  Std Dev     Max     Max
               Alloc      Used    Alloc    Alloc   Alloc   Alloc    Num    Num
  Category      (MB)      (MB)     (MB)     (MB)    (MB)    (MB)   Proc  Alloc
- -------- --------- --------- -------- -------- ------- ------- ------ ------
B Other        249.7       N/A      7.3     12.6      47      47     34     34
  Freeable      14.9        .0      1.0      1.3       4     N/A     15     15
  PL/SQL          .6        .5       .0       .0       0       0     34     34
  SQL             .1        .0       .0       .0       0       3     20     15
E Other        241.3       N/A      7.3     12.7      47      47     33     33
  Freeable      18.0        .0      1.4      2.4       9     N/A     13     13
  PL/SQL          .6        .5       .0       .0       0       0     33     33
  SQL             .1        .0       .0       .0       0       3     19     14
                          ------------------------------------------------------

SGA Memory Summary                            DB/Inst: ORCL/ORCL  Snaps: 23-24

                                                      End Size (Bytes)
SGA regions                     Begin Size (Bytes)      (if different)
------------------------------ ------------------- -------------------
Database Buffers                    10,435,428,352
Fixed Size                               2,264,456
Redo Buffers                            10,158,080
Variable Size                        1,744,831,096
                               -------------------
sum                                 12,192,681,984
                          ------------------------------------------------------

SGA breakdown difference                      DB/Inst: ORCL/ORCL  Snaps: 23-24
-> ordered by Pool, Name
-> N/A value for Begin MB or End MB indicates the size of that Pool/Name was
   insignificant, or zero in that snapshot


Pool   Name                                 Begin MB         End MB  % Diff
------ ------------------------------ -------------- -------------- -------
java   free memory                              32.0           32.0    0.00
large  PX msg pool                                .5             .5    0.00
large  free memory                              31.5           31.5    0.00
shared FileOpenBlock                            19.5           19.5    0.00
shared KGLH0                                    63.2           63.3    0.15
shared KGLS                                     16.6           16.6    0.00
shared KTI-UNDO                                 18.5           18.5    0.00
shared SQLA                                     93.0           93.1    0.18
shared db_block_hash_buckets                    89.0           89.0    0.00
shared dbktb: trace buffer                      25.8           25.8    0.00
shared event statistics per sess                31.4           31.4    0.00
shared free memory                             999.3          999.1   -0.02
shared ksunfy : SSO free list                   29.8           29.8    0.00
shared private strands                          35.7           35.7    0.00
       buffer_cache                          9,952.0        9,952.0    0.00
       fixed_sga                                 2.2            2.2    0.00
       log_buffer                                9.7            9.7    0.00
                          ------------------------------------------------------

^LStreams CPU/IO Usage                         DB/Inst: ORCL/ORCL  Snaps: 23-24

                  No data exists for this section of the report.
                          ------------------------------------------------------

Streams Capture                               DB/Inst: ORCL/ORCL  Snaps: 23-24

                  No data exists for this section of the report.
                          ------------------------------------------------------

Streams Capture Rate                          DB/Inst: ORCL/ORCL  Snaps: 23-24

                  No data exists for this section of the report.
                          ------------------------------------------------------

Streams Apply                                 DB/Inst: ORCL/ORCL  Snaps: 23-24

                  No data exists for this section of the report.
                          ------------------------------------------------------

Streams Apply Rate                            DB/Inst: ORCL/ORCL  Snaps: 23-24

                  No data exists for this section of the report.
                          ------------------------------------------------------

Buffered Queues                               DB/Inst: ORCL/ORCL  Snaps: 23-24

                  No data exists for this section of the report.
                          ------------------------------------------------------

Buffered Queue Subscribers                    DB/Inst: ORCL/ORCL  Snaps: 23-24

                  No data exists for this section of the report.
                          ------------------------------------------------------
Rule Set                                      DB/Inst: ORCL/ORCL  Snaps: 23-24

                  No data exists for this section of the report.
                          ------------------------------------------------------

Persistent Queues                             DB/Inst: ORCL/ORCL  Snaps: 23-24

                  No data exists for this section of the report.
                          ------------------------------------------------------

Persistent Queues Rate                        DB/Inst: ORCL/ORCL  Snaps: 23-24

                  No data exists for this section of the report.
                          ------------------------------------------------------

Persistent Queue Subscribers                  DB/Inst: ORCL/ORCL  Snaps: 23-24

                  No data exists for this section of the report.
                          ------------------------------------------------------

^LResource Limit Stats                             DB/Inst: ORCL/ORCL  Snap: 24

                  No data exists for this section of the report.
                          ------------------------------------------------------

Shared Servers Activity                       DB/Inst: ORCL/ORCL  Snaps: 23-24
-> Values represent averages for all samples

   Avg Total   Avg Active    Avg Total   Avg Active    Avg Total   Avg Active
 Connections  Connections Shared Srvrs Shared Srvrs  Dispatchers  Dispatchers
------------ ------------ ------------ ------------ ------------ ------------
           0            0            0            0            0            0
                          ------------------------------------------------------

Shared Servers Rates                          DB/Inst: ORCL/ORCL  Snaps: 23-24

  Common     Disp                        Common       Disp     Server
   Queue    Queue   Server    Server      Queue      Queue      Total     Server
 Per Sec  Per Sec Msgs/Sec    KB/Sec      Total      Total       Msgs  Total(KB)
-------- -------- -------- --------- ---------- ---------- ---------- ----------
       0        0        0       0.0          0          0          0          0
                          ------------------------------------------------------

Shared Servers Utilization                    DB/Inst: ORCL/ORCL  Snaps: 23-24

                  No data exists for this section of the report.
                          ------------------------------------------------------

Shared Servers Common Queue                   DB/Inst: ORCL/ORCL  Snaps: 23-24

                  No data exists for this section of the report.
                          ------------------------------------------------------

Shared Servers Dispatchers                    DB/Inst: ORCL/ORCL  Snaps: 23-24

                  No data exists for this section of the report.
                          ------------------------------------------------------

^Linit.ora Parameters                          DB/Inst: ORCL/ORCL  Snaps: 23-24

                                                                End value
Parameter Name                Begin value                       (if different)
----------------------------- --------------------------------- --------------
archive_lag_target            300
audit_file_dest               /rdsdbdata/admin/ORCL/adump
control_files                 /rdsdbdata/db/ORCL_A/controlfile/
db_block_checking             MEDIUM
db_create_file_dest           /rdsdbdata/db
db_name                       ORCL
db_recovery_file_dest_size    1073741824
db_unique_name                ORCL_A
dg_broker_config_file1        /rdsdbdata/config/dr1ORCL.dat
dg_broker_config_file2        /rdsdbdata/config/dr2ORCL.dat
diagnostic_dest               /rdsdbdata/log
filesystemio_options          setall
local_listener                (ADDRESS = (PROTOCOL=TCP)(HOST=lo
log_archive_dest_1            location="/rdsdbdata/db/ORCL_A/ar
log_archive_format            -%s-%t-%r.arc
memory_target                 0
open_cursors                  300
pga_aggregate_target          2038670336
plsql_warnings                DISABLE:ALL
processes                     1652
recyclebin                    OFF
sga_target                    12247367680
spfile                        /rdsdbbin/oracle/dbs/spfileORCL.o
standby_file_management       AUTO
undo_tablespace               UNDO_T1
use_large_pages               ONLY
                          ------------------------------------------------------

^Linit.ora Multi-Valued Parameters             DB/Inst: ORCL/ORCL  Snaps: 23-24

                  No data exists for this section of the report.
                          ------------------------------------------------------

Dynamic Remastering Stats                     DB/Inst: ORCL/ORCL  Snaps: 23-24

                  No data exists for this section of the report.
                          ------------------------------------------------------

End of Report

Preparing A Device for Someone New To I.T.

In my previous post I covered what I felt were the main considerations on deciding how to get someone with no real experience of I.T. online, for an example an elderly relative like my mum. In this post I’ll cover setting up the device.  Set-up is actually quite complex and there is a lot of assumed knowledge, like how the keyboard works, what spyware you leave turned on (none!) etc. So I am setting it up for her.  First I’ll just recap the main points on why I decided to use an Apple iPad for my Mum:

  • A small tablet – but not too small.
  • Simple, intuitive interface.
  • A Smartphone or iPad mini was too small.
  • PC/laptop ruled out as too complex for her.
  • Apple device as her main potential contacts use Apple devices.
  • A lack of remote access by me was less important than the above considerations.

On of the first things I did was to ask my friends (via Twitter) what they would suggest or had found worked when they had a similar task. Thank you to everyone who replied. If you have further advice, add a comment or contact me and I can update this post. The main suggestions were:

Keep It Simple

Mum has never used a keyboard, never used a smartphone and is not very technically adept. Everything she is learning is almost new to her, from what the enter key does to what an icon is. The closest reference I can use for her is the menu of options on her TV recorder – and she has some pretty bizarre ways of using that (but if it works for her, that’s just fine). So using the device has to be very, very simple. I want the main screen to be simple and non-threatening:

  • Remove every App that is not for something she needs to use (or I need to help).
  • Move any icons I need but she does not (or at least not at first) off the first screen.
  • Be brutal, delete as much as you can –  you can add back anything you later find you need.
  • Only have one app for a given task. Choice in this case is probably just confusion.
  • Include one or two (and only one or two) key things she will want to use.

I’ll just cover some of those bullet points in more detail:

Remove every app not required. My mum has no interest in stocks & shares, in monitoring her health, in maps of where she is (she knows where she is, she does not go anywhere else!). She certainly has no interest in “iTunes Store”, “Photo Booth” or any of the other “free” apps provided by the vendor. They will just be confusing clutter at first.

If there are 2 dozen icons on the screen, Mum will worry about what they all do or what will happen if she clicks the wrong one. And she will click the wrong one. It is a worry we don’t need.

When she first starts, she will struggle to find the right icon – even from a simplified list (and she did). The fewer choices the better.

So I deleted absolutely everything but the half dozen things she needed. If in the coming weeks, months or years she wants anything a deleted apps provides, they can be added back. When she is comfortable with the first lot, I can introduce more.

Move Icons I need to the second page. There are some things I need to get the device all set up for her and then tweak it. Two of them are “Settings” and “App Store”. You could argue that “Settings” will have things that Mum might like to change. But she won’t know how and she could mess up things if she changes her settings. So they are moved to the second page – and I told her to leave that page if she ever gets on it! The chances are she will not find the second page of Icons. (I did show her how to get off it, but stressed she call me if in doubt).

I also put a couple of things on the second page that I think she might want to use soon.

Only One Way.  I was advised to provide Mum with e.g. two ways of getting hold of me, in case one fails. Well, no. I do NOT want to have to show her two messaging apps and teach her the differences, I want one method that she can become confident with. It’s part of keeping it simple. Mum will be challenged to learn one interface, if I try and show her a second she will get confused over what works in which app. She can call me on the phone if the new way of communicating is not working, she is happy using a phone (as in just a phone, one that only makes and receives calls).

If Mum decides she does not like the app I choose (e.g. BBC News for, well, news) we can swap later. But right now I pick what I think she will like. And for the sake of simplicity, I chose a set of apps that are from the same provider, so work the same way.

We in the I.T. profession often love that we can swap between programming languages or have 4 or 5 social media apps to choose from. But we live and breath this stuff. This is all new to Mum. When you learnt to drive a  powered vehicle you learnt to drive a car. Or a motorbike. Or maybe even a tractor. You did not learn to use all three at the same time – and also an articulated lorry at the same time!

One or Two things she wants. I got a lot of advice of things to add to make the device fun or interesting, such as games, picture editing, or puzzles. The principle is good – but the reality is you need to think about the person and what they want from the device. And the keeping it simple aspect.

My mum loves jigsaws – but she loves the physical side of them! She has her tables set up, she talks about the manufacture she likes as the pieces fit together so well, she likes to glue together the occasional jigsaw she really likes. Maybe in the future she will look at Jigsaw apps, but right now she wants to keep her physical jigsaws.

What she wants is (1) a way to communicate with me (2) information on cycling and Formula 1 (3) the weather. So I gave her them. Nothing more, I’m keeping it simple. So that is Messenger, BBC sport and BBC weather. BBC news completes her intro to the web.

(Note, I also tried to introduce searching for things on google, but it did not work well – google does not understand “I want to know about him, that cycling chap, the one who’s not got side-burns”. We will come back to google in a month or so).

Make it Big and Bold

I don’t know about you, but the last time I changed my smartphone I got one with a slightly larger screen as I was having to hold the old one further and further away from me so I could focus on it. And I set my new smartphone to have larger Icons.

If you are new to I.T. and you are starting to have issues with vision or hearing, there are options for any device to make it easier to use. Check out the “Ease of Use” or “accessibility” options of the device. Ironically, they are not always the easiest to find. For iPads they are not a main option but under “General”. That’s not very helpful, Apple!

You maybe don’t want to bring up the topic of failing faculties with an older relative – so don’t. Just set up the device to have large icons, big text. and loud messages. Big and Bold.

Also, think of adding pictures and sounds the person will like. I changed the iPad wallpaper for a picture of our cats and when I created her facebook account (hmmm, I’ve not covered that…) I added a background of myself and my brother up some hills and a picture of our last cat as her image. I would have made it a picture of one of her cats but I did not have one. And that will be a nice thing to do with her sometime. The main thrust is use images the person can relate to.

To make the device easier for Mum to use I considered the following:

  • Increase the text size.
  • Increase the icon size.
  • Bold text & increased contrast can help if vision is poor.
  • Set the volume loud and make sure one of the first things you demonstrate is how to increase (and decrease) volume.
  • When you start messaging, send pictures. It’s more interesting.
  • Show them emojis. My mum seemed to really like emojis. Less Tyoing!
  • Put pictures they will like as their wallpaper and social media images.

I think I could have done more in this respect. What I should have done was got pictures from her and scanned them, or looked back in my old photo collection. I could have set the wallpaper to a picture of my Dad (long gone) or of all us kids or something. And any social media you set up for the person, think what pictures you can use for backgrounds and avatars.

 

Reference Material

The online help on tablets etc is pretty good – once you are able to look for it and learn what you can ignore.

For anyone who is really new to technology, reference material is going to need to be a lot more basic.

I prepared several sheets of information for my mum, like how to use a keyboard, which I show here. I also did some pictures of the iPad and annotated it – and left space for Mum to add her own notes!

My Mum found these really helpful, especially being able to scribble on them herself (which sometimes was replacing my helpful text with her weird description on what a key did!).

As well as this, I got her one of those “a senior citizen’s guide to the iPad” magazines. They are a good place to go to once the real basics of how to turn the device off and on and how a keyboard works have been learnt. BUT, they have a big drawback – they try and show lots of things in order to address a wide audience, and they usually have a long section at the start about “setting up your device”. I already set it up, Mum does not need it. So, edit the magazine!

I went through the magazine and crossed out in big, thick, black lines the bits she did not need. I also crossed out those sections on an app I had not given her but did a similar thing, and wrote at the start of it “do not read, Mum! Yours works differently!”

 

Random Other Advice

“Tell her not to clean the screen with a brillo pad! :)”
Well, it was a bit of a joke but it leads to a serious point. Explain how to look after the thing. I made the point that she should not get the iPad wet and to dry it immediately if she does spill things on it. And, if she drops it down the loo, take it out immediately, turn it off if it is on and put it somewhere warm – and call me!

“Yes, you can leave it plugged in, it will work for several days between charges. No you can’t damage the screen by tapping it with your finger, but do not use a screwdriver. Hitting it harder will not make it work more.”

We should (and will) get a cover for it so Mum can hold it more easily. Her house is carpeted throughout so dropping it (which she does, but she is close to the ground) is not such an issue.

“tell her how to get rid of Siri when she accidentally starts Siri up.”
I have turned off Siri as much as I can. And this leads on to the general topic of telling the person what they can and should ignore.

I told Mum to ignore prompts she will get (“You have not backed up your device for a week, kittens will die!”) or requests for feedback or surveys; how to shut down advertising boxes; do not respond to anything that ask you to provide information or download anything. And, just because you now have a “computer”, you should still ignore any telephone calls you get offering to help you with your computer problem. They were a hoax before you had a computer, they still are – keep telling them you don’t have a computer.

“Be patient…”
That last one is key. This is all new to them and if you are a regular visitor to my blog you are probably an I.T. expert. It can be very hard for us to understand how new this is for non-I.T. people and we assume knowledge. Like, what the enter key does in different situations and using the shift key (a single press of the shift key is different to a double press – and undoing the ALL CAPS of a double press only take a single press, which my Mum rightly pointed out is not logical!).

My mum really, really did not understand the keyboard very well to start. But touching the screen and dragging things around she took to straight away. I guess different people take to different parts more easily.

Be prepared to be very patient (*) and do not be surprised if some things take them an age to understand and yet other things they seem to get immediately. At some point, probably very early on, they will find out how to do something you don’t know!

(*) as my wife comments (in the comments section) alcohol may be required for post-training de-stress!