最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

FlashbackDatabase

来源:动视网 责编:小采 时间:2020-11-09 15:12:23
文档

FlashbackDatabase

FlashbackDatabase:Flashback Database命令可以在RMAN和SQL*PLUS里面执行: [root@linux5 ~]# su - oracle [oracle@linux5 ~]$ sqlplus / as sysdba SQL*Plus: Release 10.2.0.1.0 - Production on Wed Apr 2 00:18:06
推荐度:
导读FlashbackDatabase:Flashback Database命令可以在RMAN和SQL*PLUS里面执行: [root@linux5 ~]# su - oracle [oracle@linux5 ~]$ sqlplus / as sysdba SQL*Plus: Release 10.2.0.1.0 - Production on Wed Apr 2 00:18:06


Flashback Database命令可以在RMAN和SQL*PLUS里面执行: [root@linux5 ~]# su - oracle [oracle@linux5 ~]$ sqlplus / as sysdba SQL*Plus: Release 10.2.0.1.0 - Production on Wed Apr 2 00:18:06 2014 Copyright (c) 1982, 2005, Oracle. All rights rese

Flashback Database命令可以在RMAN和SQL*PLUS里面执行:

[root@linux5 ~]# su - oracle
[oracle@linux5 ~]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Wed Apr 2 00:18:06 2014

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

Connected to an idle instance.

SQL> startup
ORACLE instance started.

Total System Global Area 167772160 bytes
Fixed Size 1218316 bytes
Variable Size 754997 bytes
Database Buffers 88080384 bytes
Redo Buffers 2973696 bytes
Database mounted.
Database opened.
SQL> host clear

查看是否启动Flash Recovery Area(分配充足,容纳数据文件、控制文件、重做日志文件、备份文件、增量备份文集、尚未备份的归档文件、Flashback Logs……)
SQL> show parameter db_recover

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string /u01/app/oracle/flash_recovery
_area
db_recovery_file_dest_size big integer 2G

检查是否启用归档:
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /u01/arch_orcl
Oldest online log sequence 57
Next log sequence to archive 59
Current log sequence 59

检查是否启用Flashback Database和Force Logging
SQL> select flashback_on,force_logging from v$database;

FLASHBACK_ON FOR
------------------ ---
NO YES

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 167772160 bytes
Fixed Size 1218316 bytes
Variable Size 754997 bytes
Database Buffers 88080384 bytes
Redo Buffers 2973696 bytes
Database mounted.
SQL> alter database flashback on;

Database altered.

SQL> select flashback_on,force_logging from v$database;

FLASHBACK_ON FOR
------------------ ---
YES YES

SQL> select dbms_flashback.get_system_change_number from dual;
select dbms_flashback.get_system_change_number from dual
*
ERROR at line 1:
ORA-00904: "DBMS_FLASHBACK"."GET_SYSTEM_CHANGE_NUMBER": invalid identifier


SQL> alter database open;

Database altered.

查询当前的SCN

SQL> select dbms_flashback.get_system_change_number from dual;

GET_SYSTEM_CHANGE_NUMBER
------------------------
12499

SQL> conn scott/oracle
Connected.
SQL> drop table temp purge;

Table dropped.

SQL> drop table flash_tbl 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 167772160 bytes
Fixed Size 1218316 bytes
Variable Size 754997 bytes
Database Buffers 88080384 bytes
Redo Buffers 2973696 bytes
Database mounted.

恢复数据库:
SQL> flashback database to SCN 12499;

Flashback complete.

SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-015: must use RESETLOGS or NORESETLOGS option for database open

执行完Flashback Database命令之后,有两种打开方式:open resetlogs和read only。

open resetlogs:指定SCN之后的数据都会丢失。

read only :打开数据库之后,通过逻辑导出误操作的表的数据,再执行recover database命令以重新应用数据库产生的REDO,将数据库修复到Flashback Database操作前的状态,然后通过逻辑导入的方式,将之前误操作的表重新导入,这样就不会有数据丢失了。
SQL> alter database open resetlogs;

Database altered.

SQL> conn scott/oracle
Connected.
SQL> select * from tab where tname in('flash_tbl','temp');

no rows selected

SQL> select * from tab where tname in('flash_tbl','temp');

no rows selected

SQL> select * from tab where tname in('FLASH_TBL','TEMP');

TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
FLASH_TBL TABLE
TEMP TABLE

恢复操作成功……

文档

FlashbackDatabase

FlashbackDatabase:Flashback Database命令可以在RMAN和SQL*PLUS里面执行: [root@linux5 ~]# su - oracle [oracle@linux5 ~]$ sqlplus / as sysdba SQL*Plus: Release 10.2.0.1.0 - Production on Wed Apr 2 00:18:06
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top