Kategori arşivi: +ASM

ASM Oracle Automatic Storage Management ile ilgili makaleler..

ASM Spfile Farklı Diske Taşımak

ASM Spfile’ı Farklı Bir ASM Diske Taşımak.

ASM Spfile’ı farklı bir ASM disk gruba nasıl taşıyabiliriz? Hem RAC hem single ortamda örnekle yapalım.
RAC ve single instance için aslında aynı işlemler yapılıyor, işlem sonunda kapatıp açmak dışında
bir fark yok. Örneğimizde ASM spfile +DATA diskinde bulunuyor, spfile’ı yeni eklediğimiz(eklendiğini varsayıyorum) +DATANEW diskine taşıyacağız.

Ortamlar:
Solaris 10
Oracle 11.2.0.4 RAC

Mevcut +ASM spfile neredeymiş öğrenelim.

-bash-3.2$ export ORACLE_HOME=/oragrid/app/product/11.2.0.4/grid
-bash-3.2$ export ORACLE_SID=+ASM
-bash-3.2$ export PATH=$ORACLE_HOME/bin:$PATH
-bash-3.2$ sqlplus / as sysasm

SQL*Plus: Release 11.2.0.4.0 Production on Wed Mar 29 13:42:26 2017

Copyright (c) 1982, 2013, Oracle. All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Automatic Storage Management option

SQL> show parameter spfile;

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string +DATA/asm/asmparameterfile/reg
istry.253.938787283

Spfile’dan geçici bir pfile create edelim.(/tmp/ altına)

SQL> create pfile='/tmp/initASM.ora' from spfile;

File created.

Bu geçici pfile’dan yeni diskimize Spfile create edelim.
(ismini ve pathini ASM otomatik verecek,+DATANEW yazmamız yeterli)

SQL> create spfile='+DATANEW' from pfile='/tmp/initASM.ora';

File created.

SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Automatic Storage Management option

ASM Instance’ını kapatıp açalım, RAC ve Single Instance ortamlarda ayrı ayrı yaptım..

RAC ortamlarda:

-bash-3.2$ crsctl stop has
[oracle@localhost ~]$ crsctl start has
CRS-4123: Oracle High Availability Services has been started

Single Instance ortamlarda :

-- Database(ler) kapatılır.
-bash-3.2$ export ORACLE_HOME=/oragrid/app/product/11.2.0.4/db
-bash-3.2$ export ORACLE_SID=test
-bash-3.2$ export PATH=$ORACLE_HOME/bin:$PATH
-bash-3.2$ sqlplus / as sysdba
SQL> shutdown immediate;

--ASM kapatılır
-bash-3.2$ export ORACLE_HOME=/oragrid/app/product/11.2.0.4/grid
-bash-3.2$ export ORACLE_SID=+ASM
-bash-3.2$ export PATH=$ORACLE_HOME/bin:$PATH
-bash-3.2$ sqlplus / as sysasm
SQL> shutdown immediate;

--ASM açılır..
-bash-3.2$ export ORACLE_HOME=/oragrid/app/product/11.2.0.4/grid
-bash-3.2$ export ORACLE_SID=+ASM
-bash-3.2$ export PATH=$ORACLE_HOME/bin:$PATH
-bash-3.2$ sqlplus / as sysasm
SQL> startup;

-- Database(ler) açılır.
-bash-3.2$ export ORACLE_HOME=/oragrid/app/product/11.2.0.4/db
-bash-3.2$ export ORACLE_SID=test
-bash-3.2$ export PATH=$ORACLE_HOME/bin:$PATH
-bash-3.2$ sqlplus / as sysdba
SQL> startup;

ASM Spfile’ın yeni lokasyonu kontrol edilir..

-bash-3.2$ export ORACLE_HOME=/oragrid/app/product/11.2.0.4/grid
-bash-3.2$ export ORACLE_SID=+ASM
-bash-3.2$ export PATH=$ORACLE_HOME/bin:$PATH
-bash-3.2$ asmcmd
ASMCMD> spget
+DATANEW/asm/asmparameterfile/registry.313.236767881

Ya da;

-bash-3.2$ export ORACLE_HOME=/oragrid/app/product/11.2.0.4/grid
-bash-3.2$ export ORACLE_SID=+ASM
-bash-3.2$ export PATH=$ORACLE_HOME/bin:$PATH
-bash-3.2$ sqlplus / as sysasm

SQL*Plus: Release 11.2.0.4.0 Production on Wed Mar 29 13:42:26 2017

Copyright (c) 1982, 2013, Oracle. All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Automatic Storage Management option

SQL> show parameter spfile;

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string +DATANEW/asm/asmparameterfile/reg
istry.313.236767881

Görüldüğü gibi ASM spfile yeni ASM diskine taşınmış oldu..

Faydalı olması dileğiyle!

ASM disk değiştirmek, eklemek, çıkarmak

ASM disk değiştirmek, eklemek, çıkarmak..

Bu örnekte iki ASM disk grubumuza yeni diskler ekleyip eski diskleri drop edip boşa çıkaracağız.
Bunun için sistem kesintisi gerekmiyor, online olarak yapabiliyoruz. İşlemler 11GR2 grid instance ve 11GR2 single oracle instance üzerinde denendi. RAC ortamlarda biraz daha farklı süreç var onu ayrıca yazmayı düşünüyorum.Böyle bir işleme disk ünitenizin değişimi gibi durumlarda ihtiyacınız olabilir.

1-) Oracle grid değişkenlerini set edelim.

-bash-3.2$ export ORACLE_HOME=/oragrid/app/product/11.2.0.4/grid
-bash-3.2$ export ORACLE_SID=+ASM
-bash-3.2$ export PATH=$ORACLE_HOME/bin:$PATH

2-) ASM instance’ına giriş yapalım..

-bash-3.2$ sqlplus / as sysasm
SQL*Plus: Release 11.2.0.4.0 Production on Mon Jul 13 11:22:05 2015

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Automatic Storage Management option

SQL> set linesize 400;

3-) ASM disklerimizi kontrol edelim.

SQL> Select NAME,path, header_status, mode_status from v$asm_disk;
NAME	        PATH	                HEADER_STATUS	MODE_STATUS
DATA_0000	/dev/rdsk/emcpower1g	MEMBER	        ONLINE
RECO_0000	/dev/rdsk/emcpower2g	MEMBER	        ONLINE

4-) Yeni diskleri DATA ve RECO disk grubuna ekleyelim.

/dev/rdsk/emcpower3g DATA disk grubuna ekliyoruz.
/dev/rdsk/emcpower4g RECO disk grubuna ekliyoruz.

SQL> alter diskgroup DATA add disk '/dev/rdsk/emcpower3g' rebalance power 7;
Diskgroup altered.

SQL> alter diskgroup RECO add disk '/dev/rdsk/emcpower4g' rebalance power 7;
Diskgroup altered.

--ASM disk gruba birden fazla disk eklemek isteseydik aşağıdaki gibi yazmamız gerekiyordu.
-- , ile ayırıyoruz disk pathlerini.
--alter diskgroup DATA add disk '/dev/rdsk/emcpower9g','/dev/rdsk/emcpower10g' rebalance power 7;

5-) Yeni diskler eklendiği için ASM instanceı datayı yeni eklenen disklere de yayarak rebalance işlemi yapacaktır. Eski diskleri drop etmek için bu işlemin bitmesini beklemeliyiz.

İşlemin ne kadar zamanda tamamlancağını aşağıdaki sorgu ile görebiliriz.

SQL> select operation,state,power,sofar,est_work,est_rate,est_minutes from v$asm_operation;

OPERA STAT      POWER      SOFAR   EST_WORK   EST_RATE EST_MINUTES
----- ---- ---------- ---------- ---------- ---------- -----------
REBAL RUN           1       4623     122267       4879          19
REBAL WAIT          1

Sorgu sonucu boş geldiğinde ASM instanceı rebalance işlemini bitirmiş demektir.

SQL> select operation,state,power,sofar,est_work,est_rate,est_minutes from v$asm_operation;

OPERA STAT      POWER      SOFAR   EST_WORK   EST_RATE EST_MINUTES
----- ---- ---------- ---------- ---------- ---------- -----------

6-) Yeni diskleri de eklediğimize göre asm disklerimizde yeni diskleri görmemiz gerekiyor, kontrol edelim..

SQL> select NAME,path, header_status, mode_status, os_mb,free_mb,create_date,voting_file from v$asm_disk ORDER BY 1,2,3;

NAME	        PATH	                HEADER_STATUS	MODE_STATUS	OS_MB	FREE_MB	CREATE_DATE	        VOTING_FILE
DATA_0000	/dev/rdsk/emcpower1g	MEMBER	        ONLINE	        104414	68863	22.5.2015 11:16:05	N
DATA_0001	/dev/rdsk/emcpower3g	MEMBER	        ONLINE	        104518	68791	10.6.2015 14:18:24	N
RECO_0000	/dev/rdsk/emcpower2g	MEMBER	        ONLINE	        104414	85978	22.5.2015 11:17:24	N
RECO_0001	/dev/rdsk/emcpower4g	MEMBER	        ONLINE	        104424	85960	10.6.2015 14:20:24	N

7-) Şimdi eski diskleri drop edip ASM den çıkarabiliriz.Rebalance power parametresi burada rebalance hızını ayarlar,1-11 arası değer alabilir.1 en yavaş, 11 en hızlı yapması demektir. Çok yüksek verirseniz (10-11 gibi) kaynaklar büyük oranda data rebalance işlemine ayrılacaktır ve db de yavaşlama görülebilir. Rebalance power 7-8 verilmesi uygun olacaktır.

Şimdi eski diskleri Drop edelim..

SQL> alter diskgroup DATA drop disk 'DATA_0000' rebalance power 7;
Diskgroup altered.

SQL> alter diskgroup RECO drop disk 'RECO_0000' rebalance power 7;
Diskgroup altered.

8 -) ASM rebalance operation durumuna aşağıdaki gibi bakılır.Sorgu sonucu boş gelince işlem bimiştir.
Rebalance işlemini kontrol edelim, sorgumuz boş gelince tamamlanmış olacaktır.

SQL> select operation,state,power,sofar,est_work,est_rate,est_minutes from v$asm_operation;
OPERA STAT      POWER      SOFAR   EST_WORK   EST_RATE EST_MINUTES
----- ---- ---------- ---------- ---------- ---------- -----------
REBAL RUN           7       4623     122267       4879          14

SQL> select operation,state,power,sofar,est_work,est_rate,est_minutes from v$asm_operation;
OPERA STAT      POWER      SOFAR   EST_WORK   EST_RATE EST_MINUTES
----- ---- ---------- ---------- ---------- ---------- -----------

9-) Son olarak disklerimizi kontrol edelim, eski diskler asm disk listesinden gitmiş olmalı.

SQL> select name,path, header_status, mode_status, os_mb,free_mb,create_date,voting_file from v$asm_disk ORDER BY 1,2,3;

NAME	        PATH	                HEADER_STATUS	MODE_STATUS	OS_MB	FREE_MB	CREATE_DATE	        VOTING_FILE
DATA_0001	/dev/rdsk/emcpower3g	MEMBER	        ONLINE	        104518	33240	10.6.2015 14:18:24	N
RECO_0001	/dev/rdsk/emcpower4g	MEMBER	        ONLINE	        104424	67524   10.6.2015 14:20:24	N

Ve böylelikle ASM disklerimizi yenileriyle değiştirmiş olduk..

ASM Disk Sorguları

Aşağıdaki sorgularla ASM diskleri hakkında bilgi edinebiliriz..

– ASM Disk Kullanımı

Disk gruplarının toplam alan, kullanılan alan bilgilerini görebiliriz..

select name disk_name,
sector_size,
state,
TYPE,
round(total_mb/1024,0) total_gb,
round((total_mb – free_mb)/1024,0) used_gb,
round((1 – (free_mb/total_mb))*100,0) pct_used
from v$asm_diskgroup
order by name;

         DISK_NAME                  STATE            TYPE          TOTAL_GB          USED_GB           PCT_USED
                  DATA          CONNECTED        EXTERN 1024 755 74
                  RECO          CONNECTED        EXTERN 150 24 16

 

– ASM Disk Listesi

Asm Disk gruplarındaki diskleri ve bilgilerini listeler..

select d.group_number,
d.failgroup,
d.disk_number,
d.path,
d.name,
d.total_mb,
d.free_mb,
d.create_date,
d.mount_date,
d.voting_file
from v$asm_disk_stat d
order by d.group_number,d.name;

GROUP FAILGROUP PATH NAME TOTAL_MB FREE_MB VOTING_FILE
1 DATA_0006 /dev/rdsk/emcpower11g DATA_0006 1048476 275696 N
2 RECO_0002 /dev/rdsk/emcpower10g RECO_0002 153566 128083 N

 

– Tüm Disk listesi

Aşağıdaki sorgu ile ASM’e tanıtılmış diskler, tanıtılıp çıkarılmış diskler ve tanıtılmaya aday disk bilgileri görüntülenebilir. Header_status alanında ;

MEMBER ise o disk ASM’e tanıtılmış demektir.
FORMER ise o disk daha önce tanıtılmış ve sökülmüş oldugunu gösterir.
CANDIDATE ise diskin raw formatta oldugunu ve ASM disk gruplarından birine eklenebileceğini ifade eder.

select name,
path,
header_status,
mode_status,
os_mb,
free_mb,
create_date,
voting_file
from v$asm_disk;

NAME PATH HEADER_STATUS MODE_STATUS OS_MB FREE_MB VOTING_FILE
OCR_VOT_0000 /dev/rdsk/emcpower5g MEMBER ONLINE 8182 7787 Y
RECO_0001 /dev/rdsk/emcpower7g MEMBER ONLINE 154586 134607 N
DATA_0002 /dev/rdsk/emcpower6g MEMBER ONLINE 358364 127976 N
/dev/rdsk/emcpower4p1 CANDIDATE ONLINE 403 0 N

VOTING_FILE Kolonu RAC sistemlerde VOTING diskin hangi disk olduğunu gösterir..

Bu viewlerin yanısıra, aşağıdaki viewleri de sorgulayarak asm disk,group bilgilerine ulaşabiliriz.

V$ASM_DISKGROUP_STAT : Disk grouplarıyla ilgili bilgiler sunar)
V$ASM_OPERATION : Disk üzerindeki  işlemlerin ne aşamada olduğunu görmek için bakabiliriz.Rebalance işlemlerini bu viewden görebiliriz..