+ -
当前位置:首页 → 问答吧 → oracle 热备份与恢复 求助

oracle 热备份与恢复 求助

时间:2011-11-10

来源:互联网

oracle 热备份与恢复是怎么实现的,不用exp和rman,用传统的方式,系统是windows xp,要求在备份,然后可以在它机上恢复,现在只有一台电脑,所以 创建一个数据库,然后创建表空间,进行备份,然后删除数据库,之后要求能完全恢复,模拟火灾导致数据完全丢失的情况,求高手解答!!!

作者: ws02454981   发布时间: 2011-11-10

这里先给你一些概念,弄清楚之后,再研究具体的做法:
一.数据库备份的分类
1. 从物理和逻辑的角度
物理备份:是将实际组成数据库的操作系统文件从一处复制到另一处的备份备份过程,通常是从磁盘备份到磁盘或磁带,可以使用RMAN或操作系统命令进行数据库的物理备份。
逻辑备份:

从数据库的备份策略
全部数据库备份:一个全部数据备份包含所有的数据文件各至少一个控制文件。联机重做日志是不备份的,因为如果还原已备份的重做日志文件和替换当前的重做日志文件将会导致数据在介质恢复期间的丢失。
部分数据库备份:

2.从数据库的备份类型
全集备份:这里全集表示在对数据文件进行备份时(全部数据库备份和部分数据库备份都可能)将数据文件的所有数据块全部备份出来。
增量备份:

3. 根据实施物理备份的数据库状态
脱机备份:
联机备份/不一致备份/热备份:是数据库中可读写的数据库文件和控制文件的系统改变号SCN在不一致条件下的备份。对于一个7X24小时工作的数据库来说,由于不可能关机,而数据库数据是不断改变的,因此只能进行不一致备份。在SCN不一致的条件下,数据库必须通过应用重做日志使SCN一致后,才能启动数据库。因此如果进行不一致备份,数据库必须设计归档状态,并对重做日志归档,才能进行。

二.恢复的分类
1.完全恢复:将数据库恢复到数据库失败时数据库的状态。这种恢复是通过装载数据库备份和应用全部的重做日志做到的。
2.不完全恢复:

三. 备份与恢复的方法
1.用户管理的备份与恢复:使用SQL命令结合操作系统命令进行备份和恢复。使用这种方法备份文件与原数据库的物理文件个数和大小完全一样。在恢复时,将备份文件转储到目标数据库,然后使用SQL命令进行恢复。
2.RMAN管理工具的备份与恢复:
3.逻辑备份与恢复:


对于你的情况,会用到的进行了具体的描述,其它的请参阅有关文档或书籍。




作者: LuiseRADL   发布时间: 2011-11-10

给你一个热备的脚本吧
set feedback off heading off verify off trimspool off
set pagesize 0 linesize 200
define ws='/opt/oracle/sql/obak.sql'
!rm -rf /home/backup/`date +%Y%m%d`
!mkdir /home/backup/`date +%Y%m%d`
define dir='/home/backup/`date +%Y%m%d`'
spool &ws
select 'alter tablespace '||tablespace_name|| ' begin backup;','!cp '||file_name|| ' &dir;','alter tablespace '||tablespace_name|| ' end backup; ' from dba_data_files order by 1;

spool off
@&ws

恢复的话比较麻烦可以给你一个步骤你按这个步骤就可以了

SQL> alter database datafile 11 offline;
SQL> !cp /home/backup/20110520/app01.dbf /home/dbdata/
SQL> recover datafile 11;
SQL> alter database datafile 11 online;

作者: chinac6iz   发布时间: 2011-11-10

不好意思,脚本是用于LINUX,但在WINDOW下只要稍微修改一下就可以用了

作者: chinac6iz   发布时间: 2011-11-10