重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
可按以下步骤配置闪回数据库:(确保数据库处于ARCHIVELOG 模式。)
成都创新互联-成都网站建设公司,专注网站建设、成都网站建设、网站营销推广,域名注册,虚拟空间,成都网站托管有关企业网站制作方案、改版、费用等问题,请联系成都创新互联。
1. 配置快速恢复区。
2. 使用初始化参数DB_FLASHBACK_RETENTION_TARGET 设置保留目标。可指定
一个上限(以分钟为单位),指示数据库能够闪回到多长时间以前。本示例使用
了 2880 分钟,相当于两天。此参数只是一个目标,并不提供任何保证。闪回时间
间隔取决于快速恢复区中保留的闪回数据量的大小。
3. 使用以下命令启用闪回数据库:
ALTER DATABASE FLASHBACK ON;
必须先配置数据库以进行归档,且必须在 MOUNT EXCLUSIVE 模式下启动数据库
后,才能发出此命令来启用闪回数据库。
可以使用以下查询来确定是否已启用闪回数据库:
SELECT flashback_on FROM v$database;
可以使用ALTER DATABASE FLASHBACK OFF 命令禁用闪回数据库。这样,会自动删
除所有现有的闪回数据库日志。
注:仅当在独占模式下装载(而不是打开)数据库时才能启用闪回数据库。
1.确认当前模式
SYS AS SYSDBA on 29-MAR-05 select flashback_on from v$database;
FLA
---
NO
2.检查/修改恢复区设置
SYS AS SYSDBA on 29-MAR-05 show parameter db_recovery_file_dest
NAME TYPEVALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_deststring /u01/app/oracle/flash_recovery_areadb_recovery_file_dest_size big integer 10G
SYS AS SYSDBA on 29-MAR-05 alter system set db_recovery_file_dest='/u01/app/oracle/flash_recovery_area';
SYS AS SYSDBA on 29-MAR-05 alter system set db_recovery_file_dest_size=15G;
3.检查/修改闪回时间设置
SYS AS SYSDBA on 29-MAR-05 show parameter db_flashback_retention_target
NAME TYPEVALUE
------------------------------------ ----------- ------------------------------
db_flashback_retention_targetinteger 60
SYS AS SYSDBA on 29-MAR-05 alter system set db_flashback_retention_target=1440;--分钟
System altered.
如何设置flash recovery area
(1).db_recovery_file_dest:指定闪回恢复区的位置
(2).db_recovery_file_dest_size:指定闪回恢复区的可用空间大小
(3).db_flashback_retention_target:指定数据库可以回退的时间,单位为分钟,默认1440分钟,也就是一天。当然,实际上可回退的时间还决定于闪回恢复区的大小,因为里面保存了回退所需要的 flash log。所以这个参数要和db_recovery_file_dest_size配合修改。
alter system set db_flashback_retention_target=1440;
alter system set db_recovery_file_dest='/u01/app/oracle/flash_recovery_area';
alter system set db_recovery_size=15G;
4.重新启动数据库到Mount状态
启动flashback database选项。
SYS AS SYSDBA on 29-MAR-05 shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SYS AS SYSDBA on 29-MAR-05 startup mount exclusive;
ORACLE instance started.
Total System Global Area 314572800 bytes
Fixed Size 1301704 bytes
Variable Size 261890872 bytes
Database Buffers 50331648 bytes
Redo Buffers1048576 bytes
Database mounted.
SYS AS SYSDBA on 29-MAR-05 alter database flashback on;
Database altered.
SYS AS SYSDBA on 29-MAR-05 alter database open;
Database altered.
开启和关闭闪回模式必须处于mount模式下,命令如下:
SQLalter database flashback on;
SQLalter database flashback off;
如果开启闪回可以使用闪回表。\x0d\x0aselectlog_mode,flashback_onfromv$database;\x0d\x0a如果是下面结果则开了闪回\x0d\x0aLOG_MODEFLASHBACK_ON\x0d\x0a------------------------------\x0d\x0aARCHIVELOGYES\x0d\x0a可以执行以下命令\x0d\x0aaltertable表名enablerowmovement;--开启表行移动\x0d\x0aflashbacktable表名totimestampto_timestamp('2013081314:00:00','yyyymmddhh24:mi:ss');\x0d\x0a--闪回到2013年8月13日14点\x0d\x0a你要是没开启,有逻辑备份可以使用imp命令导入数据。\x0d\x0a如果没用逻辑备份,开启归档模式,有物理备份,能够停机、数据丢失的话,可以采用不完全恢复\x0d\x0a用rman登陆\x0d\x0armantarget/\x0d\x0a执行以下命令\x0d\x0arun{shutdownimmediate;\x0d\x0astartupmount;\x0d\x0asetuntiltime="to_date('2013081314:00:00','yyyymmddhh24:mi:ss')";\x0d\x0arestoredatabase;\x0d\x0arecoverdatabase;\x0d\x0aalterdatabaseopenresetlogs;}\x0d\x0a切记!做以上任何操作前做好备份,否则出了问题后悔莫及。\x0d\x0a而且建议你联系你们数据库管理员处理这个问题。
一
首先查看是否开启闪回:
SQL select flashback_on from V$database;
FLASHBACK_ON
------------------
NO
二
如果已经开启了闪回,无须执行下面的操作。
cd /u01
mkdir flashback(生成闪回目录)
SQL alter system set db_recovery_file_dest_size=30G scope=both;
SQL alter system set db_recovery_file_dest='/u01/flashback' scope=both;
SQL shutdown immediate
SQL startup mount
SQL alter database archivelog;
SQL alter database flashback on;
SQL alter database open;
三
再进行确认:
SQL select flashback_on from V$database;
FLASHBACK_ON
------------------
YES