恢复与备份部分技术

来源:互联网 发布:维科网络 编辑:程序博客网 时间:2024/05/24 08:34

 相关系统视图

一.完全数据库恢复
1.修改数据库为归档模式
 
2.改完以后,进行完全数据库备份(这备份必须是修改归档模式后的备份,否则恢复不了。).

3.生成数据库的日常行为(如往某张表插入数据),然后强制归档(alter system switch logfile),因为恢复至少需要一个归档文件。 
 
4.删除一个数据文件,破坏数据库
  查看需要恢复的文件:select *from  v$recover_file;
5.恢复还原数据文件
 SELECT * FROM v$log_history t ORDER BY t.SEQUENCE# DESC;
  SELECT * FROM v$log;
 select * from v$database;
v$database里的scn比v$log_history 大。 因为v$database是从控制文件读取的。 v$log_history是备份的SCN
为了使所有的数据文件拥有一致的变化序号,需要来自重做日志的重做信息。所需的每个变化都包含在一个或多个归档   文件或当前重做文件中。
查看是否有所需要的重做信息:v$log_history的SCN在v$recover_file和v$database;之间的。
 6.recover database:恢复数据库
 7.确认数据库是否恢复成功f

二。不完全数据库恢复
1.产生数据库动作
 1).往date_log插入若干条记录,然后手工强制归档。
 2).删除indx表空间(date_log上的索引在indx里)
 3).再往date_log插入若干条记录
2.关闭数据库,从最近的备份恢复所有数据文件(和控制文件, 不能恢复控制文件)。
3.执行不完全数据库恢复
alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
 alter database recover automatic until time '2009-08-13 18:03:24';
(recover database until time '2009-08-13 09:59:34';)
4.以resetlogs打开数据库

 select name,checkpoint_change#,last_change# from v$datafile;
select name,checkpoint_change# from v$datafile_header;
 select checkpoint_change# from v$database;
SELECT group#,first_change#,sequence# FROM v$log t;

---
set logsource=/oradata/practice/archive
 recover until cancel using backup controlfile;
按cancel退出

 

三.备用数据库
db_name=PRACTICE
instance_name=STANDBY
service_names=STANDBY
control_files=("d:/oracle/product/10.1.0/oradata/standby/standby.ctl")
#pan
db_file_name_convert="D:/oracle/product/10.1.0/oradata/practice","D:/oracle/product/10.1.0/oradata/standby"

#archive
log_archive_dest_1="location=D:/oracle/product/10.1.0/oradata/standby/archive"
log_archive_format= %s%t%r.arc
log_file_name_convert="D:/oracle/product/10.1.0/oradata/practice","D:/oracle/product/10.1.0/oradata/standby"
lock_name_space=STANDBY
#log_archive_start=TRUE
standby_archive_dest="D:/oracle/product/10.1.0/oradata/standby/archive"
background_dump_dest=D:/oracle/product/10.1.0/admin/standby/bdump

--自动管理恢复
recover managed standby database;
---取消自动管理恢复(在另一窗口运行)
recover managed standby database cancel;

 

--在产品库上设置自动管理恢复(会自动在standby上生成生产库的归档文件)
alter system set log_archive_dest_2="mandatory service=standby reopen=30"
--延迟往standby生成归档文件
alter system set log_archive_dest_state_2=DEFER;
--继续往standby生成归档文件
alter system set log_archive_dest_state_2=enable;

--激活备份库
alter database activate standby database;

 

原创粉丝点击