You are on page 1of 142

<Insert Picture Here>

Oracle Database 10g @Work


Monika Dreher
ST, Platform Technology Solutions

1
Oracle Database 10g @Work

Migrate your Database to 10g


Develop your Application
Deployment with 10g
High Availability of your Database
10g and Beyond

Agenda

Migrate your Database to 10g


Develop your Application
Deployment with 10g
High Availability of your Database
10g and Beyond

2
Why Migrate to Oracle?
What is a migration?

A Migration is required when you have an application


system that you wish to move to another technology
and/or platform
For example, you could migrate your application
from:
Windows to Linux
Mainframe to UNIX
Sybase to Oracle
Visual Basic to Java
Microsoft SQL Server to Oracle 10g on Linux

Why Migrate to Oracle?


Migration Tools Support

1. Evaluation

8. Project 2. Assessment
Support

7. Production Migration
Lifecycle 3. Migration

6. Customer
Acceptance 4. Testing

5. Optimization

3
The Migration Process

1. Migrating Schema and objects


2. Migrating Business Logic
3. Migrating Client applications

Migrating Schema and Objects


Migratable Objects in the database

Tables and Data Databases


Primary Keys Stored Procedures
Check Constraints Triggers
Foreign Keys Grants
Indexes Rules
Views Defaults
Groups / Users User Defined Types

4
Migrating the Business Logic
Example: Business Logic in SQL Server

Primarily in Transact-SQL (T/SQL)


Triggers, Stored Procedures
Conversion to PL/SQL handled by Migration Workbench
Extended Stored Procedures
Callouts from the database packaged as DLLs and written in
C,C++
Manual conversion process
.NET CLR Stored Procedures
Stored procedures written in a .NET language
10gR2 supports these

Migrating Client applications

No big issue if you dont have any business logic on


the client
Adapt the way how to call the business logic
Managing Resultsets
Adapt the way how to access the database
Error Handling
In some cases need some rewriting

5
Oracle Migration Workbench
Key Features

Supports complete database migration


Schema & Data
Triggers & Stored Procedures
Uses a Capture / Map / Migrate Model to do Migration
Uses plug-in model to support multiple third party
databases

Oracle Migration Workbench


Supported Databases

OMWB 10.1.0.4.0 Version(s)


Informix Dynamic Server 7.3, 9.1
Microsoft Access 2.0, 95, 97, 2000
Microsoft SQL Server 6.5, 7.0, 2000
Sybase Adaptive Server 11, 12
MySQL 3.23, 4.0, 5.0
DB2/400 V4R3, V4R5
DB2/UDB 6.x, 7.1, 7.2

6
Oracle Migration Workbench
Using Workbench Within Migrations

Capture the source database structure into Source


Model (online/offline)
Map to Oracle Model
Create a representation of the structure of the destination
database
Migrate the source database
Create the schema online or offline
Transfer the data online or offline

D E M O N S T R A T I O N

Migration
Workbench

7
Migration Workbench New Features

Modernise the UI by integrating with SQL Developer


Utilise new UI to offer better functionality
Offer a Migration IDE
SQL Developer offers longer life cycle for migration
Use SQL Developer to browse, edit and update the newly migrated
schema objects and schema data.
Completely new T-SQL Parser
Extensible framework for new migration tools
All our migration tools to become SQL Developer Extensions
Time for a Make Over!
Original Workbench released in 1998
Focus has been on expanding the range of 3rd party database
support.

Migration Workbench New Features

Migration is a 5 step process:


Connect, Capture, Convert, Generate, Data Move
UI will provide an Explorer for each step:
Connect using SQL Developer
Explore third party databases within SQL Developer
Capture, Convert via new navigation panes
Generate Existing SQL Developer connection
Take advantage of different ways to migrate:
Simple mode: Provides a wizard driven UI
Minimal user interaction.
Expert mode: Provides fine grained control
Select only the objects you wish to migrate
Spread the workload among a migration team

8
New Migration Workbench UI

New Migration Workbench UI

9
New Features

Least Privilege Migration


Migrate objects you own without requiring DBA rights
Users can migrate any object they can access
Sync Mode
Capture a snapshot of the third party database
Static target used in the migration
Visual correlation of Derived Database Objects
All existing functionality supported
Offline data migration using generated scripts
Offline Meta data load using SQL scripts
Tailored Generation of emulation package
Only include the referenced functions
Part of the migrated schema or its own schema

New Features

Migration SDK
Leverage a strong base of Migration functionality to simplify
extension development
Develop additional 3rd party database support
Other enhancements / Additional Migration Tools
Migration Reports
Planning and estimation reports
Migration Detailed & Summary reports
Ability to develop your own reports
Uses SQL Developer Reporting capabilities

10
New T-SQL Parser

Completely Rewritten Parser


Significantly Higher Automatic Conversion of
Procedures, Functions, Triggers, Views and Constraints
Single SQL Statement Migration
SQL Script Translation
Import SQL scripts
Translation Diff Viewer
Side by side comparison of T/SQL & PL/SQL code
highlighting the SQL Statement conversions

New T-SQL Parser

Deep Analysis of T-SQL Before Migration


Keyword Identifier Resolution
Semantic resolution
Data Flow Analysis Resolves Cursor Use
Dependency Analysis Provides
Correct Parameter Handling
Generation Order
Comment Analysis Enhances Comment Positioning

11
New T-SQL Parser

Intelligent Translation
Full Recognition And AST Built Before Translation
Any parse errors will be a bug!
Database Context Aware
Translation Name Changes
Column Data Types
Project Aware
Migration, Translations and Formatting Preferences
Advanced Generation
Templates Allow Advanced Translation Choices
Cleaner More Readable/Maintainable Code Generated

Translation Scratch Editor


Statement Level Translation

12
Translation Diff Editor
Matching Statements and Blocks

T-SQL Editor
Code Folding / Syntax Highlighting

13
Database Migration Verifier

Compares schema and data between source and migrated


Oracle database

Supports verification of tables, indexes, function, stored


procedures, and triggers, and view objects

Validates data in migrated Oracle database against source


database

Generates a Verification Report of schema and data verification


failures summarized by object name and type

Migration Workbench 10.2 Roadmap

Initial platforms: MS SQL Server, MS Access , MySQL


Representing our most popular downloads
Introducing support for MS SQL Server 2005
Initially tied to 1.2 Release of SQL Developer
Future Releases
Additional integration with SQL Developer
Application Migration Assistant
Data Migration Verifier
Additional 3rd party database support
Stored procedure Testing

14
Upgrade to 10gR2

Release 2

Oracle 8.0.6
Oracle 8.1.7.4 Oracle 9.0.1.4 Oracle 9.2.0.4 Oracle 10.1.0.2
Orace 7.x
Oracle 8.1.6

Oracle 8.1.5

Upgrade Paths
(+) Pros (-) Cons
Oracle Database simple and concise in case of unexpected errors (for
Upgrade Assistant instance if the listener dies during
automatic upgrade) one has to proceed manually
(GUI) resource / space checks with upgrade scripts
backup facility limited possibility to intervene
parameter adjustment no OS change possible
me nded detailed error log
r ecom
Oracle
Manuelles total control error-prone typing
Upgrade (CLI) in case of failure: just restart the no change of OS possible
upgrade script

Full Export/Import reorganisation duration especially for large databases


OS change possible space requirements

also possible for Oracle 5/6

SQL*Plus-COPY, platform independent only structure and data everything


CTAS and Scripts else manually

Minimal Downtime Extremly fast Very high effort in prepare phase

15
Database Upgrade Assistant (GUI)

Command Line Upgrade

E.g. changing to a new server

Server(OLD)
Server(NEW)

1) Install Oracle10g software


2) Copy utlu102i.sql
3) Run utlu102i.sql
4) Shutdown database
5) Copy all relevant files
6) Apply suggested changes
7) Start the upgrade process

16
Rolling Upgrade
Upgrade

Clients Redo
P L Log P L
ARCH

10.1.0.3 10.1.0.3 10.1.0.3 10.2.0.2


1 Logical Standby Configuration 2 Upgrade Node L to 10.2

Redo Redo
Upgrade L P P L

10.2.0.2 10.2.0.2 10.1.0.3 10.2.0.2


Switchover (role change),
4 3 "Mixed setup" for testing
then upgrade of L (ex-P)

Agenda

Migrate your Database to 10g


Develop your Application
Deployment with 10g
High Availability of your Database
10g and Beyond

17
Robust Implementations of Key
Application Development Standards

SQL Core SQL 2003

Java JDBC 3.0, JSR-


JSR-114, J2SE 1.4, JAX-
JAX-RPC

XML SQL/XML, Web Services, WebDAV

.NET Native .NET data access

Globalization UNICODE 3.2

Single Platform for All Your Data

Oracle Collaboration Suite


Complete Unified Messaging and Files
Integrated Secure Enterprise Search
Robust Enterprise Search Solution
Scalable XML DB
Secure Integrated Native XML Database

Available on all platforms Oracle Text


Text Processing Engine

Oracle Locator & Spatial


Location and Proximity Searching

Oracle interMedia
Multimedia management

Relational
Characters, Numbers, Dates, LOBs

18
Windows Development

Oracle Developer
Tools for VS.NET
IIS
MTS/
Develop C++, C#, Deploy (ASP
Visual Studio VB .NET COM+
ASP.NET)
Environment Application
Application
IIS
Deploy

Server side
Development
Database

Windows Data Access


Oracle DB
Extensions
For .NET Oracle Services for MTS

Windows .NET Data Access


Any .NET
ASP .NET VB .NET C# Managed C++
Client

ODBC.NET OLE DB.NET

Oracle Data Provider


For .NET ODBC OLE DB

Oracle Database
Extensions
for .NET
(VB .NET, C#,
Oracle Database
C++)

19
Develop your Application

Oracle Application Express (formerly HTMLDB)


SQL Developer
DW/BI in the Database

Oracle Application Express

Tool to build Database centric web applications.


Simplicity of a desktop database with the full power
and reliability of Oracle
Browser based
Multi-Tenant Hosting
MS Access Replacement

20
Benefits

Development
Easy point-and-click
Reduces Time, Complexity and Expense
No Client Software
Leverages existing SQL Skills
Integrated SQL Workshop
Use the full power of Oracle Database 10g
No extra cost (feature of the database)

Functionality Overview

Complete Environment
Application Builder
SQL Workshop
Utilities
Administration

21
Architecture

Oracle Application Express


lives completely within your
Oracle database.
It is comprised of nothing more
than data in tables and large
amounts of PL/SQL code.
The essence of Oracle
Application Express is
approximately 165 tables and
200 PL/SQL objects containing
300,000+ lines of code

D E M O N S T R A T I O N

Application
Express

22
Oracle Application Express
Architecture
With the Embedded PL/SQL Gateway
(XE, 10.2.0.3 and 11g)

With Apache and mod_plsql

Standard App Dev Features

23
History 2006 Application Express 2.2
Packaged Applications

2006 Application Express 2.1


Oracle XE

2005 HTML DB 2.0


SQL Workshop

2004 HTML DB 1.6


Themes

2004 HTML DB 1.5


First Release

1999 Internal R&D


Consulting, Oracle Web Calendar

Application Express 2.2 New Features

Name Change to Application Express


Packaged Applications
New Item Finder Search Tool
Copy pages from another Application
Dictionary Views
Component-level Export
New Themes
Access Control Wizard

24
Application Express 3.0 New Features

MS Access Application Migration


Flash Charting
XML Publisher Reporting Integration
AJAX WYSIWYG Drag & Drop
Form Layout

Application Migration Workshop


Why Migrate from Microsoft Access?

Fragmented
Data in isolated islands of
information
Consolidation
Platform Dependent
MS Windows Only
Not Scalable
After 250k rows or so, it just
doesnt work
Web Unfriendly
Need to install & manage client
software
Not Secure
Simple to gain full access to data
& UI

25
Application Migration Workshop

Design Goals
Database Refactoring
The better the Data Model, the easier it will be to create good
Oracle APEX applications
Identify tables without Primary Keys, Foreign Keys, UI Defaults.
Design Recovery
Provide detailed information about the original Access
Application
Workshop approach allows developer to define scope and fix any
objects identified as invalid resulting in increased automatic
conversion %
Native Oracle APEX Applications
No emulation of unique Access functionality
Leverages the Application Model behind the Create Application
Wizard

Application Migration Workshop


Roadmap

Early Adopters Release


View of all Access application metadata
Identify tables without Primary keys or UI Defaults
Identify and Fix Invalid Access Queries (Oracle Views)
Validate SQL associated with Access Reports
Generate Two types of Applications
Application Based on Forms / Reports
Maintenance Based on Tables / Views

http://www.oracle.com/technology/products/database/application_express/migrations/mig_index.html

26
Application Migration Workshop
Roadmap

Oracle Application Express 3.0 Release


Standard feature of 3.0
Additional schema analysis
Ability to migrate Forms that reference Sub Forms
Consolidation support
Support for multiple Access databases within a given
Migration project
Resolution of issues identified during Early Adopters release

Migration Map

27
How to Migrate Your 7 step Process

1. Export MS Access Metadata


2. Migrate MS Access database to Oracle
3. Create an Oracle APEX Workspace
4. Create a Migration project
5. Analyze Access Application
6. Generate Oracle APEX Application
7. Customize your Oracle APEX application

1. Export MS Access Metadata

Run the new Exporter Tool


for Microsoft Access to
generate the following files
XML file that describes
schema for OMWB
SQL file that contains all
Metadata for Application
Migration Workshop
Load the resulting XML file
into the Migration Workbench

28
2. Migrate MS Access Database to Oracle

Use the Oracle Migration


Workbench to move the data
from Access to Oracle
If you need to change
the data model:
Migrate ALL of the tables to
Oracle
Make changes on the Oracle
side via Oracle APEX SQL
Workshop

2. Migrate MS Access Database to Oracle

Some things to look out for:


The Oracle Schema which the Migration Workbench creates
will be named after the .MDB file plan accordingly
You will need an account with DBA Privileges on the target
database in order to run the Migration Workbench

29
Oracle Migration Workbench

Oracle Migration Workbench 10.1.0.4.0


Improved Microsoft Access Support
Added support for 2002 (XP) & 2003
Multiple mdb file migration
4 types of Access queries migrated to views
Native support for 80% of Access functions
Multi-byte improvements
New Migration Workbench (CY 2007)
Integrated with Oracle SQL Developer
Support for Access in initial release
~30% of OMWB downloads is for MS Access
Over 50,000 downloads since 2001

3. Create an Oracle APEX Workspace

Using the Administrative interface of Oracle APEX to


create a Workspace and associate your newly
migrated Schema with it.

30
4. Create a migration project

From the Application Migration Workshop create a


Migration project and load the .sql file created
previously by the Exporter Tool for Microsoft Access.

5. Analyze Access Application

Database Design
Good database design is fundamental to a good application
Many MS Access Applications are written by people who dont
know a lot about data modeling
Normalize data where appropriate
Tables without Primary Keys
Add UI Defaults
Fix any invalid views created by OMWB
Application Design
Many constructs of MS Access do not translate to the web
There is not necessarily a 1-to-1 relationship between an MS Access
form and an HTML DB Form
HTML DB Reports can replace several MS Access Reports
Forms built in MS Access to manage LOVs can be managed as
LOVs natively in HTML DB

31
6. Generate Oracle APEX Application

Create Application
Based on Access Forms & Reports
Create Maintenance Application
Based on Tables & Views (Access Queries)

When Creating your Application:


Decide on your Navigation Style
Simple List or Icons for Menu
Choose your User interface (theme)
Oracle Apex Authentication by default

7. Customize your APEX Application

Add additional regions to existing pages


Add new pages
Review Authentication method
Review opportunities to create List of Values and
update existing forms to take advantage of them.

32
Develop your Application

Application Express (formerly HTMLDB)


SQL Developer
DW/BI in the Database

What is SQL Developer?

SQL Developer provides:


Object Browsing
Object Creation
SQL Worksheet for commands and scripts
PL/SQL editing, debugging
Developer centric, user extensible reports

33
Why SQL Developer? Top Reasons

A graphical interface to Oracle database


Uncluttered, intuitive interface
Enhanced productivity
Good user experience
Simplified database development tasks
Comprehensive core functionality
Rich client, SQL*Plus functionality
Easy
Unzip install
No Oracle Home required
Multi-platform support: Windows, Linux and Mac OS X
Targets the Oracle Database Developer

SQL Developer

Developed in the JDeveloper IDE


Leveraging a robust extensible IDE Framework
First independently branded product on JDeveloper IDE
Works with Database 9.2.0.1 and later
Uses JDBC Thin driver
No Oracle Home required
JDBC Type 2 driver also supported
Bundled with JRE 1.5
Easy install by unzipping the downloaded file
Supports Windows, Linux and Mac OS X platforms

http://www.oracle.com/technology/products/database/sql_developer/index.html

34
SQL Developer

Why Do I need SQL Developer?

Easy graphical interface to Oracle database


Uncluttered, intuitive interface
Windows, Linux, and Mac OS X support
Robust feature set
Free

35
A Product Introduction

Creating Connections
Creating and Browsing Objects
Querying and Updating Data
Executing Queries
Creating and Debugging PL/SQL
Running and Defining Database Reports
Reviewing the IDE
Taking advantage of Extensibility

D E M O N S T R A T I O N

SQL Developer

36
Database Connections

Create and test connections


For multiple databases
For multiple schemas
Store often-used connections
Import and export connections
Reuse connections
Database browsing
PL/SQL Development
Running reports
Import connection details from
tnsnames.ora

Object Browsing

Tree Based Object Browser


Create and Edit Database Objects
Create and Browse Users
Support for common objects
Tables, Views, Indexes
Packages, Procedures, Functions, Triggers
Types
Sequences
Materialized Views and Logs
Synonyms (public and private)
Database Links
Recycle Bin
Other Users

37
Querying and Updating Data

Browse table grid data


Filter
Order
Run scripts for mass updates
Use grid for single value
updates
Track updates
through message log
Filter and sort data
for views

SQL Worksheet

Syntax Highlighting
Code Insight
Single Statement
Execution
Script Execution
Code Formatting
Command History
Explain Plan
HTP and OWA output
Bind Variable Support

38
PL/SQL Editing

Full Function Editor


Code Snippet Viewer
Code Formatter
Syntax Highlighting
Code Insight (auto complete)
Code Folding
Inline Error Reporting
Code Bookmarking
Customizable Quick Keys
Customizable Code Snippet
Viewer

Run and Debug PL/SQL

Run Procedures, Functions, and Packages


DBMS_OUTPUT
Function return values
OUT parameters
Run PL/SQL dialog
Specify run target
Shows parameter information
Generates editable PL/SQL
block for populating parameters
Full functioning debugger
Control program execution
(Step into, over)
Inspect and modify variables
Configure breakpoint conditions

39
Reporting

Suite of Reports
Data Dictionary
DBA
Monitoring
Table Object
PL/SQL Object
User Defined

Reviewing the IDE

Connections Navigator
Reports Navigator
Freeze view
Split screen details
Dockable windows
Double-click tab maximise
Drag and drop snippets
Context menus
Check for updates

40
Extensibility

SQL Developer leverages the JDeveloper IDE, thus


giving developers the option to extend the
functionality
User extensions
Users already writing their own extensions
Custom plug ins
e.g. Oracle Migration Workbench will be an extension

Release 1.0
Quick to market
First announced Oracle World 2005
Early adopter release 12/27/05
Production - 3/13/06
Impact
Downloaded > 276,000 times (increasing daily)
>199,000 Production downloads
Estimated 18,000 daily users
Discussion Forum
#4 behind SQL & PL/SQL, Database General, and APEX
Developed on the Fusion Client Platform
Uses the JDev IDE which provides a modern, extensible, Java
platform

41
SQL Developer 1.1

Native Excel Import & Export


Master Detail & Linked Reports
Charting
XQuery
Project Support
SQL and PL/SQL Parsing Improvements
Improved SQL Script File Handling
Improved and Extensible Object Navigator
PDF Printing
Times Ten object navigation and SQL worksheet

42
43
Develop your Application

Application Express (formerly HTMLDB)


SQL Developer
DW/BI in the Database

Oracle RDMBS

44
Why Oracle for data warehousing?

Market and Size


Performance
Cost
Scalability
Complete

Worldwide Data Warehouse


DBMS Market Share by Vendor, 2005
Oracle is the Data Warehousing DBMS Market Leader

Source: IDC, 2006 - Worldwide Data Warehousing Tools 2005 Vendor Shares

45
Full Query Parallelism

Query
Coordinator

SORT SORT SORT


41-60
Consumer 1-20 21-40 High
Speed
Queues Connect
Internal Bus Internal Bus

Producer
Queues

SCAN SCAN SCAN

Partitioning
Range partitioning
96- 96-May 96-
96-Apr 96- 96-Jun ... 97-
97-Feb 97-
97-Mar

List partitioning
East West Central
Hash partitioning

Composite partitioning

st Q1 Q2 Q3 Q4
Li
Or sh
Ha Range

46
Partition Pruning

99-Jan Advanced Partition pruning

99-Feb

99-Mar
SELECT sum(sales_amount)
FROM sales, time
99-Apr
WHERE
time.date = sales_date AND
time.month in (99-Mar,
99-May
99-Apr, 99-May);
Time
99-Jun

Sales

Query Support

Leading Performance for 3NM


& Dimensional Schemas
y Innovative use of bitmap

indexes and bitmap join


indexes
y Support for Complex Star

Schemas
large numbers of dimensions
multiple fact tables
snowflake schemas
y Sophisticated partition
pruning
y Parallel execution

47
Bitmap join indexes

Sales Customer

CREATE BITMAP INDEX cust_sales_bji


ON Sales(Customer.state)
Sales(Customer.state)
FROM Sales, Customer
WHERE Sales.cust_id = Customer.cust_id;

Index key is
Customer.State
Indexed Tables is Sales

Trend for Large-Scale DWs

High Cluster of large-


scale servers

Large-scale Previous customer-


Total Platform Cost

servers preferred
architecture

Current customer-
Cluster of mid-range preferred
servers architecture

Future customer-
preferred
Cluster of commodity
architecture
servers
Low

48
Hardware Grid

Single
Single Instance
Instance Oracle
Oracle Real
Real Application
Application
Cluster
Cluster (RAC)
(RAC) shared
shared Disk
Disk Cluster
Cluster

(HP, IBM .)

Data Warehouse DB Data Warehouse DB

Grid - Scalability

As the Business
Grows

Data Warehouse DB

49
Grid - Scalability

As the Business so does your


Grows Environment:
-Three Nodes
-One Database

Data Warehouse DB

Grid - Scalability

As the Business and again:


Grows -Four Nodes
-One Database

Data Warehouse DB

50
Grid - Availability

When one node the load is


fails rebalanced and
3/4th
of the cluster
continues the
work

Data Warehouse DB

Grid - Flexibility
ETL ETL ETL ETL
Query Query Query Query

The Cluster
can share all
workload
ubiquitously

Data Warehouse DB

51
Grid - Flexibility
ETL ETL Query Query
ETL ETL Query Query

or do
workload
partitioning

Data Warehouse DB

Grid - Flexibility

ETL ETL ETL Query Query


ETL ETL ETL Query Query

Workload Beginning of
Management and month Data
Provisioning Load
made easy Data Warehouse DB

52
Grid - Flexibility

ETL ETL Query Query Query


ETL ETL Query Query Query

During the
Workload Month
Management and Analysis
Provisioning
made easy Data Warehouse DB

53
Hardware for a RAC DW

Data warehouse workload determines total number of CPUs


Same sizing considerations as non-clustered DW
I/O is typically the primary determinant of data warehouse
performance
(Rule of thumb 100 Mb throughput/core)
Every component of the IO system should provide enough
bandwidth: disks, IO channels, IO adapters
Gigabit ethernets are generally sufficient for data-warehouse
workloads
Oracle minimizes interconnect traffic for multi-user workloads
Workloads requiring inter-node parallel query will utilize more
interconnect bandwidth
10Gb ethernet, fibre channel, Infiniband

Why Oracle for data warehousing?

Proof Points
Performance
Cost
Scalability
Complete

54
Oracle OLAP / Data Mining

Business Intelligence & Analytics


Query Data
and Reporting MOLAP Mining
Extraction of Summaries, Knowledge discovery
detailed and trends and of hidden patterns
roll up data forecasts

Information Analysis Insight & Prediction

Who purchased What is the Who will buy a mutual


mutual funds in average fund in the next 6
the last 3 years? income of months and why?
mutual fund
buyers, by
region, by year?

55
the traditional DWH infrastructure

Web Site OLAP

Business Rules
ETL DQ RDBMS

Business Rules
ERP

Business Rules
Legacy

Mining

the ORACLE way

Web Site

ERP
Oracle
9i
Business Rules

Legacy

56
Oracle OLAP

OLAP Engine In Same Process


No Movement Of Data
Single Copy Of Data
Access Using Standard SQL Functions
Single Security Model

Oracle OLAP

Scalability
Multi-Writer
Partitioning (Range partitioning of AWs)
Parallel Cube Build
Support for Very Large Dimensions
Manageability
Self-Tuning OLAP Page Pool
XML Specification of data model & cube build
New Analytic Features
Native Custom Members and Measures
Hierarchical sorting

57
Oracle Data Mining

Oracle mining platform


PL/SQL API
Java API
Oracle Data Miner (GUI)
Spreadsheet Add-In for
Predictive Analytics
Range of algorithms
Structured & unstructured
data
Attribute importance
Classification, regression & prediction
Anomaly detection
Association rules
Clustering
Nonnegative matrix factorization
BLAST

Oracle Excel Add-in

58
Agenda

Migrate your Database to 10g


Develop your Application
Deployment with 10g
High Availability of your Database
10g and Beyond

Deployment with 10g

Embedding
Self-managing Database
Database Vault

59
Develop Once, Deploy Anywhere
Grid

Cluster

SMP

Uniprocessor
Linux
Windows
Desktop Server Unix
OS/390
Single User

Simply packaging or embedding ?


What is an Embedded Database ?

Application or device where the Oracle


database is integrated into the partners
application and end-user has little or no
knowledge that the Oracle database exists.

60
Packaged or Embedded Database
Challenges

Packaging/Embedding a database poses challenges


in three areas:

Deployment: Should be easy and seamless

Day-to-day administration: No onsite DBA available to


manage database

Software maintenance and support: Should be timely, simple


and efficient

Installation

Single CD install for SE, EE & PE

>60 min
3 CDs

1 CD <15 min Oracle9i


Oracle10g
Number of CDs Installation time

61
Oracle 10g

Single CD install for


Personal Edition
Standard Edition
Enterprise Edition

Plus Enterprise Manager 10g

Release 2

Prepare Packaged or Embedded


Installation
setup.exe (windows) or runInstaller (Unix and Linux)
-record
-destinationFile E:\Technology\my.oracle.server.rsp

Packaging for silent install


Use DBCA to create a template of your database you want to
package

62
Packaging / Embedding Installation
Steps
Installing in silent mode:
Call OUI in progress only or silent mode to install Oracle
software
Call NETCA in silent mode to configure your Oracle Net
Call DBCA in progress only or silent mode to install your
database

Use Instant client on client workstations

Easy connect:
<user>/<pwd>@<host>:<port>/<service_name>

Build Template Database

63
Execute OUI in silent mode

setup.exe (Windows) or runInstaller (Unix and Linux)


-nowelcome / silent
-waitforcompletion
-noconsole
-force
-nontw32FoldersActions
ORACLE_HOME=D:\Oracle\OraHomeISV"
ORACLE_HOME_NAME="OracleHomeISV"
responseFile "my.oracle.server.rsp"

Instant Client

For OCI-, OCCI-, Pro*C, ODBC- and JDBC-


applications
No Oracle client installation necessary
Most simple deployment
Download from OTN
Copy it to the target systems
Set TNS_ADMIN
That's all ...*
http://www.oracle.com/technology/tech/oci/instantclien
t/instantclient.html

* For ODBC a batch file has to be executed because the Windows ODBC management has to be notified

64
Instant client 10.2.0.2

Instant Client

Instant Client Packaging


~35MB

~10MB

<2MB

<1MB

<1MB

<1MB

65
Instant Client

Instant Client

Stand: 3-Jan-2006

Oracle XE Client

Uses Windows installer on Windows, RPM on Linux


Supports ODBC, OLE DB and ODP.Net on Windows
Can be installed silently

OracleXE.exe /s /f1"D:\XEclient\OraXEClient-
Install.iss" /f2"D:\XEclient\XECli.log"

66
Tools for Packaging or Embedding

Oracle Embedded Installation (OEI) Kit.


Supports embedded installation of Oracle8i and Oracle9i
databases.

To Download:
Sign in at http://opn.oracle.com
Click on Development tab in the Top Navigation
section
Look for Embedded Installation Resource Kit in
Technology Spotlight section in the left navigation.

OEI kit : How to find it

1. Login at http://OPN.oracle.com
2. Click on Development on left hand side panel
3. Select Embed
Access Embedded software for ISVs
Embedded Installation Resource Kit

67
Oracle Embedded Installation kit

Some typical utilities provided by the kit

Change a Windows service startup mode


(automatic/manual)
changeServiceStartupType.exe
Delete HKEY_LOCAL_MACHINE\Software\Oracle
removeOracleHomeRegistry.exe
Delete the ORA_DBA group
removeORADBA.exe
Delete a Windows service (e.g. TNS listener)
removeService.exe

Embedding Case Study ISVDB


Mission

Silent Oracle Software Installation


Silent Infrastructure Configuration
Silent Database Creation
Packaging with Application Deployment Procedure
1 CD Distribution only DB and Application

68
Embedding Case Study ISVDB
Challenges

Installation Environment
Is there another Oracle Installation?
LISTENER on port 1521?
Oracle Database(s) present?

Embedding Case Study ISVDB


Implementation

Run OUI in silent mode


Use templates for response file
Set TNS_ADMIN for the installation process
Listener port <> 1521
OUI options:
waitforcompletion
noconsole
force

69
Embedding Case Study ISVDB
Implementation

Silent mode DBCA using Templates


Seed DB contains Application Data
Response File Templates from $OH

Deployment with 10g

Embedding
Self-managing Database
Database Vault

70
Self-managing Database

Once deployed, the database


must be self-managing.
It must Auto-
Auto-
Automate
Automate routine administrative repair
tasks
Adapt to workload variations to Oracle
prevent problems 10g
10g
Auto-repair if problems do
happen Adapt

Automate Space Management

Use Locally Managed tablespaces with auto-allocate,


auto-extend, segment mngt auto
No more external defragmentation required
No more extent management
Use Automate segment shrink for tables and indexes
to run in the management window
More efficient space management
Reduces occurrence of out-of-space conditions

Use Oracle Managed Files (OMF) if files need to be


created / deleted

71
Automate Storage Management

Oracle10g
Automatic Storage
Management (ASM)
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

72
ASM Cluster Architecture

LAN

Oracle DB Oracle DB Oracle DB


ASM ASM ASM
CRS CRS CRS

ASM provides value


regardless of the type of
hardware/software storage
Networked Storage
infrastructure

Volumes &
Entry level RAID
SATA RAW Partitions
JBOD
SAS
High end RAID NAS

Dynamic Capacity Management

Add
Drop
Resize

Disk Group Disk Group

73
ASM Case Study TelcoISV
Mission

Database for billing records


8-node RAC cluster on Linux
5 TB database
Strong availability requirements
Dynamic hardware provisioning
Nodes
Storage

Raw Devices hitting limit of 255


Porting to new hardware and ASM with minimal
downtime

ASM Case Study TelcoISV


ASM Migration Options

Use RMAN backup to copy


Online
Offline
Leverage storage system remote mirroring
Data Guard

74
ASM Case Study TelcoISV
Implementation

Use Data Guard to create physical Standby DB


Same OS
Same Oracle version
Switchover to Standby DB
Switchover clients to new production DB

Automate Routine Tasks:


Backup & Recovery

Use RMAN Weekly


Use Unified Scheduler to configure Archive
regular, scheduled backups To Tape
Use Recovery Area for on-disk
backups
Recovery Area is self-managing
old files aged out, current files Nightly Apply
maintained Incremental
Perform incremental backups Backup
Only changed blocks backed up fast
and space efficient Production Logs &
Backed up files can be merged with the Database Backups
original Work Area Recovery Area
You perform a full database backup only
once!

75
Data Pump

Facts
Available and usable only with t10g
Successor for export/import
Not compatible to exp/imp
Syntax very similar to exp/imp
Much faster than exp/imp - parallelism!!!
Server based only
Perfect tool for logical backups!
Tools
Command line: expdp and impdp
Package DBMS_DATAPUMP
Controlable through interactive Job Control

Data Pump

Step-by-step
1) Create a directory in your file system
2) Oracle OS user must have write permissions
3) Set enviroment variable DATA_PUMP_DIR
4) Define this directory inside the database:
create
create directory
directory DPDIRDPDIR asas /tmp/dp;
/tmp/dp;
5) Grant unprivileged users permissions possibly:
grant
grant READ,WRITE
READ,WRITE on on directory
directory DPDIR
DPDIR to
to SCOTT
SCOTT
6) Start for example a full database export:
expdp
expdp system/orc
system/orc DUMPFILE=DPDIR:full.dmp
DUMPFILE=DPDIR:full.dmp
FULL=y
FULL=y NOLOGFILE=y
NOLOGFILE=y

76
Easy Problem Diagnostic: ADDM

Provide interface that calls ADDM in


the background and generates report Application
& SQL Advisor
ADDM provides comprehensive, real-
time performance picture of the System
Storage
database Advisor
Resource
Advisor
Identifies problem root-causes (not
just symptoms) and offers remedies
Backup &
Runs proactively in the background Recovery Space Advisor
Integrates with all advisors to provide Advisor

guided problem resolution


Proactive, Comprehensive
Integrated, Efficient

Auto-repair: Graceful Exception


Handling
Use proactive alerts to catch exception conditions
Space pressure
Tablespace running out of space
Resumable session suspended Alerts
Alerts
ORA-1555
Backup space problems: Recovery Area alert
Define fix-it jobs to handle exceptions
Use segment shrink, addition of datafile, etc., for space
pressure problems
Use Undo Advisor to determine size of Undo tablespace for
ORA-1555 errors
Age out old files from Recovery Area
Merge incremental backup files

77
Automatic Tuning Optimizer

Packaged Custom
Apps Apps
Identify bad SQL
Automatic workload capture
High-load SQL
Automatic identification of
high-load SQL
Top N highest resource-
consuming SQL Statements

Automatic Tuning Optimizer

Packaged Custom
Apps Apps
Automatic SQL Tuning
Learn from past executions
High-load SQL
Dynamic sampling, partial
execution techniques
Automatic Tuning Optimizer
Profile the SQL statement to
Auto SQL feedback to optimizer
Tuning
No change to existing
SQL text
Packaged
Apps
+
SQL
Profile

Well-tuned SQL

78
Automatic Tuning Optimizer

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

Custom
Apps
+
SQL
Advice

Well-tuned SQL

Automatic Tuning Optimizer

Packaged Custom
Apps Apps
SQL Access Advisor
Advise on access paths
High-load SQL
Indexes, Materialized Views,
Indexes on Materialized Views
Automatic Tuning Optimizer
Consider entire workload
Access
Advisor Consider Impact on
insert/update/delete

Custom
Apps
+
Indexes &
MVs

Well-tuned SQL

79
Automatic Tuning Optimizer

Packaged Custom
Apps Apps
Complete SQL Management
High-load SQL Automated workload capture,
identification of high-load SQL
Automatic Tuning Optimizer Automatic SQL Tuning
Auto SQL Auto SQL Access Automatic SQL Analysis
Tuning Analysis Advisor SQL Access Advisor

Packaged Custom Custom


Apps Apps Apps
+ + +
SQL SQL Indexes &
Profile Advice MVs

Well-tuned SQL

Deployment with 10g

Embedding
Self-managing Database
Database Vault

80
Oracle Database 10g Release 2
Database Vault
Technical Overview

What is Database Vault?

Database security option for Oracle Database 10g


Release 2

Allows you to create realms within the database that


protects sensitive information

Can enforce segregation of duties, even among highly


privileged administrators

81
Why Database Vault?

Regulations such as Sarbanes-Oxley and Graham-


Leach Bliley, and Basel II require Strong Internal
Controls and Separation of Duty

Internal threats are a much bigger concern today


require enforcement of operational security policies -
Who, When, Where can data be accessed?

Database consolidation strategy requires preventive


measures against access to application data by
Powerful (DBA) users

Common Security Problems

I have requirements around SOX and


PCI, how can I prevent my DBA from
looking at the application data, On Fi n a n c i a l Da t a

including stuff like Credit Cards?

How can I enforce data access


through the application? Tool

How can I prevent un-authorized


modifications to my application and
database?

82
Database Vault Security

Re a l m s

M u l t i -Fa c t o r
Re p o r t s A u t h o r i za t i o n

Audit
Se p a r a t i o n o f Du t y

Co m m a n d
Ru l e s

Oracle Database Vault Reports

Database Vault Reporting


Over 3 dozen security reports
for compliance
Audit violation attempts
Realm, Rule and Factor
Reports
System and Public Privileges

83
Oracle Database Vault
Realms
Database DBA views HR
data
select * from HR.emp
Compliance and
DBA
protection from insiders

HR
HR
HR DBA views Fin. data HR DBA HR Realm

Eliminates security
risks from server
consolidation Fin
Fin

FIN DBA Fin Realm

Realms can be easily applied to existing applications


with minimal performance impact

DBA Can View Application Data

84
Database Vault Administrative
Interface

Database Vault Realm Management

85
Database Vault Realm Creation

Database Vault Realm Applied

86
Database Vault Realm Administration

Oracle System User Blocked

87
Oracle Database Vault
Rules & Multi-factor Authorization

Database DBA attempts alter system.


remote alter system
Rule based on IP DBA
Address blocks action
create
HR DBA performs HR
HR
unauthorized actions HR DBA 3pm Monday HR Realm
during production
Rule based on Date and
Time blocks action
Factors and Command Rules provide
flexible and adaptable security controls

Database Vault Command Rules


Preventing Unauthorized Actions

88
Database Vault Command Rules

Database Vault Command Rules

89
Database Vault Rules Sets

Database Vault Rules Sets

90
Database Vault Rules and Factors
Block(Remote Intranet Connection)

Command Rule Flexibility

Alter Database Alter Database Alter Table


Alter Function Audit Alter Tablespace
Alter Package Body Alter Procedure Alter Profile
Alter Session Alter System Alter Synonym
Alter Table Alter Trigger Alter User
Password Alter Tablespace Alter View
Change Password Connect Comment
Create Function Create Index Create Package
Create Database Link Create Procedure Create Role
Create Package Body Create User Create View
Create Table Grant Insert
Noaudit Rename Lock Table
Create Tablespace Create Trigger Truncate Table
Update Insert Delete
Execute Select

91
Built-In Factors

Authentication Session Client IP Database Name


Method User

Domain Machine Database Name Database


Instance

Network Protocol Database IP Enterprise Proxy Enterprise


Identity Identity

Language Database Date Time


Hostname

* A d d i t i o n a l f a c t o r s c a n b e d e f in e d

Oracle Advanced Security


Integration
Realms work transparently with Transparent Data
Encryption
Data Data
automatically Realm automatically
decrypted Realm encrypted
through SQL through SQL
Realm
Sensitive Data Encrypted
On Backup Files

Transparent Data Encryption works with RMAN to encrypt


backups written to disk
Oracle Advanced Security
Realm
With RMAN Can Encrypt
Realm
Backups Sent to Disk
Realm

92
Oracle Label Security Integration

Fa c t o r = I n t r a n e t Fa c t o r =Ex t e r n a l
Ac c ess

Headquart ers Highly Sensitive

Sensitive

Public

Oracle Label Security Restricts Access To Labeled Data


Based On Database Vault Factors

Database Vault
Automated Preventive Controls
0DQXDO$XWRPDWHG

Database
Transparent Data Encryption

Network Encryption

Fine Grained Audit


Database Encryption API
Oracle Label
Security

Strong
Vault
Virtual Private Database Authentication
Proxy and Client Identifier

'HWHFW 3UHYHQW

93
Easy To Validate Your Apps Against
Database Vault
Estimated -1 day for Database Vault set up and
configuration against your App(s)

Partners can use their systems to validate their


App(s) with Database Vault

FREE technical assistance from Oracle Development


(PTS) to support Validation efforts

3 possible Validation levels to choose from

3 Validation Levels

Level I, Basic Validation

Level II, Advanced Validation

Level III, Enterprise Validation

94
Level I - Basic Validation:
Restrict DBA Access
Installation Steps
Step 1 - Install 10.2.0.2 Enterprise Edition database
Step 2 - Install application(s)
Step 3 - Install Database Vault option
Basic Validation
Create a realm around ISV application
Perform functional test of ISV application
Perform a technical test
Verify patching and upgrade of ISV application
If necessary, create a separate realm with all privileges needed
for patching / upgrades
Measure performance
Overhead should be less than 5%
Write Database Vault API scripts for above so it can be run during
ISV application install

Level II - Advanced Validation:


Protect ISV Data Structure
Level I validation steps
See previous slide
Build Command Rules
Build a collection of command rules that protects ISV data
structure
Applied at a customers production environment
ISV identifies which command rules are relevant to
application
Command line examples: DROP TABLE, ALTER TABLE,
CREATE DATABASE LINK, etc
Perform functional test
Test ISV application and measure performance

95
Level III, Enterprise Validation:
Enterprise Configuration

Level I & Level II validation steps


See previous slides
Dynamic security rules
Based on customer specific security requirements
Utilizes customer-specific Realms, Command Rules, Factors
to build common security rules
Ex: customer IP address, network domain, etc
May utilize additional security options (OLS and ASO) to
integrate with Database Vault
Has the potential for additional consulting business
Has the potential for additional license business

Agenda

Migrate your Database to 10g


Develop your Application
Deployment with 10g
High Availability of your Database
10g and Beyond

96
Causes of Downtime

System Real Application Clusters


Failure Fast Restart

Unplanned Data Failure Recovery Manager


Downtime & Disaster Data Guard

Human Flashback Query


Error Log Miner, Data Guard

System Dynamic Reconfiguration


Planned Maintenance Data Guard, RAC
Downtime
Database Online Redefinition
Maintenance Partitioning, Parallel SQL

Advantages of Oracle 10g RAC

Improved Availability with multi-node configuration


Linear scalability
Add nodes as you go; to support larger sets of users
Distribute OLTP and DSS loads across nodes &
achieve HA at the same time
No change required to application code
Included for free as part of Standard Edition

97
RAC 10g Integrated Clusterware and
ASM
Complete Oracle cluster Applications
software solution
RAC, Other Apps
Single-vendor support

Management APIs
Services Framework

Event Services
Low Cost
No need to purchase Cluster Control/Recovery APIs
additional software
Easy to install, manage Automatic Storage Management

High quality and functionality Messaging and Locking


across all platforms
Membership
Advanced functionality
Failure Notification Connectivity

Hardware/OS Kernel

Oracle10g RAC HA & Scalability


Centralized
Management
Console
Full Cache Fusion
Users
Cache-to-cache data shipping
Shared cache eliminates Low Latency Interconnect
VIA or Proprietary
slow I/O
Enhanced IPC High Speed
Cache Fusion
Switch or
Allows flexible Interconnect
and transparent deployment
Clustered
Scale-up/Scale-out
Database Servers
Shared
Storage Area Network
Cache
Mirrored Disk
Subsystem
Hub or
Switch
Fabric

98
Cluster Verification Utility
-pre dbcfg
Configures
RAC DB
-pre dbinst
Installs
RAC

-pre crsinst
Installs
Oracle
Clusterware -post crsinst
-pre cfs
Sets up OCFS
( OPT )
-post cfs

User sets up the


Hardware, $> ./cluvfy stage
network & storage
-post hwos

Automatic Workload Management

Application workloads can be defined as Services


Individually managed and controlled
Assigned to instances during normal startup
On instance failure, automatic re-assignment
Service performance individually tracked
Finer grained control with Resource Manager
Integrated with other Oracle tools / facilities (Streams,
Scheduler)

99
Automatic Workload Management

Order Entry Spare Supply Chain

Normal Server Allocation

Automatic Workload Management

Order Entry Supply Chain

End of Quarter

100
Automatic Workload Management

Order Entry Spare Supply Chain

Normal Server Allocation

Automatic Workload Management

Order Entry Spare Supply Chain

Server Fails

101
Automatic Workload Management

Order Entry Supply Chain

Reallocate Spare server to Order Entry

Enterprise Grid Cluster Failure

Order Entry Spare Supply Chain

Failed Server Restored

102
Automatic Workload Management

Order Entry
Order Entry Supply Chain Supply Chain

Application Resource Requirements Grow

Fast Connection Failover

Supports multiple
connection caches
Datasource for each cache
Mid-Tier Database Tier
mapped to a service
Keeps track of service and CACHES
instance for each connection SERVICE 1 INST X
Cleans up connections when
failures occur SERVICE 2 INST Y
Distributes new work
SERVICE 3
requests across available INST Z
instances

JDBC, ODP.NET, OCI

103
Single Instance to RAC

Single Instance EM Convert RAC

Grid Control 10g Release 2:


Cloning a RAC Home

Prepare Copy Clone

Source Destination

/runInstaller -clone silent

104
RAC Case Study TelcoISV
Mission

Packaging/embedding Oracle installation and DB


creation
Starting with single node database
Silent Oracle RAC Installation
Silent Infrastructure Configuration
Silent Database Creation
Silently add nodes to the cluster

RAC Case Study TelcoISV


Implementation

Run OUI in silent mode


Install Oracle Clusterware on single node
RAC Installation on single node
ASM creation
RAC database creation on single node
Add nodes to cluster as required

105
Causes of Downtime

System Real Application Clusters


Failure Fast Restart

Unplanned Data Failure Recovery Manager


Downtime & Disaster Data Guard

Human Flashback Query


Error Log Miner, Data Guard

System Dynamic Reconfiguration


Planned Maintenance Data Guard, RAC
Downtime
Database Online Redefinition
Maintenance Partitioning, Parallel SQL

Flashback Database

New strategy for point-in-time


recovery
Old Flashback Log captures old
Disk Write Block versions of changed blocks
New Version
Think of it as a continuous
Block backup
Version Replay log to restore DB to
Flashback Log time
Restores just changed blocks
Its fast - recovers in minutes,
not hours
Like a Rewind button Its easy - single command
for the Database restore
SQL> Flashback Database to
2:05 PM

106
Flashback Time Navigation

Flashback Query see data at a point in time


Select * from Emp AS OF 2:00 P.M. where

Tx 3

Tx 2

Tx 1

Flashback Time Navigation

Flashback Query see data at a point in time


Select * from Emp AS OF 2:00 P.M. where

Flashback Transaction Query see


Tx 3 all changes made by a transaction
Select * from DBA_TRANSACTION_QUERY
Tx 2 where xid = 000200030000002D;

Tx 1

107
Flashback Time Navigation

Flashback Query see data at a point in time


Select * from Emp AS OF 2:00 P.M. where

Flashback Transaction Query see


Tx 3 all changes made by a transaction
Select * from DBA_TRANSACTION_QUERY
Tx 2 where xid = 000200030000002D;

Tx 1 Flashback Row Versions - see all versions


of a row between two times, and the
transactions that changed the row
Select * from Emp VERSIONS BETWEEN
2:00 PM and 3:00 PM where

Causes of Downtime

System Real Application Clusters


Failure Fast Restart

Unplanned Data Failure Recovery Manager


Downtime & Disaster Data Guard

Human Flashback Query


Error Log Miner, Data Guard

System Dynamic Reconfiguration


Planned Maintenance Data Guard, RAC
Downtime
Database Online Redefinition
Maintenance Partitioning, Parallel SQL

108
Fault Tolerant Standby

Automatic Failover Physical


Production or Logical
Database Standby DB
Synchronous
Log Shipping

Fast-Start Failover implements automatic failover to a standby


database
Triggered by failure of Site, Hosts, Storage, or Network
Works with and supplements RAC server failover
Failover occurs in seconds
Comparable to cluster failover
Original production site automatically rejoins the configuration after
recovery

Agenda

Migrate your Database to 10g


Develop your Application
Deployment with 10g
High Availability of your Database
10g and Beyond

109
10g and Beyond

Oracle XE
Oracle Embedded Technologies
Olite
Times Ten
Berkeley DB

Oracle Database 10g


Express Edition
(Oracle Database XE)

110
Oracle Database XE is Ideal for:

Developers
.NET
Java
PHP
HTML
Database
DBAs who need a starter database
Educational institutions and students
ISVs new to Oracle

Oracle Database 10g Express Edition

Small-footprint starter database


Free to download, develop, deploy, distribute
32-bit Linux and Windows
Oracle Application Express
Free OTN online community forum

111
Runtime Criteria

Store up to 4GB user data


Single instance per machine
Executes on 1 CPU
Uses up to 1GB RAM

Opportunity for Partners

Free access to Oracle Database XE


Try, develop, deploy, distribute Oracle Database at
zero risk & investment
Easy upgrade path:
No rewriting of applications required
Upgrade to fee-based database editions
Upgrade to fee-based OPN memberships

112
10g and Beyond

Oracle Express
Oracle Embedded Technologies
Olite
Times Ten
Berkeley DB

Embedded Development Challenges

Trends
More devices, more computing power
More data at the edge and on the move
New services: hands-off, lights-out, always-on
Value-added software running on commodity hardware and
platforms
Web services and Software as a Service that demand very
high performance, reliability, scalability, availability

113
Oracle Embedded Technologies

Oracle Lite
Oracle SleepyCat BerkeleyDB
-BDB
-BDB XML
-BDB JE
Oracle TimesTen

What is Oracle Database Lite 10g ?


Lite is an addition to the Oracle Database

Extends the grid environment with infrastructure and application


services that enable the delivery and operation of secure,
personalized applications to mobile/embedded devices

Mobile Client Mobile Server Mobile Server


Repository
Data and
Sync Layer
Applications

Oracle Lite

Application Provisioning
Data Synchronization
Device Management
Life Cycle Management
Security

114
Four Technology Components

Oracle Lite Database


Data Synchronization
Complete Life Cycle Management
Rapid Application Development

Pre-requisite Software Necessary for


Lite
Oracle Database Lite stores and retrieves
information from a Oracle database, you must
have a back-end Oracle database running a
minimum version of 8.1.7 or higher, either
Enterprise Edition or Standard Edition.
Oracle Database Lite uses a middle-tier to communicate between the
clients and the back-end database. You use one of the following as the
middle-tier:

Stand alone OC4J

Oracle Application Server

115
Oracle Lite Database Highlights

Small, Fast, Flexible Object Kernel


SQL92 & ACID compliant
Java Stored Procedures and Triggers
Multi-User Listener
Built-in Change Capture
Zero Administration
Ported to Win32, WinCE, Palm, Linux

Data Synchronization
Very Fast Conflict Detection and Customizable
Very Scalable Resolution
Synchronizes Everything
Designed for One to Many
Tables, Index, Sequences, DDL,
Synchronization(s) Constraints
Flexible Architecture Robust
Transport independent Resume where left off
Nobody is blocked by others

Device
Upload Apply
Native App
IN Queue
Olite Sync
DB Client
Compose
Download OUT Queue

116
Application Management -
Provisioning
Clients provision the Oracle Lite client run-time
environment by boot-strapping a self extracting
setup.exe file from the Mobile Server.
Point the clients browser to the URL:
http://mobileserver_domain/setup
File contains all the client run time software needed
including:
Lite Database
Sync client
Device client
DLLs
DB utilities

Complete Life Cycle Management

Device Management
Software management
Remote diagnostics and command
execution
System Management
Synchronization monitoring and
scheduling
Inspection and corrective action
Provisioning and Deployment
User (OID), Application and Data
Management

117
Rapid Application Development

Choice of development platform


Native Java, Web
Packaging Wizard
Deployment tool
APIs
ODCB, JDBC, ADO.NET, ADOCE, SODA
Mobile Synchronization (mSync)
ADO.NET lines up with ODP.NET, Visual Studio
Mobile Database Workbench
Interactively design mobile schema
Synchronize data to real device in real-time

Oracle Lite 10g R2 Features

Mobile Database Workbench (MDW)


Easily define, create and test mobile database schema
Creates snapshots, tests synchronization and inspects the
mobile database
Enhance design of distributed database applications
Early detection of poorly designed synchronization scenarios

118
Oracle Lite 10g R2 Features (contd)

Oracle Database Install Integration


Installed as part of Oracle Database 10g R2
Installation CDs included with Oracle Database 10g R2 CD
Pack
Seamless .NET Support
Consistency between Oracle Data Provider for .NET
(ODP.NET) and Oracle Lite Data Provider for .NET
(LITE.NET)
RAC Compatibility
Ability to configure multi-node Mobile Servers to use RAC for
failover support

Oracle Database Lite 10g Summary

Extends Your Enterprise Data


Extends the grid environment to mobile and embedded devices
It makes the enterprise mobile
Oracle Database Lite Has Direct Business Impact
Connection is often:
Not Possible
Not Practical
Not Desirable
Oracle Provides Complete Infrastructure
High impact solutions
Low cost solutions
Rapidly implemented solutions

119
Oracle TimesTen
In-Memory Database
Application-tier data management for performance critical
systems

Oracle TimesTen In-Memory Database

A new database for the


application tier, optimized
for blazing-fast response Applications
Applications
and real-time caching of
Oracle data

120
How is This Different from Oracle?
Lightweight - Real-Time - Embeddable

Oracle TimesTen runs as Applications Applications


part of the application,
accessing a relational
database thats always in
memory, using a fraction
of the CPU, as compared
to a fully cached RDBMS

Lightning Fast Response

Oracle TimesTen Release 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit RHLinux

30
microseconds

20 28
millionths
of a
second
10
9
millionths
0
update select

121
Why Is TimesTen So Fast?

TimesTen needs fewer CPU instructions to


accomplish the same work as a disk RDBMS
Physical memory addresses are used inside the engine
No lookups of logical addresses to physical addresses
No buffer cache management overhead

How Big a Database Can I Build?

Database must fit into RAM


32-bit operating systems
2 GB on most platforms
1 GB on Windows and HP
64-bit operating systems One Shared
Memory Segment
Limit is available RAM
For larger databases, use
TimesTen to cache Oracle data
Disk
Persistence

122
Main TimesTen Benefits

Response Time in Microseconds


Predictable and Consistent Response Time
Throughput up to 100,000 Transactions Per Second
and Beyond
Familiar Relational Model Existing Developers are
Immediately Productive
Unattended operation DBA tasks are automated
with applications
High Availability through Replication

Proven in Real-Time Deployments


Over 1,500 Companies Worldwide use Oracle
TimesTen

In Networks In Telecom On Wall Street In the Enterprise

Real-Time Billing Value-Added Services Order Matching Call Centers

Voice over IP Revenue Assurance Risk Management Business Intelligence

Mobile Networks Network & QOS Mgmt Real-Time Analytics SOAs

123
Example: Dynamic Personalization
Hosted CRM Provider
Oracle TimesTen Usage
Caching personalization preferences


Worldwide Corporate
Performance Metrics Subscribers
NA Application EMEA / APAC
10 million requests per day


Servers Application Servers


250 peak requests per second


Configuration
4-CPU servers


Load Balancer Load Balancer


Linux with Java applications 4-CPU


Cache
2 gigabyte Oracle TimesTen


Server
Oracle RDBMS


Value of Oracle TimesTen Standby Active Active Standby


Offloading backend systems


Low latency response




Master Master
Customized interactions


Database Database
High-availability replication


Oracle

Oracle TimesTen
Products

124
Oracle TimesTen In-Memory Database
The Base Product

Key Takeaways
User Apps
Everything runs in-memory on the
same platform - very efficiently
JDBC ODBC SQL92
The data is safe! Local disks are
used for persistence and recovery
This is a full read/write,
transactional RDBMS for shared,
multi-user access
All APIs are based on well-known
industry standards

Replication TimesTen to TimesTen


High-Availability for Application Tier Data

Key Takeaways
User Apps User Apps
Most deployments will
use this option
JDBC ODBC SQL92 JDBC ODBC SQL92

Most often used for server


pairs in hot-standby, but
can be N-way
Very fast and highly
configurable
Works for stand-alone in-
memory databases and
Oracle caches

125
Cache Connect to Oracle
Using Oracle TimesTen to Cache Oracle Data

User Apps
Key Takeaways
Pre-load or load-on-demand the JDBC ODBC SQL92
most active data from Oracle
Synchronizes updates in both
directions
Transparent SQL pass-through for
non-cached data requests
Works with replication to protect
application-tier data
Keeps working even if the
connection to Oracle is down

Oracle TimesTen + Oracle Database


End-to-End Data Management

Instantly Responsive

Tightly Integrated

Highly Scalable

126
Oracle TimesTen
Usage Patterns

Reference Data Caching


Caching frequently-retrieved data speeds application
processing and reduces network and database workload.

Examples: App #1 App #5


Cache product info
catalog for customer
portal searches
Cache BOM master
for supply chain
planning Initial Load Occasional Updates
Cache flight
schedules for a
reservations website

127
Dynamic Hot Data Caching
Caching data for currently active or premium customers
speeds response & improves user experience.

Examples: App #1 App #5


Cache customer Heavy
Access to
history for contact
Active
center callers Data
Cache customer
profile for website
personalization Load-on-demand Age-out when inactive
Cache user data for
currently-active CRM
users

Real-Time Transaction Processing


The IMDB is a real-time database for processing of
messages and transactions, with a push to the DB tier.
Heavy
Examples: App #1 App #5 Transaction
Manage order book & Load
market data for stock
trading External
Manage real-time Data
Feeds
subscriber data for
mobile networks Push
Aggregate & correlate completed
sensor data for RFID txns or
processing aggregate
data

128
Summary: Oracle TimesTen
A new database for the application tier, optimized
for blazing-fast response and real-time caching of
Oracle data

High performance
applications/middleware
Application-tier
data management Applications Applications Oracle TimesTen
IMDB product
for performance In-memory data
critical systems Replication (option)
Cache Connect to
Oracle (option)

Did you know Berkeley DB..?

Is everywhere
runs on 200 million machines across the world
Scales up, scales down
powers mobile phones to stock exchanges
Is proven
runs inside every copy of Linux (and MacOS X and Solaris)
Powers the Internet
used extensively by Google, Yahoo, AOL, Ask Jeeves (ask.com),
Amazon, eBay and many others
Is highly available
handles 70% of the global daily email traffic

129
Berkeley DB in Open Source

Linux Movable Type blog


BSD Unix, MacOS X Server Subversion
Apache Perl
OpenLDAP Python
Sendmail PHP
Language
Kerberos Eiffel Bindings
Zope Tcl
OpenOffice
Ruby
GNU C library

and many, many more

Example: Google SSO

Google Accounts
Gmail
Google Talk
Google Groups
Google Alerts
Froogle Shopping List
Personalized Search
Personalized Homepage
Orkut social networking
Google Answers
Google Web APIs
Others

130
Example: Cisco

Broadband Provisioning System (BPR)

Requirements:
Manage up to 5 million networked devices
150 configuration change transactions/second.
Solution
Berkeley DB replaced an object-oriented database in BPR.
The result was faster, more reliable and saved Cisco $50,000/CPU.

You made me a company hero.


Anton Okmianski
Senior Software Engineer, Cisco Systems

Dual License Model


Public License Commercial License
Permits use in open source projects or Permits closed-source distribution of an
applications that are not distributed to third application to third parties and provides business
parties. assurance.

Advantages
Very High
Highmargin,
margin,licensing-based
licensing-basedrevenue
revenuestream
Verybroad,
broad,low
lowcost
costdistribution
distribution stream
Very
Veryhigh
highcode
codequality
quality Profitable,
Profitable,sustainable
sustainablebusiness
businessmodel
model

Customer Benefits
Huge
Hugedeveloper
developercommunity
communityfor forsupport
support Rights
Rightstotoredistribute
redistributeproprietary
proprietarycode
code
Peer-reviewed
Peer-revieweddesign
designfor forease
easeofofuse
use Representations,
Representations,warranties
warrantiesand
and
Less indemnification
Lessdebugging,
debugging,easy
easyintegration
integration indemnification
Easy Full-time,
Full-time,dedicated
dedicateddevelopment
developmentteam
Easydownload,
download,trial,
trial,and
anddistribution
distribution team
No (continuity,
(continuity,roadmap,
roadmap,documentation)
documentation)
Noescrow
escrowissues
issues
Freedom Single
Singlevendor
vendortotohold
holdaccountable
accountable
Freedomfrom
fromvendor
vendorlock-in
lock-in

131
Product Relationships

50+ Operating Systems: UNIX, Linux, MacOS X, Windows, VxWorks, QNX,

Berkeley DB
Technical Introduction

132
Open Source

Distributed under a license conforming to the GNU


Open Source Definition
Berkeley DB is freely available for use and redistribution in
other open source products
Commercial licenses
For redistribution in proprietary applications
Complete source code for Berkeley DB is freely
available for download and use

Portable

Runs under almost all UNIX and Linux variants


Windows
Embedded real-time operating systems
32-bit and 64-bit systems
Deployed on high-end Internet servers, desktop
machines, palmtop computers, set-top boxes, in
network switches, and elsewhere

133
Scalable

Berkeley DB is small enough to run in tightly


constrained embedded systems, but can take
advantage of gigabytes of memory and terabytes of
disk on high-end server machines
The database library itself is quite compact (375 KB)
Manage databases up to 256 terabytes
Supports high concurrency (1000s users)

High-performance

Berkeley DB generally outperforms relational and


object-oriented database systems in embedded
applications
The library runs in the same address space
No inter-process communication
Communicating between processes on a single machine is
much more expensive than making a function call
Berkeley DB uses a simple function-call interface for
all operations
No query language to parse
No execution plan to produce

134
What Berkeley DB is NOT

Not a Relational Database


Does not support SQL queries
No notion of schema and data types
It's possible to build a relational system on top of Berkeley DB
Not an Object-Oriented Database
No information about the objects created in any object-
oriented application
Never makes method calls on any application object

Key/value pairs

key value

Records in Berkeley DB are (key, value) pairs.


Berkeley DB supports only a few logical operations on
records
Insert a record in a table
Delete a record from a table
Find a record in a table by looking up its key
Update a record that has already been found

135
Architecture Big Picture

Links directly into the application. Options are:


Standalone application
one or more applications link the Berkeley DB library directly
into their address spaces
There may be many threads of control; implies trust among
them
significantly faster access to the database
Server application
Providing functionality via IPC/RPC
Single process/multiple threads

Architecture Subsystems

Access Methods
General-purpose support for creating and
accessing database files formatted as
Btrees, Hashed files, and Fixed- and
Variable-length records
Memory Pool
Allows multiple Threads of control to share
access to databases
Transaction
Provides ACID compliant transactions
Locking
Supports the Transaction subsystem
Logging
the write-ahead logging used to support the
Transaction Subsystem

136
Environments
An Environment is an encapsulation of one or more databases,
log files and region files.
Region files are the shared memory areas that contain
information about the database environment (the locking,
logging, memory pool, and transaction shared memory areas

Environments

The simplest way to administer a Berkeley DB


application environment is to create a single home
directory that stores the files for the applications that
will share the environment.
Applications using the same databases must share an
environment to maintain consistency between them
all applications sharing a database environment
implicitly trust each other

137
SQL and BDBSimilarities

SQL Berkeley DB
Database Environment
Table Database
Row Key/Data pair (record)
Boolean AND Join (DB->join)
Secondary Index Secondary Index or
Secondary Database

ACID Transactions ACID Transactions


Recovery Recovery

SQL and BDBDifferences

SQL Berkeley DB
SQL Data Manipulation Berkeley DB API
Language (DML)
Query planner and executor Application controlled behavior

Boolean OR Multiple cursors


Inner and Outer Joins Application controlled database
lookups
Aggregates Application controlled
ORDER BY Cursor over appropriate index
or application sort in memory

138
BDB: Replication/HA

Berkeley DB replication groups consist of some number of independently


configured database environments that might be on separate computers,
or on separate disks in a single server, but all should be on machines of
the same endianness
There is a single master database environment and one or more client
database environments.
Master environments support both database reads and writes; client
environments support only database reads.

Common Usage Scenarios

1. Database of Record (Google)


2. Cache front-end to database of record (Amazon)
3. Elastic buffer to database of record for high insert
rates (NDA)
4. Data on the Move (Motorola Linux Phones)
5. Internal (embedded) database (Cisco)
Embedded on a device
6. Transactional database (vs corporate database)
Lookup and pointer tables
Indexing
Session/state management
Metadata management

139
When to use Berkeley DB

Use Berkeley DB when


Performance and reliability are key
Client/server is not appropriate
Relational and/or SQL add unnecessary complexity
Cost of ownership is important

Agenda

Migrate your Database to 10g


Develop your Application
Deployment with 10g
High Availability of your Database
10g and Beyond

140
141
142

You might also like