oracle10g数据库备份与还原总结

2012-11-12

  一.总述

  1.数据库归档模式:

  * 非归档模式:当数据库数据只读不会改变时,数据不会改变,数据库适合用非归档模式,  这样提高性能

  * 归档模式:对于数据库数据经常变动,数据库最好用归档模式,这样可以尽量避免数据库数据丢失,使出现问题时灾害降到最低

  2.非归档模式与归档模式间的切换(在命令窗口下):

  @检查当前日志操作模式

  f:/>sqlplus sys/dba as sysdba

  连接数据库

  sql>select log_mode from v$database;

  @关闭数据库,后装载数据库,只能在mount状态下改变日志操作模式

  sql>startup mount

  @改变日志模式

  sql>alter database achivelog;(变为归档方式,否则为nochivelog)

  sql>alter database open;

  3.查看归档模式相关信息:

  @若采用默认设置,归档日志位置在快速恢复区

  @配置归档日志位置 log_archive_dest_n  (n=[1:10])

  sql>alter system set

  log_archive_dest_1 = 'location =c:/demo/archive [optional]';

  sql>alter system set

  log_archive_dest_2 = 'service =standby [mandatory] [reopen]';

  其中:location 是本地

  service  是远程

  optional 无论归档是否成功,都会覆盖重做日志

  mandatory只有成功归档才会覆盖重做日志

  reopen 重新归档时间间隔 默认是300s

  @显示归档信息,即显示显示日志操作模式

  sql>select name,log_mode from v$database;

  @显示归档日志信息

  sql>select name,seqnce#,first_change# from v$archive_log;

  seqnce#: 归档序列号

  first_change# : 起始SCN值

  @显示归档日志位置

  sql>select dest_name,destination,status from v$archive_dest;

  dest_name 归档位置参数名

  destination 位置

  @显示日志历史信息

  sql>select * from v$loghist;

  threade# : 重做线程号

  seqnce# : 日志序列号

  first_change# : 起始SCN值

  first_time : 起始SCN发生时间

  switch_change : 切换SCN值

  二.非归档模式下的备份与还原

  . 日志采用覆盖原有日志的方式存储

  . 出现介质失败时,只能恢复到过去的完全备份点

  . 数据库OPEN状态是,不能备份数据库

  . 必须先关闭数据库,再备份,且必须备份所有数据,控制文件

  1.备份==冷备份

  @ 先关闭数据库

  sql>shutdown immediate

  @ 拷贝所有数据文件,和控制文件

  2.恢复

  * 数据文件出现丢失,但备份以来的重做日志内容尚未被覆盖,此时可以完全恢复

  @装载数据库

  sql>startup force mount

  @复制数据文件备份

  @恢复数据文件

  sql>recover datafile 1

  @打开数据库

  sql>alter database open;

  * 备份文件的重做日志内容已经被覆盖,则只能还原到备份点

  @关闭数据库

  @复制所有数据和控制备份文件至原位置

  @装载数据库,执行恢复命令

  sql>startup mount

  sql>recover database until cancel

  提示控制文件不再使用原有重做日志

  @用resetlogs选项打开数据库

  sql>alter database open resetlogs;

分享到:
0
相关阅读
友情链接
© 2018 我考网 http://www.woexam.com 中国互联网举报中心 湘ICP备18023104号 京公网安备 11010802020116号
违法和不良信息举报:9447029@qq.com