CRS-2640: Required resource ‘STRING’ is missing

Genelde bir diskrgroup’ u drop edildiğinde her ne kadar resource group’ dan çıkartsanız bile srvctl komutu ile database’ i kapatıp açmaya çalıştığınız da ;

[oragrid@Redhat70 ~]$ /u01/oragrid/grid/11cR2/bin/srvctl start database -d ractest
PRCR-1079 : Failed to start resource ora.ractest.db
CRS-2640: Required resource ‘ora.DATA_0000.dg’ is missing.

Hatasını alabilirsiniz. Burda yapılacak şey aslında diskgorup ‘ u önce disable edip sonrasında remove etmeye çalışalım;

[oracle@Redhat70 ~]$ srvctl disable diskgroup -g ora.DATA_0000.dg
PRCR-1031 : Resource attribute NAME value ora.ORA.DATA_0000.DG.dg is not valid

[oracle@Redhat70 ~]$ srvctl remove diskgroup -g DATA_0000 -f
PRCA-1000 : ASM Disk Group DATA_0000 does not exist
PRCR-1001 : Resource ora.DATA_0000.dg does not exist
Continue reading

12c New Features : Yeni Role ve System Privileges

Oracle 12c versiyonu ile bilikte hayataımıza ilk defa girmiş olan bazı role’ ler ve bu role’ lerin altında bazı system yetkileri girmiş oldu. 12c ile birlikte aslında görevler ayrılığı ilkeside biraz daha netlik kazanmış oldu. Ne demek istediğimi aslında role’ lerin detayına ve neye hizmet ettiklerine baktığınız da daha iyi anlayacağınızı düşünüyorum . Bahsetmiş olduğumuz bu role’ lerin detayına bakalım ;

• Sysdba Role ;
Oracle’ ın 12c öncesindeki tüm verssiyonlarında da var olan ve en yetkili power user olan SYS rolunun defaultta sahip olduğu role’ dür. Database’ i kapatıp açmak da dahil olmak üzere database genelinde ihtiyaç duyulan tüm yetkilere sahip olan role’ dür.

• Sysoper ;
Sysoper yetkside yine SYS userının sahip olduğu bir ayrıcalıktır. Sysdba’ e göre yetki bazında farklılıkları vardır. Diğer role’ lere geçmeden önce bu farklardan bahsedelim ;

1

Aaşğıdaki dökümandan bu iki role’ ün daha detaylı olarak nelere yetkisini olduğunu görebilirsiniz.
http://docs.oracle.com/cd/B19306_01/server.102/b14231/dba.htm#sthref137
Continue reading

Oracle 12c New Features ; Tablo Bazında Recover İşlemi

Oracle 12c ile birlikte dba’ ler olarak aslında bizim en çok beklediğimiz bikaç özellikden biride tablo bazında recover işlemini yapabilmekti. Bu aslında çokda karşılaştığımız “Nasıl yani sadece bir tabloyu dönemiyormusunuz” gibi sorularada cevap olmuş oldu. Ama burda şunu da söylemeden geçemiycem umarım developerların bu özellikden çok da haberleri olmaz. Tabiki çalıştığım veya tanıdığım çok iyi yazılımcılarda var ama olmayanlarda var. Dolayısıyla her yapılan hata sonrasında bu tarz restore taleplerininde kaçınılmaz gibi gözüküyor.

Örneğimize geçmeden önce tablo bazından restore derken temelde neleri kastediyoruz ve ksıtlarımız neler kısaca bunlardan bahsedelim;

• Bir tabloyu restore edebileceğimiz gibi sadece bir partitionı da restore edebiliriz,
• Recover edilen tabloyu yeni bir isimle başka bir tabloya veya bir partitiona insert edebiliriz,
• Recover etmeye çalıştığımız tablonun exportunu alıp database’ de import etmeyebiliriz de,
• Bütün bu işlemleri yapabilmemiz için database archive modde ve read/write olarak açılmış olmalıdır,
• Recover edeceğimiz tabloya ait kullanılabilir bir RMAN backupımız olmalıdır.

Bu işlemi aynı zamanda bir point in time recover işlemi olarak da düşünebilirsiniz dolayısıyla biz point in time recover yaparken nasıl SCN, spesifik bir zaman dilimi veya sequence numarası verebiliyor isek aynı durum burda da geçerlidir. Bu 3 opsiyonu kullanarak da tablomuzu recover edebiliriz.

Tablo bazında recover işlemini yaparken yapılabilecek olası hatalardan da bahsetmek istiyorum. Böylelikle sizinde bu tarz işlemler de karşılaşma ihtimali yüksek olan bazı hataları farketme şansınız olacaktır.

İlk olarak tablo bazında recover ederken set until clause’ unu kullanmadan recover başlatırsanız ;

Continue reading