Share

How to convert Administrator-Managed databases to Policy-Managed databases ?

The cluster database configuration can be Policy-Managed or Administrator-Managed. A Policy-Managed database has instances managed on a per-server pool basis for efficient use of resources. An Admin-Managed database has instances attached to specific servers.

The following figure shows the differences in behavior.

Some benefits of Policy-Managed configuration:

  • Provides distribution on demand.
  • Manages business requirements effectively.
  • It scales just-in-time.
  • Maximizes Data Center efficiency.

By default, there are two server pools: GENERIC and FREE. We can view the available pools as follows.

-bash-4.3$ srvctl config srvpool
Server pool name: Free
Importance: 0, Min: 0, Max: -1
Candidate server names:
Server pool name: Generic
Importance: 0, Min: 0, Max: -1
Candidate server names: oradb1,oradb2

Features of server pools:

 min : (-l)
Minimum number of servers to be protected in the server pool.

max : (-u)
Maximum number of servers allowed in the server pool.

imp: (-i)
Server pool with high imp value is filled to Min values ​​first. It determines the priority order.

 

You can convert a database created as Admin-Managed to a Policy-Managed database by following the steps below.

First, let’s look at our current configuration.

-bash-4.3$ srvctl config database -d TESTDB
Database unique name: TESTDB
Database name: TESTDB
Oracle home: /u01/app/oracle/product/11.2.0/dbhome_1
Oracle user: oracle
Spfile: +DATA/TESTDB/spfileTESTDB.ora
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools: TESTDB
Database instances: TESTDB1,TESTDB2
Disk Groups: DATA, RECO
Mount point paths:
Services:
Type: RAC
Database is administrator managed

Let’s create a new pool. The min and max values ​​for the new pool are set to 2.

-bash-4.3$ srvctl add serverpool -g testpool -l 2 -u 2

When we view existing pools, the newly created pool is also visible.

-bash-4.3$ srvctl config srvpool
Server pool name: Free
Importance: 0, Min: 0, Max: -1
Candidate server names:
Server pool name: Generic
Importance: 0, Min: 0, Max: -1
Candidate server names: oradb1,oradb2
Server pool name: testpool
Importance: 0, Min: 2, Max: 2
Candidate server names:

We can start converting our database.

-bash-4.3$ srvctl modify database -d TESTDB -g testpool

In the database configuration, the policy will now appear as managed.

-bash-4.3$ srvctl config database -d TESTDB
Database unique name: TESTDB
Database name: TESTDB
Oracle home: /u01/app/oracle/product/11.2.0/dbhome_1
Oracle user: oracle
Spfile: +DATA/TESTDB/spfileTESTDB.ora
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools: testpool
Database instances:
Disk Groups: DATA, RECO
Mount point paths:
Services:
Type: RAC
Database is policy managed

Our database is policy managed. Our database will work when there is a suitable server for the testpool we defined above. We can check the status of the server pools as follows.

-bash-4.3$ srvctl status serverpool
Server pool name: Free
Active servers count: 0
Server pool name: Generic
Active servers count: 0
Server pool name: testpool
Active servers count: 2

Loading

You may also like