An Oracle blog about Oracle Enterprise Manager and Oracle Management Cloud

Schema as a Service for Extreme Consolidation

we deal with Database as a Service use cases, we often find that consumers
do not need dedicated databases of their own. Developers of a home-grown
application, for example, might be satisfied with a logical slice of the
database. This logical slice, leads us to the concept of Schema as a Service—a
new capability offered in the latest release of Oracle
Enterprise Manager 12c Release 2 Plug-in Update 1

Schema as a service
is the ultimate and extreme in consolidating multiple schemas in a shared
database model. Cloud users can request one or more schemas, with or without
seed data, from Oracle Enterprise Manager 12c’s out-of-the-box self
service portal. It offers excellent manageability, not only for its fast
efficient provisioning, but because administrators only need to manage
a small number of databases.

Schema as a
Service: Consolidate Multiple Schemas in a Shared Database Cloud Services

However, consolidation
comes at the expense of isolation, because the operating system and database
are not isolated among the database consumers. While enabling Schema as
a Service, it’s important to isolate the workloads as much as possible
to make sure that one user doesn't run away with all the database resources.
Administrators can guarantee this does not happen by using Oracle Enterprise
Manager 12c’s CPU monitoring capabilities built in to Oracle
Database Resource Manager
to maintain service levels.

For security, the
more consolidated you get, the more concerns administrators have about
data isolation and security. Using Oracle
Data Vault
can help resolve these issues. It is integrated with Oracle
Enterprise Manager 12c, and administrators can use Oracle Data Vault to
enable fine grain control based on roles and privileges within the database
cloud service.

For reporting purposes,
metering and chargeback capabilities can be implemented to help IT organizations
gain in-depth visibility into resource consumption and expenses incurred
with each schema as a service deployment. This is useful for regulatory
compliance requirements as well.

Schema as
a Service at a Glance:

  • Consolidate multiple
    application schemas in a shared database deployment model
  • Each application
    user (i.e. developers or testers) can provision one or more database
    schema(s) with a dedicated database cloud service
  • Automated placement
    can be based on workload characteristics and specifications
  • Service levels
    are guaranteed through Oracle Database Resource Manager
  • Service governance
    is done through quotas, retirement policies and chargeback plans
  • Integrated with
    Oracle Data Vault for security isolation and control
  • De-provision schemas
    when needs change


  • Save resources
    through ultimate consolidation of multiple database applications
  • Boost administrator
    productivity and increase efficiency with automated provisioning
  • Deploy schema as
    a service implementations consistently using self-service profiles and
  • Metering and chargeback
    helps keep track of resource consumption and usage for accountability
    and reporting
  • Minimize administrative
    overhead and compliance challenges by preventing database sprawl

How To:
There are several steps
involved when setting up and deploying database schema as a service in
Oracle Enterprise Manager’s self service portal. Here is a quick
summary of what’s involved. For more details be sure to review the
resources below.

1. Setting
up Platform as a Service Zones

  • Before deploying
    your schema as a service, you first need to create a Platform as a Service
    (PaaS) infrastructure using Oracle Enterprise Manager 12c’s self-service
    portal. A PaaS Zone comprises multiple hosts, i.e. servers with Oracle
    Enterprise Manager 12c agent installed.
  • Use the portal
    to create a PaaS zone and organize it by function type (i.e. based on
    geography, line of business (sales, development) or application lifecycle.
    (i.e. dev, test, QA, production)
  • Next expose the
    PaaS zone to the self-service cloud users in the portal. For example,
    developers can now have the option to select a development PaaS zone
    or testers can select a QA zone.
  • Visibility of
    each zone can be restricted based on the self-service user's credentials.

2. Setting
up Database Pools

  • Database pools
    are a collects of databases used to host schema as a service.
  • To create a new
    database pool, you can use a portion of resources that are available
    to the zone. Keep in mind that all members of the database pool need
    to be the same target type. For example, a single database instance
    or database cluster; platform, or same database version. This ensures
    provisioning consistency during deployment.
  • Next configure
    placement constraints and policies for the database pool. For placing
    databases within the pool and controlling how resources are utilization,
    you need to first create a placement constraint and set its policies.
    This provides protection for the database members within the pool for
    resource consumption. For example, a production database pool might
    enforce more conservative constraints whereas a development pool might
    allow liberal limits.
  • You can set a
    constraint for each database in the pool by services or by workload
    associated with the service request based on CPU and memory. You can
    also enable Oracle Database Resource Manager for the database pool to
    control your CPU usage and the underlying service levels.

3. Request

  • During this part
    of the schema as a service set up, future reservations, archive retention
    and duration of request can all be enabled.

4. Quotas

  • Controlling quotas
    and setting limits for users based on role level can be assigned in
    this step of the process. Oracle Enterprise Manager supports quota based
    on CPU, memory and number of database services.

5. Profiles
and Service Templates

  • A service template
    is standardized definition that is offered to self-service users to
    create a database or schemas within the deployment. A service template
    defines the workload characteristics and schema details that can be
    generated with or without seed data.
  • To create a service
    template with seed data, you need to create a profile. A profile is
    an entity that captures source database information for provisioning
    purposes. Once you create your service template it becomes part of a
    collection which makes up the service catalog. This catalog is then
    exposed to cloud users in the self-service portal.
  • Next, you can
    either export the seed data from the source database or export the schema
    definitions without the data. Once you decide, a Data Pump Export job
    will be created.
  • You can now map
    your newly created profile and service templates to the required zone(s)
    and database pools.

6. Chargeback

  • The final step
    in deploying schema as a service is to configure resource metering and
  • Setting up metering
    and chargeback can easily be done in order to track resource usage within
    the schema as a service implementation.
  • For more information
    on how to set up chargeback we recommend reading this white


Product Info:
  • Oracle Cloud Management
  • Zero
    to Cloud Resource Center
  • Demos:
  • Oracle Cloud Management
  • Setting up Database Clouds for Schema as a Service
  • Whitepapers:
  • Delivering Database as a Service using Oracle Enterprise Manager 12c
  • Best
    Practices for Database Consolidation in Private Clouds
  • Oracle
    Enterprise Manager 12c: Metering and Chargeback
  • Cloud
    Management for Oracle Database

  • Stay

    | YouTube
    the Oracle Enterprise Manager Cloud Control12c Mobile app

    Be the first to comment

    Comments ( 0 )
    Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.