Geçen haftalarda ASM tarafından kullanılan bir diskgroup’ u nasıl drop edeceğimiz den bahsetmiştim.( http://www.kamilturkyilmaz.com/2015/06/17/asm-icerisinde-olusturulmus-olan-bir-diskgroup%E2%80%99-u-drop-etmek/) Aslında iki farklı yazı ile diskgroup drop ederken oluşalabilecek hatalardan bahsetmiştim. Ancak bu işin olması gereken yani hata almadan nasıl drop edeceğimiz den bahsetmediğimi farkettim. (Bu yazıya vesile olan Hakan arkadaşıma da teşekkür ederim 🙂
Öncelikle disklerimize bakalım ;
1 2 3 4 5 6 7 8 |
NAME MODE_STATUS STATE HEADER_STATUS ------------------------------ ----------- -------- ------------- DATA01_0000_0000 ONLINE NORMAL MEMBER ARCH01_0000_0000 ONLINE NORMAL MEMBER DATA02_0000_0000 ONLINE NORMAL MEMBER DATA03_0000_0000 ONLINE NORMAL MEMBER 4 rows selected. |
Henüz kullanılmadığını bildiğim DATA03_0000 diskgroup’ unu drop etmeye çalışalım. Drop işlemi öncesinde ve sonrasında nelerin değiştiğinide görebilmek adına aşağıdaki komutların çıktılarını da alalım;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
[oragrid@Rehat701 ~]$ crsctl stat res -t -------------------------------------------------------------------------------- Name Target State Server State details -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.ARCH01_0000.dg ONLINE ONLINE Rehat701 STABLE ONLINE ONLINE Rehat702 STABLE ora.ASMNET1LSNR_ASM.lsnr ONLINE ONLINE Rehat701 STABLE ONLINE ONLINE Rehat702 STABLE ora.DATA01_0000.dg ONLINE ONLINE Rehat701 STABLE ONLINE ONLINE Rehat702 STABLE ora.DATA02_0000.dg ONLINE ONLINE Rehat701 STABLE ONLINE ONLINE Rehat702 STABLE ora.DATA03_0000.dg ONLINE ONLINE Rehat701 STABLE ONLINE ONLINE Rehat702 STABLE ora.LISTENER.lsnr ONLINE ONLINE Rehat701 STABLE ONLINE ONLINE Rehat702 STABLE ora.net1.network ONLINE ONLINE Rehat701 STABLE ONLINE ONLINE Rehat702 STABLE ora.ons ONLINE ONLINE Rehat701 STABLE ONLINE ONLINE Rehat702 STABLE -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.LISTENER_SCAN1.lsnr 1 ONLINE ONLINE Rehat701 STABLE ora.LISTENER_SCAN2.lsnr 1 ONLINE ONLINE Rehat702 STABLE ora.LISTENER_SCAN3.lsnr 1 ONLINE ONLINE Rehat702 STABLE ora.MGMTLSNR 1 ONLINE ONLINE Rehat702 169.254.39.46 10.10.10.202,STABLE ora.asm 1 ONLINE ONLINE Rehat701 Started,STABLE 2 ONLINE ONLINE Rehat702 STABLE 3 OFFLINE OFFLINE STABLE ora.cvu 1 ONLINE ONLINE Rehat702 STABLE ora.mgmtdb 1 ONLINE ONLINE Rehat702 Open,STABLE ora.oc4j 1 ONLINE ONLINE Rehat702 STABLE ora.raccon1.db 1 ONLINE ONLINE Rehat701 Open,STABLE 2 ONLINE ONLINE Rehat702 Open,STABLE ora.scan1.vip 1 ONLINE ONLINE Rehat701 STABLE ora.scan2.vip 1 ONLINE ONLINE Rehat702 STABLE ora.scan3.vip 1 ONLINE ONLINE Rehat702 STABLE ora.Rehat701.vip 1 ONLINE ONLINE Rehat701 STABLE ora.Rehat702.vip 1 ONLINE ONLINE Rehat702 STABLE -------------------------------------------------------------------------------- |
Şimdi srvctl komutu yardımıyla diskgroup’ unu remove ediyorum ;
[oragrid@Redhat701 ~]$ srvctl remove diskgroup -g DATA03_0000 -f
Çok kısa süren bu işlemden sonra komutu tekrar bastığımda (resource’ larda) artık bu diskgroup olmadığından dolayı hata almayı bekliyorum ;
1 2 3 4 |
[oragrid@Redhat701 ~]$ srvctl remove diskgroup -g DATA03_0000 -f PRCA-1000 : ASM Disk Group DATA03_0000 does not exist PRCR-1001 : Resource ora.DATA03_0000.dg does not exist [oragrid@trdbaora01t ~]$ |
Tekrar resource’ ları kontrol edelim ve DATA03_0000 diskgroup’ un artık resource’larda görünmemesini bekliyoruz ;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
[oragrid@Rehat701 ~]$ crsctl stat res -t -------------------------------------------------------------------------------- Name Target State Server State details -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.ARCH01_0000.dg ONLINE ONLINE Rehat701 STABLE ONLINE ONLINE Rehat702 STABLE ora.ASMNET1LSNR_ASM.lsnr ONLINE ONLINE Rehat701 STABLE ONLINE ONLINE Rehat702 STABLE ora.DATA01_0000.dg ONLINE ONLINE Rehat701 STABLE ONLINE ONLINE Rehat702 STABLE ora.DATA02_0000.dg ONLINE ONLINE Rehat701 STABLE ONLINE ONLINE Rehat702 STABLE ora.LISTENER.lsnr ONLINE ONLINE Rehat701 STABLE ONLINE ONLINE Rehat702 STABLE ora.net1.network ONLINE ONLINE Rehat701 STABLE ONLINE ONLINE Rehat702 STABLE ora.ons ONLINE ONLINE Rehat701 STABLE ONLINE ONLINE Rehat702 STABLE -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.LISTENER_SCAN1.lsnr 1 ONLINE ONLINE Rehat701 STABLE ora.LISTENER_SCAN2.lsnr 1 ONLINE ONLINE Rehat702 STABLE ora.LISTENER_SCAN3.lsnr 1 ONLINE ONLINE Rehat702 STABLE ora.MGMTLSNR 1 ONLINE ONLINE Rehat702 169.254.39.46 10.10.10.202,STABLE ora.asm 1 ONLINE ONLINE Rehat701 Started,STABLE 2 ONLINE ONLINE Rehat702 STABLE 3 OFFLINE OFFLINE STABLE ora.cvu 1 ONLINE ONLINE Rehat702 STABLE ora.mgmtdb 1 ONLINE ONLINE Rehat702 Open,STABLE ora.oc4j 1 ONLINE ONLINE Rehat702 STABLE ora.raccon1.db 1 ONLINE ONLINE Rehat701 Open,STABLE 2 ONLINE ONLINE Rehat702 Open,STABLE ora.scan1.vip 1 ONLINE ONLINE Rehat701 STABLE ora.scan2.vip 1 ONLINE ONLINE Rehat702 STABLE ora.scan3.vip 1 ONLINE ONLINE Rehat702 STABLE ora.Rehat701.vip 1 ONLINE ONLINE Rehat701 STABLE ora.Rehat702.vip 1 ONLINE ONLINE Rehat702 STABLE -------------------------------------------------------------------------------- [oragrid@Rehat701 ~]$ |
Bu kısımda da problem olmadığını gördükden sonra son aşamaya geçebiliriz. Burda yine olası yapılabilecek hatalarıda yaparak ilerleyelim ki, benzer durumla karşılan arkadaşlar olursa onlara da yol göstermiş olalım;
1 2 3 4 5 6 7 8 9 10 11 12 13 |
[oragrid@Redhat701 ~]$ sqlplus / as sysasm SQL*Plus: Release 12.1.0.2.0 Production on Tue Jul 21 14:20:17 2015 Copyright (c) 1982, 2014, Oracle. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production With the Real Application Clusters and Automatic Storage Management options SQL> drop diskgroup DATA03_0000; drop diskgroup DATA03_0000 * ERROR at line 1: ORA-15039: diskgroup not dropped ORA-15073: diskgroup DATA03_0000 is mounted by another ASM instance |
Diskgroup’ u drop etmeye çalışırken yukarıda almış olduğumuz hatayı alırsanız, ilgili diskgroup’ un diğer ASM instance’ ları tarafından (birinde veya birkaçında, RAC sisteminiz kaç node’ lu ise tümünden dismount edilmesi gerekiyor) hala mount’ lu olduğu anlamına geliyor. Çözüm olarak tüm ASM database’ lerinden drop etmeye çalıştığımız diskgroup’ un dismount edilmesi gerekmektedir.
Tüm node’ larda aşağıdaki işlemi yapıyoruz;
1 2 |
SQL> alter diskgroup DATA03_0000 dismount; Diskgroup altered. |
Tekrar drop etmeyi deniyoruz ;
1 2 |
SQL> drop diskgroup DATA03_0000 force including contents; Diskgroup dropped. |
Artık DATA03_0000 diskgroup’ unu drop etmiş bulunuyoruz. Bundan sonrasında bu diskgroup içerisinde ne kadar diskiniz varsa artık istediğiniz yerde kullanabilirsiniz. Drop işlemini aşağıdaki komutlarla da teyit edebilirsiniz.
Asmcmd komut satırı üzerinden tüm disklere baktığımız da ;
1 2 3 4 5 6 |
[oragrid@Redhat701 ~]$ asmcmd ASMCMD> ls ARCH01_0000/ DATA01_0000/ DATA02_0000/ ASMCMD> |
Database üzerinden v$asm_disk view’ ini select ederek de artık DATA03_0000 olmadığını görüyor olmamız gerekmektedir.
1 2 3 4 5 6 7 8 9 10 |
===> select name, mode_status, state,header_status from v$asm_disk NAME MODE_STATUS STATE HEADER_STATUS ------------------------------ ----------- -------- ------------- DATA01_0000_0000 ONLINE NORMAL MEMBER ARCH01_0000_0000 ONLINE NORMAL MEMBER DATA02_0000_0000 ONLINE NORMAL MEMBER ONLINE NORMAL FORMER 4 rows selected. |