Bugra Canbakal's Oracle Blog

  • Home
  • Contact
  • SITE MAP
You are here: Home / Oracle / RMAN / Flashback database

Flashback database

Ocak 18, 2013 By Bugra Canbakal 4 Comments

1.AMAÇ VE KAPSAM
Flashback database teknolojisi sayesinde mantiksal yapilmiş olan hataları belirtmiş olduğumuz  flashback süresi boyutunda düzeltmemiz mümkün.Flashback database de dönüş işlemini gerçekleştirirken zaman,log sequence veya scn kullanabiliriz.

Not: Disk hatalari veya datafile/redo/controlfile dosyalarin silinmesi gibi fiziksel hatalarda ise bu teknolojiyi kullanamayız.

2.UYGULAMA

2.1. Kapalı olan veritabanıma bağlanıp flashback database özelliğini açıyoruz.

[oracle@sb trace]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.2.0 Production on Fri Jan 18 10:21:38 2013

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

Connected to an idle instance.

SQL> startup mount
ORACLE instance started.

Total System Global Area 4.0353E+10 bytes
Fixed Size            2235176 bytes
Variable Size         2.1072E+10 bytes
Database Buffers     1.9193E+10 bytes
Redo Buffers           85233664 bytes
Database mounted.
SQL> alter database flashback on;
Database altered.

2.2.  Db_flashback_retention_target süresine bakmamız gerekiyor ,bu parametre default olarak 1140 dk ya ayarlidir bunu 2 gune cekip veritabanını açık posizyona getiriyoruz.

SQL> show parameter flashback

NAME                                 TYPE             VALUE
------------------------------------ ---------------- --------------
db_flashback_retention_target         integer         1440

SQL> alter system set db_flashback_retention_target=2880;

System altered.

SQL> alter database open;

Database altered.

2.3. 1000 row lu dummy bir tablo oluşturuyorum.

 CREATE TABLE bcanbakal.table_x 
as select * from dba_objects where rownum < 1001;    Table created. SQL> select count(1) from bcanbakal.table_x;

  COUNT(1)
----------
      1000

2.4. Oluşturmuş olduğum bu tabloya truncate işlemini gerçekleştirecem, bu işlemi gerçekleştirmeden önce tablo dolu haldeyken ki database scn numarasini alıyorum.

SQL> select a.oldest_flashback_scn,(select scn_to_timestamp(a.oldest_flashback_scn) from dual) oldest_flashback_time,(select 'Current scn: '|| current_scn||' .Current scn to date: '|| scn_to_timestamp(current_scn) from v$database) current_scn,a.retention_target,a.flashback_size,a.estimated_flashback_size from v$flashback_database_log a;

OLDEST_FLASHBACK_SCN     OLDEST_FLASHBACK_TIME                 CURRENT_SCN                                                                       RETENTION_TARGET   FLASHBACK_SIZE  ESTIMATED_FLASHBACK_SIZE
--------------------     ----------------------------------   --------------------------------------------------------------                    ----------------    --------------  ------------------------
         4363163         30-OCT-12 11.03.32.000000000 AM         Current scn: 5243411 .Current scn to date: 18-JAN-13 11.03.47.000000000 AM         2880            100687872       5256462336     

SQL> truncate table bcanbakal.table_x;

Table truncated.      

SQL> select count(1) from bcanbakal.table_x;

  COUNT(1)
----------
     0

2.5. Veritabanı kapatıp ,tablomuzu truncate yapmadan önceki scn numarasına flashback database teknolojisiyle dönüş yapıyorum.

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.

Total System Global Area 4.0353E+10 bytes
Fixed Size            2235176 bytes
Variable Size         2.1072E+10 bytes
Database Buffers     1.9193E+10 bytes
Redo Buffers           85233664 bytes
Database mounted.
SQL> flashback database to scn 5243411;

Flashback complete.

2.6. Veritabanını resetlogs la açıyoruz bu işlemden sonra yeni bir fullback almanızı öneririm, çünkü artık eski backupların bir özelliği kalmıyacak.

SQL> alter database open resetlogs;

Database altered.

2.7.  Flashback islemi bittigine gore tablomuzu tekrardan kontrol edebiliriz.

SQL> select count(1) from bcanbakal.table_x;

  COUNT(1)
----------
      1000

Bunu paylaş:

  • Linkedln üzerinden paylaşmak için tıklayın (Yeni pencerede açılır) LinkedIn
  • X'te paylaşmak için tıklayın (Yeni pencerede açılır) X

Filed Under: RMAN, Single Node Tagged With: flashback, oracle flashback, resetlogs

Comments

  1. halil says

    Ocak 20, 2013 at 2:20 pm

    Merhaba Bugra Bey,
    Güzel bir blog ve çok güzel bir paylaşım teşekkürler öncelikle.
    Merak ettiğim konu flashback özelliğinin çökme ihtimali.Sistem ne kadarlık bir flashback’e izin verir acaba?Elbette disk ve diğer donanımsal özelliklere bağlıdır bu süre fakat demek istediğim Oracle tarafından önerilen bir limit var mı?Biliyor musunuz?
    Teşekkürler.

  2. Bugra Canbakal says

    Ocak 21, 2013 at 8:16 am

    Merhaba Hail bey blogu beyendiğinize sevindim.
    Oracle tarafından önerilen bir süre yok ama benim önereceğim 1-1,5 gün (gelen transectionve grown rate göre bu zaman değişebilir). Flashback teknolojisi db deki sıkıntılı durumlarda ve test amaçlı yük basılması durumlarında kullanılmakta asıl amacı ise rman recoverdan daha hızlı bir şekilde point in time recovery yapabilmek. Eğer zaman dilimini geniş tutarsak flashback esnekliğini kaybederiz.Bu tarz durumlarda rmanden recovery yapmak daha mantıklı olacaktır

  3. Manoj Mishra says

    Temmuz 8, 2019 at 2:32 pm

    Amazing post, every post is outstanding. Easily described each and every steps with query.

  4. Bugra Canbakal says

    Şubat 13, 2020 at 1:19 am

    Glad to help!

Bir Cevap YazınCevabı iptal et

This site uses Akismet to reduce spam. Learn how your comment data is processed.

About Me



Dil:

  • English
  • Turkish

Kategoriler

  • Oracle
    • RAC – Real Application Cluster
    • RMAN
    • Single Node
    • Standby – Dataguard
  • OS
    • Linux

Blogroll

  • Emre Baransel
  • Gökhan Atıl
  • H. Tonguc Yılmaz
  • Kamil Türkyılmaz
  • Tanel Poder
  • Turkce Oracle
  • Turkish Oracle User Group
  • Uwe Hesse
  • Zekeriya Beşiroğlu

Arşivler

  • Nisan 2014
  • Mart 2014
  • Ağustos 2013
  • Haziran 2013
  • Mart 2013
  • Ocak 2013
  • Aralık 2012
  • Kasım 2012
  • Temmuz 2012
  • Haziran 2012
  • Mayıs 2012
  • Ocak 2012
  • Kasım 2011
  • Ekim 2011
  • Ağustos 2011
  • Temmuz 2011
  • Haziran 2011
  • Şubat 2011
  • Ocak 2011
  • Aralık 2010
  • Kasım 2010
  • Haziran 2010
OCP
Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use.
To find out more, including how to control cookies, see here: Çerez Politikası

[footer_backtotop]

Copyright © 2010-2014 Bugra Canbakal. All rights reserved.