Db Consolidation

Embed Size (px)

Citation preview

  • 8/6/2019 Db Consolidation

    1/45

    Oracle Database Consolidation

    Noel Yuhanna

  • 8/6/2019 Db Consolidation

    2/45

    Nov 21 st 2002NOCOUG Noel Yuhanna

    Agenda

    Current environment Why Consolidate?How to Consolidate?Challenges and GuidelinesResource Manager OS and DatabaseSteps in using DB Resource Manager

    Benchmark resultsRecommendationsHow to proceed?

  • 8/6/2019 Db Consolidation

    3/45

    Nov 21 st 2002NOCOUG Noel Yuhanna

    Current Environment

    FinanceFinancial Analyzer General Ledger Cash ManagementTreasuryPurchasingPayablesReceivablesFixed AssetseTravelSelf-Service ExpensesSelf-ServicePurchasing

    Financials

    Human ResourcesHuman ResourcesPayrollTraining AdministrationTime ManagementAdvanced BenefitsSelf-Service HumanResources

    Human Resources

    Supply Chain ManagementOrder Entry PurchasingProduct Configuration Supplier SchedulingSupply Chain Planning InventoryWeb Suppliers Advanced Planning

    & Scheduling

    Supply Chain

    ManufacturingEngineeringBills of MaterialMaster Scheduling/MRPCapacityWork in ProcessQualityCost ManagementProcess ManufacturingProject ManufacturingFlow ManufacturingAdvanced Planning

    & Scheduling

    Manufacturing

    ProjectsProject CostingProject BillingProject Time & ExpenseActivity Management GatewayProject ConnectProject Analysis Collection Pack

    Projects

  • 8/6/2019 Db Consolidation

    4/45

    Nov 21 st 2002NOCOUG Noel Yuhanna

    Instances .. (all over)

    Test Production

    UAT

    Training

    Development

  • 8/6/2019 Db Consolidation

    5/45

    Nov 21 st 2002NOCOUG Noel Yuhanna

    How many Instances?10

    100

    1000

    One database per application

  • 8/6/2019 Db Consolidation

    6/45

    Nov 21 st 2002NOCOUG Noel Yuhanna

    Typical server utilization..

    20%

    10%60%

    5%

    50%

    Average utilization = 30%

    Unused system resources !

    Target = 80-90%

  • 8/6/2019 Db Consolidation

    7/45

    Nov 21 st 2002NOCOUG Noel Yuhanna

    Why Consolidate?Reduce TCO License, staff, consultingImproved availability -S L AsHigher SecurityData Sharing & visibilityGlobalizationBetter application performance

    Centralized backup and archiveHigher ROI higher utilizationBottom line = reduce TCO by 20% or more

  • 8/6/2019 Db Consolidation

    8/45

  • 8/6/2019 Db Consolidation

    9/45

    Nov 21 st 2002NOCOUG Noel Yuhanna

    Various types of consolidation

    Location ConsolidationData center/Centralized officeBetter Manageability

    Server/Storage ConsolidationReduce # of ServersUse of SAN storageBetter performance/scalability

    Application/Database ConsolidationReduce # of InstancesBetter Availability/performance/scalability

  • 8/6/2019 Db Consolidation

    10/45

    Nov 21 st 2002NOCOUG Noel Yuhanna

    Database consolidation

    Single DatabaseMulti-Instance

    HRHR

    F inancials

    PayrollPayroll

  • 8/6/2019 Db Consolidation

    11/45

    Nov 21 st 2002NOCOUG Noel Yuhanna

    How to consolidate?

    Single DatabaseSeparate Schema

    Assign roles and responsibility

    Reconfigure Database SizeReconfigure Application

    N ew Schema

  • 8/6/2019 Db Consolidation

    12/45

    Nov 21 st 2002NOCOUG Noel Yuhanna

    How to consolidate?

    Multi-InstanceDatabase migrates as separate InstanceCo-exists with other instances on same server

    Reconfigure Application

    N ew InstanceExisting Instance

    F inancialsPayroll

  • 8/6/2019 Db Consolidation

    13/45

    Nov 21 st 2002NOCOUG Noel Yuhanna

    Single database approach

    ProsProvides data sharingLess support and higher productivity

    Higher resource utilization & better S L A

    sCons

    Outage can impact multiple applicationsDifficult to consolidate application dependenciesDBA support space management

    RecommendationsUseful if applications are closely inter-related

  • 8/6/2019 Db Consolidation

    14/45

    Nov 21 st 2002NOCOUG Noel Yuhanna

    Multi Instance approachPros

    Each instance is independent Some applications require separate instanceHelps reduce number of servers

    Oracle performs well under multi-instance envCons

    Each instance competes for system resourcesNo. of databases still remain sameCannot optimize individual server or OSCan only provide one level of availability, recoverability etc

    RecommendationsGroup databases with similar S L AMulti domain Servers useful for consolidation

  • 8/6/2019 Db Consolidation

    15/45

    Nov 21 st 2002NOCOUG Noel Yuhanna

    Multi Instance on OS ClusterPros

    Easy to deployEach instance is independent Utilizes idle node in clusterProvides high availability failover capability

    ConsNo. of databases still remain sameComplex environment to manageRequires lots of testing

    RecommendationsEnsure each node is not over 70% utilized

  • 8/6/2019 Db Consolidation

    16/45

    Nov 21 st 2002NOCOUG Noel Yuhanna

    What is Oracle 9i RAC ?

    S

    G

    A

    S

    G

    A

    Cluster Interconnect

    S erver

    Sh ared S torage

    Oracle Instance

    S erver

    Oracle Instance

  • 8/6/2019 Db Consolidation

    17/45

    Nov 21 st 2002NOCOUG Noel Yuhanna

    RAC Features Availability

    Failover

    Scalability

    No application changes4-6 Nodes Cluster

    ManageabilityNo special training or toolsNo partitioning necessary

  • 8/6/2019 Db Consolidation

    18/45

    Nov 21 st 2002NOCOUG Noel Yuhanna

    Consolidation using RACDB Shared on existing RAC environment Utilizes nodes in cluster more efficientlyProvides high availability for multiple apps

    Support larger databases

    DB

    HRHRF IN

    F IN

  • 8/6/2019 Db Consolidation

    19/45

    Nov 21 st 2002NOCOUG Noel Yuhanna

    Guidelines for consolidation

    Understand the workload Application dependencies integration issues

    SL A requirements for the applicationHardware/database limit scalabilityPerformance expectationsData SecurityUse Resource Manager technology

  • 8/6/2019 Db Consolidation

    20/45

    Nov 21 st 2002NOCOUG Noel Yuhanna

    Resource Manager

    Enables DBA/SA to allocate system resourcesScheduling mechanism to track CPU time

    Policy based administrationOperating System levelHP (PRM)Solaris (Resource Mgr)

    Database levelOracle Database resource manager

  • 8/6/2019 Db Consolidation

    21/45

    Nov 21 st 2002NOCOUG Noel Yuhanna

    OS level Resource ManagerManage critical shared resources

    CPU, Memory, DiskGroups processes/threads into various classes

    Allocate CPU time to classesGrouping done by name, owner, process idSupports dynamic reconfigurationEnsures critical processes gets priority

    Limitations: It does not understand DB processes

  • 8/6/2019 Db Consolidation

    22/45

    Nov 21 st 2002NOCOUG Noel Yuhanna

    Oracle DB Resource ManagerOffered since Oracle 8iCan guarantee users minimum resourcesCan switch users between groups

    Limit the degree parallelismDistribute available CPU time to usersCan specify maximum number of sessionsPrevent execution when operation takes longerCan change resource plan dynamically

  • 8/6/2019 Db Consolidation

    23/45

    Nov 21 st 2002NOCOUG Noel Yuhanna

    Oracle DB Resource ManagerResource plan

    Specifies how resources are distributed among users

    Resource consumer Group

    Group user sessionsCan be changed dynamically

    Resource plan directive Assign consumer groups to resource plans

  • 8/6/2019 Db Consolidation

    24/45

    Nov 21 st 2002NOCOUG Noel Yuhanna

    Oracle DB Resource ManagerOracle Enterprise Manager

    DBMS_RESOURCE_MANAGER PL /SQ L Package

    PL AN: Create,update,delete,cascadeCONSUMER_GROUP: Create,update,deletePL AN_DIRECTIVE:Create,update,deletePENDING_AREA:Create,validate,clear,submit

    SWITCH:set_initial,switch groupsSystem Privileges: Grant, revoke Package/Switch

  • 8/6/2019 Db Consolidation

    25/45

    Nov 21 st 2002NOCOUG Noel Yuhanna

    Oracle 9i Resource Manager

    Enhancements Automatic consumer group switchingMaximum estimated execution time

    Limit the number of concurrent users -QueueUndo Quota operation aborted

  • 8/6/2019 Db Consolidation

    26/45

    Nov 21 st 2002NOCOUG Noel Yuhanna

    Resource Plan

    Consumer Group CPU- L1 CPU-L2

    ONLINE 80% 0%REPORT 0% 60%

    ADMIN 10% 0%BATCH 0% 40%

    H ow to plan ?

  • 8/6/2019 Db Consolidation

    27/45

    Nov 21 st 2002NOCOUG Noel Yuhanna

    Steps involved

    1. Create resource Plans2. Create resource consumer groups

    3. Create resource plan directives4. Grant privileges to users/role5. Assign users to resource consumer groups6. Specify a plan to be used by the database7. Monitor the database environment

  • 8/6/2019 Db Consolidation

    28/45

    Nov 21 st 2002NOCOUG Noel Yuhanna

    Step 1. Create Pending Area

    Create a pending areaDBMS_RESOURCE_MANAGER.CREATE_PENDING.AREA;

    Validate changesDBMS_RESOURCE_MANAGER.VALIDATE_PENDING.AREA;

    Clear changesDBMS_RESOURCE_MANAGER.CLEAR_PENDING.AREA;

    Submit changesDBMS_RESOURCE_MANAGER.SUBMIT_PENDING.AREA;

  • 8/6/2019 Db Consolidation

    29/45

    Nov 21 st 2002NOCOUG Noel Yuhanna

    Step 2. Create Resource Plans

    DBMS_RESOURCE_MANAGER.CREATE_PL AN(PL AN => plan _nam e ,COMMENT => Co mm ent here );

    Example:DBMS_RESOURCE_MANAGER.CREATE_PL AN(PL AN => SIEBEL _P L AN ,COMMENT => Plan for Siebel DB Server );

    * Can update, delete a Plan.

  • 8/6/2019 Db Consolidation

    30/45

    Nov 21 st 2002NOCOUG Noel Yuhanna

    Step 3. Create Resource consumer groups

    DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP => gr ou p _nam e ,COMMENT => Co mm ent he r e );

    Example:DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP => OLTP ,COMMENT => Group for O LTP users );

    * Can update, delete consumer groups

  • 8/6/2019 Db Consolidation

    31/45

    Nov 21 st 2002NOCOUG Noel Yuhanna

    Step 4. Resource plan directivesDBMS_RESOURCE_MANAGER.CREATE_PL AN_DIRECTIVE(PL AN => P lan nam e ,GROUP_OR_SUBPL AN => N am e of co ns u m e r gr ou p o r plan ,COMMENT => Co mm ent he r e ,CPU_P1 => S p ecifi es C PU % at 1st l eve l . UPTO 8 ,

    P ARALLEL _DEGREE_LIMIT _ P 1 =>

    L i m i t o n P a r all e l i sm

    );

    Example:DBMS_RESOURCE_MANAGER.CREATE_PL AN_DIRECTIVE(PL AN => SIEBEL _P L AN ,

    GROUP_OR_SUBPL AN =>

    OLTP

    ,COMMENT => Plan directive for O LTP users ,CPU_P1 => 80,PARALLEL _DEGREE_LIMIT_P1 => 4);

  • 8/6/2019 Db Consolidation

    32/45

    Nov 21 st 2002NOCOUG Noel Yuhanna

    Step 5A. Granting privileges

    DBMS_RESOURCE_MANAGER_PRIVS.GRANT_SWITCH_CONSUMER_GROUP(GRANTEE_NAME => gr ant ee nam e ,CONSUMER_GROUP => Co ns u m e r gr ou p nam e ,GRANT_OPTION => True/False );

    Example:DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(GRANTEE_NAME => NOEL ,

    CONSUMER_GROUP =>

    OLTP

    ,GRANT_OPTION => TRUE );

  • 8/6/2019 Db Consolidation

    33/45

    Nov 21 st 2002NOCOUG Noel Yuhanna

    Step 5B. Initial setup for users

    DBMS_RESOURCE_MANAGER.SET_INITIAL _CONSUMER_GROUP(

    USER => u s e r nam e ,CONSUMER_GROUP => I n i t i al co ns u m e r gr ou p );

    Example:DBMS_RESOURCE_MANAGER.SET_INITIAL _CONSUMER_GROUP(

    USER => NOEL ,CONSUMER_GROUP => OLTP );

  • 8/6/2019 Db Consolidation

    34/45

    Nov 21 st 2002NOCOUG Noel Yuhanna

    Step 5C. Switching sessions/users

    DBMS_RESOURCE_MANAGER.SWITCH_CONSUMER_GROUP_FOR_SESS(SESSION_ID => s ess io n _ id ,SESSION_SERIAL => s ess io n s e r i al n u m be r ,CONSUMER_GROUP => gr ou p _ nam e ) ;

    DBMS_RESOURCE_MANAGER.SWITCH_CONSUMER_GROUP_FOR_USER(USER => U s e r nam e ,CONSU MER_GROU P => gr ou p _ nam e ) ;

    Example:DBMS_RESOURCE_MANAGER.SWITCH_CONSUMER_GROUP_FOR_USER(USER => NOEL ,CONSUMER_GROUP => OLTP );

  • 8/6/2019 Db Consolidation

    35/45

    Nov 21 st 2002NOCOUG Noel Yuhanna

    Step 6. Activate the Plan

    Persistent (init.ora)RESOURCE_MANAGER_PL AN = SIEBEL _P L AN

    Dynamic ALTER SYSTEM SET RESOURCE_MANAGER_PL AN = SIEBEL _P L AN ;

    ALTER SYSTEM SET RESOURCE_MANAGER_PL AN= ;

  • 8/6/2019 Db Consolidation

    36/45

    Nov 21 st 2002NOCOUG Noel Yuhanna

    Step 7. Monitor the database

    VIEWS/SYSTEM TABLES V$RSRC_CONSUMER_GROUP V$RSRC_PL AN V$RSRC_CONSUMER_GROUP_CPU_MTH

    V$RSRC_PL AN_CPU_MTH V$SESSIONDBA_RSRC_CONSUMER_GROUPSDBA_RSRC_CONSUMER_GROUP_PRIVSDBA_RSRC_MANAGER_SYSTEM_PRIVS

    DBA_RSRC_PL ANSDBA_RSRC_PL AN_DIRECTIVIES

  • 8/6/2019 Db Consolidation

    37/45

    Nov 21 st 2002NOCOUG Noel Yuhanna

    Putting all together .EXAMPLE

    BEGINDBMS_RESOURCE_MANAGER.CREATE_PENDING_AREA();DBMS_RESOURCE_MANAGER.CREATE_PL AN(PL AN => 'CON_P L AN',

    COMMENT => 'COMMENT');DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP => 'oltp',

    COMMENT => 'Resource consumer group for O LTP');DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP => 'batch',

    COMMENT => 'BATCH');DBMS_RESOURCE_MANAGER.CREATE_PL AN_DIRECTIVE(PL AN => 'CON_P L AN',

    GROUP_OR_SUBPL AN => 'oltp', COMMENT => 'O LTP SESS', CPU_P1 => 80);DBMS_RESOURCE_MANAGER.CREATE_PL AN_DIRECTIVE(PL AN => 'CON_P L AN',

    GROUP_OR_SUBPL AN => 'batch', COMMENT => 'BATCH',CPU_P2 => 100);DBMS_RESOURCE_MANAGER.CREATE_PL AN_DIRECTIVE(PL AN => 'CON_P L AN',

    GROUP_OR_SUBPL AN => 'OTHER_GROUPS',COMMENT => 'mandatory',CPU_P3 => 100);DBMS_RESOURCE_MANAGER. VALIDATE_PENDING_AREA();DBMS_RESOURCE_MANAGER.SUBMIT_PENDING_AREA();END;

  • 8/6/2019 Db Consolidation

    38/45

    Nov 21 st 2002NOCOUG Noel Yuhanna

    Database Resource Manager

    Useful feature for ConsolidationPlan your resource allocation

    Can dynamically change planGuarantees application performanceNo additional cost

  • 8/6/2019 Db Consolidation

    39/45

    Nov 21 st 2002NOCOUG Noel Yuhanna

    Benchmark Churchill Ins.

    DescriptionPro*C program, shell scriptsUsers performed various insurance quotes

    Variety of Inserts, updates, DeletesOver 782 various SQ L Statements.SUN Server 4 CpusOracle 8.1

    Resource Manager CPU usageOLTP users 90 %Others 10%

  • 8/6/2019 Db Consolidation

    40/45

    Nov 21 st 2002NOCOUG Noel Yuhanna

    Benchmark Churchill Ins.

    Concurrent users

    Avg. timewithout DRM

    for O LTP

    Avg. time withDRM

    for O LTP100 O LTP0 Others 33.92 33.48

    100 O LTP100 Others 70.86 36.39

    R esults

  • 8/6/2019 Db Consolidation

    41/45

    Nov 21 st 2002NOCOUG Noel Yuhanna

    Recommendations

    Single databaseUse Database Resource ManagerUse RAC for large and high available databases

    Multiple Instances on ServerUse Vendor specific OS level Resource Manager

    OthersUse active-active OS clusterMulti-domain functionality offered by H/W vendors

    Do NOT user OS level Resource Manager along with DB Resource Manager

  • 8/6/2019 Db Consolidation

    42/45

    Nov 21 st 2002NOCOUG Noel Yuhanna

    How to proceed? Analysis

    Qualify the Applications/databasesObtain baseline measurementsIdentify the customizationsReview the complexity of the project

    Performance criteriaIdentify sleeping serversImpact on other projects/applicationsConstraints OS, Patches, Versions, firmware

    DesignIdentify the resources

    Architecture layout Identify components that will be integratedPut a plan together

  • 8/6/2019 Db Consolidation

    43/45

    Nov 21 st 2002NOCOUG Noel Yuhanna

    How to proceed?

    Test Ensure consolidation will workTest, Test, Test.

    Perform integrated testingImplement

    Stage the consolidationMinimize outage window use tools

    MonitorReview the environment

  • 8/6/2019 Db Consolidation

    44/45

    Nov 21 st 2002NOCOUG Noel Yuhanna

    Database consolidation

    Current trend in IndustryToo many databases/serversHelps meet S L As

    Provides availability, manageability, security Globalization central location for InfoReduces TCO 20% or more

    Consolidate today - get ready for next growth!

  • 8/6/2019 Db Consolidation

    45/45

    Nov 21 st 2002NOCOUG Noel Yuhanna

    Q & A