Recommending a Strategy

Download Report

Transcript Recommending a Strategy

Oracle Database Consolidation
Noel Yuhanna
Agenda









Current environment
Why Consolidate?
How to Consolidate?
Challenges and Guidelines
Resource Manager – OS and Database
Steps in using DB Resource Manager
Benchmark results
Recommendations
How to proceed?
NOCOUG – Noel Yuhanna
Nov 21st 2002
Current Environment
Finance
Manufacturing
Financial Analyzer
General Ledger
Cash Management
Treasury
Purchasing
Payables
Receivables
Fixed Assets
eTravel
Self-Service Expenses
Self-Service
Purchasing
Engineering
Bills of Material
Master Scheduling/MRP
Capacity
Work in Process
Quality
Cost Management
Process Manufacturing
Project Manufacturing
Flow Manufacturing
Advanced Planning
& Scheduling
Financials
Manufacturing
Human Resources
Supply Chain
Projects
Human Resources
Projects
Human Resources
Payroll
Training Administration
Time Management
Advanced Benefits
Self-Service Human
Resources
Project Costing
Project Billing
Project Time & Expense
Activity Management Gateway
Project Connect
Project Analysis Collection Pack
Supply Chain Management
Order Entry
Product Configuration
Supply Chain Planning
Web Suppliers
NOCOUG – Noel Yuhanna
Purchasing
Supplier Scheduling
Inventory
Advanced Planning
& Scheduling
Nov 21st 2002
Instances .. (all over)
Development
UAT
Test
NOCOUG – Noel Yuhanna
Production
Training
Nov 21st 2002
How many Instances?



10 …
100…
1000…
“One database per application…”
NOCOUG – Noel Yuhanna
Nov 21st 2002
Typical server utilization..
60%
10%
5%
20%
Average utilization = 30%
50%
Unused system resources !
Target = 80-90%
NOCOUG – Noel Yuhanna
Nov 21st 2002
Why Consolidate?









Reduce TCO – License, staff, consulting
Improved availability -SLAs
Higher Security
Data Sharing & visibility
Globalization
Better application performance
Centralized backup and archive
Higher ROI – higher utilization
Bottom line = reduce TCO by 20% or more
NOCOUG – Noel Yuhanna
Nov 21st 2002
Challenges…










High short-term costs
Skilled resources
Potential loss of data
Ability to architect
Testing consolidation efforts
Understanding your workload
Loss of security control
Predicting the growth
Performance issues
Central point of failure
NOCOUG – Noel Yuhanna
Nov 21st 2002
Various types of consolidation

Location Consolidation



Server/Storage Consolidation




Data center/Centralized office
Better Manageability
Reduce # of Servers
Use of SAN storage
Better performance/scalability
Application/Database Consolidation


Reduce # of Instances
Better Availability/performance/scalability
NOCOUG – Noel Yuhanna
Nov 21st 2002
Database consolidation
Payroll
HR


Payroll
Financials
HR
Single Database
Multi-Instance
NOCOUG – Noel Yuhanna
Nov 21st 2002
How to consolidate?

Single Database




Separate Schema
Assign roles and responsibility
Reconfigure Database Size
Reconfigure Application
New Schema
NOCOUG – Noel Yuhanna
Nov 21st 2002
How to consolidate?

Multi-Instance



Database migrates as separate Instance
Co-exists with other instances on same server
Reconfigure Application
Payroll
New Instance
NOCOUG – Noel Yuhanna
Financials
Existing Instance
Nov 21st 2002
Single database approach

Pros




Cons




Provides data sharing
Less support and higher productivity
Higher resource utilization & better SLA’s
Outage can impact multiple applications
Difficult to consolidate – application dependencies
DBA support – space management
Recommendations

Useful if applications are closely inter-related
NOCOUG – Noel Yuhanna
Nov 21st 2002
Multi Instance approach

Pros





Cons





Each instance is independent
Some applications require separate instance
Helps reduce number of servers
Oracle performs well under multi-instance env
Each instance competes for system resources
No. of databases still remain same
Cannot optimize individual server or OS
Can only provide one level of availability, recoverability etc
Recommendations


Group databases with similar SLA
Multi domain Servers – useful for consolidation
NOCOUG – Noel Yuhanna
Nov 21st 2002
Multi Instance on OS Cluster

Pros





Cons




Easy to deploy
Each instance is independent
Utilizes idle node in cluster
Provides high availability – failover capability
No. of databases still remain same
Complex environment to manage
Requires lots of testing
Recommendations

Ensure each node is not over 70% utilized
NOCOUG – Noel Yuhanna
Nov 21st 2002
What is Oracle 9i RAC ?
Oracle Instance
Oracle Instance
S
G
A
Cluster Interconnect
S
G
A
Server
Server
Shared Storage
NOCOUG – Noel Yuhanna
Nov 21st 2002
RAC Features

Availability


Scalability



Failover
No application changes
4-6 Nodes Cluster
Manageability


No special training or tools
No partitioning necessary
NOCOUG – Noel Yuhanna
Nov 21st 2002
Consolidation using RAC




DB Shared on existing RAC environment
Utilizes nodes in cluster more efficiently
Provides high availability for multiple apps
Support larger databases
HR
HR
FIN
FIN
DB
NOCOUG – Noel Yuhanna
Nov 21st 2002
Guidelines for consolidation







Understand the workload
Application dependencies – integration issues
SLA requirements for the application
Hardware/database limit – scalability
Performance expectations
Data Security
Use Resource Manager technology
NOCOUG – Noel Yuhanna
Nov 21st 2002
Resource Manager




Enables DBA/SA to allocate system resources
Scheduling mechanism to track CPU time
Policy based administration
Operating System level



HP (PRM)
Solaris (Resource Mgr)
Database level

Oracle Database resource manager
NOCOUG – Noel Yuhanna
Nov 21st 2002
OS level Resource Manager

Manage critical shared resources






CPU, Memory, Disk
Groups processes/threads into various classes
Allocate CPU time to classes
Grouping done by name, owner, process id
Supports dynamic reconfiguration
Ensures critical processes gets priority

Limitations: It does not understand DB processes
NOCOUG – Noel Yuhanna
Nov 21st 2002
Oracle DB Resource Manager








Offered since Oracle 8i
Can guarantee users minimum resources
Can switch users between groups
Limit the degree parallelism
Distribute available CPU time to users
Can specify maximum number of sessions
Prevent execution when operation takes longer
Can change resource plan dynamically
NOCOUG – Noel Yuhanna
Nov 21st 2002
Oracle DB Resource Manager

Resource plan


Resource consumer Group



Specifies how resources are distributed among users
Group user sessions
Can be changed dynamically
Resource plan directive

Assign consumer groups to resource plans
NOCOUG – Noel Yuhanna
Nov 21st 2002
Oracle DB Resource Manager

Oracle Enterprise Manager

DBMS_RESOURCE_MANAGER PL/SQL Package






PLAN: Create,update,delete,cascade
CONSUMER_GROUP: Create,update,delete
PLAN_DIRECTIVE:Create,update,delete
PENDING_AREA:Create,validate,clear,submit
SWITCH:set_initial,switch groups
System Privileges: Grant, revoke – Package/Switch
NOCOUG – Noel Yuhanna
Nov 21st 2002
Oracle 9i Resource Manager

Enhancements




Automatic consumer group switching
Maximum estimated execution time
Limit the number of concurrent users -Queue
Undo Quota – operation aborted
NOCOUG – Noel Yuhanna
Nov 21st 2002
Resource Plan
How to plan ?
Consumer Group
ONLINE
REPORT
ADMIN
BATCH
NOCOUG – Noel Yuhanna
CPU-L1
80%
0%
10%
0%
CPU-L2
0%
60%
0%
40%
Nov 21st 2002
Steps involved
1.
2.
3.
4.
5.
6.
7.
Create resource Plans
Create resource consumer groups
Create resource plan directives
Grant privileges to users/role
Assign users to resource consumer groups
Specify a plan to be used by the database
Monitor the database environment
NOCOUG – Noel Yuhanna
Nov 21st 2002
Step 1. Create Pending Area

Create a pending area
DBMS_RESOURCE_MANAGER.CREATE_PENDING.AREA;

Validate changes
DBMS_RESOURCE_MANAGER.VALIDATE_PENDING.AREA;

Clear changes
DBMS_RESOURCE_MANAGER.CLEAR_PENDING.AREA;

Submit changes
DBMS_RESOURCE_MANAGER.SUBMIT_PENDING.AREA;
NOCOUG – Noel Yuhanna
Nov 21st 2002
Step 2. Create Resource Plans
DBMS_RESOURCE_MANAGER.CREATE_PLAN(
PLAN => ‘plan_name’,
COMMENT => ‘Comment here’);
Example:
DBMS_RESOURCE_MANAGER.CREATE_PLAN(
PLAN => ‘SIEBEL_PLAN’,
COMMENT => ‘Plan for Siebel DB Server’);
* Can update, delete a Plan.
NOCOUG – Noel Yuhanna
Nov 21st 2002
Step 3. Create Resource consumer groups
DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(
CONSUMER_GROUP => ‘group_name’,
COMMENT => ‘Comment here’);
Example:
DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(
CONSUMER_GROUP => ‘OLTP’,
COMMENT => ‘Group for OLTP users’);
* Can update, delete consumer groups
NOCOUG – Noel Yuhanna
Nov 21st 2002
Step 4. Resource plan directives
DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(
PLAN => ‘Plan name’,
GROUP_OR_SUBPLAN => ‘Name of consumer group or plan’,
COMMENT => ‘Comment here’,
CPU_P1 => ‘Specifies CPU % at 1st level …. UPTO 8’,
PARALLEL_DEGREE_LIMIT_P1 => ‘Limit on Parallelism’);
Example:
DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(
PLAN => ‘SIEBEL_PLAN’,
GROUP_OR_SUBPLAN => ‘OLTP’,
COMMENT => ‘Plan directive for OLTP users’,
CPU_P1 => 80,
PARALLEL_DEGREE_LIMIT_P1 => 4);
NOCOUG – Noel Yuhanna
Nov 21st 2002
Step 5A. Granting privileges
DBMS_RESOURCE_MANAGER_PRIVS.GRANT_SWITCH_CONSUMER_GROUP(
GRANTEE_NAME => ‘grantee name’,
CONSUMER_GROUP => ‘Consumer group name’,
GRANT_OPTION => ‘True/False’);
Example:
DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(
GRANTEE_NAME => ‘NOEL’,
CONSUMER_GROUP => ‘OLTP’,
GRANT_OPTION => ‘TRUE’);
NOCOUG – Noel Yuhanna
Nov 21st 2002
Step 5B. Initial setup for users
DBMS_RESOURCE_MANAGER.SET_INITIAL_CONSUMER_GROUP(
USER => ‘ user name’,
CONSUMER_GROUP => ‘Initial consumer group’);
Example:
DBMS_RESOURCE_MANAGER.SET_INITIAL_CONSUMER_GROUP(
USER => ‘NOEL’,
CONSUMER_GROUP => ‘OLTP’);
NOCOUG – Noel Yuhanna
Nov 21st 2002
Step 5C. Switching sessions/users
DBMS_RESOURCE_MANAGER.SWITCH_CONSUMER_GROUP_FOR_SESS(
SESSION_ID => ‘session_id’,
SESSION_SERIAL => ‘session serial number’,
CONSUMER_GROUP => ‘group_name’);
DBMS_RESOURCE_MANAGER.SWITCH_CONSUMER_GROUP_FOR_USER(
USER => ‘User name’,
CONSUMER_GROUP => ‘group_name’);
Example:
DBMS_RESOURCE_MANAGER.SWITCH_CONSUMER_GROUP_FOR_USER(
USER => ‘NOEL’,
CONSUMER_GROUP => ‘OLTP’);
NOCOUG – Noel Yuhanna
Nov 21st 2002
Step 6. Activate the Plan

Persistent (init.ora)


RESOURCE_MANAGER_PLAN = “SIEBEL_PLAN”
Dynamic


ALTER SYSTEM SET RESOURCE_MANAGER_PLAN =
“SIEBEL_PLAN”;
ALTER SYSTEM SET RESOURCE_MANAGER_PLAN=“”;
NOCOUG – Noel Yuhanna
Nov 21st 2002
Step 7. Monitor the database
 VIEWS/SYSTEM










TABLES
V$RSRC_CONSUMER_GROUP
V$RSRC_PLAN
V$RSRC_CONSUMER_GROUP_CPU_MTH
V$RSRC_PLAN_CPU_MTH
V$SESSION
DBA_RSRC_CONSUMER_GROUPS
DBA_RSRC_CONSUMER_GROUP_PRIVS
DBA_RSRC_MANAGER_SYSTEM_PRIVS
DBA_RSRC_PLANS
DBA_RSRC_PLAN_DIRECTIVIES
NOCOUG – Noel Yuhanna
Nov 21st 2002
Putting all together….
EXAMPLE……
BEGIN
DBMS_RESOURCE_MANAGER.CREATE_PENDING_AREA();
DBMS_RESOURCE_MANAGER.CREATE_PLAN(PLAN => 'CON_PLAN',
COMMENT => 'COMMENT');
DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP => 'oltp',
COMMENT => 'Resource consumer group for OLTP');
DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP => 'batch',
COMMENT => 'BATCH');
DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN => 'CON_PLAN',
GROUP_OR_SUBPLAN => 'oltp', COMMENT => 'OLTP SESS', CPU_P1 => 80);
DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN => 'CON_PLAN',
GROUP_OR_SUBPLAN => 'batch', COMMENT => 'BATCH',CPU_P2 => 100);
DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN => 'CON_PLAN',
GROUP_OR_SUBPLAN => 'OTHER_GROUPS',COMMENT => 'mandatory',CPU_P3 => 100);
DBMS_RESOURCE_MANAGER.VALIDATE_PENDING_AREA();
DBMS_RESOURCE_MANAGER.SUBMIT_PENDING_AREA();
END;
NOCOUG – Noel Yuhanna
Nov 21st 2002
Database Resource Manager





Useful feature for Consolidation
Plan your resource allocation
Can dynamically change plan
Guarantees application performance
No additional cost
NOCOUG – Noel Yuhanna
Nov 21st 2002
Benchmark – Churchill Ins.

Description







Pro*C program, shell scripts
Users performed various insurance quotes
Variety of Inserts, updates, Deletes
Over 782 various SQL Statements.
SUN Server 4 Cpus
Oracle 8.1
Resource Manager CPU usage


OLTP users 90 %
Others 10%
NOCOUG – Noel Yuhanna
Nov 21st 2002
Benchmark – Churchill Ins.
Results
Concurrent
users
100 OLTP
0 Others
100 OLTP
100 Others
NOCOUG – Noel Yuhanna
Avg. time
without DRM
for OLTP
33.92
70.86
Avg. time with
DRM
for OLTP
33.48
36.39
Nov 21st 2002
Recommendations

Single database



Multiple Instances on Server


Use Database Resource Manager
Use RAC for large and high available databases
Use Vendor specific OS level Resource Manager
Others


Use active-active OS cluster
Multi-domain functionality – offered by H/W vendors
Do NOT user OS level Resource Manager along with DB Resource Manager
NOCOUG – Noel Yuhanna
Nov 21st 2002
How to proceed?

Analysis









Qualify the Applications/databases
Obtain baseline measurements
Identify the customizations
Review the complexity of the project
Performance criteria
Identify “sleeping” servers
Impact on other projects/applications
Constraints – OS, Patches, Versions, firmware
Design




Identify the resources
Architecture layout
Identify components that will be integrated
Put a plan together
NOCOUG – Noel Yuhanna
Nov 21st 2002
How to proceed?

Test




Implement



Ensure consolidation will work
Test, Test, Test.
Perform integrated testing
Stage the consolidation
Minimize outage window – use tools
Monitor

Review the environment
NOCOUG – Noel Yuhanna
Nov 21st 2002
Database consolidation







Current trend in Industry
Too many databases/servers
Helps meet SLAs
Provides availability, manageability, security…
Globalization – central location for Info
Reduces TCO – 20% or more
Consolidate today - get ready for next growth!
NOCOUG – Noel Yuhanna
Nov 21st 2002
Q&A
NOCOUG – Noel Yuhanna
Nov 21st 2002