您好,欢迎访问一九零五行业门户网

Oracle Flashback database

这里简单介绍下flashback database,这个既可以在rman中执行,也可以再sql*plus执行,有时候还是挺实用的
这里简单介绍下flashback database,这个既可以在rman中执行,也可以再sql*plus执行,有时候还是挺实用的
必备条件:
1:必须是归档模式
2:必须指定flash recovery area
sql> show parameter db_recovery
name                                type                            value
------------------------------------ -------------------------------- ------------------------------
db_recovery_file_dest                string                          /app/oracle/flash_recovery_area --闪回区路径,如果是rac,放在共享存储中
db_recovery_file_dest_size          big integer                      10g                            --闪回区大小,,该空间大小建议可以放入所有数据库文件
以上参数的设置相信大家都会alter system set xxxxxx='';接下来介绍下打开闪回功能:
sql> alter database flashback on;
alter database flashback on
*
error at line 1:
ora-38759: database must be mounted by only one instance and not open.
sql> shutdown immediate;
database closed.
database dismounted.
oracle instance shut down.
sql> startup mount;
oracle instance started.
total system global area 5049942016 bytes
fixed size                  2090880 bytes
variable size            1375733888 bytes
database buffers        3657433088 bytes
redo buffers              14684160 bytes
database mounted.
sql> alter database flashback on;
alter database flashback on
*error at line 1:
ora-38706: cannot turn on flashback database logging.
ora-38707: media recovery is not enabled.
sql> alter database archivelog;
database altered.
sql> alter database flashback on;
database altered.
sql> alter database open;
database altered.
sql> alter database force logging;
database altered.
sql> select flashback_on,force_logging from v$database;
flashback_on      for
------------------ ---
yes                yes
相信大家看的很明白了,一定是要在mount模式,而且归档一定要打开,数据库要force logging。
sql> set num 16
sql>  select dbms_flashback.get_system_change_number from dual;
get_system_change_number
------------------------
122693676204
sql> conn test/test
connected.
sql> select table_name from user_tables;
table_name
------------------------------
tb2
flash_version
tb1
tbl_oracle_fdw
sql> drop table tb1 purge;
table dropped.
sql> drop table tb2 purge;
table dropped.
sql> conn /as sysdba
connected.
sql> shutdown immediate;
database closed.
database dismounted.
oracle instance shut down.
sql> startup mount;
oracle instance started.
total system global area      5049942016 bytes
fixed size                        2090880 bytes
variable size                  1375733888 bytes
database buffers              3657433088 bytes
redo buffers                    14684160 bytes
database mounted.
sql> flashback database to scn 122693676204 ;
flashback complete.
sql> alter database open resetlogs;
database altered.
sql> conn test/test
connected.
sql> select table_name from user_tables;
table_name
------------------------------
tb2
flash_version
tb1
tbl_oracle_fdw
可以看到tb1和tb2都回来了,好了flashback的使用就介绍到这里
其它类似信息

推荐信息