You are on page 1of 163

Richard Jacobs

Principal Consultant
Product Technology
Services
Oracle Corporation
Oracle 10g
Database
Oracle Database 10g Goals

 Half the Cost

 Highest Quality of Service


– Highest Availability, Reliability, Security
– Highest Performance, Scalability

 Easiest to Manage
Oracle Grid Computing
Application Server
Storage Grid Database Grid Grid

Grid
Control

 Low cost
 Highest quality of service
 Rapidly adjusts to meet business needs
 Unified management
Oracle Grid Computing
Application Server
Storage Grid Database Grid Grid

Grid
Control

 Low cost
 Highest quality of service
 Rapidly adjusts to meet business needs
 Unified management
Automatic Storage
Management (ASM) Storage Grid

 Eliminates need for conventional


file system and volume manager
 Capacity on demand
– Add/drop disks online
 Automatic I/O load balancing
– Stripes data across disks to
balance load
– Best I/O throughput
 Automatic mirroring
 Easy
Automatic Storage
Management
Oracle Grid Computing
Application Server
Storage Grid Database Grid Grid

Grid
Control

 Low cost
 Highest quality of service
 Rapidly adjusts to meet business needs
 Unified management
Database Server Grid –
Real Application Clusters Database Grid

 Runs Real Applications


 Proven
– Over 500 production sites
ERP CRM DW
– Certified with leading apps
 Runs on standard,
low cost servers
 Fault tolerant
 Capacity on demand
 New integrated
clusterware makes it
easy everywhere
Database Server Grid -
Integrated Clusterware Makes
it Easy Database Grid

 Portable to all platforms


 Low Cost
– No need to purchase additional software
– Easy to install, manage
 Easy
– Deploys in hours not days
– Improved single system image
– Single-vendor support
 Remains open to third-party clusterware
Database Server Grid –
Workload Management Database Grid

 Push-button, online add/drop server to cluster


 Automatic Load Balancing
– Based on “service” concept
– Automatic routing of service connection requests
to appropriate server with lowest load
– On server failure, automatic re-allocation of
surviving servers to services
– Dynamic load balancing when service levels not
met (coming soon)
Oracle RAC 10g - Only
Solution for Enterprise Grids

 Mission Critical Quality of Service on Industry


Standard, Low Cost Servers
 Integrated clusterware makes RAC easy for everyone
 Fault tolerant, scales all applications
 Capacity on demand
 Automatic load balancing
Business Challenge –
How to Scale DBA’s to the
Grid ?
Installation
6%
Creation &
Others
Configuration 12 %
15%

Software Data
Maintenance 6% Loading 6%
Ongoing System
Management 55%

Source: IOUG 2001 DBA Survey


Oracle Database 10g
Self-managing Database
 Built-in Intelligent Infrastructure
– Code instrumentation
– Data warehouse to analyze performance of customer
workloads
 Automatic Database Diagnostic Monitor
– Automatic performance diagnostic engine in the database
 Automatic Tuning Optimizer
– SQL Profile to tune packaged applications
 Automatic PGA and SGA Memory Management
 Lots more …
Oracle 10g OEM Grid Control

 Manages the Oracle ERP EMAIL DW


Grid environment
 Scales to thousands of
servers
 Application Service
Level Management
 Configuration
Management
– Provisioning
– Cloning
– Patch Management
Business Intelligence on the Grid
 Lower Cost
– Leverage 10g hardware, software, labor savings
– Manage millions of terabytes
 Intelligence when you need it
– Cross-platform transportable tablespaces
– Asynchronous change data capture
 More value from your data
– Mature OLAP, Data Mining
– Improved SQL Analytics – SQL Model Clause
HTML DB –
Rapid Web Development Tool

 Builds database-driven Web applications


 For non-programmers
 App developers and app users just need a web
browser
 Addresses MS Access proliferation problem
– Supports hosted development and deployment
environment
Easy Transition to the Grid

 Oracle 10g preserves ERP EMAIL DW


investment
– Runs all existing apps
on clusters
– Moves data to new
platforms as fast as
FTP
– Low risk - Start small
and add capacity on
demand
Key Technology Innovations

 Automatic Storage  Cross-platform Transportable


Management Tablespaces
 Exabytes of data
 Flashback
 SQL Model Clause
Database/Table
 Self-managing Database
 Fast Disk-based Backup  Grid Control
and Recovery  HTML DB
 RAC Workload  Integrated software stack
Management
 Rolling Upgrade
Manageability
Revolution
Unprecedented Development
Effort
 Single, biggest effort
– 50% of the architects in the organization
– 200+ engineers
– Gathered customers feedback
– Active, focused development
– Not just research!
 Wide-spread effort
– Projects span entire technology stack
 Long term commitment
Where DBA’s spend their time

Install 6%
Create & Configure
12 %

Software Maintenance
6% Load Data 6%

Ongoing System Management


55%

Source: IOUG 2001 DBA Survey


Software Installation

 Fast lightweight install


– Major redesign of installation process
– Single CD, 20 Minutes
– CPU, memory, disk space consumption greatly reduced
– Extremely lightweight client install (3 files) using Oracle
Instant Client
 Automation of All Pre and Post Install Steps
– Validate OS Configuration, patches, resource availability
etc.
– Configure all components (listeners, database, agent,
OMS, OID etc.) for automatic startup and shutdown
 Enhanced silent install
Simplified Creation &
Configuration
 Greatly reduced database creation time using
pre-configured, ready-to-use database
 90% reduction of initialization parameters: <
30 Basic parameters
 Automatically setup common tasks, e.g.
backups
 Automatically configures LDAP server
 Automatic Shared Server Set-up
 Easy Connect Naming
Basic Parameters
 compatible  cluster_database  db_create_online_log_dest_n
 processes  db_block_size  db_create_file_dest
 sessions  sga_target  log_archive_dest_n
 pga_aggregate_target  control_files  log_archive_dest_state_n
 nls_language  db_name  remote_login_passwordfile
 nls_territory  db_recovery_file_dest  db_unique_name
 db_domain  remote_listener
 shared_servers  db_recovery_file_dest_size
 instance_number
Simplified Upgrade

 Pre upgrade checks (e.g. parameter settings)


 Post upgrade status checks
 Time estimator
 Re-startable
 Guide administrators in using best practices
Out-of-the-Box Database
Control
 No separate install
 Fully functional
administration and
monitoring after
database creation
 Listener discovery,
configuration &
monitoring
Where DBA’s spend their time

Install 6%
Create & Configure
12 %

Software Maintenance
6% Load Data 6%

Ongoing System Management


55%

Source: IOUG 2001 DBA Survey


Efficient Data Load

Oracle Database 10g


 Data Pump
– 60% faster than Export (single stream)
– 15X-20X faster than Import (single stream)
– Automatic Parallelism – multiple streams
– Re-startable
– Size estimation on export dumpfiles
 Cross Platform Transportable Tablespaces
Where DBA’s spend their time

Install 6%
Create & Configure
12 %

Software Maintenance
6% Load Data 6%

Ongoing System Management


55%

Source: IOUG 2001 DBA Survey


Ongoing System Management

55% of DBA’s time is spent in ongoing


management, monitoring and tuning

3. Performance Diagnosis & Troubleshooting


4. Space & Object Management
5. SQL & Application Tuning
6. System Resource Tuning
7. Backup and Recovery

Source: IOUG 2001 DBA Survey


Manageability Challenges - Today
Application & SQL Management
Optimizer Stats Response time
Throughput Schema/Index

System Resource
Management
Backup & Recovery
Management
CPU Utilization
Tapes, MTTR Memory Pools
Disaster Recovery Processes

Internal Space Management


Table growth trend Space fragmentation

External Storage Management


Disk Configuration Stripe Size Data Redistribution
Oracle Database 10g –
Self-Managing Database

Application & SQL


Management

Storage System Resource


Management Management

Database Space
Database Backup & Recovery
Management Management
Management
Control
Intelligent
Infrastructure
Intelligent Infrastructure
 Automatic Workload
Repository
Advisory – “Data Warehouse” of the
Infrastructure Database
– Code instrumentation
Server-generated Alert Infrastructure
 Automatic Maintenance
Tasks
Automatic Maintenance Task – Pre-packaged, resource
Infrastructure controlled
Automatic Workload Repository  Server-generated Alerts
– Push vs. Pull, Just-in-time,
Out-of-the-box
 Advisory Infrastructure
– Integrated, uniformity
Automatic Database
Diagnostic Monitor (ADDM)
 Performance expert in a box
 Integrate all components
Application & SQL
together
Management  Automatically provides
database-wide performance
Storage
Management
System Resource
Management
diagnostic, including RAC
 Provides impact and benefit
analysis
Space
Backup & Recovery
Management Database Management  Provides Information vs. raw
Management data
Intelligent Infrastructure  Runs proactively
 Real-time results using the
Time Model
ADDM’s Architecture
Snapshots in
 Instrument database code
Automatic Workload paths to produce Time &
Repository Wait Model
 Classification Tree is based
Automatic Diagnostic
Self-Diagnostic Engine
Engine on decades of Oracle
performance tuning
expertise
 Pinpoint root cause and
non-problem areas
 Active Session History –
High-load IO / CPU snapshot of session activity
RAC issues
SQL issues every second
 Runs proactively & manually
System Network +
SQL
Sizing DB config
Advisor Advice Advice
Performance Diagnostic: Before and Now

Scenario: Hard parse problems

Before
 Examine system utilization Oracle10g
 Look at wait events 2. Review ADDM
 Observe latch contention recommendations
 See wait on shared pool and library cache latch 3. ADDM recommends
 Review v$sysstat (difficult) use of cursor_sharing
 See “parse time elapsed” > “parse time cpu” and #hard
parses greater than normal
 Identify SQL by..
 Identifying sessions with many hard parses and trace
them, or
 Reviewing v$sql for many statements with same hash
plan (difficult)
9. Examine objects accessed and review SQL
10. Identify “hard parse” issue by observing the SQL contains
literals
11. Enable cursor sharing
Database Home Page
ADDM Findings
ADDM Recommendations
Application and SQL
Management Key to efficient SQL execution:
Oracle Cost-based
Optimizer
 Proven Technology
– Over 10 years of production
Application & SQL
Management usage
– Adopted by all top-tier
Storage applications vendors
System Resource
Management Management  Sophisticated functionality
– Automatically-gathered
object and system (CPU, IO,
Backup & Recovery Space Caching) statistics
Management Database Management
– Comprehensive set of
Management
access paths, adaptive
Intelligent Infrastructure search strategy
– Cost-based transformations
– Automatic allocation of
memory and parallelism
– Versioned optimizer statistics
Remaining Challenges
 How to quickly find optimal plans for complex
queries?
– Sub-optimal plans caused by correlations, complex
predicate selectivity
 What is “bad” SQL?
 How to work-around ‘bad’ SQL in packaged
applications?
 How to ‘globally’ optimize an entire application’s SQL
statements?
– Adding an index may help one statement, but what is the
impact on the rest of the application
Automatic Tuning Optimizer
Packaged Customizable
Apps Apps
 Identify ‘bad’ SQL
High-load SQL – Automatic workload
capture
– Automatic identification
of high-load SQL
– Top N highest
resource-consuming
SQL Statements
Automatic Tuning Optimizer
Packaged Customizable
Apps Apps
 Automatic SQL Tuning
High-load SQL – Learn from past
executions
Automatic Tuning Optimizer
– Dynamic sampling,
Auto SQL
Tuning partial execution
techniques
– Profile the SQL
Packaged
statement to feedback
Apps to optimizer
+
SQL
– No change to SQL text
Profile

Well-tuned SQL
Automatic Tuning Optimizer
Packaged Customizable
Apps Apps

 Automatic SQL Analysis


High-load SQL
– Optimizer explains
Automatic Tuning Optimizer decision points
Auto SQL – Advises on badly written
Analysis SQL, stale statistics, bad
schema

Customizable
Apps
+
SQL
Advice

Well-tuned SQL
Automatic Tuning Optimizer
Packaged Customizable
Apps Apps
 SQL Access Advisor
High-load SQL – Advise on access paths
Automatic Tuning Optimizer
– Indexes, Materialized
Views, Indexes on
Access
Advisor Materialized Views
– Consider entire
workload
Customizable – Consider Impact on
Apps insert/update/delete
+
Indexes &
MVs

Well-tuned SQL
Automatic Tuning Optimizer
Packaged Customizable
Apps Apps

 Complete SQL
High-load SQL
Management
Automatic Tuning Optimizer – Automated workload
Auto SQL Auto SQL Access capture, identification of
Tuning Analysis Advisor high-load SQL
– Automatic SQL Tuning
– Automatic SQL Analysis
Packaged Customizable Customizable
Apps Apps Apps
– SQL Access Advisor
+ + +
SQL SQL Indexes &
Profile Advice MVs

Well-tuned SQL
SQL Tuning: Before and Now
Scenario: Bad SQL in Packaged Applications

Before Oracle10g
2. Examine system utilization
2. Review ADDM
3. Look at wait events recommendations
4. See wait on DB scattered read
3. Follow link to run
5. Determine scope – system wide, module-dependent, user- Automatic SQL tuning
dependent?
4. Accept SQL Profile
6. Identify SQL by (difficult)
recommendations from
 Identifying sessions with high DB scattered read waits and
SQL Tuning
trace them, or
 Reviewing Top Sessions in OEM
7. Get explain plan
8. Examine objects accessed (size/cardinality)
9. Review SQL statistics and/or compare to object statistics (v$sql)
(difficult)
10. Identify the problem
11. Contact packaged app vendor
12. Produce test case for vendor
13. Vendor produces patch/upgrade
14. Patch/upgrade installed in customer’s next maintenance cycle
System Resource Management

Oracle 9i
Application & SQL
 Resource Manager
Management
controls and prioritizes
Storage System Resource CPU usage
Management Management
 Automatic SQL
Space
Memory Tuning
Backup & Recovery
Management Database Management
Management
Intelligent Infrastructure
Automatic Shared Memory
Tuning
 Automatically adapts
Online Large Batch Buffer Cache to workload changes
Users Buffer Cache Jobs  Maximizes memory
utilization
Large Pool
 Single Parameter
Large Pool
makes it easier to
SQL Cache SQL Cache use
Java Pool Java Pool SGA  Helps eliminate out
of memory errors
PGA  Can help improve
sort sort performance
SGA Memory Management: Before and Now
Scenario: Out-of-memory Errors (ORA-4031)

Before Oracle10g
(This space is intentionally left
3. Launch Buffer Pool Advisor blank – No manual steps needed
with Automatic Shared Memory
4. Examine output; check if Buffer Pool is over allocated Tuning)
5. If so, reduce size of Buffer Pool
6. Launch Shared Pool Advisor
7. Examine output; check if Shared Pool is under allocated
8. If so, increase size of Shared Pool
Automatic Space Management

Oracle9i
 Eliminates external space
Application & SQL
Management
fragmentations
– Locally Managed
Storage
Management
System Resource
Management
Tablespace
 Eliminates space allocation
contention
Backup & Recovery Space
Management Database Management – Automatic Segment
Management
Space Management
Intelligent Infrastructure
Proactive Space Management
Segment running
out of space  Automatically monitor,
capture space usage at
space allocation time -
efficient
 Advise and predict
Server-
Capacity space growth trend,
Generated
Planning
Alerts fragmentation
 “Just-in-Time” Alerts on
90
80
70
60
space pressure
50
40
30
20
10
0
1st Qtr 2nd Qtr 3rd Qtr 4th Qtr
Proactive Space Management
Segment running Fragmented
out of space Segment Online Segment Shrink
– Reclaim space from
internal
fragmentation
– Improve performance
Server- Online
Capacity – In-place shrinking of
Generated Segment
Planning tables
Alerts Shrink
– Wait on DML
90
operations
80
70
60
50
40
30
20
10
0
1st Qtr 2nd Qtr 3rd Qtr 4th Qtr
Space Management : Before and Now
Scenario: Reclaim Wasted Space

Before Oracle10G
3. Launch Segment Advisor to
 Check to see which objects in the tablespace have pockets advise on which object(s) to
of wasted space due to deletion: shrink
1. Create a script that looks at DBA_TABLES view to 4. Accept the recommendations
compare the total space allocated for each object to shrink the objects online
(BLOCKS * DB_BLOCK_SIZE) in a tablespace to the and in-place
estimated space used by the object (AVG_ROW_LEN
* NUM_ROWS)
(assumes objects have been analyzed)
2. Review script output and identify target objects for
reorganization
3. Identify/Create “scratch” tablespace
4. For each object to be reorganized, use the Enterprise
Manager Reorg wizard to recreate each object along with its
dependencies
Automatic Backup & Recovery

Application & SQL


Management

Storage System Resource


Management Management

Backup & Recovery Space


Management Database Management
Management
Intelligent Infrastructure
Automatic Backup and
Recovery
 Fully automatic disk based
backup and recovery
– Set and Forget
 Nightly incremental backup
rolls forward recovery area
backup
– Changed blocks are
tracked in production DB
Database Area Recovery Area Tape – Full scan is never needed
– Dramatically faster (20x)
Nightly Apply Weekly  Use low cost ATA disk array
of Archive to for recovery area
Incremental Tape
Backup
Single-Command Recovery
 Easy recovery from human errors
Database at all levels
 Database Level
Customer – Flashback Database restores
the whole database to time
 Uses Flashback Logs
 Table Level
– Flashback Table restores rows
in a set of tables to time
 Uses UNDO in database
Order – Flashback Drop restores a
dropped table or a index
 Recycle bin for DROPs
 Row Level
– Flashback Rows restores rows
to time
 Uses Flashback Query
Database Recovery: Before and Now
Scenario: Recovering mistakenly dropped a Table

Before Oracle10g
(Tablespace Point-in-time Recovery)

3. Single Command
4. Prepare an auxiliary instance by first creating an Oracle Recovery:
password file FLASHBACK TABLE
5. Create parameter file for auxiliary instance <table_name> TO
6. Start auxiliary instance in NOMOUNT mode using SQL*Plus BEFORE DROP ;
7. Using RMAN interface to perform TSPITR
8. Using RMAN, connect to target database and bring
tablespace in question online
9. Shutdown the auxiliary instance
10. Delete auxiliary instance data files, control files, and redo
log files
Automatic Storage Management

Application & SQL


Management

Storage System Resource


Management Management

Backup & Recovery Space


Management Database Management
Management
Intelligent Infrastructure
Automatic Storage Management -
Benefits
 Automates daily storage
administration
– Automatic I/O tuning
– Eliminates disk fragmentation
– Automatically selects allocation
policy per Oracle file type
 Automates storage re-configuration
– Automatic data copy on disk
add/drop, no reconfiguring
volume and re-striping
– Online migration to new storage

Automatic Storage hardware


Management
The Operational Stack

TODAY ASM

Tables Tables
Tablespace Tablespace
0010 0010 0010 0010 0010
Files 0010 0010 0010 0010 0010
Files
File System File System ASM
Logical Vols Logical Vols
Disks Disk Group

“The best way to lower mgmt costs is to remove complexity”


Mirroring with ASM

 3 choices for disk group redundancy


– External: defers to hardware mirroring
– Normal: 2-way mirroring
– High: 3-way mirroring
 Integration with database removes need for
dirty region logging
Create or Delete Disk Groups

CREATE DISKGROUP dgroup1 DISK ‘/dev/raw/raw*’

CREATE DISKGROUP dgroupA NORMAL REDUNDANCY


FAILGROUP controller1 DISK
'/devices/diskA1' NAME diskA1 SIZE 120G,
'/devices/diskA2',
'/devices/diskA3'
FAILGROUP controller2 DISK
'/devices/diskB1',
'/devices/diskB2',
'/devices/diskB3';

DROP DISKGROUP dgroupA INCLUDING CONTENTS;


Traditional vs ASM
Setup

1. Determine required 1. Determine required


storage capacity storage capacity
2. Install Volume Manager, 2. Install ASM
File System 3. Create Disk Groups
3. Architect data layout to 4. Install database
avoid hot spot 5. Create database
4. Create logical volumes
5. Create file systems
6. Install database
7. Create database
ASM Architecture

ASM Instance

Non–RAC Oracle
DB Instance
Database

Server

Pool of Storage
Disk Group
ASM Instance
• Lightweight instance
- Few processes
- No database to mount, metadata tripled mirrored in ASM
diskgroup
• Initialization Parameters

INSTANCE_TYPE = OSM
OSM_POWER_LIMIT = 11
OSM_DISKSTRING = '/dev/rdsk/*s2', '/dev/rdsk/c1*'
OSM_DISKGROUPS = dgroupA, dgroupB
LARGE_POOL_SIZE = 8MB
Database and ASM Instance Interaction

Server
DATABASE (1A) OPEN ASM
(1) Database opens file (1B) Extent Map

(2B) I/O Completes

(3D) Initializes file

(3B) Allocates file


(3A) CREATE

(2A) READ
(2) Database Reads file
(3C) Extent Map

(3) Database Creates file

Operating System
ASM Architecture
ASM Instance

Non–RAC Oracle
DB Instance
Database

Server

Pool of Storage
Disk Group
ASM Architecture

ASM Instance ASM Instance

RAC Oracle Oracle


DB Instance DB Instance
Database

Clustered
Servers

Clustered
Pool of Storage
Disk Group
ASM Architecture
ASM Instance ASM Instance

RAC Oracle Oracle


DB Instance DB Instance
Database

Clustered
Servers

Clustered
Pool of Storage
Disk Group Disk Group
ASM is NOT!

 Not a general purpose FS or CFS


 Not using any special I/O calls below the OS
 Not a tool designed for SA or Storage Admins
 Not vendor or platform specific
 Not the only tool needed to provision storage
 Not required do the mirroring
 Not used for binaries, trace and text files
 NOT RAW
Open Interfaces for ISV Partners

Grid/Database Control ISV


ISV
ISV
Open Interfaces

Application & SQL


Management

Storage System Resource


Management Management

Database Space
Backup & Recovery
Management Management
Management
Intelligent
Infrastructure
Where DBA’s spend their time

Install 6%
Create & Configure
12 %

Software Maintenance
6% Load Data 6%

Ongoing System Management


55%

Source: IOUG 2001 DBA Survey


Enterprise Configuration
Management
Oracle View/Search
Inventory

Dis Compare/Diff
Software
Configurations
co
ve Grid Control a l yze
r An Change Tracking
Hardware
Configurations Reference
Configurations

Install/Clone Oracle.com
io n Liv
i s Policy eL
Configure o v ink Product Updates
Pr Manager
Patch Patches

Product
Secure
Configuration
Oracle Database 10g
Simplified Creation & Configuration

½ COST
Fast Lightweight
Install
Efficient
Data Load

Enterprise
Configuration Self-Managing Database
Management
Oracle 10g : Twice as
Manageable as Oracle9i
16 13
10 10
Number of Steps

12

6 6
8
4
4
4
2 2 2 2
1 Oracle9i
Oracle 10g
0
Performance SQL Tuning Resource Space Backup & Storage
Diagnostic Management Management Recovery Management
(Memory)

Result Summary
Oracle 10g required 44% less time and 47% fewer steps
than Oracle9i.
So what does
the DBA do
now :-)
DBA of the Future Does MORE

 MORE sleep at nights!


 MORE weekends off!
 MORE databases
 MORE applications: OLTP, DW, OCS, iAS
 MORE users, larger databases
 MORE mission-critical applications
 MORE proactive and strategic
 MORE important and valuable!
LESS Cost for Businesses

For customers
 Less Administration Cost
 Less Capital Expenditure
 Less Failures

For Application ISV Partners


 Less Deployment Cost
 Less Development Cost
 Less Support Cost
RAC for Everyone – Integrated
Clusterware
 Complete Oracle cluster
Applications
software solution
 Single-vendor support RAC, Other Apps
 Low Cost

Management APIs
Services Framework

Event Services
– No need to purchase
additional software
Cluster Control/Recovery APIs
– Easy to install, manage
 High quality and functionality Automatic Storage Management
across all platforms
Messaging and Locking
 Large number of nodes
 Common event and Membership
management api’s
Connectivity
– Multi-tier HA & minimal
MTTR
Hardware/OS Kernel
 Support for third-party
clusterware
RAC Enterprise Manager
Integration
 Service Consumer Page
 Shows alerts for SLA violations
 Cluster Page
 Cluster Database Page
 Performance Page
RAC for Everyone –
Server Provisioning
– Provision software to many systems at once
– Clone, store and distribute “known good” configurations
– Automate patch and update management

Enterprise
Manager

Software
Inventory
RAC for Everyone –
Server Provisioning
– Provision software to many systems at once
– Clone, store and distribute “known good” configurations
– Automate patch and update management

Enterprise
Manager

Software
Inventory
Enterprise Grid – Workload
Management
 Hands-free allocation and re-allocation of
servers to services based on rules
– Automated routing of service requests to
appropriate server with lowest load
– On server failure, automated re-allocation of
surviving servers to services
 Works across all platforms
Enterprise Grid – Workload
Management
Order Entry Spare Supply Chain

Normal Server Allocation


Enterprise Grid – Workload
Management
Order Entry Supply Chain

End of Quarter
Enterprise Grid – Workload
Management
Order Entry Spare Supply Chain

Normal Server Allocation


Enterprise Grid – Cluster
Failure
Order Entry Spare Supply Chain

Normal Server Allocation


Enterprise Grid – Cluster
Failure
Order Entry Spare Supply Chain

Server Fails
Enterprise Grid – Cluster
Failure
Order Entry Supply Chain

Reallocate Spare server to Order Entry


Enterprise Grid – Cluster
Failure
Order Entry Spare Supply Chain

Failed Server Restored


Automatic Workload Management
Details

 No application changes required


– Services specified in TNS connect data
– For example, using Net Easy*Connection in 10g you would
connect using scott/tiger@//myVIP/myservice
 Rules specify automatic resource allocations
– PREFERRED instances during normal conditions
– AVAILABLE instances should failures occur
 Enterprise Manager provides manual service controls,
e.g.,
– Start/stop, enable/disable, relocate
Automatic Workload Management
Specifying rules
• DBCA is the recommended tool for
configuring services
• svrctl is an alternative:
• Add a service

srvctl add service -d <name> -s <service_name>


[-r <preferred_list>] [-a <avail_list>]

• Add a node / instance


srvctl add service -d <name> -s <service_name>
-u [-r <new_pref_inst> | -a <new_avail_inst>]
Configuration
Example Instances RAC01 RAC02 RAC03 RAC04
ERP ERP ERP ERP
Transaction
CRM CRM CRM CRM
Services
SS SS SS SS

Batch Job HOT HOT HOT HOT


Services STD STD STD STD

CLUSNODE-1

CLUSNODE-2

CLUSNODE-3

CLUSNODE-4
Priority Thresholds
High 0.5/0.75
Med 0.5/1.00
Low 1.0/1.5

High 1.0/1.5
Low 3.0/5.0
Step 1 – Check Node
Applications NAME=ora.clusnode-1.LISTENER_clusnode-1.lsnr
TYPE=application
TARGET=ONLINE
STATE=ONLINE on clusnode-1

 CRS has already registered


NAME=ora.clusnode-1.gsd
and enabled node TYPE=application
TARGET=ONLINE
applications (nodeapps) STATE=ONLINE

(what are these ?)


NAME=ora.clusnode-1.oem
 Does this only work with TYPE=application
TARGET=ONLINE
CRS ? STATE=ONLINE

 Check status with crs_stat


NAME=ora.clusnode-1.ons
 Use srvctl to add new TYPE=application
TARGET=ONLINE
nodeapps to new machines STATE=ONLINE

NAME=ora.clusnode-1.vip
TYPE=application
TARGET=ONLINE
STATE=ONLINE
Step 2 – Define Database and
Instances
srvctl add database
-d ORACLE
-o $ORACLE_HOME
–s $ORACLE_HOME/dbs/ORACLE_spfile
srvctl add instance -d ORACLE
-i RAC01 -n clusnode-1
srvctl add instance -d ORACLE
-i RAC02 -n clusnode-2
srvctl add instance -d ORACLE
-i RAC03 -n clusnode-3
srvctl add instance -d ORACLE
-i RAC04 -n clusnode-4
Step 3 – Define Services

srvctl add service -d ORACLE -s ERP


-r RAC01,RAC02 -a RAC03,RAC04
srvctl add service -d ORACLE -s CRM
-r RAC03,RAC04 -a RAC01,RAC02
srvctl add service -d ORACLE -s SS
-r RAC01,RAC02,RAC03,RAC04
srvctl add service -d ORACLE -s HOT
-r RAC01 -a RAC02,RAC03,RAC04
srvctl add service -d ORACLE -s STD
-r RAC01,RAC02 -a RAC03,RAC04
Step 4 – Using Services
TNS ERP=(DESCRIPTION= (LOAD_BALANCE=on)
(ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-1vip)(PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-2vip)(PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-3vip)(PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-4vip)(PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=ERP)))

TNS + ERP=(DESCRIPTION=(LOAD_BALANCE=on)

TAF (CONNECT_DATA=(SERVICE_NAME=ERP))
Basic (FAILOVER_MODE=(BACKUP=ERP)(TYPE=SELECT)
(METHOD=BASIC)(RETRIES=180)(DELAY =5)))

TNS + ERP=(DESCRIPTION=(LOAD_BALANCE=on)

TAF (CONNECT_DATA=(SERVICE_NAME=ERP))
Pre- (FAILOVER_MODE=(BACKUP=ERP_PRECONNECT)(TYPE=SESSION)
Connect (METHOD=PRECONNECT)(RETRIES=180)(DELAY =5)))
ERP_PRECONNECT=(DESCRIPTION=(LOAD_BALANCE=on)

(CONNECT_DATA=(SERVICE_NAME=ERP_PRECONNECT))
(FAILOVER_MODE=(BACKUP=ERP)(TYPE=SESSION)
(METHOD=BASIC)(RETRIES=180)(DELAY =5)))
Example - Setting Service
Priorities
rem Create the consumer groups
execute DBMS_RESOURCE_MANAGER.CREATE_PENDING_AREA;
execute
DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP
(CONSUMER_GROUP => 'HIGH_PRIORITY',
COMMENT => 'High priority group');
execute
DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP
(CONSUMER_GROUP => 'STANDARD_PRIORITY',
COMMENT => 'Standard priority group');
execute
DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP
(CONSUMER_GROUP => 'LOW_PRIORITY',
COMMENT => 'Low priority group');
Example - Setting Service
Priorities
rem Create the service to consumer group mapping
execute
DBMS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING
(ATTRIBUTE => DBMS_RESOURCE_MANAGER.SERVICE_NAME,
VALUE =>'ERP',CONSUMER_GROUP =>'HIGH_PRIORITY');
execute
DBMS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING
(ATTRIBUTE => DBMS_RESOURCE_MANAGER.SERVICE_NAME,
VALUE=>'CRM',CONSUMER_GROUP => 'STANDARD_PRIORITY');
execute
DBMS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING
(ATTRIBUTE =>DBMS_RESOURCE_MANAGER.SERVICE_NAME,
VALUE=>'SS',CONSUMER_GROUP => 'STANDARD_PRIORITY');
execute
DBMS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING
(ATTRIBUTE => DBMS_RESOURCE_MANAGER.SERVICE_NAME,
VALUE=>'HOT',CONSUMER_GROUP => 'HIGH_PRIORITY');
execute
DBMS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING
(ATTRIBUTE =>DBMS_RESOURCE_MANAGER.SERVICE_NAME,
VALUE =>'STD',CONSUMER_GROUP => 'LOW_PRIORITY');
execute dbms_resource_manager.submit_pending_area;
End-to-End Integration
Load Balancing
 Dynamic load balancing
Oracle 10g Clusterware with Oracle Application
Server 10g
 Multiple SLA's satisfied on
iAS
shared hardware
 Self monitoring services
RAC – Automatic Workload
Repository (AWR)
measures end to end
ASM – Resource manager
End-to-End Integration
Synchronized Recovery
 End to end recovery without
Oracle 10g Clusterware human intervention
– < 8 second recovery time
for database
iAS – Immediate recovery for
mid-tiers
 < 4 seconds from 15
minutes Self
RAC Correcting
 Self verifying
ASM  Self diagnosing
 Self correcting
End-to-End Integration
Disaster Recovery
Oracle 10g Clusterware
iAS
 Data Guard Broker
Production central point of control
RAC

ASM  Automatic service re-


provisioning
Data Guard  Seamlessly integrated
Broker  Maximum availability
– iAS & customer
Oracle 10g
Clusterware integration
iAS
Standby
– End-to-end min MTTR
RAC
– Rolling Upgrade
ASM
Performance Enhancements

 Dynamic file and lock affinity


 Lower-overhead updates
 Message aggregation
 More efficient global cache
 Fewer buffer copies
 Less memory usage
No Cost System Changes –
Capacity on Demand
 CPU
– Add/remove CPUs on SMP online
 Cluster Nodes
– Add/remove cluster nodes online
– No data movement needed
 Memory
– Grow and shrink shared memory
and buffer cache online
– Auto tuning of memory online
 Disk
– Add/remove disks online
– Automatically rebalance
– Move datafiles
Low Cost Fault Tolerance

Computer Grid Clusters


Failures Low Cost Fault Tolerance
Unplanned
Downtime Data
Failures

System
Changes
Planned
Downtime
Data
Changes
Commercial Grids and Availability

 Grid pools standard low


cost nodes and modular
disk arrays
 Perfect for RAC HA
 Failover can happen to
any node on the grid
 Grid load balancing will
redistribute load over
time
Designed to Tolerate Failures
New Economics for
Data Protection & Recovery

Computer
Failures
Unplanned Disk Based Recovery
Downtime Data
Failures
Trade cheap disk space
for expensive downtime
System
Changes
Planned
Downtime
Data
Changes
New World:
Disk Based Data Recovery
 Disk economics are close to
tape
1980’s - 200 MB
 Disk is better than tape
– Random access to any data
 We rearchitected our recovery
1000x increase strategy to take advantage of
these economics
– Random access allows us to
backup and recover just the
changes to the database
 Backup and Recovery goes from
hours to minutes
2000’s - 200 GB
Resiliency using Low Cost Storage

Computer Storage Failure


Failures
Unplanned
Human Error
Downtime Data
Failures
Corruption

System
Changes Site Failure
Planned
Downtime
Data
Changes Four Failure Types
Data Mirroring with ASM
 ASM mirrors data across
inexpensive modular
storage arrays
 Automatically remirrors
when disk or array fails
 Designed to tolerate
failures

Failure Resiliency using Low Cost Storage


Collapsing the Cost of Human Error

Computer Storage Failure


Failures
Unplanned
Human Error
Downtime Data
Failures
Corruption

System
Changes Site Failure
Planned
Downtime
Data
Changes
Flashback Time Navigation
 Flashback Query
– Query all data at point in time
Select * from Emp AS OF ‘2:00 P.M.’
where …

 Flashback Versions Query


– See all versions of a row between
two times
– See transactions that changed the
Tx 3 row
Select * from Emp VERSIONS BETWEEN
‘2:00 PM’ and ‘3:00 PM’ where …
Tx 2
 Flashback Transaction Query
– See all changes made by a
transaction
Tx 1
Select * from DBA_TRANSACTION_QUERY
where xid = ‘000200030000002D’;
Flashback Database
 A new strategy for point in time recovery
 Flashback Log captures old versions of
changed blocks
– Think of it as a continuous backup
– Replay log to restore DB to time
Disk Write
– Restores just changed blocks

New Block Old Block RMAN> Flashback Database to ‘2:05 PM’


Version Version
 It’s fast - recover in minutes, not hours
 It’s easy - single command restore

Data Files Flashback


“Rewind” button for the Database
Log
Prevention & Recovery of Corruptions

Computer Storage Failure


Failures
Unplanned
Human Error
Downtime Data
Failures
Corruption

System
Changes Site Failure
Planned
Downtime
Data
Changes
Oracle End-to-end Data Validation
Blocks validated and
Protection info added to block
Oracle  H.A.R.D. – Hardware Assisted
A.S.M. Resilient Data
Volume Manager – Prevents corruption introduced in
IO path between DB and storage
Operating System  Initially introduced in Oracle9iR2
Host Bus Adapter  10g HARD provides
– Better checks
SAN & – All file types & block sizes checked
Virtualization  DB, log, archive, backup, etc.
–A.S.M. enables HARD without
SAN Interface using RAW devices
 Supported by major storage vendors
Storage Device

Protection info validated by storage device


Flash Recovery Area

 Fully automatic disk based


backup and recovery
– Set and Forget
 Nightly incremental backup
rolls forward recovery area
backup
– Changed blocks are tracked
in production DB
Database Nightly Flash Recovery Weekly  Full scan is never needed
Area Apply Area Archive
Validated To Tape – Dramatically faster (20x)
Incremental – Blocks validated to prevent
corruption of backup copy
 Use low cost ATA disk array for
Two Independent Disk Systems recovery area
Optimised Incremental Backup

 Optimizes incremental backups


– Track which blocks have changed since last
backup
• New change tracking file is introduced
Redo Generation – Changed blocks are tracked as redo is
generated
List of – RMAN backup automatically uses changed
Changed block list
Blocks

10110010
10110000
11101001
SQL> ALTER DATABASE ENABLE BLOCK CHANGE
TRACKING;

Redo Logs Change


Tracking File
Recovering With Incrementally
Updated Backups

Image copy RECOVER COPY OF Incremental


of data file DATAFILE backup files

RMAN> RECOVER COPY OF DATAFILE 10

Updated image copy


of data file to a more
recent state
Incrementally Updated Datafile
Low Cost No Compromise Disaster Recovery

Computer Storage Failure


Failures
Unplanned
Human Error
Downtime Data
Failures
Corruption

System
Changes Site Failure
Planned
Downtime
Data
Changes
Data Guard 10g New Features
 General new features
– Real Time Apply
– Flashback Database Integration
 SQL Apply new features
– Zero Downtime Instantiation
– Rolling Upgrades
– Additional Datatypes

 Data Guard Broker & Enterprise Manager new features


– RAC integration
– Simplified browser-based interface focused on best practices
Enhanced DR with Flashback Database
Primary Database Real Time Standby Database
Real Time
Redo Apply Reporting
Shipment

No Delay!

Flashback Flashback
Log Log

Primary: No reinstantiation
after failover!

 Flashback DB removes the need to delay application of logs


 Flashback DB removes the need to reinstantiate primary after failover
 Real-time apply enables real-time reporting on standby
SQL Apply: Zero Downtime Instantiation

 Logical standby database can now be created


from an online backup of the primary database,
without shutting down or quiescing the primary
database
– No shutdown implies no downtime of production
system
– No quiesce implies no wait on quiesce and no
dependence on Resource Manager
Highest Data Protection Lowest Cost

Dramatic Advances
in Ease of Use

Data Guard
Site Failure
Protection
Flash
Recovery
Area
Flashback Corruption
Human Error Protection
Combine the
Protection
Features to
ASM Mirroring Achieve Any Level
Storage Failure
of Data Protection
Protection
No Cost System Changes

Computer Goal
Failures
Unplanned
 Allow any change to
Downtime the system with no
Data
Failures downtime

System Online Reconfiguration


Changes
Planned Rolling Upgrades
Downtime
Data
Changes
No Cost System Changes – Capacity on
Demand

 CPU
– Add/remove CPUs on SMP online
 Cluster Nodes
– Add/remove cluster nodes online
– No data movement needed
 Memory
– Grow and shrink shared memory
and buffer cache online
– Auto tuning of memory online
 Disk
– Add/remove disks online
– Automatically rebalance
– Move datafiles
Rolling Patch Upgrade using RAC

Oracle
Clients A Clients Patch Patch
B A B
B
1 2 Upgrades

Operating
Initial RAC Configuration Clients on A, Patch B
System
Upgrades

A
A B
B Patch A
A B
4 3 Hardware
Upgrades

Upgrade Complete Clients on B, Patch A


Rolling Release Upgrades using Data Guard
Upgrade

Redo Patch Set


Clients Upgrades
A B Logs A B
Queue

Major
Version X Version X X X+1 Release
1 2 Upgrades
Initial SQL Apply Config Upgrade node B to X+1

Redo Redo Cluster


Upgrade A B A B
Software &
Hardware
Upgrades

X+1 X+1 X X+1


4 Switchover to B, upgrade A 3 Run in mixed mode to test
No Cost Data Changes

Computer Goal
Failures  Competitive pressures
Unplanned demand continual change
Downtime
Data  Need to change data with
Failures no interruption to the
application
– location, format, indexing,
System or even definition
Changes
Planned
Downtime Online Redefinition
Data Evolution without Interruption
Changes
Online Redefinition Enhancements

 Enhanced Online Table Redefinition


– Easy cloning of indexes, grants, constraints, etc.
– Convert from long to LOB online
– Allow unique index instead of primary key
 Change tables without recompiling stored procedures
– Stored procedures can depend on the signature of a table
instead of the table itself
 Online Segment Shrink
– Return unused space within the blocks of a segment to the
tablespace
Protection from any cause of downtime
Real Application
Computer
Clusters At Lowest Cost
Failures
Unplanned • Grid Servers
ASM
Downtime • Modular
Flashback Storage Arrays
Data
Failures Recovery Area

Data Guard

System Online Reconfigs • Automated &


Changes Simple to Use
Planned Rolling Upgrades
Downtime
Data
Online Redefinition
Changes
Oracle10g Cross Platform
Transportable Tablespace

Small Endian Platforms Big Endian Platforms

Linux (Intel IA32/64) Solaris (SPARC)

Windows (Intel IA32/64) High Speed HP-UX (Intel IA64)


File Convert
Open VMS (Intel IA64) HP-UX (PA-RISC)

Tru64 UNIX (Alpha) AIX (PowerPC)


RMAN
Simple File Copy Within Simple File Copy Within
These These
Bigfile Tablespaces

 Size up to 8 exabytes (8 million terabytes)


 Use with OSM or VM that supports striping and
dynamically extensible logical volumes
 CREATE BIGFILE TABLESPACE bigtbs
DATAFILE ‘/u02/oracle/data/bigtbs01.dbf’ SIZE 50G
EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO;
 Default SMALLFILE
Oracle HTML DB
<html>
 Development Approach </html>

– Declarative
– Model Driven UML
HTTP Listener
 Programming Language: PL/SQL
– PL/SQL, SQL, HTML
 Deployment Architecture: Database
– RDBMS

135
HTML DB: How it Works
 Browser Based
 No Deployment Needed
 Team Based Development

HTML DB Browser
HTML DB in a Nutshell

 Productivity and Ease of


Use of a Desktop
Database
 Quality of an Enterprise
Database
 Built for the Web
Telstra

 Replacing hundreds of MS Access


Applications using HTML DB
 Reduced Custom Development Budget
 Improved Data Quality
 Improved Security
 Reduced Bandwidth Usage
PL/SQL Enhancements

PL/SQL SQL

XML Java Objects

Graphic modified from original courtesy of Sun Microsystems


New PL/SQL Compiler

 A new compiler is
available for PL/SQL
compilation
 Transparent to user
 PL/SQL is significantly
faster than prior
releases
 Ability to change full
interpreted compiled
code to full native
compiled code
PL/SQL Performance
Set Timing ON
SELECT fib_sum(30) FROM dual;
Oracle
FIB_SUM(30) Database 10g
-----------
832040

Elapsed: 00:00:04.82

Set Timing ON
SELECT fib_sum(30) FROM dual;

FIB_SUM(30) Oracle9i R2
-----------
832040

Elapsed: 00:00:08.36
Regular Expression Support

 Native Regular Expression Support


– Revolutionizes pattern matching and manipulation
– POSIX Compliant + Backreference support
– LOB support + All Character Sets + Locale Sensitive
 Motivation and Requirements
– Life Sciences Customers
– Sync with GNU, PERL, Java, XQuery, etc.
– Competitive Advantage – Not offered in DB2, only small
subset in MS SQL Server
– Multitude of applications – will be a highly used feature
 Available in SQL and PL/SQL
Native Floating-Point Data
Types
 Two new numeric data types BINARY_FLOAT,
BINARY_DOUBLE
 Based on the IEEE 754 Standard for binary
floating point arithmetic
 More efficient than the NUMBER type. Arithmetic
operations are implemented in hardware on most
platforms. These types may also take up less
space in memory/disk.
 Seamless support in SQL and PL/SQL
Native Floating-Point Data Types
 New type conversion functions
 Seamless support in SQL, PL/SQL, Java,
XML, and OCI/OCCI

CREATE TABLE t (f BINARY_FLOAT, d BINARY_DOUBLE);

INSERT INTO t VALUES (2.0f, 2.0d);


INSERT INTO t VALUES (1.5f/0.5f, 1.5d/0.5d);
LOB Enhancements

 Performance improvements
 Terabyte size LOBs
 New DBMS_LOB.GET_STORAGE_LIMIT
function
 OCI now supports LOBs greater than 4GB
Oracle 10g –
The High Performance Platform for XML

XML DB J2EE Web Client


Server Server Cache

XML XML XML


Stream Stream Stream

XMLType XSLT Processing XSLT Processing XSLT Processing


Persistence XML Query Processing XML Query XML Query
XML Query XML Schema/DTD Processing Processing
Processing Validation XML Caching XML Caching w/o
XML Schema XML Caching w/ JAAS w/HTTP security security
Validation security
XSLT Processing XML J2EE Components
XML Messaging & XML Messaging &
Queuing Queuing
XML Streams XML Data Integration
XML Database 10g New
Features
 Add Node capabilities
– InsertXML(),AppendXML(), DeleteXML()
 I18N Support
 XPath re-write enhancements
 SQL/XML XPath re-write for XMLType views
 SQL/XML XMLParse() operator
 SQL Loader improvements
 Copy Based Schema Evolution
JDBC New Features
 Re-Architecture  Misc.
– Unified Code Path – Enhanced JDBC VARRAY Support
 Thin on par with Thick – NLS repackaging
– Bind variable names – Stop shipping classes111
– PL/SQL index-by table  New JDBC 3.0 features
– Proxy authentication – Named Parameters
– Encryption algorithms – New Ref interface
 New Data Types – Datalink/URL
– Native IEEE DOUBLE – JCA Resource Adapter
– Native IEEE Float
– Connection Pool
– Long-to-Lob conversion
– Unlimited size LOB
– JDBC Web RowSet
– INTERVAL DAY TO SECOND  Implicit Connection Caching
 Fastest JDBC Drivers – Cache Manager
– Best SPECJApp2002 results
JDBC WebRowSet

 An implementation of JSR-114, extends


java.sql.ResultSet capabilities
– Enables reading and writing result sets from/into XML
format
– Serializable/Distributable
– Disconnected, decoupled from Data Source
– Extensible to non-tabular data
– Can be shipped over Internet using HTTP/XML protocols
JDBC Connection Cache and
Connection Cache Manager
Oracle9iAS or Java/J2EE Node
Oracle JDBC Driver

Cache# 1
Session 1.1
....
Session 1.m

... Session n.1

Cache# n ....
Cache Manager
Session n.m
JDBC Fast Connection
Failover

– Failed connections in JDBC connection caching


– Listening to UP/DOWN failover events
– Resetting the connections

Fast Connection Failover

Database Database
instance instance
in a cache in a cache
Java DB New Features

 OracleJVM J2SE 1.4  RMI Call-out


compatible  JSP/Servlet Call-out
– Complete Security  EJB Call-out
– Preferences  Web Services Call-out
– Headless AWT
 Native Java Interface
 Self Tuning Java Pool
 Optimized Java Memory
 Java Stored Proc. now return
Management (Dedicated
all SQL Exceptions Server)
 New Faster Server-side
JDBC driver
OCI, OCCI, Pro*C, C++

 Downloadable OCI client stack – doesn’t


require install
– i.e. Homeless OCI/JDBC (Type2)
 OCCI
– Stateless connection pooling
– Statement Caching
– XA Support
Varray and Nested Tables
Enhancements

• Alter VARRAY and Nested Table Limit Size


• Varray Columns in temporary tables
ANSI Collections Support in
Nested Tables

 Equality and Non-Equality Predicates


 IN and NOT IN operators
 MULTISET, SUBMULTISET, POWERMULTISET,
POWERMULTISET_BY_CARDINALITY MULTISET
EXCEPT operators
 CARDINALITY, Operator
 SET, IS A SET operators
 MEMBER OF operator
 IS EMPTY operator
Oracle 10g on Windows

 Fiber model support


 Large Page support
 Non Uniform Memory Access (NUMA)
support
64-bit Oracle on Windows

 Large memory addressability


– Up to 8 TB of memory supported (No 4GB SGA
limit)
– Page size can be up to 4GB
– Capacity, concurrent users, and performance of
Oracle database increases dramatically with
more memory
 Provides profile-guided optimization (PGO)
– Expect 15%-25% performance improvement from
PGO
Oracle: Best Database for .NET

 .NET cannot expose DB functionality that is


not there
– Oracle leads the way in advanced DB features
 RAC, XML DB, grid, interMedia, ASO, etc.
 Oracle has a high-performing ADO.NET
provider that exposes advanced DB features
– Oracle Data Provider for .NET (ODP.NET)
 ODP.NET allows full access to .NET
– No limitation to using .NET functionality
Oracle Database 10g
Location Features
 Locator  Spatial
– Points, lines, polygons – Additional Spatial functions
 Area/Length calculation
– 2D, 3D, 4D data
 Buffer, Centroid, Intersection,
– Spatial Operators Union, etc.
 Distance – Linear Referencing

 Relationships – Spatial Aggregates


– Coordinate Transforms
– Coordinate Systems
– Geocoder
– Parallel Query – GeoRaster
– Deferred Spatial – Topology Data Model
Indexes – Network Data Model
– Spatial Data Analysis & Mining
Location Performance
Improvements in Oracle Database
10g
 Index inserts
– 500-1000% faster with arrays inserts
 Spatial queries
– Up to 1000% faster for distance-based queries
– 20-40% improvement for spatial relate queries
 Spatial joins
– 200-600% faster in 10g using a new JOIN algorithm
 Spatial queries with local partitioned indexes
– 400 to 600% faster for queries accessing more than one
partition (160 partitions)
 2 Patent Applications for this work
Workspace Manager Enhancements

 Set system parameters to  Version-enable tables that


enforce global settings have unique constraints,
 Create a multiparent nested tables and Virtual
Private Database security
workspace
 Use TIMESTAMP WITH
 Communicate workspace
TIME ZONE with History
events to applications
data
 Import to and export from
 Identify users with system
version-enabled tables
level workspace privileges
 Use SQL*Loader to load
 Query history views with
version-enabled tables
updated column names
 Change a workspace to be
 Allow users in workspace
continually refreshed
tree access to locked rows
 Determine whether a table
 Use additional DDL on
is version-enabled
version-enabled tables
Q&
A
QUESTIONS
ANSWERS