Конфигурация баз данных кластера Oracle RAC может быть управляемой политикой (Policy-Managed
) или управляемой администратором (Administrator-Managed
). Policy-Managed база данных имеет управляемые экземпляры на основе пулов серверов для эффективного использования ресурсов. Administrator-Managed база данных Оракл имеет экземпляры, подключенные к определенным серверам.
На следующем рисунке показаны различия в поведении.
Некоторые преимущества Policy-Managed конфигурации:
- Обеспечивает распределение нагрузки в соответствии со спросом
- Эффективно управляет бизнес-требованиями
- Scales just in time (подстройка масштабирования)
- Максимизирует эффективность центра обработки данных
По умолчанию существует два пула серверов, GENERIC
и FREE
. Мы можем отобразить существующие пулы следующим образом:
[root@oracle-srv ~]# 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
Особенности пулов серверов:
min : (-l) Минимальное количество серверов, которые должны быть защищены в пуле серверов.
max : (-u) Максимально допустимое количество серверов в пуле серверов.
imp : (-i) Пул серверов со значением imp
сначала заполняется до значений Min
. Imp
определяет порядок старшинства.
Выполнив следующие действия, вы можете преобразовать Administrator-Managed базу данных в Policy-Managed базу данных.
Во-первых, давайте посмотрим на нашу текущую конфигурацию:
[root@oracle-srv ~]# 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
Давайте создадим новый пул. Минимальное и максимальное значения для нового пула установим на 2:
[root@oracle-srv ~]# 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:
Теперь мы можем конвертировать нашу базу данных Oracle:
[root@oracle-srv ~]# srvctl modify database -d TESTDB -g testpool
Конфигурация базы данных теперь будет отображаться как управляемая политикой (Policy-Managed):
[root@oracle-srv ~]# 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
Теперь наша база данных кластера Oracle RAC стала Policy-Managed. Наша база данных будет работать при наличии соответствующего сервера для тестового пула, который мы создали выше. Мы можем проверить состояние сервера репозиториев следующим образом:
[root@oracle-srv ~]# 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