转自:http://blog.51cto.com/tiany/1596012

通过案例学调优之--Oracle Time Model(时间模型)

数据库时间

优化不仅仅是缩短等待时间。优化旨在缩短最终用户响应时间和(或)尽可能减少每个请求占用的平均资源。有时这些目标可同时实现,而有时则需要进行折衷(如在并行查询时)。通常可以认为,优化就是避免以浪费的方式占用或保留资源。

对数据库发出的任何请求都由两个不同的段组成:等待时间(数据库等待时间)和服务时间(数据库 CPU 时间)。等待时间是各种数据库实例资源的所有等待时间的总和。CPU 时间是实际处理请求时消耗的时间的总和。这些时间不一定由一个等待时间和一个 CPU 时间块组成。通常,进程会等待数据库资源较短时间,然后在 CPU 上短暂运行,并重复执行这一系列过程。

优化包括缩短或消除等待时间以及缩短 CPU 时间。此定义适用于任何应用程序类型、联机事务处理 (OLTP) 或数据仓库 (DW)。

注:非常繁忙的系统的数据库 CPU 时间较长,这会增大其它时间。

CPU 时间和等待时间优化思维

优化系统时,应将 CPU 时间与系统的等待时间进行比较,这一点很重要。通过将 CPU 时间与等待时间进行比较,可以确定用于有效工作的响应时间,以及用于等待可能由其它进程占用的资源的时间。通常情况下,与等待时间占主导地位的系统相比,CPU 时间占主导地位的系统需要的优化较少。但是,SQL 语句编写不佳也可能导致高 CPU 使用率。

虽然随着系统负载的增加,等待时间与 CPU 时间的比值会不断增大,但等待时间的迅速增加是争用的迹象,必须解决这一问题才能获得良好的可扩展性。

增加的等待时间表明发生争用时,在节点中增加 CPU 或在集群中增加节点的作用将非常有限。相反,CPU 时间的分配比例不会随着负载增大而明显减小的系统,可扩展性会更好,并且最有可能通过添加 CPU 或 Real Application Clusters (RAC) 实例受益。

注: 自动工作量资料档案库 (AWR) 和 Statspack 报表在“Top 5 Event(前 5 个事件)”部分显示 CPU 时间排前 5 位的事件的 CPU 时间和等待时间。

时间模型:概览

许多组件参与 Oracle DB 系统的优化,每个组件拥有自己的统计信息集。如何评估优化措施预计为总体系统带来的好处?例如,如果将内存从缓冲区高速缓存移至共享池,是否可以提高总体性能?整体查看系统时,时间是比较各个组件的唯一常用标尺。在 Oracle DB 服务器中,大多数建议统计信息都会以时间为单位报告其结果。还有称为“时间模型统计信息”的统计信息,显示为 V$SYS_TIME_MODEL 和 V$SESS_TIME_MODEL 性能视图。此工具帮助 Oracle DB 服务器确定对数据库操作的定量影响。

时间模型统计信息中最重要的是数据库时间。此统计信息代表数据库调用花费的总时间,并指示总的实例工作量,它是未等待“空闲等待事件”的所有会话(非空闲用户会话)的 CPU 时间和等待时间的总和。

优化 Oracle 数据库系统的目标可以表述为:缩短用户在数据库上执行某项操作花费的时间;或简单地表述为缩短数据库时间。

其它时间模型统计信息会提供对特定操作(如登录操作、硬分析和软分析、PL/SQL 执行和 Java 执行)的量化影响(以时间为单位)。

时间模型统计信息的层次结构

本幻灯片列出了时间模型统计信息之间的关系。这些关系组成两个结构树:后台所用时间和数据库时间。结构树中的子项所报告的时间均包含在结构树中的相应父项内。

数据库时间:执行数据库用户级调用的所用时间量(微秒)。此时间不包括用于实例后台进程(如 PMON)的时间。数据库时间从实例启动时开始累计。因为数据库时间的计算方法是将所有非空闲用户会话的时间组合在一起,所以,数据库时间可能会超过从实例启动算起的实际已用时间。例如,已运行 30 分钟的实例可能有四个活动用户会话,累计的数据库时间大约为 120 分钟。

数据库 CPU:数据库用户级调用的 CPU 时间量(微秒)。

序列装入所用时间:从数据字典获取下一个序号的所用时间量。如果将序列缓存起来,则此时间是用于在高速缓存用尽时补充高速缓存的时间量。在高速缓存中能找到序号时,不会记入任何时间。对于非缓存序列,将为每个 NEXTVAL 调用记入一定时间。

时间模型示例

所示的示例来自 AWR 报表。Statspack 报表也提供时间模型信息。统计信息按照占数据库时间值的百分比排序,因此占用时间最多的区域及其子项排在列表的第一个。本例中“sql execute elapsed time(sql 执行所用时间)”排在顶部。“Parse time elapsed(分析所用时间)”紧随其后,而“hard parse elapsed time(硬分析所用时间)”为“parse time elapsed(分析所用时间)”的子项。您马上可以看到,硬分析占用了几乎所有分析时间,而分析时间占用了数据库时间的绝大部分。

注:各个统计信息的数据库时间百分比总和大于 100%。尽管没有将“parse time elapsed(分析所用时间)”作为“sql execute elapsed time(sql 执行所用时间)”的子项,但两者重复计入了部分元素。

案例分析:

1、建立AWR snapshot

15:50:10 SYS@ test1 >exec dbms_workload_repository.create_snapshot();

PL/SQL procedure successfully completed.

2、进行事务操作

1
2
3
4
5
6
7
8
9
SQL>conn scott/tiger
Connected.

SQL >begin
for 

in 
1.
.100000 
loop
execute immediate 
'insert into t1(id) values ('
||i||
')'
;
end loop;
end;
/
PL/SQL procedure successfully completed.

2、建立AWR snapshot

15:52:31 SYS@ test1 >exec dbms_workload_repository.create_snapshot();

PL/SQL procedure successfully completed.

通过AWR Report分析如下:

可以看出系统存在大量的hard parse,占用了大量的cpu time

Top Wait Events

查看用户session占用的CPU TIME:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
SQL>select
ss.username,
se.SID,
VALUE/
100 
cpu_usage_seconds
from
v$session ss,
v$sesstat se,
v$statname sn
where
se.STATISTIC# = sn.STATISTIC#
and
   NAME like 
'%CPU used by this session%'
and
   
se.SID = ss.SID
and
   
ss.status=
'ACTIVE'
and
   
ss.username is 
not 
null
order by VALUE desc;

USERNAME                              SID CPU_USAGE_SECONDS
------------------------------ ---------- -----------------
SCOTT                                  
37            
128.08
SYS                                    
39               
.48
SCOTT                                  
37                 
0
SYS                                    
39                 
0
SCOTT                                  
37                 
0
SYS                                    
39                 
0
SCOTT                                  
37                 
0
SYS                                    
39                 
0
8 
rows selected.

查看系统等待事件(Wait Events):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
SQL>SELECT
wait_class,
NAME,
ROUND (time_secs, 
2
) time_secs,
ROUND (time_secs * 
100 
/ SUM (time_secs) OVER (), 
2
) pct
FROM
 
(SELECT
 
n.wait_class,
  
e.event NAME,
  
e.time_waited / 
100 
time_secs
FROM
  v$system_event e,
  
v$event_name n
WHERE
   
n.NAME = e.event AND n.wait_class <> 
'Idle'
AND
   
time_waited > 
0
UNION
SELECT
  
'CPU'
,
   
'server CPU'
,
  
SUM (VALUE / 
1000000
) time_secs
FROM
   
v$sys_time_model
WHERE
      
stat_name IN (
'background cpu time'

'DB CPU'
))
ORDER BY
  time_secs DESC;
  
WAIT_CLASS           NAME                                     TIME_SECS    PCT
-------------------- ------------------------------ ------------------- ------
CPU                  server CPU                                  
113.80  
31.36
System I/O           control file parallel write                  
96.43  
26.57
System I/O           db file async I/O submit                     
31.03   
8.55
Other                enq: CF - contention                         
20.43   
5.63
System I/O           log file parallel write                      
19.78   
5.45
System I/O           flashback log file write                     
14.93   
4.11
Other                wait 
for 
stopper event to be i               
10.11   
2.79
                     
ncreased
Other                rdbms ipc reply                               
8.97   
2.47
Configuration        free buffer waits                             
7.99   
2.20
User I/O             db file sequential read                       
5.55   
1.53
Configuration        log buffer space                              
4.98   
1.37
User I/O             Parameter File I/O                            
4.43   
1.22
Configuration        flashback buf free by RVWR                    
4.06   
1.12
Other                control file heartbeat                        
4.00   
1.10
Other                ARCH wait 
for 
process start 
3                 
2.00    
.55
WAIT_CLASS           NAME                                     TIME_SECS    PCT
-------------------- ------------------------------ ------------------- ------
User I/O             flashback log file sync                       
1.89    
.52
Other                change tracking file synchrono                
1.75    
.48
                     
us write
Concurrency          os thread startup                             
1.69    
.47
User I/O             db file single write                          
1.62    
.45
Other                buffer exterminate                            
1.41    
.39
User I/O             db file scattered read                        
1.15    
.32
Configuration        checkpoint completed                           
.84    
.23
System I/O           log file sequential read                       
.80    
.22
Other                ADR block file read                            
.61    
.17
Commit               log file sync                                  
.49    
.14
System I/O           log file single write                          
.35    
.10
System I/O           flashback log file read                        
.33    
.09
User I/O             Disk file operations I/O                       
.27    
.07
System I/O           db file parallel write                         
.21    
.06
Other                SGA: allocation forcing compon                 
.18    
.05
WAIT_CLASS           NAME                                     TIME_SECS    PCT
-------------------- ------------------------------ ------------------- ------
                     
ent growth
Other                ADR block file write                           
.18    
.05
User I/O             direct path sync                               
.17    
.05
Other                enq: PR - contention                           
.07    
.02
User I/O             direct path read                               
.06    
.02
Concurrency          latch: shared pool                             
.06    
.02
Concurrency          buffer busy waits                              
.05    
.01
System I/O           control file sequential read                   
.04    
.01
System I/O           Log archive I/O                                
.03    
.01
Other                PX Deq: Signal ACK EXT                         
.03    
.01
Concurrency          latch: row cache objects                       
.03    
.01
User I/O             Disk file Mirror/Media Repair                  
.02    
.01
                     
Write
Concurrency          library cache: mutex X                         
.01    
.00
User I/O             db file parallel read                          
.01    
.00
WAIT_CLASS           NAME                                     TIME_SECS    PCT
-------------------- ------------------------------ ------------------- ------
Other                latch: cache buffers lru chain                 
.01    
.00
Other                reliable message                               
.01    
.00
Concurrency          latch: cache buffers chains                    
.01    
.00
Other                latch: redo allocation                         
.01    
.00
Other                cr request retry                               
.01    
.00
48 
rows selected.

案例分析:

CPU使用信息统计:

1、发现那些SQL运行了大量的PARSE

1
2
3
 SQL >select sql_text, parse_calls, executions 
from 
v$sqlarea 
where 
rownum <
4 
order by 
2
SQL_TEXT                                                               PARSE_CALLS EXECUTIONS
---------------------------------------------------------------------- ----------- ----------
insert 
into 
t1 (id) values (
55135
)                                               
1         
1
insert 
into 
t1 (id) values (
55443
)                                               
1          
1
insert 
into 
t1 (id) values (
55243
)                                               
1          
1

2、SYS的总的PARSE情况

select name, value from v$sysstat where name like 'parse count%';
1
2
3
4
5
6
7
SQL>select name, value 
from 
v$sysstat 
where 
name like 
'parse count%'
NAME                                                                  VALUE
---------------------------------------------------------------- ----------
parse count (total)                                                   
88502
parse count (hard)                                                    
86643
parse count (failures)                                                    
0
parse count (describe)                                                    
0

3、CPU空间及繁忙情况

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
select * 
from 
v$osstat;
STAT_NAME                                               VALUE  OSSTAT_ID COMMENTS                                 CUM
-------------------------------------------------- ---------- ---------- ---------------------------------------- ---
NUM_CPUS                                                    
1          
0 
Number 
of active CPUs                    NO
IDLE_TIME                                               
35790          
1 
Time (centi-secs) that CPUs have been 
in 
YES
                                                                          
the idle state
BUSY_TIME                                                
5632          
2 
Time (centi-secs) that CPUs have been 
in 
YES
                                                                          
the busy state
USER_TIME                                                
3867          
3 
Time (centi-secs) spent 
in 
user code     YES
SYS_TIME                                                 
1673          
4 
Time (centi-secs) spent 
in 
the kernel    YES
IOWAIT_TIME                                              
4248          
5 
Time (centi-secs) spent waiting 
for 
IO   YES
NICE_TIME                                                   
0          
6 
Time (centi-secs) spend 
in 
low-priority  YES
                                                                         
user code
RSRC_MGR_CPU_WAIT_TIME                                      
0         
14 
Time (centi-secs) processes spent 
in 
the YES
                                                                          
runnable state waiting
LOAD                                               
.659179688         
15 
Number 
of processes running 
or 
waiting o NO
STAT_NAME                                               VALUE  OSSTAT_ID COMMENTS                                 CUM
-------------------------------------------------- ---------- ---------- ---------------------------------------- ---
                                                                         
n the run queue
PHYSICAL_MEMORY_BYTES                              
1236480000       
1008 
Physical memory size 
in 
bytes            NO
TCP_SEND_SIZE_MIN                                        
4096       
2000 
TCP Send Buffer Min Size                 NO
TCP_SEND_SIZE_DEFAULT                                   
16384       
2001 
TCP Send Buffer Default Size             NO
TCP_SEND_SIZE_MAX                                     
3489792       
2002 
TCP Send Buffer Max Size                 NO
TCP_RECEIVE_SIZE_MIN                                     
4096       
2003 
TCP Receive Buffer Min Size              NO
TCP_RECEIVE_SIZE_DEFAULT                                
87380       
2004 
TCP Receive Buffer Default Size          NO
TCP_RECEIVE_SIZE_MAX                                  
3489792       
2005 
TCP Receive Buffer Max Size              NO
GLOBAL_SEND_SIZE_MAX                                  
1048586       
2006 
Global send size max (net.core.wmem_max) NO
GLOBAL_RECEIVE_SIZE_MAX                               
4194304       
2007 
Global receive size max (net.core.rmem_m NO
                                                                         
ax)

4、查看每个Session的CPU利用情况:

select ss.sid,se.command,ss.value CPU ,se.username,se.program  
      from v$sesstat ss, v$session se  where ss.statistic# in  
     (select statistic#  from v$statname  
     where name = 'CPU used by this session')  
     and se.sid=ss.sid  
     and ss.sid>6 order by CPU desc;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
SQL >select ss.sid,se.command,ss.value CPU ,se.username,se.program
from 
v$sesstat ss, v$session se
where 
ss.statistic# 
in
(select statistic#
from 
v$statname
where 
name = 
'CPU used by this session'
)
and 
se.sid=ss.sid
and 
ss.sid>
6 
order by CPU desc;
       
SID    COMMAND        CPU USERNAME                       PROGRAM
---------- ---------- ---------- ------------------------------ ------------------------------------------------
        
34          
2       
8963 
SCOTT                          sqlplus@RH6.cuug.net (TNS V1-V3)
        
40          
0         
59                                
oracle@RH6.cuug.net (CJQ0)
        
15          
3         
34                                
oracle@RH6.cuug.net (MMON)
        
13          
0          
2                                
oracle@RH6.cuug.net (SMON)
         
9          
0          
0                                
oracle@RH6.cuug.net (MMAN)
        
12          
0          
0                                
oracle@RH6.cuug.net (CKPT)
        
14          
0          
0                                
oracle@RH6.cuug.net (RECO)
         
8          
0          
0                                
oracle@RH6.cuug.net (DIA0)
        
16          
0          
0                                
oracle@RH6.cuug.net (MMNL)
        
18          
0          
0                                
oracle@RH6.cuug.net (RVWR)
        
20          
0          
0                                
oracle@RH6.cuug.net (ARC0)
        
21          
0          
0                                
oracle@RH6.cuug.net (ARC1)
        
22          
0          
0                                
oracle@RH6.cuug.net (ARC2)
        
23          
0          
0                                
oracle@RH6.cuug.net (ARC3)
        
28          
0          
0                                
oracle@RH6.cuug.net (CTWR)
         
7          
0          
0                                
oracle@RH6.cuug.net (PSP0)
        
10          
0          
0                                
oracle@RH6.cuug.net (DBW0)
       
SID    COMMAND        CPU USERNAME                       PROGRAM
---------- ---------- ---------- ------------------------------ ------------------------------------------------
        
11          
0          
0                                
oracle@RH6.cuug.net (LGWR)
18 
rows selected.

5、比较一下哪个session的CPU使用时间最多,然后查看该Session的具体情况:

select s.sid, s.event, s.MACHINE,s.OSUSER,s.wait_time, w.seq#, q.sql_text  
from v$session_wait w, v$session s, v$process p, v$sqlarea q  
where s.paddr=p.addr and  s.sid=&p 
       and  s.sql_address=q.address;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
SQL>select username,sid 
from 
v$session 
where 
username is 
not 
null
;
USERNAME                              SID
------------------------------ ----------
SYS                                     
1
SCOTT                                  
34
 
SQL>select s.sid, s.event, s.MACHINE,s.OSUSER,s.wait_time, w.seq#, q.sql_text
from 
v$session_wait w, v$session s, v$process p, v$sqlarea q
where 
s.paddr=p.addr 
and
s.sid=&p 
and
s.sql_address=q.address
Enter value 
for 
p: 
34
SID EVENT                          MACHINE              OSUSER      WAIT_TIME       SEQ#
---------- ------------------------------ -------------------- ---------- ---------- ----------
SQL_TEXT
--------------------------------------------------
        
34 
db file sequential read        RH6.cuug.net         oracle             
-1        
797
insert 
into 
t1 (id) values (
80178
)
        
34 
db file sequential read        RH6.cuug.net         oracle             
-1       
1056
insert 
into 
t1 (id) values (
80178
)
        
34 
db file sequential read        RH6.cuug.net         oracle             
-1        
136
insert 
into 
t1 (id) values (
80178
)
        
34 
db file sequential read        RH6.cuug.net         oracle             
-1          
7
insert 
into 
t1 (id) values (
80178
)
        
34 
db file sequential read        RH6.cuug.net         oracle             
-1       
1320
insert 
into 
t1 (id) values (
80178
)
       
SID EVENT                          MACHINE              OSUSER      WAIT_TIME       SEQ#
---------- ------------------------------ -------------------- ---------- ---------- ----------
SQL_TEXT
--------------------------------------------------
        
34 
db file sequential read        RH6.cuug.net         oracle             
-1        
636
insert 
into 
t1 (id) values (
80178
)
        
34 
db file sequential read        RH6.cuug.net         oracle             
-1        
849
insert 
into 
t1 (id) values (
80178
)
        
34 
db file sequential read        RH6.cuug.net         oracle             
-1        
155
insert 
into 
t1 (id) values (
80178
)
        
34 
db file sequential read        RH6.cuug.net         oracle             
-1         
87
insert 
into 
t1 (id) values (
80178
)
        
34 
db file sequential read        RH6.cuug.net         oracle             
-1        
221
insert 
into 
t1 (id) values (
80178
)
       
SID EVENT                          MACHINE              OSUSER      WAIT_TIME       SEQ#
---------- ------------------------------ -------------------- ---------- ---------- ----------
SQL_TEXT
--------------------------------------------------
        
34 
db file sequential read        RH6.cuug.net         oracle             
-1         
64
insert 
into 
t1 (id) values (
80178
)
        
34 
db file sequential read        RH6.cuug.net         oracle             
-1        
284
insert 
into 
t1 (id) values (
80178
)
        
34 
db file sequential read        RH6.cuug.net         oracle             
-1         
17
insert 
into 
t1 (id) values (
80178
)
        
34 
db file sequential read        RH6.cuug.net         oracle             
-1       
3815
insert 
into 
t1 (id) values (
80178
)
        
34 
db file sequential read        RH6.cuug.net         oracle             
-1         
11
insert 
into 
t1 (id) values (
80178
)
       
SID EVENT                          MACHINE              OSUSER      WAIT_TIME       SEQ#
---------- ------------------------------ -------------------- ---------- ---------- ----------
SQL_TEXT
--------------------------------------------------
        
34 
db file sequential read        RH6.cuug.net         oracle             
-1        
266
insert 
into 
t1 (id) values (
80178
)

6、占用CPU最高的10个Session及其SQL语句

select s.sid,w.wait_time,w.seconds_in_wait,w.state,w.wait_time_micro,w.time_remaining_micro,w.time_since_last_wait_micro,p.USERNAME,  status,server,schemaname,osuser,machine,p.terminal,p.program,logon_time,w.event,w.wait_class,tracefile,sql_text,last_active_time  
     from v$session_wait w, v$session s, v$process p, v$sqlarea q  
     where s.paddr=p.addr and  s.sid  in  
     ( select sid from  (  select ss.sid  
           from v$sesstat ss, v$session se  where ss.statistic# in  
              (  select statistic# from v$statname  
              where name = 'CPU used by this session' )  
              and se.sid=ss.sid and ss.sid>6 order by ss.value desc  )
              where rownum<11 )  and s.sql_address=q.address;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
SQL>select s.sid,w.wait_time,w.seconds_in_wait,w.state,w.wait_time_micro,w.time_remaining_micro,w.time_since_last_wait_micro,p.USERNAME,
status,server,schemaname,osuser,machine,p.terminal,p.program,logon_time,w.event,w.wait_class,tracefile,sql_text,last_active_time
from 
v$session_wait w, v$session s, v$process p, v$sqlarea q
where 
s.paddr=p.addr 
and
s.sid
in
( select sid 
from
(
select ss.sid
from 
v$sesstat ss, v$session se
where 
ss.statistic# 
in
(
select statistic# 
from 
v$statname
where 
name = 
'CPU used by this session'
 
)
and 
se.sid=ss.sid 
and 
ss.sid>
6 
order by ss.value desc
 
)
where 
rownum<
4
 
)
and 
s.sql_address=q.address;
  
       
SID  WAIT_TIME SECONDS_IN_WAIT STATE               WAIT_TIME_MICRO TIME_REMAINING_MICRO
---------- ---------- --------------- ------------------- --------------- --------------------
TIME_SINCE_LAST_WAIT_MICRO USERNAME        STATUS   SERVER    SCHEMANAME                     OSUSER
-------------------------- --------------- -------- --------- ------------------------------ ----------
MACHINE              TERMINAL                       PROGRAM                                          LOGON_TIME
-------------------- ------------------------------ ------------------------------------------------ ------------
EVENT                          WAIT_CLASS
------------------------------ ----------------------------------------------------------------
TRACEFILE
------------------------------------------------------------------------------------------------------------------------
SQL_TEXT                                           LAST_ACTIVE_
-------------------------------------------------- ------------
        
34         
-1               
0 
WAITED SHORT TIME                 
2
                       
134 
oracle          ACTIVE   DEDICATED SCOTT                          oracle
RH6.cuug.net         UNKNOWN                        oracle@RH6.cuug.net (TNS V1-V3)                  
26
-DEC
-14
asynch descriptor resize       Other
/u01/app/oracle/diag/rdbms/test1/test1/trace/test1_ora_2280.trc
begin 
for 

in 
1.
.100000 
loop execute immediate 'i 
26
-DEC
-14
nsert 
into 
t1 (id) values (
'||i||'
)'; end loop; en
......(省略)

【Oracle】转:通过案例学调优之--Oracle Time Model(时间模型)的更多相关文章

  1. Oracle第二话之调优工具

    Oracle第二话之调优工具 原创if 0 = -I can 发布于2019-04-09 19:53:12 阅读数 172  收藏 展开 目录 1.告警日志 2.用户进程trace文件 3.动态性能视 ...

  2. 【转】oracle内存分配和调优总结

    转自 http://blog.itpub.net/12272958/viewspace-696834/ 一直都想总结一下oracle内存调整方面的知识,最近正好优化一个数据库内存参数,查找一些资料并且 ...

  3. [转]oracle性能调优之--Oracle 10g AWR 配置

    一.ASH和AWR的故事 1.1 关于ASH 我们都知道,用户在ORACLE数据库中执行操作时,必然要创建相应的连接和会话,其中,所有当前的会话信息都保存在动态性能视图V$SESSION中,通过该视图 ...

  4. oracle 内存分配和调优 总结

    一直都想总结一下oracle内存调整方面的知识,最近正好优化一个数据库内存参数,查找一些资料并且google很多下.现在记录下来,做下备份.           一.概述:              ...

  5. Oracle 12C -- 网络性能调优

    1.传输数据压缩 网络性能主要受两方面影响:bandwidth和data volume. 在网络层对数据进行压缩,可以减少对网络带宽的需求.而且对应用是透明的. 如果是CPU是瓶颈时开启网络层数据压缩 ...

  6. JVM性能调优(1) —— JVM内存模型和类加载运行机制

    一.JVM内存模型 运行一个 Java 应用程序,必须要先安装 JDK 或者 JRE 包.因为 Java 应用在编译后会变成字节码,通过字节码运行在 JVM 中,而 JVM 是 JRE 的核心组成部分 ...

  7. Oracle性能问题sql调优脚本集

    ---------------------------------------------------------------------------------------------------- ...

  8. maclean-【性能调优】Oracle AWR报告指标全解析 学习笔记

    原文链接:http://www.askmaclean.com/archives/performance-tuning-oracle-awr.html AWR小技巧 手动执行一个快照: Exec dbm ...

  9. 记一次phoenix在不加索引的情况调优,由6s以上时间变成不到1s

    背景: 网约车预约单查询: 这里面恶心的地方是: 1个时间窗口要查询6种时间:推送订单时间(来自mongodb).有效抢单时间(来自mongodb).抢单成功时间(实时kafka).取消订单时间(实时 ...

随机推荐

  1. Linux下keepalived配置

    1.背景 节点1:192.168.12.35 节点2:192.168.12.36 2.keepalived安装 使用yum仓库安装keepalived [root@node01 ~]# yum ins ...

  2. DataGrid 字体垂直居中

    如果用DataGridTextColumn作为DataGrid的列,字体垂直居中需要这样设置: <Style x:Key="Body_Content_DataGrid_Centerin ...

  3. Hive中自定义序列化器(带编码)

    hive SerDe的简介 https://www.jianshu.com/p/afee9acba686 问题 数据文件为文本文件,每一行为固定格式,每一列的长度都是定长或是有限制范围,考虑采用hiv ...

  4. 彻底理解Spring如何解决循环依赖

    Spring bean生命周期 可以简化为以下5步. 1.构建BeanDefinition 2.实例化 Instantiation 3.属性赋值 Populate 4.初始化 Initializati ...

  5. java基础: ArrayList集合应用, ArrayList增删改查详解,综合java基础实现学生管理系统,

    1.ArrayList 集合和数组的区别 : 共同点:都是存储数据的容器 不同点:数组的容量是固定的,集合的容量是可变的 1.1 -ArrayList的构造方法和添加方法 public ArrayLi ...

  6. WEBSERVICE 分析器错误信息: 未能创建类型

    问题描述 分析器错误 说明: 在分析向此请求提供服务所需资源时出错.请检查下列特定分析错误详细信息并适当地修改源文件. 分析器错误信息: 未能创建类型"Service1". 源错误 ...

  7. 篇章一:SVN服务搭建【基于Windows server 2008R2 + Windows7】

    1.软件下载 1.1 软件介绍 Subversion是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说. 首先来下载和搭建SVN服务器. 现在Subversion已经迁移到apache网站 ...

  8. bootstrap(一)栅格系统

    中文网:http://www.bootcss.com/ 官网:http://v3.bootcss.com/ 需要准备:离线手册  和  软件包 项目中引用bootstrap.min.js压缩版和boo ...

  9. x264编码demo定制修改介绍

    x264编码器,提供了两个demo来验证编码功能:一个是大而全的x264.c,另外一个是简洁版的example.c. 其中,前者demo,可以配置很多编码参数,但太冗长繁杂,对初学者不太友好.  后者 ...

  10. 由innodb锁引起的数据库相关

    innodb 锁的问题 1.事务 原子性:要么成功,要么失败 一致性:前后数据保持一致状态 隔离性:多个事务并行,相互不影响 持久性:事务提交之后,对数据的影响是永久性的,即使故障也可以保持. 2.并 ...