Kategoriler
ORACLE

Oracle 11g: DBA-1||Managing the ASM

5.Managing the ASM Instance

1 instance = 1 database’dir. (Standalone server mimarisi)

Instance sayısı n sayıda olduğunda ve tek database ile yönetimi sağlanırsa cluster olur.

Database dediğimiz kavramın içinde database file’ları vardır. Bunun içerisini
(control file, datafile, redo log, spfile,backup dsoyaları, archiver log — bunlar fiziksel dosyalar)

Fiziksel olan dosyalarımız nasıl ve nerede yönetilir konusuna eğileceğiz.

ASM bizden : Boyutları aynı olmak koşuluyla adedini bizim belirlediğimiz
(tek veya çift) formatlanmamış disk tahsis etmemizi ister.

Disk gruplarını oluştururken yönetim tarzını belirliyoruz.

Diskin yönetim tarzı

  • External — No Mirroring Mesela 20 gblık disk size’ının tamamını yeni bilgilere ayırır. Database external disk grubunda yönetilmez.
  • Normal — 2 way Mirroring. Diskler 2.5’ar gb olarak kullanılır. Toplamda primary extend olarak yani gelen data olarak datayı parçalara bölerek yazar. Maksimum 10 gb yazar. Geri kalan 10 gb secondary extend olarak mirror’a ayırır.
  • High — 3 way Mirroring senaryo birerbir aynı bir dosyanın 3 kopyası var. diskleri 3’te bir oranında aktif kullanırız.

Storage’da external yönetim tarzında herhangi bir diskte arıza olursa veri kaybederiz.
Backup dosyaları burada yönetilir. ( Yedeğin yedeğinin olmasına gerek yoktur)

Normal yönetim tarzında data kaybı olmaz. Çünkü farklı failure group’larda mirrorlar vardır. Yarısını kullanır yarısını yedekleme şeklinde ayırır.

ASM’in amacı diskleri kendi formatlamış olduğu bir disk teknolojisine göre yönetmektir.

ASM kendi işlemleri için 256 mb memory ister.

ASM instance

Verilen bu memory kendini yönetmesi için gereklidir. Verilen memory neticesinde:

  • Shared Pool —  ASM’e ait metadata var.
  • Large Pool — Paralel işlem operasyonları için vardır.
  • ASM Cache — Neyin okunması gerektiği veya neyin nereden yazılması gerektiği bilgisini tutar.  RBAL operasyonlarında kullanır. Proseslere görev verir ve yazılması gereken diskleri söyler.
  • Free Memory

ARBn — Başında RBAL vardır ve bunları yönlendirir. Yöneten RBAL işi yapan ARBn’dir

GMON — Disk grubu bazında aktivitelerden sorumludur. ( Disk grup mantığı değişikligi gibi)

MARK — Allocation unit’lerin işaretlenmesinden sorumlu prosestir.

Allocation Unit — Oracle veritabanının logical ve fiziksel mantığında en altta data blok vardır. Ve boyutu 8 kb’dir. Data file’lar artık ASM içindedir. ASM’de çalışan diskin içerisindeki en küçük parça allocation unit’tir. Default size 1mb’dır. 11g sistemlerde 64 mb’a kadar çıkabilir. Gelen veri 5 mb ise 5 parçaya ayırır.

//Database tarafında shared pool execution planlarını tutar. ASM’de bu tarz bi şey olmaz.

Onnn — Oracle ASM tarafıyla alakalı herhangi bir bağlantı olduğunda yoğun olması durumunda havuzda toplar yönetir. ASM, Veritabanı gibi yoğunluğu yoktur o yüzden kullanılmaz.

Pz9N –gv$ view’lardan sorumlu prosestir.

Çalışan sisteme yeni disk eklendiğinde bunun boş durma şansı yoktur. RBAL işlemi yapılır.  Ya da disk arıza çıkardığında diski kaybettiğimizde RBAL işlemi yine yapılır.  Kaybolan dataların mirrorları yoksa bunu yeni eklenen diske ya da içeride kalan disklere kopyalanır.

Stripe and Mirror Example

Her dosyanın iki kopyası ( kendisi ve mirror) olacak şekilde kalmalıdır. Yapısı bozulursa bunu yeniden sağlar.

Failure ExampleData tutarlılığını yeniden sağlamak ve garantiye almak için farklı failure group’lara kopyalar.  5 ve 3 disklerini kaybettiğimizde  Fail Group 1’de disk 3 bulunduğu için bunu Fail Group 2’ye kopyalar. Bu mantıkla çalışır. (Fail Group Mantığı)

SYSASM — En yetkili rol
SYSDBA — ASM’i kapatamaz.
SYSOPER —

show parameter instance_type;
–RDBMS

ASM  Parameters

ASM Instance Initialization Parameters

 ASM Disks

Disk grupları içerisinde yer alan depolama alanlarıdır. Disk grubunun içinde yaratılan bu diskler bizim veritabanımıza ait depolanma alanları olacak şekilde kullanılıyor. Bir veya birden çok disk grubunda kullanabiliriz. Stripe ve Mirroring özelliğine sahiptir. Mirroring özelliğini yönetim algoritmasına göre değiştirebiliriz. Ama stripe özeliği kapatılamaz. (Bölerek yazma diyemeyiz)

ASM tarafındaki disk içerisinde en küçük parça Allocation Unit’ler demiştik. Bu unitler ( extent parçaları) 1mb-64mb arasındaki size’ları olur. Bir disk grubu yaratılırken allocation unit size’ları belirtilir. Daha sonra bunda değişiklik yapamayız. 10g’de bu değişemez ve 1 Mb olarak gelir.

ASM Files

Bizim için +’nın anlamı ASM olmasıdır. ASM’de her dosya + ile başlamak zorundadır.  ASM’de table space yaratırken datafile seçip size’ını belirtip hangi disk grubunda yaratılacağını ve sonraki isimlendirmesini belirtiyoruz. İsim çakışması olmayacak. Bunu kendini konfigre eder.

+DATA/orcl/datafile/system.256.689832921

Alias’lar yaratabiliriz.

+DATA/dbfiles/mydb/system01.dbf

Extent Maps

Gelen yeni bir bilginin disk grubu içerisindeki diskin hangi parçacığına yaratılacağını bilen, tanımlayan ve okuma yaptığında da nereden, ne şekilde okunacağını ASM cache’e bildiren bir haritalama metotudur.

Extent Maps

Striping Senaryosu

Striping Granularity

Bu özellik disable edilebilir.  Bizim 8 adet diskimiz var.  Var olan bu diskin içerisine yeni bir bilgi(extent) geldiği zaman diske gelen bilgiyi bölerek yazar. 8 adet disk varken 3 adet disk boş kalmıştır. Bunun nedeni allocation unit’in size’ı ile doğru orantılı olmasıdır. Default’ta disk grupları böyle çalışır. Coarse-grain striping metotudur.

Fine-Grained Striping

  • 8 AU size 1 mb extent geldiğinde 128 kb parçalara böldü.
  • 1 mb ‘lık kısmın 128 kb kullanılyor.
  • 1 mb daha gelirse kırmızı altına mavi ekler.

Her diske eşit şekilde dağılması isteniyorsa. ( Allocation unit size 1mb).  8 adet disk var ve external redundancy yani full size kullanabiliriz. 1 mb extend geldiğinde 128 kb’lık parçalara bölüyoruz ( disk sayısına göre). Ancak bu istenen bir iş olmayabilir. Çünkü burada 8 mb allocation unit size’ını diske ayırmış olduk ama sadece 1 mb’lık kısmını kullanıyoruz.

Ama diğer senaryo da 5mb’lık bir alanı alloca ettik ve gelen datayı yazdık. Burada gelen datayı disklere eşit dağıtma ihtiyacından ötürü biz 8 tane allocation unit’i disklere parçalarız içerisini full kapasite kullanıp kullanmama önemli değil gelen data eşit olsun yeterlidir. 1 mb daha gelecekse kırmızının altına mavi’yi getiririz. Süreç bu şekilde devam eder.

Fine-Grained Striping

 

ASM Failure Groups

ASM Failure Groups

Datayı kaybetmeme adına failure grup mantığı çok önemlidir. Bizim sabit olduğumuz sistemlerde: Bizim DATA disk grubumuz var bu disk grubunun içerisinde 4 tane grup var. Bu 4 diskin içerisine dağılan verinin yönetimi şuan itibariyle bizde değil. Biz kesinlikle yönlendirme yapamıyoruz.

Stripe and Mirror Example

Asıl iş dağıtılan datanın mirroning’in dağıtılması sürecinde başlıyor.  Bu mantıkta failure grup şu demektir. 1 diskinin mirrori failure group 2’de ise datanın kendisi failure group 1’de olmalıdır.  Aynı partlar yan yana olmamalıdır.

Managing Disk Groups

Managing Disk Groups

2 adet Failure Group oluşturuyoruz. controller1’in içinde A1 ve A2 adında diskler. controller group 2 içinde B1 ve B2 adında diskler. A1’in için alias diskA1 ve size 120 gb özellikleri verilmiştir.  A1 diski için 120 g aksiyonu yazılmasının nedeni boyutunun(kapasite) daha fazla olmasındandır.  120 gb force et(ASM kullanacak) geri kalanını da sistem kullanabilir.

Daha sonra Drop ederek kaldırıyoruz.

Adding Disks to Disk Groups

4 adet diski iki şekilde de bir adet disk group’a ekleyebiliriz. Size belirtilmemiş çünkü hepsi aynı size’da.

Miscellaneous ALTER Commands

Miscellaneous ALTER Commands

Disk A5 drop edilir.  Daha sonra RBAL işlemi başlar.

Miscellaneous ALTER Commands

Önce A6’yı drop et. Sonra bir adet içinde A9’un yer aldığı fail group oluştur. Miscellaneous ALTER Commands
Drop işlemlerini iptal et.

Using Enterprise Manager to Edit Disk Group Attributes

 

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir