This site is currently read-only as we are migrating to Oracle Forums for an improved community experience. You will not be able to initiate activity until January 30th, when you will be able to use this site as normal.

    Forum Stats

  • 3,889,915 Users
  • 2,269,775 Discussions


Oracle 19c CDB/PDB CPU caging


What is the recommended best practice to control resource utilization for CPU resources at CDB and PDB level?

  1. Define/set CDB CPU_COUNT and enable default resource manager and then set CPU_COUNT at PDB level (within each PDB) and enable resource manager within PDB?
  2. Define/Set CDB CPU_COUNT and enable resource manager at CDB level and then use the resource manager to create a performance profile at PDB level using shares?





  • Billy Verreynne
    Billy Verreynne Software Engineer Cape TownMember Posts: 28,976 Red Diamond

    What are the business requirements?

    Hard limits can be problematic. If for example a hard limit of 10% CPU utilisation is used, with 50% of the current CPU being idle and unused - that additional 50% of available CPU cannot be used, despite CPU availability, due to the 10% hard limit.

    Resources (CPU & memory & I/O) not used are wasted resources. It cannot be "saved" for future use as if there is some kind of resource savings account to draw resources against sometime in the future.

  • handsup
    handsup Member Posts: 23 Red Ribbon

    It is recommended to use a resource manager to manage database resources, which can be assigned to different database resources for different sessions.

    Using package dbms_resource_manager;

  • user591200
    user591200 Member Posts: 42 Bronze Badge

    @Billy Verreynne,

    These are PROD boxes, Three node rac migration from AIX to Linux. As of now, these databases are CDB: PDB (1:1), running as three distinct instances in AIX.

    On the Linux side, we are planning to onboard all three into a single CDB multitenant instance. No plans to over-provision instances. they will be rightsized to forecasted workloads. (CPU/Memory will be allocated accordingly but no I/O profiles will be implemented as of now)

    The environment is not Exadata.

    Hope this helps.