Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 An Exploration of the Next Generation of the Oracle Database Session #134 Jim Czuprynski Zero Defect Computing, Inc. April 11, 2013.

Similar presentations


Presentation on theme: "1 An Exploration of the Next Generation of the Oracle Database Session #134 Jim Czuprynski Zero Defect Computing, Inc. April 11, 2013."— Presentation transcript:

1 1 An Exploration of the Next Generation of the Oracle Database Session #134 Jim Czuprynski Zero Defect Computing, Inc. April 11, 2013

2 2 My Credentials 30+ years of database-centric IT experience Oracle DBA since 2001 Oracle 9i, 10g, 11g OCP ~ 100 articles on databasejournal.com and ioug.org Teach core Oracle DBA courses (G/I+RAC, Exadata, Performance Tuning, Data Guard) 2009: Oracle Education Partner Trainer of the Year Speaker at Oracle OpenWorld, IOUG COLLABORATE11, and OUG Norway 2013 Oracle-centric blog (Generally, It Depends)

3 3 ALL FEATURES DESCRIBED IN THIS PRESENTATION – EVEN THOSE THAT MAY EVENTUALLY COME TO FRUITION – ARE ENTIRELY THE OPINIONS OF THE PRESENTER. THEY MAY OR MAY NOT REPRESENT ANY ACTUAL FEATURES OF THE NEXT RELEASE OF THE ORACLE DATABASE. ANY ACCIDENTAL ASSOCIATION OF THE TWELFTH CARDINAL NUMBER AND THE THIRD LETTER OF THE LATIN ALPHABET IS PURELY COINCIDENTAL. DUE TO ITS CONTENT THIS PRESENTATION SHOULD NOT BE VIEWED BY ANYONE Disclaimer

4 4 Our Agenda DBA 3.0: Consolidate or Perish! Multi-Tenancy Databases: CDBs and PDBs SQL Plan Management Upgrades Information Lifecycle Management Automatic Data Optimization Online Datafile and Partition Movement Policy-Based Automatic Redaction Q+A

5 5 DBA 3.0: Consolidate or Perish! Testing in production is considered blasphemy …but DBAs must be able to guarantee excellent application performance before rollout of new releases Youll just have to do more with less. - Our CIOs, 2013 Engineered systems are the new 800-pound gorillas Resource consolidation is the new reality Earlier releases used instance caging, DBRM I/O management, and Exadata IORM to enforce it New database release offers several excellent, intrinsic consolidation features Less is more. – Ludwig Mies van der Rohe, c.1950

6 6 Ex Uno, Multi: Multi-Tenancy Databases

7 7 Multi-Tenancy: CDBs and PDBs The next database release offers a completely new multi-tenancy architecture for databases and instances: A Container Database (CDBs) comprises one or more Pluggable Databases (PDBs) CDBs are databases that contain common elements shared with PDBs PDBs comparable to traditional databases in prior releases … …but PDBs offer extreme flexibility for cloning, upgrading, and application workload localization

8 8 CDBs and Common Objects A CDB owns in common: Control files and SPFILE Online and archived redo logs Backup sets and image copies Each CDB has one SYSTEM, SYSAUX, UNDO, and TEMP tablespace Oracle-supplied data dictionary objects, users, and roles are shared globally between CDB and all PDBs PDB1 PDB3 PDB2 CDB1 SPFILE ORLs Control Files ARLs Backups Image Copies SYSTEM UNDOTBS1 SYSAUX TEMP Data Dictionary Roles Users CDBs and PDBs share common objects

9 9 PDBs and Local Objects PDBs also own local objects PDBs have a local SYSTEM and SYSAUX tablespace PDBs may have their own local TEMP tablespace PDBs can own one or more application schemas: Local tablespaces Local users and roles PDBs own all application objects within their schemas By default, PDBs can only see their own objects PDB1 PDB3 PDB2 CDB1 SYSTEM SYSAUX TEMP SYSTEM SYSAUX TEMP SYSTEM SYSAUX TEMP AP_DATA HR_ DATA MFG_DATA AP_ROLE AP HR_ROLE HR MFG_ROLE MFG

10 10 Shared Memory and Processes CDBs and PDBs also share common memory and background processes All PDBs share same SGA and PGA All PDBs share same background processes OLTP: Intense random reads and writes (DBWn and LGWR) DW/DSS: Intense sequential reads and/or logicaI I/O Batch and Data Loading: Intense sequential physical reads and physical writes PDB1 PDB3 PDB2 CDB1 System Storage DW and DSS OLTP BATCH + IDL SGA & PGA LGWR DBWn Others

11 11 Sharing: Its a Good Thing! Sharing common resources - when it makes sense - tends to reduce contention as well as needless resource over-allocation: Not all PDBs demand high CPU cycles Not all PDBs have same memory demands Not all PDBs have same I/O bandwidth needs DSS/DW: MBPS OLTP: IOPS and Latency Result: More instances with less hardware

12 12 PDBs: Ultra-Fast Provisioning Four ways to provision PDBs: 1.Clone from PDB$SEED 2.Clone from existing PDB 3.Replugging previously unplugged PDB 4.Plug in non-CDB as new PDB CDB and PDBs stay alive during any of these operations! PDB1 11gR2 DB CDB1 PDB3 PDB$ SEED PDB4 PDB2 PDB5

13 13 XStream: Extreme Replication As of this new release, Oracle Streams is deprecated in favor of XStream XStream Outbound Server handles CDC (change data capture) sourced directly from PDB(s) committed transactions XStream Inbound Server(s) replicates CDC to any PDB(s) (but never to a CDB) Because its based on Oracle GoldenGate, XStream may require licensing of additional OGG features

14 14 SQL on Autopilot: Adaptive SQL Efficiency, Performance, and Tuning

15 15 Adaptive SQL Plan Management Automatic Plan Evolution (APE) now available via package DBMS_SPM By default, a new automatic task runs during regular maintenance window Auto-evolution of all non-accepted plans (NAPs): Most recently added plans get precedence NAPs that still perform poorly: Wait 30 days Any NAPs that perform better are automatically enabled New SPM report procedure shows results of Automatic Plan Evolution

16 16 SPM Evolve Advisor In prior releases: All SQL Plan evolution had to be performed manually Gathering SPM advice on whether evolution was even possible was a manual process In this new release: Automatic SQL Plan Evolution tasks included Manual advice and implementation also supported via new DBMS_SPM procedures Warning! Tuning Pack licensing may be required

17 17 Cardinality Feedback Cardinality Feedback was introduced in Oracle 11gR2 as part of Adaptive Cursor Sharing: Captures actual execution statistics during query execution Compares expected vs. actual cardinality during first execution of query During second execution, optimizer uses actual execution statistics to reparse statements plan Works best for non-skewed row sources with limited volatility

18 18 Adaptive Execution Plans (AEP) The optimizer can now adaptively recognize and capture multiple potential execution sub-plans within an existing execution plan: AEP constructs dynamic plans automatically AEP dynamic statistics collector buffers each row set If a new row count exceeds prior counts during statement execution, the optimizer will choose an alternative favored subplan (e.g. HASH JOIN instead of NESTED LOOP) Otherwise, AEP will utilize the original sub-plan Largest AEP benefit: Sub-plans whose row sets contain dramatically skewed data

19 19 Automatic Re-Optimization (ARO) For some statements, ARO features may help to overcome intrinsic limitations of AEP dynamic plans: The optimizer discovers an inefficiency during a statements first execution that AEP cannot resolve (e.g. order in which row sets are joined) During the next execution, the optimizer gathers additional statistics to improve the join order All subsequent executions of the same statement improve as more execution statistics and optimizer statistics are gathered

20 20 SQL Plan Directives The latest release offers the capability to capture and retain compilation and execution statistics within the data dictionary: Before, a statements compilation and execution statistics were retained only within the Shared Pool Now these statistics will be retained within the data dictionary instead as SQL Plan Directives (SPDs) SPDs are not SQL statement specific! They pertain to best methods to process row sets Therefore, multiple future queries may benefit DBMS_XPLAN.DISPLAY … +NOTES tells if an SPD has been used against an existing SQL statement New data dictionary views capture SPD metadata

21 21 Information Lifecycle Management (ILM) and Automatic Data Optimization (ADO)

22 22 Automatic Data Optimization (ADO) ADO offers capability to move and/or compress data based on observed usage patterns Uses heat maps to determine how often data has been accessed Tracks exactly how data has been utilized (DML vs. query, single-block vs. table scan) Data usage patterns can be tracked at tablespace, segment, and row level

23 23 Heat Maps: How Hot Is It? ADO leverages heat maps to: Capture data usage frequencies Determine which compression level is most appropriate for how data is being used Determine which data could be moved from a high-performance storage tier to a lower- performance tier Decide when data should be moved between different tablespaces or partitions to limit possible out-of-space conditions

24 24 Heat Maps: An Example ADVANCED After 3 days of more limited access: Enable ADVANCED compression After 30 days of only limited access: HCC QUERY LOW* Enable HCC QUERY LOW* compression Heat map shows heavy DML and queries: uncompressed Leave data uncompressed After 90 days of no access: HCC ARCHIVE HIGH* Enable HCC ARCHIVE HIGH* compression * Will probably require Exadata, ZFS Appliance, or Pillar Axiom storage

25 25 Information Lifecycle Management Information Lifecycle Management (ILM): Offers ability to track effectiveness of ADO policies Measures how much data has effectively been migrated to different storage levels based on ADO policies currently in place Avoids incrementing ILM activity when normal maintenance tasks (e.g. gathering optimizer statistics) should be safely ignored

26 26 In-Database Archiving (IDA) Avoids unnecessary deletion of rows when they no longer contain valid data Activated via new ROW ARCHIVAL attribute of data segment During initial INSERT, each rows state is set to default value of zero (0) in ORA_ARCHIVE_STATE hidden column Rows can be marked as inactive by setting ORA_ARCHIVE_STATE to one (1) Unless the ORA_ ARCHIVE_STATE column is mentioned in query, a rows IDA status is invisible and only active rows will be returned to query Inactive rows can be compressed!

27 27 Temporal Validity (TV) TV allows specification of time periods when data stored within a table will be actually considered valid Implemented through new PERIOD FOR table attribute Specified TV dimension can then be populated as desired with both time-valid and non-time-valid data Non-time-valid data can be compressed until its no longer needed (or until needed as well!)

28 28 Perpetual Motion: Moving Datafiles and Partitions Online

29 29 Advanced or HCC Compression Online Move Datafile (OMD) Online Move Datafile (OMD) offers the ability to: Move any datafile to other storage system without first offlining it Move any datafile from non-ASM to ASM storage Move any datafile to a different compression level (e.g. uncompressed to OLTP or HCC) Implications: Data objects within the datafiles tablespace are always accessible DML and DDL against those data objects are never interrupted EXT3 GFS NTFS ASM SAN Uncompressed or Advanced Compression Traditional Engineered

30 30 Online Move Partition (OMP) Online Move Partition (OMP) offers the ability to: Move, split, or merge partitioned objects without interrupting DML against data objects within those partitions Migrate partitions from one compression level to another Global and local indexes are still maintained.. all without interrupting DML against most data objects within those partitions P2 P3 P1 P2 P3 P1 P2 P3 P1 P2 P3 P1

31 31 Hiding In Plain Sight: Oracle Data Redaction (ODR)

32 32 Policy-Based Data Redaction Oracle Data Redaction (ODR) offers ability to: Partially obscure or completely hide sensitive data Implement recognized standards (PII, PHI, PCI) for confidential data Anonymize data for development or QA purposes Allow selected users to see all or just some of data values based on custom viewing policies No changes to existing application code are required

33 33 ODR: Redaction Policies Redaction policies: Are implemented via new package (think: DBMS_FGA, DBMS_RLS) Are only applied to outbound queried data Are applied to one or more columns in a table or view Can be joined together logically to provide a comprehensive redaction strategy

34 34 ODR: Redaction Types Redaction types enable ODR to: Completely hide data (e.g. returned as empty string) Partially obscure data (e.g. show only last 4 digits of SSN) Completely obscure data by returning anonymized data values of same size / length Provide custom obfuscation for specific data using regular expressions that vary conditionally

35 35 ODR: Practical Examples Redaction TypeStored DataRedacted Data FullWojiechowskiSingle empty string () Full125,378.95Single zero (0) Full2013-04-152001-01-01 (January 1, 2001) PartialBrzezinskiBr-------ki Partial178,245.95777,775.95 Partial1957-11-132050-01-03 RandomKowalskievichQwixzYloEmctpS Random931,403.24512,937.01 Random2013-04-211987-12-03 REGEXP3728-336491-09887****-******-*9887 REGEXP4398-4519-3651-0971$$$$-XXXX-####-0971

36 36 ODR: Best Practices For optimal effectiveness: Grant access to ODR procedures sparingly Minimize the number of columns redacted Consider whitelisting instead of blacklisting Regular expressions take more resources to implement redaction than any other method, so use them sparingly

37 37 Please feel free to evaluate this session: http://www.ioug.org/eval Session #134 An Exploration of the Next Generation of the Oracle Database If you have any questions or comments, feel free to: E-mail me at jczuprynski@zerodefectcomputingcomjczuprynski@zerodefectcomputingcom Follow my blog (Generally, It Depends): http://jimczuprynski.wordpress.com http://jimczuprynski.wordpress.com Follow me on Twitter (@jczuprynski) Connect with me on LinkedIn (Jim Czuprynski) Thank You For Your Kind Attention


Download ppt "1 An Exploration of the Next Generation of the Oracle Database Session #134 Jim Czuprynski Zero Defect Computing, Inc. April 11, 2013."

Similar presentations


Ads by Google