ORACLE SERVER POOL & SERVICES (Policy Managed Database)

Oracle Clusterware 11.2 sürümü ile ilk defa server pool mantığı ile gruplama ve servisler oluşturarak yönetim veritabanı ve diğer uygulamaları servisler üzerinden yöneterek yönetim kolaylığı mantığını piyasaya sürdü, 12c ile de bir çok yeni özellikle bunu güçlendirdi, Veritabanı Instanceları, uygulamaları, servisleri vb. belli poollara gruplayarak belli işler için özelleştirerek kullanma ve yönetme imkanı tanıyan bir yapı 11.2 ile getirildi, 12c ilede bu kaynakları sunucu bazlı bölümleyebilme CPU, Memory vb. kısıtlamalar getirebilme kabiliyetleri kazandırıldı.

11.2 Verisyonu ve sonrasındaki versiyonlarda veritabanı kurulumu sırasında, tercih edilen ve sonrasında değiştirilebilen iki tip pool yönetimi ile ilgili seçim vardır, Bunlardan ilki defaul oarak gelen ve eski yapı olan Admin Managemen Database diğeri Policy Management Database peki bunlar nedir;

Admin Managed Database

Geleneksel yöntem budur, tüm kaynakların ve nodların yönetimi tamamen DBA sorumluğunda ve gözetiminde olmalıdır. Veritabanı için başlangıçtaki seçilen node sayısında göre tüm instance lar tüm nodlarda çalışacak şekildedir ve tüm instancelar ve servisler Generic Pool altındaki bir pool içerisinde toplanacaktır.

Policy Managed Database

Bu yönetim türünde her bir node daki instanları, serviceleri poolara bölme ve bu poollara önem seviyesine göre çalışma, kaynak atama (CPU, Memory) vb. özellikleri atayarak ayrı ayrı yönetebilme kabiliyeti kazandırmıştır.

Eğer Admin Managed olarak kurulduysa Veritabanı, Policy Managed haline getirmek için aşağıdaki adımlar ile yapılabilir;

1.Konfigürasyonları Kontrol edelim;

–srvctl status database –d <db_name>
–srvctl status service –d <db_name>

2. Yeni bir Server Pool Database Oluşturalım
–srvctl add serverpool –g <pool_name> -l <min> -u <max> -i <imp>

  • min (-l) : Server Pool içerisinde bulunması gereken minimum server sayısı
  • max (-u): Server Pool içerisinde izin verilen max server sayısı
  • imp (-i): Öncelik sırasını belirler

3.Modify
–srvctl modify database –d <db_name> -g <pool_name>
4.Password File
orapw$ORACLE_SID to orapw<db_unique_name>
–Copy this file orapw<db_unique_name>, to the same location on every cluster node.
5.Confirm Service Placement – Relocate services
–srvctl relocate service –d <db_name> -s <svc_name> -c <current_node> -n <target_node>

Örnek Olarak;

$ srvctl config database -d FARUKDBDB
Database unique name: TESTDB
Database name: TESTDB
Oracle home: /u01/app/oracle/product/19.0.0/db
Oracle user: oracle
Spfile: +DATA/FARUKDB/spfileFARUKDB.ora
Domain: 
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools: FARUKDB
Database instances: FRKDB1,FRKDB2
Disk Groups: DATA,RECO
Mount point paths: 
Services: 
Type: RAC
Database is administrator managed

Yeni bi server pool oluşturalım

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

$ 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:

Şimdi database modify işlemini yapalım

$ srvctl modify database -d FARUKDB -g testpool

Artık database policy managed olarak görünmesi gerekmektedir.

$ srvctl config database -d FARUKDB
Database unique name: FARUKDB
Database name: FARUKDB
Oracle home: /u01/app/oracle/product/19.0.0/db
Oracle user: oracle
Spfile: +DATA/FARUKDB/spfileFARUKDB.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

Artık veritabanımız Policy Managed olarak ayarlandı.

$ 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