Oracle 数据库备份与恢复 flashback database
来源:互联网 发布:亿网域名 编辑:程序博客网 时间:2024/04/29 19:48
1. 检查归档和闪回是否已开启(sysdba 身份)
db_recovery_file_dest : 指定闪回恢复区的位置,需要提前手动创建好目录
db_recovery_file_dest_size : 指定闪回恢复区的可用空间大小
db_flashback_retention_target : 指定数据库可以回退的时间,单位为分钟,默认1天(1440分钟),配合db_recovery_file_dest_size一起使用,也就是说闪回恢复区要能够放得下在这段时间内所产生的需要回退的数据
3. 添加测试数据
# 参考
Oracle Flashback 技术 总结
ORA-00265: 要求实例恢复, 无法设置 ARCHIVELOG 模式
SQL> select name, log_mode, flashback_on from v$database;NAME LOG_MODE FLASHBACK_ON--------- ------------ ------------------ORCL NOARCHIVELOG NOSQL> archive log list;数据库日志模式 非存档模式自动存档 禁用存档终点 USE_DB_RECOVERY_FILE_DEST最早的联机日志序列 8当前日志序列 10SQL> show parameter db_recovery_file_dest;NAME TYPE VALUE------------------------------------ ----------- ------------------------------db_recovery_file_dest string D:\oracle\product\10.2.0/flash_recovery_areadb_recovery_file_dest_size big integer 1GSQL>2. 如果归档和闪回没有开启,则需要开启(sysdba 身份)
SQL> select name, log_mode, flashback_on from v$database;NAME LOG_MODE FLASHBACK_ON--------- ------------ ------------------ORCL NOARCHIVELOG NOSQL> shutdown immediate;数据库已经关闭。已经卸载数据库。ORACLE 例程已经关闭。SQL> startup mount;ORACLE 例程已经启动。Total System Global Area 452984832 bytesFixed Size 1249512 bytesVariable Size 130027288 bytesDatabase Buffers 314572800 bytesRedo Buffers 7135232 bytes数据库装载完毕。SQL> alter database archivelog;数据库已更改。SQL> alter database flashback on;数据库已更改。SQL> alter system set db_recovery_file_dest='D:/Oracle/flash_recovery_area' scope=both;系统已更改。SQL> alter system set db_recovery_file_dest_size=2G scope=both;系统已更改。SQL> alter system set db_flashback_retention_target=2880 scope=both;系统已更改。SQL> select name, log_mode, flashback_on from v$database;NAME LOG_MODE FLASHBACK_ON--------- ------------ ------------------ORCL ARCHIVELOG YESSQL> archive log list;数据库日志模式 存档模式自动存档 启用存档终点 USE_DB_RECOVERY_FILE_DEST最早的联机日志序列 9下一个存档日志序列 11当前日志序列 11SQL> show parameter db_recovery_file_dest;NAME TYPE VALUE------------------------------------ ----------- ------------------------------db_recovery_file_dest string D:/Oracle/flash_recovery_areadb_recovery_file_dest_size big integer 2GSQL> show parameter db_flashback;NAME TYPE VALUE------------------------------------ ----------- ------------------------------db_flashback_retention_target integer 2880SQL> alter database open;数据库已更改。SQL># 备注
db_recovery_file_dest : 指定闪回恢复区的位置,需要提前手动创建好目录
db_recovery_file_dest_size : 指定闪回恢复区的可用空间大小
db_flashback_retention_target : 指定数据库可以回退的时间,单位为分钟,默认1天(1440分钟),配合db_recovery_file_dest_size一起使用,也就是说闪回恢复区要能够放得下在这段时间内所产生的需要回退的数据
3. 添加测试数据
SQL> conn scott/tiger已连接。SQL> create table t1(id int, name varchar2(10));表已创建。SQL> create table t2(id int, name varchar2(10));表已创建。SQL> insert into t1(id, name) values(1, 'a');已创建 1 行。SQL> insert into t2(id, name) values(2, 'b');已创建 1 行。SQL> commit;提交完成。SQL> create or replace procedure p1 2 is 3 begin 4 dbms_output.put_line('======= p1 ======='); 5 end; 6 /过程已创建。SQL> select * from t1; ID NAME---------- ---------- 1 aSQL> select * from t2; ID NAME---------- ---------- 2 bSQL> set serveroutput on;SQL> execute p1;======= p1 =======PL/SQL 过程已成功完成。SQL>4. 修改测试数据
SQL> conn scott/tiger已连接。SQL> select to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss') time from dual;TIME-------------------2014-09-06 12:17:26SQL> delete from t1;已删除 1 行。SQL> alter table t2 add age int default 20;表已更改。SQL> drop procedure p1;过程已删除。SQL> commit;提交完成。SQL> select * from t1;未选定行SQL> select * from t2; ID NAME AGE---------- ---------- ---------- 2 b 20SQL> set serveroutput on;SQL> execute p1;BEGIN p1; END; *第 1 行出现错误:ORA-06550: 第 1 行, 第 7 列:PLS-00201: 必须声明标识符 'P1'ORA-06550: 第 1 行, 第 7 列:PL/SQL: Statement ignoredSQL>5. 恢复数据库到修改之前
SQL> conn / as sysdba已连接。SQL> shutdown immediate;数据库已经关闭。已经卸载数据库。ORACLE 例程已经关闭。SQL> startup mount;ORACLE 例程已经启动。Total System Global Area 452984832 bytesFixed Size 1249512 bytesVariable Size 134221592 bytesDatabase Buffers 310378496 bytesRedo Buffers 7135232 bytes数据库装载完毕。SQL> select sum(percent_space_used)/100 from v$flash_recovery_area_usage;SUM(PERCENT_SPACE_USED)/100--------------------------- .0131SQL> flashback database to timestamp to_timestamp('2014-09-06 12:17:26', 'yyyy-mm-dd hh24:mi:ss');闪回完成。SQL> alter database open resetlogs;数据库已更改。SQL> conn scott/tiger已连接。SQL> select * from t1; ID NAME---------- ---------- 1 aSQL> select * from t2; ID NAME---------- ---------- 2 bSQL> set serveroutput on;SQL> execute p1;======= p1 =======PL/SQL 过程已成功完成。SQL>6. 关闭闪回和归档
SQL> conn / as sysdba已连接。SQL> shutdown immediate;数据库已经关闭。已经卸载数据库。ORACLE 例程已经关闭。SQL> startup mount;ORACLE 例程已经启动。Total System Global Area 452984832 bytesFixed Size 1249512 bytesVariable Size 134221592 bytesDatabase Buffers 310378496 bytesRedo Buffers 7135232 bytes数据库装载完毕。SQL> alter database flashback off;数据库已更改。SQL> alter database noarchivelog;数据库已更改。SQL> select name, log_mode, flashback_on from v$database;NAME LOG_MODE FLASHBACK_ON--------- ------------ ------------------ORCL NOARCHIVELOG NOSQL> alter database open;数据库已更改。SQL>
# 参考
Oracle Flashback 技术 总结
ORA-00265: 要求实例恢复, 无法设置 ARCHIVELOG 模式
0 0
- Oracle 数据库备份与恢复 flashback database
- Oracle数据库备份与恢复(5):Flashback
- Oracle Flashback Database闪回恢复
- oracle数据库备份与恢复
- Oracle数据库备份与恢复
- Oracle数据库备份与恢复
- ORACLE数据库备份与恢复
- oracle数据库备份与恢复
- Oracle数据库备份与恢复
- oracle数据库备份与恢复
- Oracle数据库备份与恢复
- oracle数据库备份与恢复
- oracle数据库恢复与备份
- Oracle数据库备份与恢复
- oracle 数据库备份与恢复
- Oracle-数据库备份与恢复
- Oracle数据库备份与恢复
- oracle数据库备份与恢复
- Pig
- poj2828-Buy Tickets(线段树的经典运用)
- 一种轻量级嵌入式GUI设计
- 低功耗控制实验
- java线程的同步
- Oracle 数据库备份与恢复 flashback database
- hive
- HDU-#4706 Children's Day(模拟)
- [工具] Sublime Text 2 设置
- larva设计思路
- 运行CMD 查看端口命令及端口功能详解
- Cocos2d-X 对刚进入游戏时的实现(即页面显示“正在加载。。。。。”)
- MySQL exists的用法介绍
- 动态类型的静态化实现