【Oracle Database 12c新特性】ORACLE_MAINTAINED

ORACLE_MAINTAINED是Oracle 12c中一系列视图的新增信息字段,该字段代表对象或用户是Oracle提供的脚本生成的,即Oracle-Supplied objects。

 

ORACLE_MAINTAINED VARCHAR2(1) Denotes whether the object was created, and is maintained, by Oracle-supplied scripts (such as catalog.sql or catproc.sql). An object for which this column has the value Y must not be changed in any way except by running an Oracle-supplied script.

我们来看看那些视图有该字段

oracle@localhost:/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/admin$ grep -i "ORACLE_MAINTAINED" *|grep comment
cdcore.sql:comment on column USER_OBJECTS.ORACLE_MAINTAINED is
cdcore.sql:comment on column ALL_OBJECTS.ORACLE_MAINTAINED is
cdcore.sql:comment on column DBA_OBJECTS.ORACLE_MAINTAINED is
cdcore.sql:comment on column USER_OBJECTS_AE.ORACLE_MAINTAINED is
cdcore.sql:comment on column ALL_OBJECTS_AE.ORACLE_MAINTAINED is
cdcore.sql:comment on column DBA_OBJECTS_AE.ORACLE_MAINTAINED is
cdenv.sql:comment on column USER_USERS.ORACLE_MAINTAINED is
cdenv.sql:comment on column ALL_USERS.ORACLE_MAINTAINED is
cdenv.sql:comment on column DBA_USERS.ORACLE_MAINTAINED is
cdsec.sql:comment on column DBA_ROLES.ORACLE_MAINTAINED is

DBA_USERS、DBA_OBJECTS、DBA_OBJECTS_AE以及与之相关的ALL_、USER_视图均有ORACLE_MAINTAINED字段。

以下为ORACLE MAINTAINED用户名


  1* select username from dba_users where ORACLE_MAINTAINED='Y'
SQL> /

USERNAME
--------------------------------------------------------------------------------------------------------------------------------
AUDSYS
GSMUSER
SPATIAL_WFS_ADMIN_USR
SPATIAL_CSW_ADMIN_USR
APEX_PUBLIC_USER
SYSDG
DIP
SYSBACKUP
MDDATA
GSMCATUSER
SYSKM
XS$NULL
OJVMSYS
ORACLE_OCM
OLAPSYS
SI_INFORMTN_SCHEMA
DVSYS
ORDPLUGINS
XDB
ANONYMOUS
CTXSYS
ORDDATA
GSMADMIN_INTERNAL
APPQOSSYS
APEX_040200
WMSYS
DBSNMP
ORDSYS
MDSYS
DVF
FLOWS_FILES
SYS
SYSTEM
OUTLN
LBACSYS

【Oracle Database 12cR1新特性】Implementing Temporal Validity

Implementing Temporal Validity

 

Download (PDF, 336KB)

12c Pluggable Database Container Database可插拔数据库特性专题

Oracle Database 12c中带来一种全新的架构,允许用户在一个独立的Oracle数据库中拥有多个pluggable可拔插的数据库。这种Pluggable 可拔插数据库的出现是为了对应 用户目前使用RDBMS数据库的现状,即有一些用户拥有大量的部门级应用构建于Oracle RDBMS数据库之上。

 

以下几个场景适合于使用pluggable database:

  1. 在产品系统中的某些应用实际仅使用十分少量的硬件资源。但是如果存在大量这样的应用,则还是需要构造大量的数据库实例并为这些小规模的数据库分配存储空间
  2. 对于那些并不十分复杂或重要,需要全职DBA花费大量时间管理的数据库
  3. 为了更好地利用硬件和DBA资源,用户有必要将大量的部门级应用整合到少数几个oracle RDBMS数据库中以便部署和管理

 

 

Pluggable Database 可拔插数据库允许DBA整合大量的小的部门级数据库到一个更庞大的数据库中。

 

Pluggable Database 带来的好处

 

在一个集中化的平台上操作多个数据库将有效降低成本:

  1. 更少的实例损耗
  2. 更低的存储成本

 

减少对DBA资源的使用,以及便于维护安全性:

  • 无需应用修改
  • 更快和简便的配置
  • 节省了打patch和升级的时间
  • 分离了以下责任:
    • 不同应用的管理员
    • 应用程序管理员和DBA
    • 应用用户
  • 提供isolation
  • 保证与非CDB 完整的向后兼容性
  • 完整的RAC操作使用
  • 与Oracle Enterprise Manager和Resource Manager整合在一起
  • 可以集中化管理多个数据库
    • 备份和灾难恢复
    • 补丁和升级

 

 

cdb1

 

[Read more...]

从谷歌趋势看谁在研究Oracle 12c

google trends

 

从上图中可以看到在2012年 oow期间12c的搜索趋势出现了一个小高潮,在2013年6月迎来了爆发点一路攀升,目前搜索量已不亚于”Oracle 11g”。

 

从地区上看 不管是12c还是11g,最感兴趣的地区 始终是印度 的卡纳塔克邦和安得拉邦 2个地区,班加罗尔市。

三哥三姐不愧为IT领跑者,对Oracle 12c的研究走到世界最前列!壮哉,我大印度IT产业!

 

12c regional

 

12c regional2

 

 

 

美国本土的话主要集中在 加利福尼亚和 马塞诸塞 2个州。

12c

【12c新特性】12cR1 ROWID IO Batching特性

在介绍12cR1的这个优化器特性之前,我们先来看如下的例子:

 

SQL> create table sample nologging tablespace users as select rownum t1  from dual  connect by level<=900000;  

Table created.  

SQL> alter table sample add t2 number;

Table altered.

update sample set t2=dbms_random.value(1,999999);

900000 rows updated.

SQL> commit;
Commit complete.

SQL> create index ind_t1 on sample(t1) nologging tablespace users;
Index created.

SQL> create index ind_t2 on sample(t2) nologging tablespace users;
Index created.

SQL> exec dbms_stats.gather_table_stats(USER,'SAMPLE',cascade=>TRUE);
PL/SQL procedure successfully completed.

SQL> select blocks,NUM_ROWS from dba_tables where table_name='SAMPLE';

    BLOCKS   NUM_ROWS
---------- ----------
      9107     902319

SQL> select CLUSTERING_FACTOR,LEAF_BLOCKS,DISTINCT_KEYS,index_name from dba_indexes where table_name='SAMPLE';

CLUSTERING_FACTOR LEAF_BLOCKS DISTINCT_KEYS INDEX_NAME
----------------- ----------- ------------- ------------------------------
             1370        2004        900000 IND_T1
           899317        4148        900000 IND_T2

alter session set events '10046 trace name context forever,level 12';

set autotrace traceonly;

alter system flush buffer_cache;

alter session set "_optimizer_batch_table_access_by_rowid"=true;

 select /*+ index(sample ind_t2) */ * from sample where t2 between 1 and 999997;

 select /*+ index(sample ind_t2) */ *
from
 sample where t2 between 1 and 999997

call     count       cpu    elapsed       disk      query    current        rows
------- ------  -------- ---------- ---------- ---------- ----------  ----------
Parse        1      0.00       0.00          0          0          0           0
Execute      1      0.00       0.00          0          0          0           0
Fetch    60001      4.68       8.56      12754    1810330          0      899999
------- ------  -------- ---------- ---------- ---------- ----------  ----------
total    60003      4.68       8.56      12754    1810330          0      899999

Misses in library cache during parse: 0
Optimizer mode: ALL_ROWS
Parsing user id: SYS
Number of plan statistics captured: 1

Rows (1st) Rows (avg) Rows (max)  Row Source Operation
---------- ---------- ----------  ---------------------------------------------------
    899999     899999     899999  TABLE ACCESS BY INDEX ROWID BATCHED SAMPLE (cr=1810330 pr=12754 pw=0 time=20413784 us cost=903657 size=24300000 card=900000)
    899999     899999     899999   INDEX RANGE SCAN IND_T2 (cr=63873 pr=4150 pw=0 time=4655140 us cost=4155 size=0 card=900000)(object id 92322)

Elapsed times include waiting on following events:
  Event waited on                             Times   Max. Wait  Total Waited
  ----------------------------------------   Waited  ----------  ------------
  SQL*Net message to client                   60001        0.00          0.32
  Disk file operations I/O                        1        0.00          0.00
  db file sequential read                     11388        0.00          1.70
  SQL*Net message from client                 60001        0.00          8.95
  db file parallel read                         197        0.00          0.00

 alter system flush buffer_cache;

alter session set "_optimizer_batch_table_access_by_rowid"=false;

 select /*+ index(sample ind_t2) */ * from sample where t2 between 1 and 999997;

 select /*+ index(sample ind_t2) */ *
from
 sample where t2 between 1 and 999997

call     count       cpu    elapsed       disk      query    current        rows
------- ------  -------- ---------- ---------- ---------- ----------  ----------
Parse        1      0.00       0.00          0          0          0           0
Execute      1      0.00       0.00          0          0          0           0
Fetch    60001      4.70       8.82      12754    1810333          0      899999
------- ------  -------- ---------- ---------- ---------- ----------  ----------
total    60003      4.70       8.82      12754    1810333          0      899999

Misses in library cache during parse: 1
Optimizer mode: ALL_ROWS
Parsing user id: SYS
Number of plan statistics captured: 1

Rows (1st) Rows (avg) Rows (max)  Row Source Operation
---------- ---------- ----------  ---------------------------------------------------
    899999     899999     899999  TABLE ACCESS BY INDEX ROWID SAMPLE (cr=1810333 pr=12754 pw=0 time=25464232 us cost=903657 size=24300000 card=900000)
    899999     899999     899999   INDEX RANGE SCAN IND_T2 (cr=63874 pr=4150 pw=0 time=4404956 us cost=4155 size=0 card=900000)(object id 92322)

Elapsed times include waiting on following events:
  Event waited on                             Times   Max. Wait  Total Waited
  ----------------------------------------   Waited  ----------  ------------
  SQL*Net message to client                   60001        0.00          0.32
  db file sequential read                     12754        0.00          1.85
  SQL*Net message from client                 60001        0.00          8.95

 

 

我们看到了一个陌生的operation “ TABLE ACCESS BY INDEX ROWID BATCHED” 注意 这个Batched是 之前的版本没有的。

 

须知 TABLE ACCESS BY ROWID 这种常见操作是从 子数据集合(例如INDEX中)获得必要的ROWID, 以便在表上定位到对应的行fetch对应数据。 若该行不在Buffer Cache中,则该 Table Access by ROWID的数据集合需要等待必要的IO完成才能处理下一个ROWID。 在很多场景中IO延迟在这里成为重要的瓶颈, 由于不管是RANGE SCAN、FULL SCAN还是Access By Rowid默认均使用DB FILE SEQUENTIAL READ所以如果访问的数据恰巧不在内存里+ 它要Fetch大量的数据行则 往往其整体相应速度和逻辑读要多于全表扫描。

 

常见在以下三种场景中多需要Table Access by Rowid的数据源访问:

  1. Index Range SCan
  2. Bitmap index plan
  3. Nested Loop Join

 

所以Oracle开发人员想到了要使用prefetch预读取数据源来提升性能,通过遍历ROWID以找出那些需要完成的IO操作并prefetch其数据源,将那些数据块预先读入。这里的实现上应当是通过buffer 驱动数据源哪里获得的ROWID,之后通过遍历这些 ROWID对应的的找到需要做物理读的数据块,并使用向量Io操作(例如上文中的db file parallel read)来prefetch这些数据块到buffer cache中,这样TABLE ACCESS By ROWID的访问就可以保证必要的块(主要是表块)均在buffer cache中。

使用此Batching Io特性可以有效减少IO延迟造成的性能损耗,但并不是任何场景都有效。由于实际能buffer的ROWID是有限的,而且是在不知道哪些ROWID对应需要IO哪些不需要的情况下全部都复制到buffer中,所以如果buffer的所有ROWID对应只需要少量的IO,则该IO Batching特性带来的性能改善将最小化。 亦或者遇到的ROWID对应的数据块全部在内存在 一点Io都不需要,则这种prefetch数据的行为有画蛇添足之嫌,反倒会徒增CPU时间片。

 

目前控制该特性的 优化器参数为_ optimizer_batch_table_access_by_rowid,该参数2个选项 TRUE /FALSE负责控制是否启用Table access by ROWID IO batching。

 

还可以通过 BATCH_TABLE_ACCESS_BY_ROWID和 NO_BATCH_TABLE_ACCESS_BY_ROWID 2个HINT来控制是否启用该特性, HINT的优先级高于参数optimizer_batch_table_access_by_rowid。不过目前在12.1.0.1.0上测试该HINT仍有一些问题。

 

 

 

SQL> select * from V$VERSION where rownum=1;

BANNER                                                                               CON_ID
-------------------------------------------------------------------------------- ----------
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production              0

  1* select name from v$SQL_HINT where name like '%BATCH%'

NAME
----------------------------------------------------------------
NLJ_BATCHING
NO_NLJ_BATCHING
BATCH_TABLE_ACCESS_BY_ROWID
NO_BATCH_TABLE_ACCESS_BY_ROWID

SQL> alter session set "_optimizer_batch_table_access_by_rowid"=true;

Session altered.

SQL>   select /*+     index(sample ind_t2)  NO_BATCH_TABLE_ACCESS_BY_ROWID */ * from sample where t2 between 1 and 999997;

899999 rows selected.

Execution Plan
----------------------------------------------------------
Plan hash value: 3882332507

----------------------------------------------------------------------------------------------
| Id  | Operation                           | Name   | Rows  | Bytes | Cost (%CPU)| Time     |
----------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT                    |        |   900K|    23M|   903K  (1)| 00:00:36 |
|   1 |  TABLE ACCESS BY INDEX ROWID BATCHED| SAMPLE |   900K|    23M|   903K  (1)| 00:00:36 |
|*  2 |   INDEX RANGE SCAN                  | IND_T2 |   900K|       |  4155   (1)| 00:00:01 |
----------------------------------------------------------------------------------------------

 

【12c新特性】12cR1中新加入的Statistic

【12c新特性】12cR1中新加入的Statistic

 

select  A.* from v$sysstat A  where A.name not in (select B.name from v$sysstat@db_11gR2 B);

 

STATISTIC# NAME CLASS VALUE STAT_ID CON_ID
52 physical read partial requests 8 0 286702467 0
54 physical write requests optimized 8 0 2483607112 0
55 physical write request redirties 8 0 4146911311 0
56 physical write total bytes optimized 8 0 4085960041 0
57 physical write partial requests 8 0 1535615968 0
70 ka messages sent 32 0 4222258831 0
71 ka grants received 32 0 2310418695 0
81 consistent gets pin 8 248409 1168838199 0
82 consistent gets pin (fastpath) 8 240756 2910712465 0
83 consistent gets examination 8 46775 1966540185 0
84 consistent gets examination (fastpath) 8 45808 1990445227 0
86 fastpath consistent get quota limit 40 0 560973176 0
178 flashback securefile cache read optimizations for block new 8 0 955255216 0
179 flashback securefile direct read optimizations for block new 8 0 963322245 0
180 physical reads cache for securefile flashback block new 8 0 2429466467 0
181 physical reads direct for securefile flashback block new 8 0 3121545084 0
184 data warehousing scanned objects 8 0 247471814 0
185 data warehousing scanned chunks 8 0 3880771368 0
186 data warehousing scanned chunks – memory 8 0 1765983694 0
187 data warehousing scanned chunks – flash 8 0 3811273611 0
188 data warehousing scanned chunks – disk 8 0 1684884558 0
189 data warehousing evicted objects 8 0 1827708704 0
190 data warehousing evicted objects – cooling 8 0 1769197766 0
191 data warehousing evicted objects – replace 8 0 547725926 0
192 data warehousing cooling action 8 0 2905230597 0
200 Streaming Stall Reap 2 0 3489516369 0
201 Streaming No-Stall Reap 2 0 2378677367 0
210 redo writes (group 0) 2 164 2952991530 0
211 redo writes (group 1) 2 16 1083730459 0
212 redo writes (group 2) 2 0 2759403975 0
213 redo writes (group 3) 2 0 3475566097 0
214 redo writes (group 4) 2 0 1807859197 0
215 redo writes (group 5) 2 0 1792560815 0
216 redo writes (group 6) 2 0 1695728381 0
217 redo writes (group 7) 2 0 1074957749 0
218 redo writes adaptive all 2 180 3061077218 0
219 redo writes adaptive worker 2 180 3220418890 0
221 redo blocks written (group 0) 2 995 2520028696 0
222 redo blocks written (group 1) 2 301 3244346714 0
223 redo blocks written (group 2) 2 0 1273391004 0
224 redo blocks written (group 3) 2 0 1050845280 0
225 redo blocks written (group 4) 2 0 2795831152 0
226 redo blocks written (group 5) 2 0 615604096 0
227 redo blocks written (group 6) 2 0 764128333 0
228 redo blocks written (group 7) 2 0 435637049 0
229 redo write size count (   4KB) 2 145 4206847440 0
230 redo write size count (   8KB) 2 15 3604386338 0
231 redo write size count (  16KB) 2 11 1937637258 0
232 redo write size count (  32KB) 2 7 2689404784 0
233 redo write size count (  64KB) 2 0 3887142398 0
234 redo write size count ( 128KB) 2 2 2998280397 0
235 redo write size count ( 256KB) 2 0 2120393820 0
236 redo write size count ( 512KB) 2 0 3912524051 0
237 redo write size count (1024KB) 2 0 395882065 0
238 redo write size count (inf) 2 0 4145578355 0
251 redo synch time overhead (usec) 128 3142053 3961087021 0
252 redo synch time overhead count (  2ms) 128 35 1771370497 0
253 redo synch time overhead count (  8ms) 128 0 2324186582 0
254 redo synch time overhead count ( 32ms) 128 0 2882285036 0
255 redo synch time overhead count (128ms) 128 0 1234629759 0
256 redo synch time overhead count (inf) 128 3 2239006192 0
261 redo write info find 2 38 3584739253 0
262 redo write info find fail 2 0 553778103 0
267 gc cr blocks served with BPS 40 0 1600220233 0
275 gc current blocks served with BPS 40 0 1004484383 0
278 gc cr blocks received with BPS 40 0 3270643842 0
281 gc current blocks received with BPS 40 0 301773697 0
282 gc ka grants received 40 0 912334553 0
283 gc ka grant receive time 40 0 3746639269 0
289 gc cleanout saved 40 0 4119317321 0
290 gc cleanout applied 40 0 1976898865 0
291 gc cleanout no space 40 0 522936568 0
293 gc reader bypass waits 40 0 1120557156 0
298 gc force cr disk read 40 395 1058102273 0
307 AVM files created count 128 0 1887082337 0
308 AVM files deleted count 128 0 4223523824 0
309 AVM file bytes allocated 128 0 3731650962 0
310 AVM au bytes allocated 128 0 3441520794 0
311 AVM file bytes deleted 128 0 1514042146 0
312 AVM non-flash bytes requested 128 0 1829484955 0
313 AVM flash bytes requested 128 0 965137504 0
314 AVM bytes for file maps 128 0 2904743103 0
315 AVM bytes read from flash 128 0 4263147678 0
316 AVM bytes read from disk 128 0 2004986892 0
317 AVM count when 10% of buckets in pb 128 0 652947275 0
318 AVM count when 25% of buckets in pb 128 0 3588709547 0
319 AVM count when 50% of buckets in pb 128 0 2879014823 0
320 AVM count when 75% of buckets in pb 128 0 1964315023 0
321 AVM count when 90% of buckets in pb 128 0 226051874 0
322 AVM count – borrowed from other node 128 0 4037843577 0
323 AVM count – searched in pb 128 0 4000147916 0
324 AVM spare statistic 1 128 0 47653185 0
325 AVM spare statistic 2 128 0 3191674657 0
326 AVM spare statistic 3 128 0 2665872976 0
327 AVM spare statistic 4 128 0 2816010972 0
328 AVM spare statistic 5 128 0 4250363583 0
329 AVM spare statistic 6 128 0 3756487597 0
330 AVM spare statistic 7 128 0 2604881032 0
331 AVM spare statistic 8 128 0 176682480 0
345 storage index soft misses in bytes 8 0 2809906174 0
353 cell num smart IO sessions in rdbms block IO due to open fail 64 0 1611570469 0
363 cell num smartio automem buffer allocation attempts 64 0 145506540 0
364 cell num smartio automem buffer allocation failures 64 0 727055891 0
365 cell num smartio transient cell failures 64 0 2276204331 0
366 cell num smartio permanent cell failures 64 0 299072157 0
367 cell num bytes of IO reissued due to relocation 64 0 3754903472 0
388 recovery marker 2 0 2982845773 0
389 cvmap unavailable 2 0 3849353583 0
390 recieve buffer unavailable 2 0 3480097050 0
462 tracked transactions 128 0 4230695614 0
463 foreground propagated tracked transactions 128 0 2081753160 0
464 slave propagated tracked transactions 128 0 275867045 0
465 large tracked transactions 128 0 1755433832 0
466 very large tracked transactions 128 0 4033000846 0
467 fbda woken up 128 0 138331311 0
468 tracked rows 128 0 943642878 0
469 CLI Flush 128 73 670819718 0
470 CLI BG attempt Flush 128 73 2751550570 0
471 CLI Client Flush 128 0 2418073855 0
472 CLI Imm Wrt 128 0 47996927 0
473 CLI Buf Wrt 128 0 1466815534 0
474 CLI Thru Wrt 128 2 2721289668 0
475 CLI Prvtz Lob 128 0 1688196485 0
476 CLI SGA Alloc 128 32 2076026298 0
477 CLI BG ENQ 128 73 2537508108 0
478 CLI BG Fls done 128 2 1898500432 0
479 CLI Flstask create 128 73 4150293767 0
480 CLI bytes fls to table 128 1376 872375576 0
481 CLI bytes fls to ext 128 0 2251457522 0
482 Heatmap SegLevel – Write 128 0 2305866014 0
483 Heatmap SegLevel – Full Table Scan 128 0 3635715785 0
484 Heatmap SegLevel – IndexLookup 128 0 4088384827 0
485 Heatmap SegLevel – TableLookup 128 0 26595750 0
486 Heatmap SegLevel – Flush 128 0 3466367062 0
487 Heatmap SegLevel – Segments flushed 128 0 2885452372 0
504 KTFB alloc req 128 0 3506976771 0
505 KTFB alloc space (block) 128 0 254882839 0
506 KTFB alloc time (ms) 128 0 573758863 0
507 KTFB free req 128 25 1286187813 0
508 KTFB free space (block) 128 1528 1243401580 0
509 KTFB free time (ms) 128 266 408510199 0
510 KTFB apply req 128 16 2829590811 0
511 KTFB apply time (ms) 128 902 1827629900 0
512 KTFB commit req 128 9 2268695636 0
513 KTFB commit time (ms) 128 16659 3807444826 0
514 KTFB alloc myinst 128 0 637674164 0
515 KTFB alloc steal 128 0 3819194715 0
516 KTFB alloc search FFB 128 0 1572111054 0
522 Heatmap BlkLevel Tracked 128 0 417269865 0
523 Heatmap BlkLevel Not Tracked – Memory 128 0 3244920981 0
524 Heatmap BlkLevel Not Updated – Repeat 128 0 1235344528 0
525 Heatmap BlkLevel Flushed 128 0 3201601810 0
526 Heatmap BlkLevel Flushed to SYSAUX 128 0 153666168 0
527 Heatmap BlkLevel Flushed to BF 128 0 329477246 0
528 Heatmap BlkLevel Ranges Flushed 128 0 3869669302 0
529 Heatmap BlkLevel Ranges Skipped 128 0 120128078 0
530 Heatmap BlkLevel Flush Task Create 128 0 1236100146 0
531 Heatmap Blklevel Flush Task Count 128 0 1887039906 0
568 index compression (ADVANCED LOW) prefix change at block 128 0 1089998764 0
569 index compression (ADVANCED LOW) prefix no change at block 128 0 2879842113 0
570 index compression (ADVANCED LOW) blocks not compressed 128 0 3703793538 0
571 index compression (ADVANCED LOW) reorg avoid split 128 0 2501129012 0
573 index compression (ADVANCED HIGH) leaf block splits avoided 128 0 228768206 0
575 index compression (ADVANCED HIGH) leaf block 90_10 splits faile 128 0 3445701516 0
612 HSC OLTP Compression wide compressed row pieces 128 0 784760009 0
669 EHCC Used on ZFS Tablespace 128 0 2536989047 0
670 EHCC Used on Pillar Tablespace 128 0 3901974308 0
671 EHCC Conventional DMLs 128 0 547882683 0
672 EHCC Block Compressions 128 0 2852097326 0
673 EHCC Attempted Block Compressions 128 0 726324667 0
674 SecureFiles DBFS Link Operations 128 0 408804124 0
675 SecureFiles Move to DBFS Link 128 0 2159528439 0
676 SecureFiles Copy from DBFS Link 128 0 3313150606 0
677 SecureFiles Get DBFS Link Reference 128 0 3776855272 0
678 SecureFiles Put DBFS Link Reference 128 0 1020980477 0
679 SecureFiles Implicit Copy from DBFS Link 128 0 2864160252 0
680 SecureFiles DBFS Link streaming reads 128 0 2291010287 0
681 SecureFiles DBFS Link Overwrites 128 0 3546571658 0
682 index cmph ld, CU under-est 128 0 3487869306 0
683 index cmph ld, CU fit, add rows 128 0 3074245919 0
684 index cmph ld, CU fit 128 0 312995821 0
685 index cmph ld, CU over-est 128 0 3287792462 0
686 index cmph ld, retry in over-est 128 0 2794871331 0
687 index cmph ld, CU negative comp 128 0 747638515 0
688 index cmph ld, lf blks flushed 128 0 3933169485 0
689 index cmph ld, lf blks w/o CU 128 0 2058955770 0
690 index cmph ld, lf blks w/o unc r 128 0 1877031790 0
691 index cmph ld, lf blks w/ und CU 128 0 500852118 0
692 index cmph ld, rows compressed 128 0 2461980696 0
693 index cmph ld, rows uncompressed 128 0 1487477542 0
694 index cmph gencu, uncomp sentinals 128 0 3972713215 0
707 Number of NONE redactions 1 0 2910416594 0
708 Number of FULL redactions 1 0 4021003316 0
709 Number of PARTIAL redactions 1 0 2340397149 0
710 Number of FORMAT_PRESERVING redactions 1 0 2739332778 0
711 Number of RANDOM redactions 1 0 2308447938 0
712 Number of REGEXP redactions 1 0 3081010860 0
795 OLAP Paging Manager Cache Hit 64 0 249788237 0
796 OLAP Paging Manager Cache Miss 64 0 2631123639 0
797 OLAP Paging Manager New Page 64 0 1639856938 0
798 OLAP Paging Manager Cache Write 64 0 2077400790 0
799 OLAP Session Cache Hit 64 0 3766195924 0
800 OLAP Session Cache Miss 64 0 1569481295 0
801 OLAP Aggregate Function Calc 64 0 3109348342 0
802 OLAP Aggregate Function Precompute 64 0 352609299 0
803 OLAP Aggregate Function Logical NA 64 0 2269374713 0
804 OLAP Paging Manager Pool Size 64 0 3621573995 0
805 OLAP Import Rows Pushed 64 0 3846608240 0
806 OLAP Import Rows Loaded 64 0 2782483173 0
807 OLAP Row Source Rows Processed 64 0 1032576542 0
808 OLAP Engine Calls 64 0 4076583183 0
809 OLAP Temp Segments 64 0 3547622716 0
810 OLAP Temp Segment Read 64 0 1927042645 0
811 OLAP Perm LOB Read 64 0 2809117898 0
812 OLAP Paging Manager Cache Changed Page 64 0 2200669834 0
813 OLAP Fast Limit 64 0 283242358 0
814 OLAP GID Limit 64 0 1120107350 0
815 OLAP Unique Key Attribute Limit 64 0 3812252850 0
816 OLAP INHIER Limit 64 0 2844959843 0
817 OLAP Full Limit 64 0 2189109011 0
818 OLAP Custom Member Limit 64 0 3030144806 0
819 OLAP Row Id Limit 64 0 3437716459 0
820 OLAP Limit Time 64 0 2592657924 0
821 OLAP Row Load Time 64 0 953132701 0

【12c新特性】12c中新后台进程

【12c新特性】12c中新后台进程,主要包括但不局限于:

 

OFSD Oracle File Server BG
RMON rolling migration monitor
IPC0 IPC Service 0
BW36 db writer process 36
BW99 db writer process 99
TMON Transport Monitor
RTTD Redo Transport Test Driver
TPZ1 Test Process Z1
TPZ2 Test Process Z2
TPZ3 Test Process Z3
LREG Listener Registration
AQPC AQ Process Coord
FENC IOServer fence monitor
VUBG Volume Driver Umbilical Background
SCRB ASM Scrubbing Master

 

 

可以看到这里LREG进程开始负责对Listener Registration监听器的注册:

Service registration enables the listener to determine whether a database service and its service handlers are available. A service handler is a dedicated server process or dispatcher that acts as a connection point to a database. During registration, the LREG process provides the listener with the instance name, database service names, and the type and addresses of service handlers. This information enables the listener to start a service handler when a client request arrives.

Figure 16-5 shows two databases, each on a separate host. The database environment is serviced by two listeners, each on a separate host. The LREG process running in each database instance communicates with both listeners to register the database.

 

截止目前12c的官方文档中的配图还有问题, 图示还是用PMON注册监听。

12c pmon LREG

 

 

Reference:

E16655_01/E16655_01/server.121/e17633/dist_pro.htm#CHDIBHAD

【12c新特性】12c中新加入的Enqueue Lock

12c中新加入的Enqueue Lock列表如下:

 

其中值得注意的 ,为CDB加入了不少enqueue

BC ==》 Container lock held while creating/dropping  a container

PB ==》 Enqueue used to synchronize PDB DDL operations

select A.* from ksqst_12cR1 A where  A.KSQSTTYP not in (select B.KSQSTTYP from ksqst_11gR2@MACDBN  B);

 

AC Synchronizes partition id
AQ kwsptGetOrMapDqPtn
AQ kwsptGetOrMapQPtn
BA subscriber access to bitmap
BC Container lock held while creating a container
BC Container lock held while dropping a container
BC Group lock held while creating a contained file
BC Group lock held while creating a container
BC Group lock held while dropping a container group
BI Enqueue held while a contained file is cleaned up or deleted
BI Enqueue held while a contained file is created
BI Enqueue held while a contained file is identified
BV Enqueue held while a container group is rebuilding
BZ Enqueue held while a contained file is resized
CB Synchronizes accesses to the CBAC roles cached in KGL
CC decrypting and caching column key
CP Synchronization
FH Serializes flush of ILM stats to disk
FO Synchronizes various Oracle File system operations
IC Gets a unique client ID
IF File Close
IF File Open
IP Enqueue used to synchronize instance state changes for PDBs
KI Synchronizes Cross-Instance Calls
MC Serializes log creation/destruction with log flushes
MF Serializes flushes for a SGA log in bkgnd
MF Serializes flushes for a single SGA log – client
MF Serializes flushes for a single SGA log – destroy
MF Serializes flushes for a single SGA log – error earlier
MF Serializes flushes for a single SGA log – space lack
MF Serializes multiple processes in creating the swap space
OP Synchronizing access to ols$profile when deleting unused profiles
OP Synchronizing access to ols$user when inserting user entries
PA lock held for during modify a privilege capture
PA lock held for during reading privilege captur status
PB Enqueue used to synchronize PDB DDL operations
PQ kwslbFreShadowShrd:LB syncronization with Truncate
PQ kwsptChkTrncLst:Truncate
PQ kwsptLoadDqCache: Add DQ Partitions.
PQ kwsptLoadDqCache:Drop DQ Partitions.
PQ kwsptLoadQCache: Add Q Partitions.
PQ kwsptLoadQCache:Drop Q Partitions.
PQ kwsptMapDqPtn:Drop DQ Partitions in foreground
PQ kwsptMapQPtn: Add Q Partitions in foreground
PY Database RTA info access on AVM
PY Instance RTA info access on AVM
RA Flood control in RAC. Acquired in no-wait.
RQ AQ indexed cached commit
RQ AQ uncached commit WM update
RQ AQ uncached dequeue
RQ Cross process updating disk
RQ Cross(export) – truncate subshard
RQ Cross(import) – free shadow shard
RQ Dequeue updating scn
RQ Enqueue commit rac cached
RQ Enqueue commit uncached
RQ Free shadow – Cross(import) shard
RQ Parallel cross(update scn) – truncate subshard
RQ Truncate – Cross(export) subshard
RZ Synchronizes access to the foreign log cache while a structure is being inserted
RZ Synchronizes access to the foreign log cache while a structure is being removed
SG Synchronize access to ols$groups when creating a group
SG Synchronize access to ols$groups when zlllabGroupTreeAddGroup does a read
SG Synchronizing access to ols$groups when alter group parent
SG Synchronizing access to ols$groups when dropping a group
ZS lock held while writing to/renaming/deleting spillover audit file