oracle数据库备份与恢复实验报告,oracle数据库备份与恢复

1、查询数据库的归档模式

select dbid,name,created,log_mode from v$database;

archive log list

alter system set log_archive_dest_state_1=defer;将日志目录设置为无效

alter system set log_archive_dest_state_1=enable;将日志目录设置为生效

2、将数据库设置为归档模式

(1)修改pfile参数增加如下参数:

log_archive_start=true

log_archive_dest=/u01/oracle/archive/

log_archive_format=%s.dat

log_archive_duplex_dest=/u02/oracle/archive1/

(2)以mount方式启动数据库

startup mount

alter database archivelog;

alter database open;

(3)检测结果

archive log list;

alter system switch logfile;

select recid,stamp,sequence#,first_change#,first_time,name from v$archived_log;

3、部分数据库在线备份

(1)设置表空间为备份状态

这种备份方式只可用于归档模式

alter tablespace 表空间名称 begin backup;

执行以上命令被备份的数据文件发生了三个变化

第一、检验点号停止修改,被备份文件的检验点号与其他不同

select a.file#,a.checkpoint_change#,b.file_name from v$datafile a,dba_data_files b where a.file#=b.file_id;

第二、对数据文件做热备份标记

select file#,status,change#,time from v$backup;

第三、给数据文件头做fuzzy标识

select file#,status,fuzzy,name from v$datafile_header;

(2)备份表空间的数据文件

(3)恢复表空间为正常状态

alter tablespace 表空间名称 end backup;

4、部分数据库脱机备份

这种备份方式只可用于归档模式

(1)、将表空间设置为脱机

alter tablespace 表空间名称 offline;

(2)备份表空间的数据文件

(3)将表空间设置为在线

alter tablespace 表空间名称 online;

5、控制文件在线备份

alter database backup controlfile to '路径';

alter database backup controlfile to trace;

6、归档模式下恢复没有备份的数据文件

startup mount;

alter database datafile 'D:/ORACLE/ORADATA/ORACLE92/TEST1.DBF' offline;

alter database open;

alter database create datafile 'D:/ORACLE/ORADATA/ORACLE92/TEST1.DBF';

recover datafile 'D:/ORACLE/ORADATA/ORACLE92/TEST1.DBF';

alter database datafile 'D:/ORACLE/ORADATA/ORACLE92/TEST1.DBF' online;

如果是在运行的时候出错可以这样:

alter tablespace test offline;

select * from v$recover_file;

alter database create datafile 'D:/ORACLE/ORADATA/ORACLE92/TEST1.DBF';

recover datafile 'D:/ORACLE/ORADATA/ORACLE92/TEST1.DBF';

alter tablespace test online;

7、系统表空间数据文件破坏的恢复

startup

recover datafile 1;

alter database open;

如果没有备份文件是不能恢复的

8、恢复一个被删除的基表

startup mount

复制所有的备份数据文件

recover database until time '2006.12.30 14:00:00';

alter database open resetlogs;

9、恢复一个被删除的表空间

startup mount

复制所有的备份数据文件和控制文件

recover database until time '2006.12.30 15:26:00' using backup controlfile;

alter database open resetlogs;

10、在线日志破坏时的数据库恢复

startup mount

复制全部数据文件、日志文件的备份文件

recover database until cancel;

遇到提示直接按回车

alter database open resetlogs;

11、日志不足两个组时的数据库恢复

alter database drop logfile group 1;

alter database  add logfile group 1('/u01/oracle/oradata/ora8i/redo01.log') size 1m;

alter database open;

如果还有错就执行

alter database drop logfile group 2;

如果有错就是说明第二组正在使用,这时候的恢复变的跟11一样了

12、使用热备份控制文件恢复数据库(1)修改参数control_files=(控制文件名称),把损坏的控制文件注释掉(2)复制全部数据文件的备份,启动数据库startup报错select * from v$controlfile;alter database open;报错alter database open resetlogs;报错(3)查询数据库检查点号select checkpoint_change# from v$database;(4)实施不完全的数据库恢复恢复到某一个数据一致性状态即停止恢复recover database using backup controlfile;当发现到上述查询语句查出的检查点号是即停止恢复cancel(5)打开数据库alter database open resetlogs;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值