- offline backup alınmak istendiğinde (online backup alınabilir)
- Uygulama yüklemesi/güncellemesi yaparken
- TS ismini değiştirirken veya taşırken (relocate)
- datafile de sorun olduğunda
- System
- Undo
- temporary
3 parametre ile offline alınabilir. Defaultu normaldir.
- normal : media recovery gerektirmez.
- temporary : Normal ile offline alınamazsa kullanılır. media recovery gerektirebilir.
- immediate :Normal ile ve temporary ile alınamazsa kullanılır. Media recovery gerektirir , eğer archive modda değilseniz bu parametreyi kullanamazsınız.
ReadOnly
Readonly modda data girişi yapılamaz, sorgulama yapılabilir, yeni obje oluşturulamaz ama drop edilebilir. Büyük TS'leri yedeklemek için önce read only moda alınıp yedeklenir. Diğer database lere taşınabilir, CD-ROM vb cihazlarda saklanabilir.
- TS uygulanması gereken undo içeriğinin olmaması gerekir.
- active undo ve system TS read only yapılamaz.
- Yedekleme bitiminde datafile ların headerı güncellendiğinden online backup aşamasında olmaması gerekir.
alter tablespace satis read only;
alter tablespace satis read write ;
CREATE TABLE TEST_TABLE1(
ID NUMBER,
ISIM VARCHAR2(20 BYTE)
)
TABLESPACE SATIS;
ID NUMBER,
ISIM VARCHAR2(20 BYTE)
)
TABLESPACE SATIS;
alter tablespace satis read only; çalıştırıldı ole kaldı beklemede
select sql_text, SADDR
from v$sqlarea, v$session
where v$sqlarea.address = v$session.sql_address
and sql_text like 'alter tablespace%';
SQL> select ses_addr, start_scnb
2 from v$transaction
3 order by start_scnb;
2 from v$transaction
3 order by start_scnb;
SES_ADDR START_SCNB
-------- ----------
2EAF6BD0 1965814
2EAF591C 1967631
-------- ----------
2EAF6BD0 1965814
2EAF591C 1967631
alter tablespace satis offline immediate; takıldı kaldı
Hangi transactionların readonly moda geçtiğini bulabilmek için aşağıdaki sorgulamalar çalıştırılır.
select s.username, s.sid, s.serial#, t.start_time, n.name
from v$session s, v$transaction t, v$rollstat r, v$rollname n
where s.saddr=t.ses_addr
and r.usn=n.usn
and to_date(t.start_time,'MM/DD/YY HH24:MI:Ss')<(sysdate-(1/24));
from v$session s, v$transaction t, v$rollstat r, v$rollname n
where s.saddr=t.ses_addr
and r.usn=n.usn
and to_date(t.start_time,'MM/DD/YY HH24:MI:Ss')<(sysdate-(1/24));
Not: Büyük boyutlu TS lerin readonly modda kullanıdılğı Database lerde read_only_open_delayed parametresinin true yapılması önerilir. Bu şekilde database açılırken readly TS lerin datafile larını kontrol etmez, sadece bu TS'leri ilk okuma yapılmak istendiğinde erişim sağlanır.
- Kayıp ya da bozulmuş read only TS lerin datafile ları database açılırken kontrol edilmez, ilk erişim okuma yapılmak istendiğinde olur.
- "Alter system check datafiles" "Alter tablespace ... online" "Alter database datafile ... online", "alter database noarchivelog" read only datafile ları kontol etmez.
- v$recover_file, v$backup, v$datafile_header, v$datafile ve v$recover_log read-only TS lere erişmezler.
Not: "recover database", "alter database open resetlogs" başlangıç dosyasında ne yazarsa yazsın read-only datafile lara erişmeye devam eder. Önlemek için datafile lar offline a alınmalı. backup control file kullanılıyorsa read-only datafile lar sorun çıkarabilir, bunun göz önünde bulundurulması gerekir.
Hiç yorum yok:
Yorum Gönder