oracle database 11g release 1 for dbas

Post on 16-Jan-2016

91 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Oracle Database 11g Release 1 For DBAs. Thomas Kyte http://asktom.oracle.com. The Beginning. Data Model with Structure Data Independent of Code Set-oriented 1977 the work begins. “A Relational Model for Large Shared Databanks”. E.F. Codd - 1970. First RDBMS: Version 2 June 1979. - PowerPoint PPT Presentation

TRANSCRIPT

<Insert Picture Here>

Oracle Database 11g Release 1For DBAsThomas Kytehttp://asktom.oracle.com

The Beginning...

• Data Model with Structure• Data Independent of Code• Set-oriented• 1977 the work begins

““A A Relational Model

Relational Model

forfor

Large Shared

Large Shared

Databanks”

Databanks”

E.F. Codd - 1970

First RDBMS: Version 2 June 1979

• FIRST Commercial SQL RDBMS• Impressive First SQL

• Joins, Subqueries • Outer Joins, Connect By

• A Simple Server• No transactions, ‘Limited’ Reliability

• Portability from the Start• Written in Fortran• But multi-platform – PDP11, Dec VAX

Oracle7.3 February 1996

• Partitioned Views• Bitmapped Indexes• Asynchronous read ahead for

table scans• Standby Database• Deferred transaction recovery

on instance startup• Updatable Join View• SQLDBA no longer shipped.• Index rebuilds• DBV introduced• Context Option• PL/SQL - UTL_FILE

Spatial Data Option Tablespaces changes -

Coalesce, Temporary Permanent,

Trigger compilation, debug Unlimited extents on STORAGE

clause. Some init.ora parameters

modifiable - TIMED_STATISTICS HASH Joins, Antijoins Histograms Oracle Trace Advanced Replication Object

Groups

Encrypted

Tablespaces

Encrypted Tablespaces

• Oracle Database 10g Release 2 introduced column encryption• Could not range scan• Primary/foreign key issues

• Tablespace encryption Removes those limitations

• Many encryption algorithms• 3DES168• AES128• AES192• AES256 Demo: encrypt.sql

Standby Just

got better

Standby Database

• Logical Standby was…• Limited in type support• But was always open for business

• Physical Standby was…• Easy• But considered “not useful day to day”

Standby Database

• Logical Standby has…• XMLType support• DBMS_RLS & DBMS_FGA support• TDE support

Active Data Guard: Develop & Test on Standby DB

• Use physical standby databasefor development & testing• Preserves zero data loss in test/dev mode

• Flashback DB to back-outchanges & use as standby

ProductionDatabase

Standby Database

Developers,Testers

Eliminates cost of idle DR system

Active Data Guard: Report & Backup from Standby DB

• Offload reporting to standby• Simultaneously available for recovery

• Offload backups to standby• Complete database and fast incremental

backups

ProductionDatabase

Standby Database

Reporting

Backups

Improves performance on production database

Real

Application

Testing

Real Application Testing –Database Replay

• Recreate actual production database workload

• Capture production workload incl. concurrency

• Replay workload in test with production timing

• Analyze & fix issues before production

MiddleTier

Capture DB Workload

Storage

OracleDB servers Replay DB

Workload

ProductionEnvironment

Test (RAC)Environment`

Smaller more

secure DMP

files

Datapump

• COMPRESSION• ALL, DATA_ONLY, METADATA_ONLY, NONE

• ENCRYPTION• All• Data_only• Metadata_only• None• Encrypted_columns_only

• PARTITION_OPTIONS• Impdp

• None• Departition• Merge

• REUSE_DUMPFILES

• Ability to use DML error logging like features • DATA_OPTIONS parameter

Demo: dp.sql

Virtual

Columns

Virtual Columns

• Create Table

• Alter Table Add Column

• Are ‘column expressions’• Expressions involving other columns in table• Constants• Deterministic functions

• Ease of use and Optimizer enhancementDemo: vc.sql

Partitioning

just got better

Partitioning

• Composite Completely

• Virtual Column Partitioning

• Partition by Reference

• Interval Partitioning

Range List Hash

Range 9i 8i

List

• Partition on virtual (computed) columns • New composite partitioning

Range List Hash

Range 11g 9i 8i

List 11g 11g 11g

JANFEB

>5000

1000-

5000

ORDERS

RANGE-RANGEOrder Date by

Order Value

USA EUROPE

>5000

1000-

5000

ORDERS

LIST-RANGERegion by

Order Value

USA EUROPE

Gold

SilverORDERS

LIST-LISTRegion by

Customer Type

Enhanced Partitioning

Partitioningby REFERENCE

Table ORDERS

Jan 2006

... ...

Feb 2006

Table LINEITEMS

Jan 2006

... ...

Feb 2006

• RANGE(order_date)• Primary key order_id

• RANGE(order_date)• Foreign key order_id

• Partitioning key inherited through PK-FK relationship

• Avoids redundant storage, maintenance of order_date

Demo: part1.sql

New “INTERVAL” partitioning

• Automatically creates a new partition when data outside the existing range is first inserted • E.g., monthly partitions, automatic

new partition first day of the month

• Composite partitioning: interval, interval-list, interval-hash, and interval-range

• Automates partition management

ORDERS

Jul Aug Sep

Sep 1 2007

PartitioningAutomation

Demo: part2.sql

Flashback Data

Archive

Flashback Data ArchiveTotal Data Recall

• Tamper-proof data archive• Efficient storage and

retrieval of undo • Keep data for months,

years, decades!• Fast access to even very

old data• View data, versions of

rows as of any time

• Control data retention time, purging of data

User Tablespaces

Flashback Data Archive

Oracle 11g Database

Select * from orders AS OF ‘Midnight 31-Dec-2004’

Changes ArchiveArchiveTablesTables

Finer Grained

Dependency

Tracking

Finer Grained Dependency Tracking

• Fewer Invalidations• Add to a specification – so what• Add/Drop/Modify a column – so what• Holds true with view modifications too• Change a synonym pointer – so what• Replace a procedure – so what

Cache More

Stuff

Cache More

• Everyone knows the fastest way to do something is – to not do it• Client Side Cache• Server Results Cache (JIT-MV)• PL/SQL Function results cache

Single Memory

Setting

Single Memory Parameter

• Well, Two • MEMORY_TARGET• MEMORY_MAX_TARGET

• Sizes PGA and SGA• Not every platform:

• Linux, Solaris, Windows, HP-UX, AIX

• As with automatic SGA memory management in 10g – you can set lower bounds for various segments

New Diagnostics

Area

Demo: diag.sql

Invisible Indexes

Invisible Indexes

• Can create them that way

• Can alter them to be that way

• Why?• Testing of course• How will plans change if we add this index• How will plans change if we remove this

index• OPTIMIZER_USE_INVISIBLE_INDEXES

Database

Resident

Connection

Pooling

DRCP

• Anyone out there remember prespawned servers?• This is similar.

• Pool of dedicated servers that can be reused• Instead of 50 app servers pooling 50

connections each (250 dedicated servers) – we’ll be able to have 50 app servers share 50 dedicated servers

• PHP right now, others later.

DDL that waits

Blocking DDL

• Sometimes, it mattered not how many times you hit the / key – it was never going to happen

Demo: wait.sql

Alter table T read

only

True ONLINE

index build

Disabled Triggers

Disabled Triggers

• Safer way to install code• Same thoughts as invisible indexes.

create or replace trigger Trg before insert on My_Table for each row disablebegin :New.ID := My_Seq.Nextvak;end;/

Data Recovery

Advisor

Data Recovery Advisor

• Analyzes failures based on symptoms• e.g. “Open failed” because datafiles missing

• Intelligently determines repair strategies• Aggregates failures for efficient repair

• e.g. for many bad blocks restore entire file

• Presents only feasible repair options• Are there backups? • Is there a standby database?

• Ranked by repair time and data loss

• Can automatically perform repairs

<Insert Picture Here>

AQ&

top related