数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
oracle学习笔记(1)-数据备份与恢复

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

数据备份

不论何种方式,数据库的备份即为data file/control file/redo file此三种文件的备份。
1、exp/imp的备份方式
2、脱机备份方式(offline backup)
3、联机备份方式(online backup)
4、standy的运行模式


1、exp/imp的备份方式
(1)命令方式
可以在online的环境下进行。

(2)OEM方式
利用导出备份向导进行导出。

2、脱机备份方式(offline backup)
复制相关的文件即可。
(1)关闭数据库;
(2)复制文件,datafile/control file/redo log file;
(3)打开数据库。

3、联机备份方式(online backup)
条件:
(1)数据库不能关闭;
(2)数据库必需处于归档模式(archive mode),即redo log file记录满后,把完整的redo log file保存
在磁盘上;

让数据处于archive mode的方法:
(1)设置archive mode;
在initorcl.ora文件中设置如下参数:
#启动arch背景的处理程序
log_archive_start=true
#设置archive log file的存放地方
log_archive_dest=/home/oradata/orcl/archive
#设置脱机事务日志的文件名
log_archive_format=-s%.arc
(2)mount状态下设置archive mode,打开数据库;
startup mount pfile=initorcl.ora;
alter database archivelog;
alter database open;

联机备份方法一
(1)设置tablespace为backup mode;
alter tablespace tablespace_name begin backup;
(2)复制相关的数据表
copy sourcefile destfile
(3)恢复tablespace到正常状态
alter tablespace tablespace_name end backup;
(4)backup control file
alter database backup controlfile to 'control.bk'
(5)copy redo log file

4、standy的运行模式
此模式为主从服务器备份模式。
方法:
(1)准备备份主机
(2)主要数据库的备份
方法如下:
a、full offline backup
b、online backup
c、备份数据库的control file
alter database backup standby controlfile as 'filename'
(3)确定主要机器是处于archivelog mode
操作方法如3所示。
(4)从主要机器将backup datafiles / control file复制到备份主机。
复制的文件如下:
a、control file
b、backup datafiles;
c、archived redo logs
d、onlie redo logs
e、initialization file
(5)设置主要机器的initialization parameters
(6)设置备份主机的initialization parameters
?????
可能与(5)设置有所不同。
(7)打开备份主机数据库
a、在nomount状态下打开数据库,然后alter启动standby机器
start nomount pfile=initstandby.ora;
alter database mount standby database;
b、standby mode 下启动后,表示备份机器已经能够接受primary数据库的archive redo log,可用ftp或oracle
提供的方法由oracle自动取得数据。
(8)启动备份数据库
alter database recover managed standby database;

 

数据恢复

1、脱机备份的恢复(会丢失数据)
(1)确定数据库关闭
(2)复制相关备份文件到相关位置(control file,redo log file,datafiles)
(3)启动数据库
2、archive mode恢复
(1)complete recovery
a、关闭数据库;
shutdown;
b、在mount阶段打开数据库
startup mount;
c、进行数据库恢复
set autorecovery on;
recover database;
d、完成recovery后,打开数据库
alter database open;
(2)对单一文件或数据表recovery;
a、让需要恢复的tablespace脱机
alter tablespace appdata offline immediate;
b、用好的备份文件取代损坏文件
c、确定要恢复的archive log file存在
d、开始recovery;
recover tablespace appdata;
recover datafile 'user01.dbf';
e、完成后,alter让tablespace联机
alter tablespace appdata online;

(3)incomplete recovery
如果事务日志文件损坏,则要注意datafiles and control file记录的log sequence number是不相同的,则为不完全恢复。
mount阶段要把log sequence number置为1,这样数据库才能打开。

使用cancel恢复到某一时间点
a、mount打开数据库
startup mount;
b、恢复
recover database until cancel;
c、完成之后,打开数据库(open mode),重新设置control file and datafiles的log sequence number的设置为1;
alter database open resetlogs;


使用指定时间
a、mount打开数据库
startup mount;
b、恢复
recover database until time '2001-09-10:18:00:00';
c、完成之后,打开数据库(open mode),重新设置control file and datafiles的log sequence number的设置为1;
alter database open resetlogs;




相关文章

相关软件