Oracle 12.1.0.2新特性 Approximate Count Distinct

[oracle@PD009 ~]$ grep -i approx_count oracle.str
settings for approx_count_distinct optimizations
qkaGBPushdown:  estimated memory without GPD = groupSize (%.2f) * aclsum (%u) = %.2f; estimated memory with GPD = optHllEntry (%u) * # of approx_count_distinct (%d) * parallelDegree (%.0f) = %.2f
APPROX_COUNT_DISTINCT
APPROX_COUNT_DISTINCT
APPROX_COUNT_DISTINCT
 
 
_approx_cnt_distinct_gby_pushdown = choose
_approx_cnt_distinct_optimization = 0




 alter system flush shared_pool;
  alter session set events '10053 trace name context forever ,level 1';
 select count( distinct prod_id) from sales_history where  amount_sold>1;
 

 select approx_count_distinct(prod_id) from sales_history where  amount_sold>1;

  oradebug setmypid;
  oradebug tracefile_name;
  /s01/diag/rdbms/pdprod/PDPROD/trace/PDPROD_ora_4086.trc
  
  
  
  sql= select count( distinct prod_id) from sales_history where  amount_sold>1
----- Explain Plan Dump -----
----- Plan Table -----

============
Plan Table
============
---------------------------------------------+-----------------------------------+
| Id  | Operation             | Name         | Rows  | Bytes | Cost  | Time      |
---------------------------------------------+-----------------------------------+
| 0   | SELECT STATEMENT      |              |       |       |  4912 |           |
| 1   |  SORT AGGREGATE       |              |     1 |    13 |       |           |
| 2   |   VIEW                | VW_DAG_0     |    72 |   936 |  4912 |  00:00:59 |
| 3   |    HASH GROUP BY      |              |    72 |   648 |  4912 |  00:00:59 |
| 4   |     TABLE ACCESS FULL | SALES_HISTORY| 3589K |   32M |  4820 |  00:00:58 |
---------------------------------------------+-----------------------------------+













sql= select approx_count_distinct(prod_id) from sales_history where  amount_sold>1
----- Explain Plan Dump -----
----- Plan Table -----
 
============
Plan Table
============
----------------------------------------------+-----------------------------------+
| Id  | Operation              | Name         | Rows  | Bytes | Cost  | Time      |
----------------------------------------------+-----------------------------------+
| 0   | SELECT STATEMENT       |              |       |       |  4820 |           |
| 1   |  SORT AGGREGATE APPROX |              |     1 |     9 |       |           |
| 2   |   TABLE ACCESS FULL    | SALES_HISTORY| 3589K |   32M |  4820 |  00:00:58 |
----------------------------------------------+-----------------------------------+
Predicate Information: 


12c RMAN新特性restore/recover from service远程恢复

12c中提供了基于网络的RMAN Restore和recover功能:

 

About Restoring Files Over the Network

RMAN restores database files, over the network, from a physical standby database by using the FROM SERVICE clause of the RESTORE command. The FROM SERVICE clause provides the service name of the physical standby database from which the files must be restored. During the restore operation, RMAN creates backup sets, on the physical standby database, of the files that need to be restored and then transfers these backup sets to the target database over the network.

Use the SECTION SIZE clause of the RESTORE command to perform a multisection restore operation. To encrypt the backup sets created on the physical standby database, use the SET ENCRYPTION command before the RESTORE command to specify the encryption algorithm used.

To transfer files from the physical standby database as compressed backup sets, use the USING COMPRESSED BACKUPSET clause in the RESTORE command. By default, RMAN compresses backup sets using the algorithm that is set in the RMAN configuration. You can override the default and set a different algorithm by using the SET COMPRESSION ALGORITHM command before the RESTORE statement.

About Recovering Files Over the Network

RMAN can perform recovery by fetching an incremental backup, over the network, from a primary database and then applying this incremental backup to the physical standby database. RMAN is connected as TARGET to the physical standby database. The recovery process is optimized by restoring only the used data blocks in a data file. Use the FROM SERVICE clause to specify the service name of the primary database from which the incremental backup must be fetched.

To use multisection backup sets during the recovery process, specify the SECTION SIZE clause in the RECOVER command. To transfer the required files from the primary database as encrypted backup sets, use the SET ENCRYPTION command before the RESTORE command to specify the encryption algorithm used to create the backup sets.

To compress backup sets that are used to recover files over the network, use the USING COMPRESSED BACKUPSET. RMAN compresses backup sets when it creates them on the primary database and then transfers these backup sets to the target

 

 

 

restore from service

 

可以通过restore .. from service指定的对象类型:

  • database
  • datafile
  • tablespace
  • 控制文件
  • SPFILE

 

restore datafile from service

当在主库Primary丢失/或损坏FILE#=6的user01.dbf数据文件时,可以直接使用restore datafile from service来从standby(其实并不要求一定是DataGuard,只需要是合适的备用库即可)上获得数据文件,例如:

 

select * from v$version;

BANNER                                                                                         CON_ID
------------------------------------------------------------------------------------------ ----------
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production                        0
PL/SQL Release 12.1.0.2.0 - Production                                                              0
CORE    12.1.0.2.0      Production                                                                          0
TNS for Linux: Version 12.1.0.2.0 - Production                                                      0
NLSRTL Version 12.1.0.2.0 - Production                                                           askmaclean.com


RMAN> select name from v$datafile where file#=6;



NAME                                                                            
--------------------------------------------------------------------------------

/s01/oradata/PDPROD/datafile/o1_mf_users_b2wgb20l_.dbf
 

RMAN> alter database datafile 6 offline;

Statement processed




RMAN> restore datafile 6 from service pdstby;

Starting restore at 04-OCT-14
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=51 device type=DISK

channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: using network backup set from service pdstby
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00006 to /s01/oradata/PDPROD/datafile/o1_mf_users_b2wgb20l_.dbf
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
Finished restore at 04-OCT-14




RMAN> recover datafile 6 from service pdstby;

Starting recover at 04-OCT-14
using channel ORA_DISK_1
channel ORA_DISK_1: starting incremental datafile backup set restore
channel ORA_DISK_1: using network backup set from service pdstby
destination for restore of datafile 00006: /s01/oradata/PDPROD/datafile/o1_mf_users_b2wgb20l_.dbf
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 10/04/2014 02:57:09

ORA-19845: error in backupDatafile while communicating with remote database server
ORA-17628: Oracle error 19648 returned by remote Oracle server
ORA-19648: datafile : incremental-start SCN equals checkpoint SCN
ORA-19660: some files in the backup set could not be verified
ORA-19661: datafile 6 could not be verified
ORA-19845: error in backupDatafile while communicating with remote database server
ORA-17628: Oracle error 19648 returned by remote Oracle server
ORA-19648: datafile : incremental-start SCN equals checkpoint SCN



之后recover 并online datafile 6即可

 

具体的几种用法:

 

  • 数据库级别: restore database from service <服务别名>
  • 表空间: restore tablespace from service <服务别名>
  • 控制文件: restore controlfile to ‘指定的位置’ from service <服务别名>
  • SPFILE: restore spfile from service <服务别名>

 

 

通过recover .. from service命令可以通过网络将service指定的数据库的增量备份拉过来在本地做recover从而让本地数据库跟上远程数据库的SCN。

CONNECT TARGET “sys/<password>@standby as sysdba” RECOVER DATABASE FROM SERVICE primary;

recover database from service

 

 

此外上述增量备份还可以是基于压缩备份的:

 

SET COMPRESSION ALGORITHM ‘BASIC';

SET COMPRESSION ALGORITHM ‘LOW';

SET COMPRESSION ALGORITHM ‘MEDIUM';

SET COMPRESSION ALGORITHM ‘HIGH';

 

CONNECT TARGET “sys/<password>@standby as sysdba”

SET COMPRESSION ALGORITHM ‘BASIC';

RECOVER DATABASE FROM SERVICE primary

USING COMPRESSED BACKUPSET;

【Oracle 12c】In-Memory Database Cache内存数据库选项

NAME AVALUE SDESC
_inmemory_check_prot_meta FALSE If true, marks SMU area read only to prevent stray writes
_inmemory_private_journal_quota 100 quota for transaction in-memory private journals
_inmemory_private_journal_sharedpool_quota 20 quota for transaction in-memory objects
_inmemory_private_journal_numbkts 512 Number of priv jrnl ht bkts
_inmemory_private_journal_numgran 128 Number of granules per HT node
_inmemory_jscan 0 inmemory jscan enable
_inmemory_pin_hist_mode 16 settings for IM pinned buffer history
_inmemory_txn_checksum 0 checksum for SMUs and private journals
_inmemory_buffer_waittime 100 wait interval for one SMU or IMCU to be freed
_inmemory_cu_timeout 100 maximum wait time for one IMCU to be freed
_inmemory_cudrop_timeout 1000 maximum wait time for IMCU to be freed during drop
_inmemory_exclto_timeout 1000 maximum wait time to pin SMU for cleanout
_inmemory_num_hash_latches 256 Maximum number of latches for IM buffers
_inmemory_strdlxid_timeout 0 max time to determine straddling transactions
_inmemory_incremental_repopulation FALSE If true, incremental repopulation of IMCU will be attempted
_inmemory_lock_for_smucreate FALSE take object lock during smu creation
_inmemory_auto_distribute TRUE If true, enable auto distribute
_inmemory_autodist_2safe FALSE If true, enable auto distribute with 2safe
_inmemory_distribute_timeout 300 If true, enable auto distribute with 2safe
_inmemory_distribute_ondemand_timeout 300 On demand timeout for redistribute
inmemory_size 0 size in bytes of in-memory area
_inmemory_64k_percent 30 percentage of in-memory area for 64k pools
_inmemory_min_ima_defersize 0 Defer in-memory area allocation beyond this size
_inmemory_memprot TRUE enable or disable memory protection for in-memory
_inmemory_analyzer_optimize_for 0 inmemory analyzer optimize for
_inmemory_default_flags 8459 Default flags based on inmemory_clause_default
_inmemory_default_new FALSE Force in-memory on new tables
inmemory_clause_default Default in-memory clause for new tables
inmemory_force DEFAULT Force tables to be in-memory or not
inmemory_query ENABLE Specifies whether in-memory queries are allowed
_inmemory_query_scan TRUE In-memory scan enabled
_inmemory_scan_override FALSE In-memory scan override
_inmemory_scan_threshold_percent_noscan 50 In-memory scan threshold maximum percent dirty no scan
_inmemory_small_segment_threshold 65536 In-memory small segment threshold (must be larger for in-memory)
_inmemory_query_fetch_by_rowid FALSE In-memory fetch-by-rowid enabled
_inmemory_pruning ON In-memory pruning
_inmemory_enable_sys FALSE enable in-memory on system tablespace with sys user
_inmemory_populate_fg FALSE populate in foreground
_inmemory_pga_per_server 536870912 minimum pga needed per inmemory populate server
inmemory_max_populate_servers 0 maximum inmemory populate servers
_inmemory_servers_throttle_pgalim_percent 55 In-memory populate servers throttling pga limit percentage
inmemory_trickle_repopulate_servers_percent 1 inmemory trickle repopulate servers percent
_inmemory_populate_wait FALSE wait for population to complete
_inmemory_populate_wait_max 600 maximum wait time in seconds for segment populate
_inmemory_imco_cycle 120 IMCO cycle in seconds (sleep period)
_inmemory_enable_population_verify 1 verify in-memory population
_inmemory_log_level 1 in-memory log level
_inmemory_fs_verify FALSE in-memory faststart verify
_inmemory_force_fs FALSE in-memory faststart force
_inmemory_force_fs_tbs SYSAUX in-memory faststart force tablespace
_inmemory_force_fs_tbs_size 1073741824 in-memory faststart force tablespace size
_inmemory_fs_raise_error FALSE in-memory faststart raise error
_inmemory_fs_nodml FALSE in-memory faststart assumes no dmls while populating
_inmemory_fs_enable FALSE in-memory faststart enable
_inmemory_fs_enable_blk_lvl_inv TRUE in-memory faststart enable block level invalidation
_inmemory_fs_blk_inv_blkcnt in-memory faststart CU invalidation threshold(blocks)
_inmemory_fs_blk_inv_blk_percent 20 in-memory faststart CU invalidation threshold(blocks)
_inmemory_enable_stat_alert FALSE dump in-memory stats in alert log file
_inmemory_imcu_align TRUE Enforce 8M IMCU alignment
_inmemory_max_populate_retry 3 IM populate maximum number of retry
_inmemory_imcu_target_rows 1048576 IMCU target number of rows
_inmemory_imcu_target_bytes 0 IMCU target size in bytes
_inmemory_imcu_source_extents 0 number of source extents per IMCU
_inmemory_imcu_source_blocks 0 number of source blocks per IMCU
_inmemory_imcu_source_minbytes 1048576 number of minimum source bytes per IMCU
_inmemory_imcu_populate_minbytes 5242880 minimum free space in IMA for populating IMCU
_inmemory_imcu_source_analyze_bytes 134217728 number of source analyze bytes per IMCU
_inmemory_imcu_target_maxrows 8388608 IMCU maximum target number of rows
_inmemory_imcu_source_maxbytes 536870912 IMCU maximum source size in bytes
_inmemory_max_queued_tasks 0 Maximum queued populating tasks on the auxiliary queue
_inmemory_repopulate_threshold_rows In-memory repopulate threshold number of modified rows
_inmemory_repopulate_threshold_blocks In-memory repopulate threshold number of modified blocks
_inmemory_pct_inv_rows_invalidate_imcu 50 In-memory percentage invalid rows for IMCU invalidation
_inmemory_pct_inv_blocks_invalidate_imcu 100 In-memory percentage invalid blocks for IMCU invalidation
_inmemory_repopulate_threshold_mintime_factor 5 In-memory repopulate minimum interval (N*timetorepop)
_inmemory_repopulate_threshold_mintime 0 In-memory repopulate minimum interval (millisec)
_inmemory_repopulate_threshold_scans 0 In-memory repopulate threshold number of scans
_inmemory_repopulate_priority_scale_factor 100 In-memory repopulate priority threshold scale factor
_inmemory_repopulate_invalidate_rate_percent 100 In-memory repopulate invalidate rate percent
_inmemory_repopulate_priority_threshold_row 20 In-memory repopulate priority threshold row
_inmemory_repopulate_priority_threshold_block 40 In-memory repopulate priority threshold block
_inmemory_repopulate_threshold_rows_percent 5 In-memory repopulate threshold rows invalid percentage
_inmemory_repopulate_threshold_blocks_percent 10 In-memory repopulate threshold blocks invalid percentage
_inmemory_repopulate_disable FALSE disable In-memory repopulate
_inmemory_check_protect FALSE If true, marks in-memory area read only to prevent stray writes
_inmemory_checksum FALSE If true, checksums in-memory area to detect stray writes
_inmemory_validate_fetch FALSE If true, validate single-row fetch between in-memory and disk
_inmemory_journal_row_logging FALSE If true, log the entire row into the in-memory journal
_inmemory_journal_check 0 Depending on value does one of the DML verifications
_inmemory_rows_check_interrupt 1000 Number of rows buffered before interrupt check
_inmemory_dbg_scan 0 In-memory scan debugging
_inmemory_segment_populate_verify 0 In-memory segment populate verification
_inmemory_query_check 0 In-memory query checking
_inmemory_test_verification 0 In-memory verification testing
_inmemory_invalidate_cursors TRUE In-memory populate enable cursor invalidations
_inmemory_prepopulate_fg 0 Force prepopulate of in-memory segment in foreground
_inmemory_prepopulate TRUE Enable inmemory populate by IMCO
_inmemory_trickle_repopulate TRUE Enable inmemory trickle repopulate
_inmemory_trickle_repopulate_threshold_dirty_ratio 0 IMCO Trickle Repopulate threshold dirty ratio
_inmemory_trickle_repopulate_min_interval 300 IMCO Trickle Repopulate Interval
_inmemory_trickle_repopulate_fg 0 Trickle Repopulate in the Foreground
_inmemory_force_non_engineered FALSE force non-engineered systems in-memory behavior on RAC
_inmemory_suppress_vsga_ima FALSE Suppress inmemory area in v$sga
optimizer_inmemory_aware TRUE optimizer in-memory columnar awareness
_optimizer_inmemory_table_expansion TRUE optimizer in-memory awareness for table expansion
_optimizer_inmemory_gen_pushable_preds TRUE optimizer generate pushable predicates for in-memory
_optimizer_inmemory_autodop TRUE optimizer autoDOP costing for in-memory
_optimizer_inmemory_access_path TRUE optimizer access path costing for in-memory
_optimizer_inmemory_quotient 0 in-memory quotient (% of rows in in-memory format)
_optimizer_inmemory_pruning_ratio_rows 100 in-memory pruning ratio for # rows (% of rows remaining after pruning)
_parallel_inmemory_min_time_threshold AUTO threshold above which a plan is a candidate for parallelization for in-memory tables (in seconds)
_parallel_inmemory_time_unit 1 unit of work used to derive the degree of parallelism for in-memory tables (in seconds)
_optimizer_inmemory_bloom_filter TRUE controls serial bloom filter for in-memory tables
_optimizer_inmemory_cluster_aware_dop TRUE Affinitize DOP for inmemory objects
_optimizer_inmemory_minmax_pruning TRUE controls use of min/max pruning for costing in-memory tables

test

In-Memory Database Cache


  IM                           in-memory ((null))
    IM_transaction             IM transaction layer ((null))
      IM_Txn_PJ                IM Txn Private Journal (ktmpj)
      IM_Txn_SJ                IM Txn Shared Journal (ktmsj)
      IM_Txn_JS                IM Txn Journal Scan (ktmjs)
      IM_Txn_Conc              IM Txn Concurrency (ktmc)
      IM_Txn_Blk               IM Txn Block (ktmb)
      IM_Txn_Read              IM Txn Read (ktmr)
    IM_space                   IM space layer ((null))
    IM_data                    IM data layer (kdm)
      IM_populate              IM populating (kdml)
      IM_background            IM background (kdmr)
      IM_scan                  IM scans ((null))
      IM_journal               IM journal ((null))
      IM_dump                  IM dump ((null))
      IM_FS                    IM faststart ((null))
      IM_optimizer             IM optimizer (kdmo)
	  
	  
	  
	  
	  alter session set events 'trace[IM_scan] disk=medium';
	  
	  
	  
	  SQL> alter system set inmemory_size=2g scope=spfile;

System altered.

SQL> shutdown immediate;


[oracle@mlab2 ~]$ sqlplus  / as sysdba

SQL*Plus: Release 12.1.0.2.0 Production on Wed Sep 3 23:18:18 2014

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

Connected to an idle instance.

SQL> startup;
ORACLE instance started.

Total System Global Area 2684354560 bytes
Fixed Size                  2928008 bytes
Variable Size             402653816 bytes
Database Buffers          117440512 bytes
Redo Buffers               13848576 bytes
In-Memory Area           2147483648 bytes
Database mounted.
Database opened.

    alter session set events 'trace[IM_scan] disk=medium';
      select count(*) from mac_imm1;
	SQL> oradebug setmypid
Statement processed.
SQL> oradebug tracefile_name
/s01/diag/rdbms/c12r1/C12R1/trace/C12R1_ora_16700.trc




kdmsirs(): map with 13 extents
Ext: 0, dba: 0x18000db, len: 5, skp: 0
Ext: 1, dba: 0x18000e0, len: 8, skp: 0
Ext: 2, dba: 0x18000e9, len: 7, skp: 0
Ext: 3, dba: 0x18000f0, len: 8, skp: 0
Ext: 4, dba: 0x18000f9, len: 7, skp: 0
Ext: 5, dba: 0x1800100, len: 8, skp: 0
Ext: 6, dba: 0x1800109, len: 7, skp: 0
Ext: 7, dba: 0x1800110, len: 8, skp: 0
Ext: 8, dba: 0x1800119, len: 7, skp: 0
Ext: 9, dba: 0x1800120, len: 8, skp: 0
Ext: 10, dba: 0x1800129, len: 7, skp: 0
Ext: 11, dba: 0x1800130, len: 8, skp: 0
Ext: 12, dba: 0x1800139, len: 1, skp: 0 
kdmsStartEndDBA(): scan start: 0x18000db end: 0x18000df rdba[0]: 0x18000db size[0]: 5, nblks: 5  extno: 0, skip: 0
kdmsGetIMCU(): In arguments: nblks 5: start_addr 25166043, end_addr 25166047
kdmsGetIMCU(): Mem addr: baffffd0: mem len: 1048576: Start dba: 0x18000db 25166043: len: 5 smu: fbf44770 td: 0x7f76515361a8
kdmsGetIMCU(): range: 0 lrid dba: 0x0 slot: 0 hrid dba: 0x0 slot: 0
kdmsGetIMCU(): found imcu 0xbaffffd0 25166043 25166047 1
kdst_fetch_imc(): imcu get 0x18000db
kdmsTransGet(): got ktmrds for dba 0x18000db, td : 0x7f76515361a8
kdmsFindEndDba: ext in imcu is 0, and on disk 0
IMCU extents
extent 0: 25166043 0x18000db + 5
extent 1: 25166048 0x18000e0 + 8
extent 2: 25166057 0x18000e9 + 7
extent 3: 25166064 0x18000f0 + 8
extent 4: 25166073 0x18000f9 + 7
extent 5: 25166080 0x1800100 + 8
extent 6: 25166089 0x1800109 + 7
extent 7: 25166096 0x1800110 + 8
extent 8: 25166105 0x1800119 + 7
extent 9: 25166112 0x1800120 + 8
extent 10: 25166121 0x1800129 + 7
extent 11: 25166128 0x1800130 + 8
extent 12: 25166137 0x1800139 + 1 
Disk extents
extent 0: 25166043 0x18000db + 5 (skip = 0)
extent 1: 25166048 0x18000e0 + 8 (skip = 0)
extent 2: 25166057 0x18000e9 + 7 (skip = 0)
extent 3: 25166064 0x18000f0 + 8 (skip = 0)
extent 4: 25166073 0x18000f9 + 7 (skip = 0)
extent 5: 25166080 0x1800100 + 8 (skip = 0)
extent 6: 25166089 0x1800109 + 7 (skip = 0)
extent 7: 25166096 0x1800110 + 8 (skip = 0)
extent 8: 25166105 0x1800119 + 7 (skip = 0)
extent 9: 25166112 0x1800120 + 8 (skip = 0)
extent 10: 25166121 0x1800129 + 7 (skip = 0)
extent 11: 25166128 0x1800130 + 8 (skip = 0)
extent 12: 25166137 0x1800139 + 1 (skip = 0)
kdmsFindEndDba(): begin: 25166043, end dba: 25166137     done ext in imcu 12 on disk 12
min of imcu end 25166138 0x180013a disk end 25166138 0x180013a discont 0
kdst_fetch_imc(): done: 1, empty: 0, ftch: 0
kdst_fetch_imc(): fetch: 0, invalid: 0
kdmsRepopulate(): repop 0 nblks 89 0 nrows 2342 0 cnt 5
kdstf00100010001101kmP(): create vv 18000db 95
kdmsCreateIMCUValidVector: Scan range (25166043, 25166137)
Extent map passed into kdzd layer:
Extent 0: (25166043, 25166047)
Extent 1: (25166048, 25166055)
Extent 2: (25166057, 25166063)
Extent 3: (25166064, 25166071)
Extent 4: (25166073, 25166079)
Extent 5: (25166080, 25166087)
Extent 6: (25166089, 25166095)
Extent 7: (25166096, 25166103)
Extent 8: (25166105, 25166111)
Extent 9: (25166112, 25166119)
Extent 10: (25166121, 25166127)
Extent 11: (25166128, 25166135)
Extent 12: (25166137, 25166137)
kdzd_dump_validvec:
IMCU: 1
Num slots: 2342 set: 2342 rounded to 8: 2368 bytes: 296
Flag if all rows valid: 1
ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.
ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.
ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.
ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.
ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.
ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.
ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.
ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.
ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.
ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.
ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.
ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.3f.
3 final 0
kdzd_dump_validvec: End Dumping Valid Vector
**************** ktmrDS Dump  *****************
pdb=0, tsn=4, rdba=25166043, objn=91999, objd=91999, typ=1, gflg=0 flg=0
loadscn=scn: 0x0000.001af80b
invalid blkcnt=0, fetch blkcnt=0
env [0x7f765152af6c]: (scn: 0x0000.001af830   xid: 0x0000.000.00000000  uba: 0x00000000.0000.00  statement num=0  parent xid:  0x0000.000.00000000  st-scn: 0x0000.00000000  hi-scn: 0x0000.00000000  ma-scn: 0x0000.001af82c  flg: 0x00000660)invalid rowcnt=0,
 fetch rowcnt=0
kdst_fetch_imc(): release 0x18000db from td: 0x7f76515361a8
kdmsGetJournalRows(): done with IMC fetch; journal rows -1
kdmsEnd(): imcuctx 0x7f7651688b78 release 0x18000db from td: 0x7f76515361a8

Oracle 12c新特性学习列表

DB 12c Admin New Features Self-Studies

  • Phase 1 (estimated completion February 2012):
  1. Oracle Database 12c: Container Database
  • Phase 2 (estimated completion April 2012):
  1. Oracle Database 12c: Data Guard New Features
  2. Oracle Database 12c: Oracle Availability Machine [was OHARA; may move this to phase 3 or 4]
  3. Oracle Database 12c: Recovery Manager New Features
  4. Oracle Database 12c: Resource Manager and Scheduler New Features
  • Phase 3 (estimated completion May 2012):
  1. Oracle Database 12c: Data Pump and SQL*Loader New Features
  2. Oracle Database 12c: Information Lifecycle Management New Features [may move this to phase 2]
  3. Oracle Database 12c: Performance Enhancements
  • Phase 4 (estimated completion June 2012)
  1. Oracle Database 12c: Application Continuity [not much functionality exposed to customer?]
  2. Oracle Database 12c: Automatic Storage Management
  3. Oracle Database 12c: Clusterware and Grid Infrastructure New Features
  4. Oracle Database 12c: Installation and Upgrade New Features
  5. Oracle Database 12c: Networking New Features
  6. Oracle Database 12c: Online Operations New Features
  7. Oracle Database 12c: Cloud Computing New Features [was Private Database Cloud]
  8. Oracle Database 12c: Real Application Clusters New Features
  9. Oracle Database 12c: Security New Features

 

DB 12c App Dev New Features Self-Studies

 

  • Phase 1 (estimated completion February 2012):
  • None
  • Phase 2 (estimated completion April 2012):
  1. Oracle Database 12c: Application Migration New Features
  2. Oracle Database 12c: BI and Data Warehousing New Features
  3. Oracle Database 12c: Application Development New Features
  4. Oracle Database 12c: Miscellaneous Database Enhancements
  5. Oracle Database 12c: PL/SQL New Features
  • Phase 3 (estimated completion May 2012):
  1. Oracle Database 12c: OCI / OCCI New Features [may not create this due to limited interest]
  2. Oracle Database 12c: Oracle Data Mining New Features
  3. Oracle Database 12c: Oracle Spatial New Features
  4. Oracle Database 12c: Real Application Security
  5. Oracle Database 12c: SQL Tuning New Features
  • Phase 4 (estimated completion June 2012)
  1. Oracle Database 12c: Application Express New Features [APEX 4.2]
  2. Oracle Database 12c: Java and JDBC New Features
  3. Oracle Database 12c: ODP .Net New Features
  4. Oracle Database 12c: Oracle XML DB New Features
  5. Oracle Database 12c: Oracle Text New Features
  6. Oracle Database 12c: Real Application Testing New Features

 

12c course2 12c course1

#ORACLE 12c in-memory#

#ORACLE 12c in-memory# IBM这次很敏捷,马上就DB2 BLU和Oracle 12c in-memory做对比。其攻击矛头指向几点:Oracle磁盘上的数据仍以行row形式存,存放重复列存数据,O必须把所有列存数据放入内存,内存列存让重启预热变长。Oracle说我只是蛋糕上加了草莓而已,别整那些没用的。

#揭秘Oracle 12c in-memory option#

#揭秘Oracle 12c in-memory option#

 

#揭秘Oracle 12c in-memory option# 参数inmemory_columnar_size将控制IMCC的大小,注释为:size in bytes of imc pool。使用前提之一应当是compatible为12.0.0以上,所以这个IMCC特性是几乎不可能backport到11.2上。Oracle 12c最卖座特性!

 

#揭秘Oracle 12c in-memory option#和Oracle的其他特性一样,IMCC特性也会引入一些隐藏参数来控制特性行为,这些参数会包括_enable_imc_sys 是否在SYSTEM表空间上启用IMC,_imc_dbg_scan 用来debug IMC扫描,同时引入了IMC_SCAN TRACE机制,喜欢研究新特性的同学有的搞了

 

#揭秘Oracle 12c in-memory option#这个option在内部叫做in memory columnar & compression (IMCC) project,缩写IMCC,例如其引入了一个新的in-memory数据引擎,称之为IMCC-DE。 IMCC项目最早大概在2006年被提出,该项目的三大目标:快的离谱的全表扫描,连接和聚集,DML于内存压缩数据的速度几乎一样

Know more Oracle Pluggable/Multitenant DB – Under the Hood

Know more Oracle Pluggable/Multitenant DB – Under the Hood

 

• Multitenant Database – use cases ?
• Oracle Multitenant – Single yet Separate
• Architecture
• Take Home

 

Download (PDF, 594KB)

【Oracle database 12c】12c官方Note信息汇总

【Oracle database 12c】12c官方Note信息汇总:

 

DB 12.1 Information Centers
Master Note For Oracle Database 12c Release 1 (12.1) Database/Client Installation/Upgrade/Migration Standalone Environment (Non-RAC) [Document 1520299.1]
Master Note for the Oracle Multitenant Option [Document 1519699.1]
Master Note for Oracle Data Mining 12c [Document 1523136.1]

 

 

 

DB 12.1 knowledge documents created in last 60 days
After Database creation Catalog And Catproc Components Are Invalid [Created: 10/16/2013]
Installation Of 12.1 Oracle Database/Client On 64-Bit Windows Returns The Error “AddACLForUserException” [Created: 09/25/2013]

 

 

DB 12.1 New Features
Oracle Database 12c Release 1 (12.1) Upgrade New Features [Document 1515747.1]
RMAN Enhancements in Oracle 12c [Document 1534487.1]
Features per Version of Oracle Multimedia/interMedia [Document 223443.1]
New Features in XML Database (XDB) 12.1.0.1.0 [Document 1516818.1]
New Features in XML Developers Kit (XDK) v12.1.0.1.0 [Document 1520623.1]
12c Partitioning Enhancements [Document 1568010.1]
Oracle ASM 12c New Features (Technical Overview) [Document 1569648.1]
Data Guard: Oracle 12c %u2013 New and updated Features [Document 1558256.1]

 

 

 

 

DB 12.1 knowledge documents updated in last 60 days
12c Partitioning Enhancements (Doc ID 1568010.1)
DB Vault Show Audit On Success Does Not Match On OEM 12c (Doc ID 1579830.1)
After Database creation Catalog And Catproc Components Are Invalid (Doc ID 1592604.1)
Installation Of 12.1 Oracle Database/Client On 64-Bit Windows Returns The Error “AddACLForUserException” (Doc ID 1587322.1)
FAQ: Oracle Flex ASM 12c / 12.1 (Doc ID 1573137.1)
MISSING FILE CATCDB.SQL IN $ORACLE_HOME/RDBMS/ADMIN in 12C RDBMS software (Doc ID 1575778.1)
12.1 : Installation of 12.1 Oracle Database/Client throws the Error “[INS-32104] The user of the Oracle Home directory shown is not the owner of the Oracle home directory specified database.” (Doc ID 1581850.1)