Nu we toch bezig zijn.....
Bram van der Vos www.axisintoict.nl
[email protected]
Agenda
Partitioning – de concepten & mogelijkheden ● Encryptie ● Compressie ● beheer packs ● Diagnotisc Pack ● Tuning Pack ● Lifecyle Management Pack ●
Partitionering
Business Redenen om te partitionen – Groeiende hoeveelheid data (archives) – Life Cycle Management – Beheer(s)baarheid – Performance – Parallellisatie Situaties – Veel data (>2G) – Historische vs Actuele data – Storage Tiering – Data Skew – Load en onderhoud uitdagingen
Wat is Partitionering
Transparant naar SQL Transparant naar definities Transparant naar constraints Optimizer is partitioning aware
Partitionering Technieken
Range Partitioning Interval Partitioning Hash Partitioning List Partitioning System Partitioning Composite Partitioning – Range-(Range|Hash|List) – Hash-(Range|Hash|List) – List-(Range|Hash|List) Reference Partitioning Virtual Column based Partitioning Index Partitioning – Local – Global
Demo tabellen ORDERS: ORDER_ID NOT NULL ORDER_DATE NOT NULL ORDER_MODE CUSTOMER_ID NOT NULL ORDER_STATUS ORDER_TOTAL SALES_REP_ID PROMOTION_ID
NUMBER(12) TIMESTAMP(6) WITH LOCAL TIME ZONE VARCHAR2(8) NUMBER(6) NUMBER(2) NUMBER(8,2) NUMBER(6) NUMBER(6)
EMPLOYEES: EMPLOYEE_ID NOT NULL FIRST_NAME LAST_NAME NOT NULL EMAIL NOT NULL PHONE_NUMBER HIRE_DATE NOT NULL JOB_ID NOT NULL SALARY COMMISSION_PCT MANAGER_ID DEPARTMENT_ID
NUMBER(6) VARCHAR2(20) VACHAR2(25) VARCHAR2(20) VARCHAR2(20) DATE VARCHAR2(10) NUMBER(8,2) NUMBER(2,2) NUMBER(6) NUMBER(4)
Range Partitioning
?
< 1-jan 2010
1-jan-2013|%^#$*
< 1-jan 2011
?
< 1-jan 2012
< 1-jan 2013
Interval Partitioning
?
< 1-jan 2011
1-jan-2013|%^#$*
< 1-jan 2012
?
< 1-jan 2013
+ 1 Jaar
List Partitioning
ACCEPTED
PROCESSING
DELIVERED, CANCELED
Hash Partitioning
System Partitioning insert into my_table Partition
…...
1
2
4
3
5
8
6
7
Composite Partitioning
Eerst de partitie bepalen Daarna de relevante subpartitie
Index Partitioning
Local Partitioning – Heeft de voorkeur – Index volgt de tabel – Dus ALTIJD 1-1 relatie – Beperkingen index kolom vs partitie sleutel Global Partition – Zelfstandige partitioning en onderhoud – Soms noodzakelijk – 1-1 relatie onwaarschijnlijk. Non Partitioned
Index Partitioning Local
Global
Effecten Partitioning
Partition Pruning
Partition Wise Join
Partition Wise Maintenance
Partition exchange
Waar moet ik rekening mee houden?
Kan je applicatie met de partitions door de deur – Toegangspaden – Data spreiding & betekenis – Welke kolommen wijzigen – Hoe doe ik mijn onderhoud De juiste partitionering vaststellen kost tijd Rules of thumb voor – Range/Interval partitioning – Hash Partitioning – List Partitioning – Composite
Compression
Basic Backup Compression Key Compression (Index) Table Compression – Basic – OLTP Hybrid Columnar Compression Waarom Compression – Bespaar op ruimte – Bespaar op IOPS – Bespaar op gets • Winst: performance & ruimte
Compression: geen 'gzip' maar transparante oplossing
Hoe werkt Compression
Deduplication (per blok) Op basis van kolom waarden Moment afhankelijk van type compressie
En wat is de impact voor mijn applicatie
Hoe werkt Compression
Deduplication (per blok) Referentie naar een symbol table Moment afhankelijk van type compressie #X:29-NOV-00;#Y:9999;#Z:S
2190,13770,25-NOV-00,S,9999,23,161 2225,15720,28-NOV-00,S,9999,25,1450 34005,120760,29-NOV-00,P,9999,44,2376 9425,4750,29-NOV-00,I,9999,11,979 1675,46750,29-NOV-00,S,9999,19,1121
2190,13770,25-NOV-00,#Z,#Y,23,161 2225,15720,28-NOV-00,#Z,#Y,25,1450 34005,120760,#X,P,#Y,44,2376 9425,4750,#X,I,#Y,11,979 1675,46750,#X,#Z,#Y,19,1121
Compressie factor
Vooraf inschatten mbv DBMS_COMPRESSION.GET_COMPRESSION_RATIO
Erg afhankelijk van de data(spreiding) Table name BNK_TRX JRNL ACCNT_TRFR CNTDAT INT_L_LIN C_TRX AUD_TRL_DET UNIT_TRX ORD_DET ORD _
MB VOOR 58.408 45.504 43.457 12.864 10.580 5.336 4.096 4.001 3.584 2.304
Compress% 71,94 73,58 9,89 -0,12 12,53 70,33 -1,32 67,88 66,07 77,43
Enable Compression CREATE TABLE sales ( prod_id NUMBER NOT cust_id NUMBER NOT PCTFREE 5 NOCOMPRESS PARTITION BY RANGE (time_id) (partition sales_20012 VALUES COMPRESS BASIC, partition sales_2013 VALUES FOR OLTP );
NULL, NULL, ... )
LESS THAN(TO_DATE(...)) LESS THAN (MAXVALUE) COMPRESS
ALTER TABLE oe.orders COMPRESS FOR OLTP;
Index Key Compression
manager_id …..... 149 80 120 114 145 145 108 124 147 100 124 100 101 100 ….
dept_id lastname 50 30 80 80 100 50 80 50 50 50 10 80
Taylor Taylor Tobias Tucker Tuvault Urman Vargas Vishney Vollman Walsh Weiss Whalen Zlotkey
Niet Compressed 100 100 100 101 108 114 120 124 124 145 145 147 149
50 Vollman 50 Weiss 80 Zlotkey 10 Whalen 100 Urman 30 Tobias 50 Taylor 50 Vargas 50 Walsh 80 Tucker 80 Tuvault 80 Vishney 80 Taylor
Compressed 100 100 101 108 114 120 124 145 147 149
50 Vollman,Weiss,.... 80 Zlotkey,.... 10 Whalen 100 Urman,..... 30 Tobias 50 Taylor 50 Vargas,Walsh,.... 80 Tucker,Tuvault,..... 80 Vishney 80 Taylor
Encryption
Data Security wordt steeds belangrijker – Encrypted over het netwerk – Encrypted in de backup – Encrypted dataopslag Voordeel – Transparant Authorized users
10101110001001
….. sqlnet.encryption_client=requested ….. sqlnet.encryption_types_client=(RC4_40)
sqlnet.encryption_server=accepted …. sqlnet.encryption_types_server=(RC4_40) ….
rman> SET ENCRYPTION ON IDENTIFIED BY 'password' ONLY; Backup database;
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
Transparent Data Encryption
Geen dbms_obfuscation_toolkit
smith|7903|12000
Wallet create table emp(name varchar, emp# number salary encrypt using 'AES256');
Data dictionary
Smith|7903|^**%$ Jones|7900|#^&U*&()
Managements Packs
Oracle Diagnostics Pack Oracle Tuning Pack Life Cycle Management Pack Test Management Pack – Real Application Testing • SQL Performance Analyzer • Database Replay • Test Data Management Data Masking Pack – Mask format libraries – Mask definitions, Libraries & techniques – Clone and Mask workflow
Cloud Control
a.k.a Enterprise Manager Grid Control Managebility Standaard Interface Toegang tot veel leuks
Diagnostic Pack
AWR, ASH & ADDM Automatic Database Diagnostic Monitor (ADDM) Active Session History (ASH) Performance monitoring Event notifications & Blackouts Monitoring templates Memory-access based performance monitoring
Tuning Pack
SQL Access Advisor SQL Tuning Advisor Automatic SQL Tuning SQL Tuning Sets SQL Monitoring Reorganize objects
Life Cycle Management Pack
Discovery and Inventory tracking Initial provisioning Configuration Management Compliance Management Site level Disaster Protection Automation
Samenvatting
● ●
●
Oracle heeft nog wat nuttige mogelijkheden Slim gebruik kan problemen oplossen Of voorkomen