Administrator-Managed veritabanlarının Policy-Managed veritabanlarına dönüştürülmesi
Cluster veritabanı konfigürasyonu Policy-Managed ya da Administrator-Managed olabilmektedir. Bir Policy-Managed veritabanı , kaynakların etkin kullanımı için , sunucu havuzları bazında yönetilen instance’lara sahiptir. Bir Admin-Managed veritabanı , belirli sunuculara bağlı instance’lara shiptir.
Aşağıdaki resimde davranış farklılıkları belirtilmiştir.
Policy-Managed konfigürasyonun bazı faydaları :
- Talebe göre dağıtımı sağlar.
- İş gereksinimlerini etkin bir şekilde yönetir.
- Tam zamanında ölçeklendirme yapar.
- Veri Merkezi verimliliğini en üst düzeye çıkarır.
Varsayılan olarak GENERIC ve FREE şeklinde iki adet sunucu havuzu bulunmaktadır. Mevcut havuzları aşağıdaki gibi görüntüleyebiliriz.
-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
Sunucu havuzlarının özellikleri :
min : (-l)
Sunucu havuzunda korunması gereken minimum sunucu sayısı
max : (-u)
Sunucu havuzu içinde izin verilen maksimum sunucu sayısı
imp : (-i)
imp değeri yüksek sunucu havuzu, önce Min değerlerine kadar doldurulur. Öncelik sırasını belirler.
Aşağıdaki adımları takip ederek Admin-Managed olarak oluşturulan bir veritabanını Policy-Managed veritabanına dönüştürebilirsiniz.
Öncelikle mevcut konfigürasyonumuza bakalım.
-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
Yeni bir havuz oluşturalım. Yeni havuz için min ve max değerler 2 olarak ayarlanmıştır.
-bash-4.3$ srvctl add serverpool -g testpool -l 2 -u 2
Mevcut havuzları görüntülediğimizde yeni oluşturduğumuz havuz da görünür durumdadır.
-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:
Veritabanımızı dönüştürmeye başlayabiliriz.
-bash-4.3$ srvctl modify database -d TESTDB -g testpool
Veritabanı konfigürasyonunda artık policy managed olarak görülecektir.
-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
Atrık veritabanımız policy managed şeklindedir. Yukarıda tanımladığımız testpool için uygun sunucu olduğunda veritabanımız çalışacaktır. Sunucu havuzlarının durumunu aşağıdaki şekilde kontrol edebiliriz.
-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