oracle 热备份与恢复是怎么实现的,不用exp和rman,用传统的方式,系统是windows xp,要求在备份,然后可以在它机上恢复,现在只有一台电脑,所以 创建一个数据库,然后创建表空间,进行备份,然后删除数据库,之后要求能完全恢复,模拟火灾导致数据完全丢失的情况,求高手解答!!!
解决方案 »
- 求高手帮我看看怎么解决一个小问题!
- oracle 触发器 从一个表插入数据后,复制部分信息到另一个表中,错误
- 麻烦!!!300分求oracle 8.17版,分不够可以加,只要能找到8.17版!
- PL/SQL DEVELOPER 中,如何在存储过程中进行查询语句,高手救命!!!!
- 日文windows里用英文版的pl/sql developer输中文乱码。
- 50分求超菜问题:如何将我的sqlserver数据库(或表)导入oracle中?
- 基础问题,请大家帮忙回答一下!
- sql plus 的help [topic]应该怎么正确使用?
- oracle数据类型问题?
- Oracle8i,9i有没有UNIX和必NT版本之分
- oracle触发器 给某张表增加字段
- 拜求 sql server2005转数据问题
一.数据库备份的分类
1. 从物理和逻辑的角度
物理备份:是将实际组成数据库的操作系统文件从一处复制到另一处的备份备份过程,通常是从磁盘备份到磁盘或磁带,可以使用RMAN或操作系统命令进行数据库的物理备份。
逻辑备份:从数据库的备份策略
全部数据库备份:一个全部数据备份包含所有的数据文件各至少一个控制文件。联机重做日志是不备份的,因为如果还原已备份的重做日志文件和替换当前的重做日志文件将会导致数据在介质恢复期间的丢失。
部分数据库备份:2.从数据库的备份类型
全集备份:这里全集表示在对数据文件进行备份时(全部数据库备份和部分数据库备份都可能)将数据文件的所有数据块全部备份出来。
增量备份:3. 根据实施物理备份的数据库状态
脱机备份:
联机备份/不一致备份/热备份:是数据库中可读写的数据库文件和控制文件的系统改变号SCN在不一致条件下的备份。对于一个7X24小时工作的数据库来说,由于不可能关机,而数据库数据是不断改变的,因此只能进行不一致备份。在SCN不一致的条件下,数据库必须通过应用重做日志使SCN一致后,才能启动数据库。因此如果进行不一致备份,数据库必须设计归档状态,并对重做日志归档,才能进行。二.恢复的分类
1.完全恢复:将数据库恢复到数据库失败时数据库的状态。这种恢复是通过装载数据库备份和应用全部的重做日志做到的。
2.不完全恢复:三. 备份与恢复的方法
1.用户管理的备份与恢复:使用SQL命令结合操作系统命令进行备份和恢复。使用这种方法备份文件与原数据库的物理文件个数和大小完全一样。在恢复时,将备份文件转储到目标数据库,然后使用SQL命令进行恢复。
2.RMAN管理工具的备份与恢复:
3.逻辑备份与恢复:
对于你的情况,会用到的进行了具体的描述,其它的请参阅有关文档或书籍。
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;
alter tablespace xxxx begin backup;
然后使用复制命令
host copy xxx.dbf xxxx.dbf.bak
然后你可以删除数据文件
恢复之前先把这个表空间制于离线状态
先看看表空间对应的数据文件是哪个编号
select file_id,file_name,tablespace_name from dba_data_files;
表空间制于离线状态
alter database datafile xx offline;
然后
host copy xxx.dbf.bak xxx.dbf
再恢复数据文件
recover datafile xx;
最后把表空间置于在线状态
alter database datafile xx online;基本恩路就是这样了,细节就要你自己去实践了
你用的是冷备份的方法,需要正常 down 掉数据库,然后再 copy 文件。如果需要单位备份表空间,需要先用 alter tablespace begin backup将表空间置于备份状态,才能开始 copy。
第二:防止灾难事件最好是数据库的异地备份,既能防止硬件灾难又能防止数据库被破坏。
第三:我一直在做数据库备份工作就是用exp再加上一个定时调用bat文件,感觉很好用。
第四:使用什么样的策略需要软硬件支持,更取决于客户的真实需求。
就是用热备份备份数据库,要求备份之后,上传到异地的其他机器上,不能用exp和imp的方式导入导出,又说rman太麻烦,所以用这个方法备份,求备份和还原的步骤,备份哪些,怎么还原,求助啊!