Öncelik ile bir tablespace yaratalım
CREATE SMALLFILE TABLESPACE "DENEME1" DATAFILE 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DENEME2' SIZE 100M REUSE AUTOEXTEND ON NEXT 1024K MAXSIZE 32767M , 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DENEME3' REUSE LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO
Şimdi bu tablespace'e bir datafile ekleyelim.
ALTER TABLESPACE "DENEME1" ADD DATAFILE 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DENEME2' SIZE 102400K REUSE AUTOEXTEND ON NEXT 1024K MAXSIZE 32767M
daha sonra bu tablespace de bir user oluşturalım.
CREATE USER "RMAN_DEN" PROFILE "DEFAULT" IDENTIFIED BY "*******" DEFAULT TABLESPACE "DENEME1" TEMPORARY TABLESPACE "TEMP" ACCOUNT UNLOCK
GRANT UNLIMITED TABLESPACE TO "RMAN_DEN" WITH ADMIN OPTION
GRANT "CONNECT" TO "RMAN_DEN" WITH ADMIN OPTION
GRANT "RESOURCE" TO "RMAN_DEN" WITH ADMIN OPTION
şimdi bu user altında bir tablo oluşturalım.
CREATE TABLE rman_den.tablom
AS
SELECT *
FROM all_objects
son durumu özetlemek gerekir ise elimizde bir tablespace bu tablecpace'yi kullanan bir user (schema) sonra bu tablespace'de tanımlanmış bir datafile var . Biz burada ne yapacağiz; Datafile bozulmuş senaryosu yaratacağız.
Önce RMAN ile ilgili datafile'in backupını alıyoruz.
RMAN> backup datafile 6;
elimizde backupımız var.
RMAN> LIST BACKUP of datafile 6;
aşağıdaki komut ile datafile'i siliyoruz.
ALTER DATABASE DATAFILE 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DENEME2'
OFFLINE DROP;
şimdi datafile üzerinde işlem yapmaya çalışalım.
select * from rman_den.tablom
ORA-00376: 6 dosyasi su anda okunamiyor
ORA-01110: veri dosyasi 6: 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DENEME2'
Bu hatayı alıyoruz. Bunun ne anlama geldiğini şimdi daha iyi anlayabiliriz.
Bu hatadan kurtulmak için backupdan dönme işlemini gerçekleştiriyoruz.
işletim sisteminde de dosyayı sildikten sonra
RMAN> restore datafile 6;
RMAN> recover datafile 6;
İle geri yükleme ve kurtarma işlemini tamalıyoruz. Bu işlemden sonra offline durumda olan datafile'i online yapmaktır.
ALTER DATABASE DATAFILE 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DENEME2' ONLINE
online yapma işlemini RMAN'de de yapabiliriz bunun için bir run scripti hazırlıyoruz.
Kurtarma işleminden sonra RMAN ilgili sql'i çalıştıracktır.
RMAN>RUN{
restore datafile 6;
recover datafile 6;
SQL "ALTER DATABASE DATAFILE 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DENEME2' ONLINE";
}
select * from dba_data_files -- sorgusu ile datafile'lerimizin son halini görelim.
Bu sorgu ile hem datafilelelerin konumlarını, isimlerini ve numaraları öğrenebiliriz.
Bozuk olan bir Datafile'dan RMAN ile dönme işlemini gerçekleştirmiş olduk.
Aşağıdaki hatalarda da yukarıdaki işlemleri yapılabilir.
SYS aliates 11/08/2009 >alter database open;
alter database open
*
1 satırında HATA:
ORA-01122: 6 veritabani dosyasi onaylama kontrolünü geçemedi
ORA-01110: veri dosyasi 6: 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DENEME2'
ORA-01251: Dosya numarasi 6 için bilinmeyen Dosya üstbilgiler Sürümü okundu
ORA-01157: 6 veri dosyasi tanimlanamaz veya kilitlenemez - DBWR izleme
bu hatalardan kurtulmanın bir diğer yöntemi ise ilgili datafileleri offline duruma çekmektir.
SYS aliates 11/08/2009 >alter database datafile 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DENEME4' offline;
SYS aliates 11/08/2009 >alter database open;
Veritabanı değiştirildi.
/////////////////////////////////////////////////////////////////////
offline olan datafile'yi rman ile kurtarabiliriz.
örneğin
ALTER DATABASE DATAFILE 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DENEME2' offline dediniz ve datafile offline oldu
herhangibi bir sorgu çalıştırdığınızda
ORA-00376: 9 dosyasi su anda okunamiyor
ORA-01110: veri dosyasi 9:
hatasınız alırsınız bundan kurulmak için
C:\Documents and Settings\rdcaates>rman target /
Kurtarma ¦darecisi : Release 10.2.0.1.0 - Production on Sal Au 25 21:21:21 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
hedef veritaban²na balanıldı: ORCL (DBID=1223590477)
RMAN> recover datafile 9;
recover başlatılıyor; saat 25/08/2009
kurtarma katalou yerine hedef veritabanı kontrol dosyası kullanılıyor
ayr²lan kanal: ORA_DISK_1
ORA_DISK_1 kanalı: sid=133 aygt³r³=DISK
ortam kurtarmayı başlatma
ortam kurtarma tamamlandı , geçen süre: 00:00:02
recover tamamlandı; saat 25/08/2009
RMAN>
Burada eğer datafileniz silindiyse yada yerinde yok ise o zaman yukarıdaki adımları yapmalısınız.
No comments:
Post a Comment