Oracle学习笔记:备份、还原、恢复的一点理解
2009-03-10 11:21
351 查看
oracle提供了丰富、灵活的备份、还原、恢复管理机制和手段!
首先要明确的是这三个概念:
备份——backup:基于状态点的“拍照”、归档
还原——restore:回滚到“拍照”的状态点、解档、文件复位
恢复——recover:从“拍照”的状态点前滚,重演所有的改变。这其中又有手工管理的recover和smon自动管理的recove。也是我们99%的管理工作!
oracle提供的管理手段
sql(plus)语句,原始,但推荐!
rman
os操作
oem
oracle的管理机制:(个人的浅显认识)通过control file、datafile、online redo file、archived redo、undo 文件的内部标识识别整个系统是否一致!!个人猜测这个内部标识由resetlogs时候的scn和scn组成!10g里允许跨resetlogs恢复,猜想oracle这哥们可能允许在某些条件下以scn作为一致的标识了!
如果?和?不一致了:?..
online:别废话!resetlogs
controlfile:restore或者create controlfile,可以选择resetlogs 或 noresetlogs——关键看:datafile和online是否一致来决定是否resetlogs
datafile:【先restore 】再 recover,根据情况决定是否resetlogs。 或者 create controlfile,这就必须得resetlogs了
以上各种情况的复合情形,也可以在各阶段综合应用以上的各种情况
archived redo不连续、不一致、损坏:即使上帝在,也不可能通过应用这些文件来recover了。查清这些archive redo日志还有多少利用价值吧,不行的话,delete吧。这些文件可是进行恢复的必要条件!无论是不完全恢复到 scn、time、sequence#、cancel,本质上就是依次应用scn!!!
undo文件在recover过程中的作用?本人还未弄明白,相必是仅仅提供控制文件的undospace空间用,要oracle不起不来啊;在recover过程结束时候,oracle并不做任何处理或者仅仅是重新初始化该文件;而online redo中的commit事务会应用到datafile,未commit事务从online redo文件中直接删除,否则依照smon自动recover的处理rollback undo文件中的undo内容,而此时undo文件中并不存在,那不就出问题了!
oracle提供的管理类型
冷、热:oracle的相关文件是否锁定
逻辑、物理:是oracle的数据,还是文件结构和数据
完全、不完全:是否是全部的东东(相关文件、相关数据、相关历史...)
backup:对象datafile、undofile、archived logfile、spfile、controlfile
os冷备份:关闭oracle数据库,保持所有相关文件一致。copy,之后....,想resetlogs就resetlogs,想noresetlogs就noresetlogs。
datafile热备:将oracle至于backup状态,alter database {begin|end} backup ,然后copy,
controlfile的热备:alter database backup controlfile to filespec [reuse]
controlfile for standby的热备:alter database create {physical|logical}standby controlfile as filespec [reuse]
spfile|pfile的热备:os下直接copy。因为oracle并不锁定此文件。
pwd文件的热备:os下直接copy。因为oracle并不锁定此文件。
archived log的热备:os下直接copy................................................这也算!
rman方式下的热备:将隐藏一起手工的os的copy、路径、命名、历史记录问题。因此:十分推荐。不过要注意备份全相关的文件。否则处理起来也比较麻烦!
exp逻辑倒出备份,注意nls_lang的设置问题
expdp服务器倒出备份。注意设置directory对象
restore:
像spfile|pfile、pwdsid、archivedlog可以随时随地的restore,前提是他们确实是有效的
controfile:在nomount状态下,可以利用之前的冷备份直接restore;
datafile:在nomount状态下,可以利用之前的冷备份直接restore;
rman方式下的restore:将隐藏一起手工的os的copy、路径、命名、历史记录问题。因此:十分推荐。
imp逻辑导入
impdp服务器逻辑导入
recover:没有什么可以说的,基本上就要依赖online redo 、archived redo 进行完全 或 不完全的恢复了!!!所以,archived redo 文件至关重要!
rman方式下的recover:将隐藏一起手工的os的copy、路径、命名、历史记录问题。因此:十分推荐。
recover {cancel|continue[default]} --mount--取消、继续recove会话
recover logfile 'filespec' --mount--直接应用logfile进行recove会话
recover [automatic] [from 'location'].... [test] [allow n corruption] --mount--automatic
指出recove自动搜索本地可用的log_archive_dest[_1]或指定的location的符合log_archive_famat的
archived
redo文件,并applying,如果文件没有搜到或终止,则弹出prompt建议的automatic的文件名。test意思时模拟recover。
allow n corrupton意思是允许archived
redo文件有n个坏块存在,用于test时可以指定大于1的值。而当真正应用recover时,只能是0、1。
recover database until {cancel|time datatime|change scn} [using backup controlfile] --mount--recover整个数据库到时间点、scn、cancel
recover tablespace tbs,...
recover datafile {filenumber|filename},...
recover standby tablespace tbs,... until controlfile
recover standby datafile {filenumber|filename},... until controlfile
recover managed standby database :
using current logfile [nodelay] [disconnect]
until change scn [nodelay] [disconnect]
finish [force] [{wait|nowait}]
cancel [{immediate|{wait|nowait}}]
首先要明确的是这三个概念:
备份——backup:基于状态点的“拍照”、归档
还原——restore:回滚到“拍照”的状态点、解档、文件复位
恢复——recover:从“拍照”的状态点前滚,重演所有的改变。这其中又有手工管理的recover和smon自动管理的recove。也是我们99%的管理工作!
oracle提供的管理手段
sql(plus)语句,原始,但推荐!
rman
os操作
oem
oracle的管理机制:(个人的浅显认识)通过control file、datafile、online redo file、archived redo、undo 文件的内部标识识别整个系统是否一致!!个人猜测这个内部标识由resetlogs时候的scn和scn组成!10g里允许跨resetlogs恢复,猜想oracle这哥们可能允许在某些条件下以scn作为一致的标识了!
如果?和?不一致了:?..
online:别废话!resetlogs
controlfile:restore或者create controlfile,可以选择resetlogs 或 noresetlogs——关键看:datafile和online是否一致来决定是否resetlogs
datafile:【先restore 】再 recover,根据情况决定是否resetlogs。 或者 create controlfile,这就必须得resetlogs了
以上各种情况的复合情形,也可以在各阶段综合应用以上的各种情况
archived redo不连续、不一致、损坏:即使上帝在,也不可能通过应用这些文件来recover了。查清这些archive redo日志还有多少利用价值吧,不行的话,delete吧。这些文件可是进行恢复的必要条件!无论是不完全恢复到 scn、time、sequence#、cancel,本质上就是依次应用scn!!!
undo文件在recover过程中的作用?本人还未弄明白,相必是仅仅提供控制文件的undospace空间用,要oracle不起不来啊;在recover过程结束时候,oracle并不做任何处理或者仅仅是重新初始化该文件;而online redo中的commit事务会应用到datafile,未commit事务从online redo文件中直接删除,否则依照smon自动recover的处理rollback undo文件中的undo内容,而此时undo文件中并不存在,那不就出问题了!
oracle提供的管理类型
冷、热:oracle的相关文件是否锁定
逻辑、物理:是oracle的数据,还是文件结构和数据
完全、不完全:是否是全部的东东(相关文件、相关数据、相关历史...)
backup:对象datafile、undofile、archived logfile、spfile、controlfile
os冷备份:关闭oracle数据库,保持所有相关文件一致。copy,之后....,想resetlogs就resetlogs,想noresetlogs就noresetlogs。
datafile热备:将oracle至于backup状态,alter database {begin|end} backup ,然后copy,
controlfile的热备:alter database backup controlfile to filespec [reuse]
controlfile for standby的热备:alter database create {physical|logical}standby controlfile as filespec [reuse]
spfile|pfile的热备:os下直接copy。因为oracle并不锁定此文件。
pwd文件的热备:os下直接copy。因为oracle并不锁定此文件。
archived log的热备:os下直接copy................................................这也算!
rman方式下的热备:将隐藏一起手工的os的copy、路径、命名、历史记录问题。因此:十分推荐。不过要注意备份全相关的文件。否则处理起来也比较麻烦!
exp逻辑倒出备份,注意nls_lang的设置问题
expdp服务器倒出备份。注意设置directory对象
restore:
像spfile|pfile、pwdsid、archivedlog可以随时随地的restore,前提是他们确实是有效的
controfile:在nomount状态下,可以利用之前的冷备份直接restore;
datafile:在nomount状态下,可以利用之前的冷备份直接restore;
rman方式下的restore:将隐藏一起手工的os的copy、路径、命名、历史记录问题。因此:十分推荐。
imp逻辑导入
impdp服务器逻辑导入
recover:没有什么可以说的,基本上就要依赖online redo 、archived redo 进行完全 或 不完全的恢复了!!!所以,archived redo 文件至关重要!
rman方式下的recover:将隐藏一起手工的os的copy、路径、命名、历史记录问题。因此:十分推荐。
recover {cancel|continue[default]} --mount--取消、继续recove会话
recover logfile 'filespec' --mount--直接应用logfile进行recove会话
recover [automatic] [from 'location'].... [test] [allow n corruption] --mount--automatic
指出recove自动搜索本地可用的log_archive_dest[_1]或指定的location的符合log_archive_famat的
archived
redo文件,并applying,如果文件没有搜到或终止,则弹出prompt建议的automatic的文件名。test意思时模拟recover。
allow n corrupton意思是允许archived
redo文件有n个坏块存在,用于test时可以指定大于1的值。而当真正应用recover时,只能是0、1。
recover database until {cancel|time datatime|change scn} [using backup controlfile] --mount--recover整个数据库到时间点、scn、cancel
recover tablespace tbs,...
recover datafile {filenumber|filename},...
recover standby tablespace tbs,... until controlfile
recover standby datafile {filenumber|filename},... until controlfile
recover managed standby database :
using current logfile [nodelay] [disconnect]
until change scn [nodelay] [disconnect]
finish [force] [{wait|nowait}]
cancel [{immediate|{wait|nowait}}]
相关文章推荐
- Oracle学习笔记:备份、还原、恢复的一点理解 (转@)
- rman之resetlogs及恢复备份控制文件的一点理解
- 关于rman备份保留策略“恢复窗口”的一点理解
- Xtrabackup2.4.8备份、还原、恢复Mysql5.7.19实操
- RMAN备份与恢复(5)——将数据文件或表空间还原到新位置!
- Oracle备份恢复之数据库备份、还原、恢复理论
- SQL 备份与恢复之还原的阶段与顺序
- 你真的会使用SQL Server的备份还原功能吗?之一:恢复模型
- 使用Symantec Backup Exec 对Exchange 2010 进行备份还原和灾难恢复系列之二
- SQL Server2000的事务备份与恢复,数据库的备份与恢复,还原点恢复
- 使用Symantec Backup Exec 对Exchange 2010 进行备份还原和灾难恢复系列之七
- elasticsearch数据备份与还原恢复
- 你真的会使用SQL Server的备份还原功能吗?之一:恢复模型
- MongoDB整库备份与还原以及单个collection备份、恢复方法
- 学一点 mysql 双机异地热备份----快速理解mysql主从,主主备份原理及实践
- 超大数据库的备份和恢复问题:分区表、文件组备份、部分还原
- IIS备份 自动备份IIS设置和恢复IIS设置(自动还原Web服务器)
- elasticsearch数据备份与还原恢复
- SQL Server 2012笔记分享-12:理解备份与恢复新特性
- 使用备份、还原、恢复保护Windows 7 (1)