Merhaba Arkadaşlar,
Bu yazımda sizlere Oracle Flashback i anlatmaya devam edeceğim. Bu yazıyı okumadan önce Flashback ile alakalı önceki makaleleri okumanızı tavsiye ederim.
Önceki yazılarda Flashback database, table, query ve data archive gibi özellikleri gördük. Şimdi de Flashback ile kaybolan veya silinen bir Datafile ı restore etmeyi görecez.
FLASHBACK İLE DATAFILE RESTORE
Bu özellik ile bir tablespace’in datafile ile birlikte drop edilmesinden sonra flashback ve rman ile geri döndürülebilmektedir.
1-)Öncelikle bir tablespace ve kullanıcı yaratıp içerisinde tablo oluşturup içine örnek data ekliyoruz.
[oracle@MehmetSalih ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Wed Feb 25 11:31:49 2015 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> create tablespace ts datafile '/u01/app/oracle/oradata/deneme/ts_01.dbf' size 100m; Tablespace created. SQL> create user ts identified by Deveci; User created. SQL> grant dba to ts; Grant succeeded. SQL> alter user ts default tablespace ts; User altered. SQL> exit Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options [oracle@MehmetSalih ~]$ sqlplus ts/Deveci SQL*Plus: Release 11.2.0.4.0 Production on Wed Feb 25 11:33:13 2015 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> select name from v$datafile; NAME -------------------------------------------------------------------------------- /u01/app/oracle/oradata/deneme/system01.dbf /u01/app/oracle/oradata/deneme/sysaux01.dbf /u01/app/oracle/oradata/deneme/undotbs01.dbf /u01/app/oracle/oradata/deneme/users01.dbf /u01/app/oracle/oradata/deneme/example01.dbf /u01/app/oracle/product/11.2.0.4/db/dbs/aydem_data.dbf /u01/app/oracle/product/11.2.0.4/db/dbs/UNNAMED00007 /u01/app/oracle/oradata/deneme/tb_01.dbf /u01/app/oracle/oradata/deneme/ts_01.dbf 9 rows selected. SQL> create table ts(id number); Table created. SQL> insert into ts(id) values(10); 1 row created. SQL> commit; Commit complete. SQL> select * from ts; ID ---------- 10 SQL> exit
2-) Güncel scn mize bakıyoruz. Burada drop ettiğimiz tarihi biliyorsak onuda kullanabiliriz.
[oracle@MehmetSalih ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Wed Feb 25 11:34:04 2015 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> select current_scn from v$database; CURRENT_SCN ----------- 1859609
3-) Daha sonra tablespace imizi ve datafile ımızı test amaçlı drop ediyoruz.
SQL> drop tablespace ts including contents and datafiles; Tablespace dropped.
4-) Şimdi flashback kullanarak datafile ımızı geri döndürmeye çalışıyoruz.
SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> startup mount; ORACLE instance started. Total System Global Area 1419685888 bytes Fixed Size 2253224 bytes Variable Size 855641688 bytes Database Buffers 553648128 bytes Redo Buffers 8142848 bytes Database mounted. --- Flashback database özelliğiyle datafile ın restore olmadan önceki bir zamana yada SCN ye aşağıdaki gibi döndürüyoruz. SQL> flashback database to scn 1859609; Flashback complete. --- Flashback ile döndükten sonra aşağıdaki gibi open resetlogs la açıyoruz. SQL> alter database open resetlogs; Database altered. Şimdi tekrar datafile lara bakıyoruz aşağıdaki gibi. SQL> select name from v$datafile; NAME -------------------------------------------------------------------------------- /u01/app/oracle/oradata/deneme/system01.dbf /u01/app/oracle/oradata/deneme/sysaux01.dbf /u01/app/oracle/oradata/deneme/undotbs01.dbf /u01/app/oracle/oradata/deneme/users01.dbf /u01/app/oracle/oradata/deneme/example01.dbf /u01/app/oracle/product/11.2.0.4/db/dbs/aydem_data.dbf /u01/app/oracle/product/11.2.0.4/db/dbs/UNNAMED00007 /u01/app/oracle/oradata/deneme/tb_01.dbf /u01/app/oracle/product/11.2.0.4/db/dbs/UNNAMED00009 9 rows selected.
5-) Drop edilen datafile ın adı değiştiği için onu tekrardan eski ismine getiriyoruz.
SQL> alter database create datafile '/u01/app/oracle/product/11.2.0.4/db/dbs/UNNAMED00009' as '/u01/app/oracle/oradata/deneme/ts_01.dbf'; Database altered. SQL> select name from v$tablespace; NAME ------------------------------ SYSTEM SYSAUX UNDOTBS1 USERS TEMP EXAMPLE AYDEM_DATA TB TBS TS 10 rows selected.
6-) Datafile ımız geri geldi fakat içerisinde bulunan tablolara sorgu atamıyoruz.
SQL> select * from ts.ts; select * from ts.ts * ERROR at line 1: ORA-00376: file 9 cannot be read at this time ORA-01110: data file 9: '/u01/app/oracle/oradata/deneme/ts_01.dbf' SQL> select name from v$datafile; NAME -------------------------------------------------------------------------------- /u01/app/oracle/oradata/deneme/system01.dbf /u01/app/oracle/oradata/deneme/sysaux01.dbf /u01/app/oracle/oradata/deneme/undotbs01.dbf /u01/app/oracle/oradata/deneme/users01.dbf /u01/app/oracle/oradata/deneme/example01.dbf /u01/app/oracle/product/11.2.0.4/db/dbs/aydem_data.dbf /u01/app/oracle/product/11.2.0.4/db/dbs/UNNAMED00007 /u01/app/oracle/oradata/deneme/tb_01.dbf /u01/app/oracle/oradata/deneme/ts_01.dbf 9 rows selected.
Bundan sonraki yazıda geri döndürdüğümüz Datafiledan tablolara sorgu atmayı ve geri kalan adımları anlatacağım şimdilik esen kalın…
Oracle Exadata SQL Server Goldengate Weblogic EBS ve Linux konusunda aşağıdaki konularda 7×24 Uzman Danışmanlara yada Eğitimlere mi İhtiyacınız var mehmet.deveci@gridgroup.com.tr adresine mail atarak Bizimle iletişime geçebilirsiniz.
– Oracle Veritabanı Danışmanlığı
– Oracle Veritabanı Bakım ve Destek
– Exadata Danışmanlığı
– Exadata Bakım ve Destek
– SQL Server Veritabanı Danışmanlığı
– SQL Server Veritabanı Bakım ve Destek
– Goldengate Danışmanlığı
– Goldengate Bakım ve Destek
– Linux Danışmanlığı
– Linux Bakım ve Destek
– Oracle EBS Danışmanlığı
– Oracle EBS Bakım ve Destek
– Weblogic Danışmanlığı
– Weblogic Bakım ve Destek
– Oracle Veritabanı Eğitimleri
– Oracle VM Server Danışmanlığı
– Oracle VM Server Bakım ve Destek
– Oracle EPPM Danışmanlığı
– Oracle EPPM Bakım ve Destek
– Oracle Primavera Danışmanlığı
– Oracle Primavera Bakım ve Destek
– Oracle Eğitimleri
– SQL Server Eğitimleri
– Goldengate Eğitimleri
– Exadata Eğitimleri
– Linux Eğitimleri
– Oracle EBS Eğitimleri
– Oracle VM Server Eğitimleri
– Weblogic Eğitimleri
– Oracle EPPM Eğitimleri
– Oracle Primavera Eğitimleri