The document discusses new features in Oracle Database 11g Release 1. Key points include:
1. Encrypted tablespaces allow encryption of data at the tablespace level while still supporting indexing and queries.
2. New caching capabilities improve performance by caching more results in memory, such as function results and query results.
3. Standby databases have enhanced capabilities and can now be used for more active purposes like development, testing and reporting for increased usability and value.
Percona xtra db cluster(pxc) non blocking operations, what you need to know t...
11 Things About11g
1. Top 10, no – make that 11, things about Oracle Database 11g Release 1 Thomas Kyte http://asktom.oracle.com
2.
3.
4.
5.
6.
7.
8. Oracle Database Innovation 30 years of sustained innovation … … continuing with Oracle Database 11g Audit Vault Database Vault Grid Computing Self Managing Database XML Database Oracle Data Guard Real Application Clusters Flashback Query Virtual Private Database Built in Java VM Partitioning Support Built in Messaging Object Relational Support Multimedia Support Data Warehousing Optimizations Parallel Operations Distributed SQL & Transaction Support Cluster and MPP Support Multi-version Read Consistency Client/Server Support Platform Portability Commercial SQL Implementation 1977 2007
13. Encrypted Tablespaces ops$tkyte%ORA11GR1> create table t 2 tablespace clear 3 as 4 select * from all_users; Table created. ops$tkyte%ORA11GR1> create index t_idx 2 on t(lower(username)) 3 tablespace clear ; Index created.
14. Encrypted Tablespaces ops$tkyte%ORA11GR1> alter system checkpoint; System altered. $ strings /…/clear.dbf | grep -i ops.tkyte OPS$TKYTE from the table ops$tkyte from the index
15. Encrypted Tablespaces ops$tkyte%ORA11GR1> alter table t move 2 tablespace encrypted ; Table altered. ops$tkyte%ORA11GR1> alter index t_idx rebuild 2 tablespace encrypted ; Index altered.
16. Encrypted Tablespaces ops$tkyte%ORA11GR1> alter system checkpoint; System altered. $ strings /…/encrypted.dbf | grep -i ops.tkyte [This space intentionally left blank]
17. Encrypted Tablespaces ps$tkyte%ORA11GR1> set autotrace traceonly explain ops$tkyte%ORA11GR1> select * from t where lower(username) like 'ops$%'; Execution Plan ------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | ------------------------------------------------------------- | 0 | SELECT STATEMENT | | 2 | 112 | | 1 | TABLE ACCESS BY INDEX ROWID| T | 2 | 112 | |* 2 | INDEX RANGE SCAN | T_IDX | 1 | | ------------------------------------------------------------- Predicate Information (identified by operation id): --------------------------------------------------- 2 - access(LOWER("USERNAME") LIKE 'ops$%') filter(LOWER("USERNAME") LIKE 'ops$%')
20. Cache More ops$tkyte%ORA11GR1> /* ops$tkyte%ORA11GR1> drop table t; ops$tkyte%ORA11GR1> create table t as select * from all_objects; ops$tkyte%ORA11GR1> */ ops$tkyte%ORA11GR1> update t set object_type=object_type where rownum=1; 1 row updated.
21. Cache More ops$tkyte%ORA11GR1> set autotrace traceonly ops$tkyte%ORA11GR1> select /*+ result_cache */ 2 owner, 3 object_type, 4 count(*) cnt 5 from t 6 group by owner, object_type 7 order by owner, object_type 8 / 249 rows selected.
22. Cache More Execution Plan -------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | -------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 58742 | 1606K| 284 (2)| 00:00:04 | | 1 | RESULT CACHE | 5cwffcum1ajfud1088m1m73f81 | | | | | | 2 | SORT GROUP BY | | 58742 | 1606K| 284 (2)| 00:00:04 | | 3 | TABLE ACCESS FULL| T | 58742 | 1606K| 280 (1)| 00:00:04 | -------------------------------------------------------------------------------------------------- Result Cache Information (identified by operation id): ------------------------------------------------------ 1 - column-count=3; dependencies=(OPS$TKYTE.T); parameters=(nls); name="select /*+ result_cache */ owner, object_type, count(*) cnt from t group by owner, object_type order by"
23. Cache More Statistics ---------------------------------------------------------- 0 recursive calls 0 db block gets 1005 consistent gets 0 physical reads 0 redo size 6922 bytes sent via SQL*Net to client 596 bytes received via SQL*Net from client 18 SQL*Net roundtrips to/from client 1 sorts (memory) 0 sorts (disk) 249 rows processed
24. Cache More ops$tkyte%ORA11GR1> / 249 rows selected. Statistics ---------------------------------------------------------- 0 recursive calls 0 db block gets 0 consistent gets 0 physical reads 0 redo size 6922 bytes sent via SQL*Net to client 596 bytes received via SQL*Net from client 18 SQL*Net roundtrips to/from client 0 sorts (memory) 0 sorts (disk) 249 rows processed
25. Cache More ops$tkyte%ORA11GR1> select * from ( 2 select /*+ result_cache */ 3 owner, object_type, count(*) cnt 4 from t 5 group by owner, object_type 6 order by owner, object_type 7 ) 8 where cnt > 100 9 / 38 rows selected.
26. Cache More Statistics ---------------------------------------------------------- 0 recursive calls 0 db block gets 0 consistent gets 0 physical reads 0 redo size 1516 bytes sent via SQL*Net to client 442 bytes received via SQL*Net from client 4 SQL*Net roundtrips to/from client 0 sorts (memory) 0 sorts (disk) 38 rows processed
27. Cache More SQL> create or replace 2 function not_cached 3 ( p_owner in varchar2 ) 4 return number 5 as 6 l_cnt number; 7 begin 8 select count(*) 9 into l_cnt 10 from t 11 where owner = p_owner; 12 dbms_lock.sleep(1); 13 return l_cnt; 14 end; 15 / Function created. SQL> create or replace 2 function cached 3 ( p_owner in varchar2 ) 4 return number 5 result_cache 6 relies_on(T) 7 as 8 l_cnt number; 9 begin 10 select count(*) 11 into l_cnt 12 from t 13 where owner = p_owner; 14 dbms_lock.sleep(1); 15 return l_cnt; 16 end; 17 / Function created.
37. Active Data Guard – More than a Standby Simultaneous read and recovery High ROI Automated Disaster and performance protection Use daily in testing and production Recovery mode only Low ROI Manual intensive Disaster protection only Used in disaster only
71. Finer Grained Dependency Tracking ops$tkyte%ORA10GR2> create or replace package p1 2 as 3 function f return number; 4 end; 5 / Package created. ops$tkyte%ORA10GR2> create or replace package p2 2 as 3 g_global number := p1.f; 4 end; 5 / Package created.
72. Finer Grained Dependency Tracking ops$tkyte%ORA10GR2> select object_name, status 2 from user_objects 3 where object_name like 'P_'; OBJECT_NAME STATUS ------------------------------ ------- P1 VALID P2 VALID
73. Finer Grained Dependency Tracking ops$tkyte%ORA 10GR2 > create or replace package p1 2 as 3 function f return number; 4 procedure p; 5 end; 6 / Package created. ops$tkyte%ORA 10GR2 > select object_name, status 2 from user_objects 3 where object_name like 'P_'; OBJECT_NAME STATUS ------------------------------ ------- P1 VALID P2 INVALID
74. Finer Grained Dependency Tracking ops$tkyte%ORA 11GR1 > create or replace package p1 2 as 3 function f return number; 4 procedure p; 5 end; 6 / Package created. ops$tkyte%ORA 11GR1 > select object_name, status 2 from user_objects 3 where object_name like 'P_'; OBJECT_NAME STATUS ------------------------------ ------- P1 VALID P2 VALID
75. Finer Grained Dependency Tracking ops$tkyte%ORA10GR2> create table t ( x int, y int ); Table created. ops$tkyte%ORA10GR2> create or replace procedure p 2 as 3 begin 4 for x in ( select x, y from t ) 5 loop 6 null; 7 end loop; 8 end; 9 / Procedure created. ops$tkyte%ORA10GR2> select status from user_objects where object_name = 'P'; STATUS ------- VALID
76. Finer Grained Dependency Tracking ops$tkyte%ORA10GR2> alter table t add z int; Table altered. ops$tkyte% ORA10GR2 > select status from user_objects where object_name = 'P'; STATUS ------- INVALID ops$tkyte% ORA11GR1 > select status from user_objects where object_name = 'P'; STATUS ------- VALID
77. Finer Grained Dependency Tracking ops$tkyte%ORA10GR2> alter procedure p compile; Procedure altered. ops$tkyte%ORA10GR2> alter table t drop column z; Table altered. ops$tkyte% ORA10GR2 > select status from user_objects where object_name = 'P'; STATUS ------- INVALID ops$tkyte% ORA11GR1 > select status from user_objects where object_name = 'P'; STATUS ------- VALID
It started with one profound idea In 1970 E.F. Codd wrote the book….the mathematical model that would define the future of RDMBS. He later hooked up with C.J. Date of IBM and Codd and Date would become known as father and grandfather of relational theory. Codd and Date became mythical figures dispensing truths about the purity of various implementations of RDBMs. Had 12 rules of relational databases. Data Model with Structure, Integrity Rules, Operations Data Defined Independently of Programs Set-oriented, Declarative Language
No one thought it could be done It wouldn’t be fast enough, no one would buy it The early adopters came to us. First test outperformed Cullinet’s DBMS – immediately realized this was a break-through, and the company would be worth 100’s of millions The FIRST Commercial SQL RDBMS An Impressive First SQL Non-procedural power (joins, subqueries) for ad hoc access A single language for data definition, control, access Unique Oracle extensions: outer join, CONNECT BY A Simple Server No transactions – like MySQL Limited reliability Portability from the Start – driven by customer requirements from the beginning. Digital PDP-11 operating systems: RSX, RSTS, IAS, Unix DEC VAX (compatibility mode)
As a result of our focus, Oracle leads the industry with a huge number of trend-setting products. Focus on key development areas has lead to a number of industry firsts, from the first commercial relational database, to the first portable tool set and UNIX-based C/S apps, to the first multimedia database architecture. Key Early Differentiators: platform portability, mvrc/row locking, cluster Year Breakthrough 2007 11gR1 Change Assurance 2005 June 10gR2 Database Vault 2004 Grid Computing 2004 January 10gR1 Self managing db 9iR2 XML Database 2002 Oracle Data Guard 2001 Real Application Clusters 2000 Internet File System 1999 8i Internet Enabled Database 1999 Java Support 1999 XML Support 1997 VLDB Support 1997 Messaging Support 1997 Object Relational Support 1997 8.0 Support for Multimedia 1995 Data Warehousing Optimizations 1994 Parallel Operations 1992 Active Business Rules 1992 Distributed Transaction Support 1991 Cluster and MPP Support 1989 Mission Critical OLTP Support 1986 Client/Server Support 1983 Platform Portability 1979 Commercial SQL Implementation * Build our core competency internally, rather than buy product (like IBM or Microsoft). Our development expertise translates to better customer competitiveness
This is designed to be a standalone slide that can be put in other presentations