oracle 10 g 数据库备份和恢复
1 备份和恢复概述
数据库备份 (全部数据文件,日志文件,控制文件的操作系统备份)
完全数据库备份需要关闭数据库,保证文件的同步号与当天检查点一致。
部分数据库备份只能在归档模式下进行,由于数据库文件和数据库文件之间存在不一致性,需要使用归档日志进行数据库恢复。
2 数据库归档方式
archive log list
3 数据库归档方式配置
使用SHUTDOWN 关闭数据库
startup mount 安装数据库
alter database archivelog
alter database open 数据库
1)启动自动归档进程 ORACLE 9I 参数LOG_ARCHIVE_START 是启动归档进程arch的参数 要设置成为true ORACLE10G以上已经取消这个用法。oracle 10g中在归档模式下是自动启动归档进程的
2)设置归档文件存储目录
log_archive_dest=/home/oracle/arch/用于设置归档日志文件的存储目录
3)设置归档日志文件的存储格式
log_archive_format= %oracle_sid%,%T,%t,%S,%s,%r
ORACLE_SID 线程号 日志序列号 大写为左侧用0补齐
4)设置归档日志镜像目录
log_archive_duplex_dest=/home2/oracle/arch_mirror/
...
修改归档模式
6)检查归档的情况
archive log list
这样归档模式配置完成
强制日志转换alter system switch logfile 来切换日志 然后查询归档情况
select recid,stamp,sequence#,first_change#,first_time,name from v$archeive_log;
4 物理备份数据库
4.1 完全数据库脱机备份
1)编写一个要备份的文件列表
select file_name from dba_data_files;
select * from v$logfile;
select * from v$controlfile;
2)shutdown 命令关闭数据库
3)用操作系统的备份工具,备份所有的数据库文件,日志文件,控制文件以及参数文件。
4)参数文件
4.2 部分数据库联机备份(热备份)----是在数据库正常运行时的操作,部分数据库联机备份包括部分表空间,控制文件,数据文件,归档日志文件备份等。这个方法只能在归档模式下进行。在拷贝回备份文件后,必须使用归档日志进行数据库恢复。
1)设置表空间为备份状态
alter tablespace 表空间名称 begin backup;
第一、检查点号停止修改,文件头被冻结
select a.file#,a.checkpoint_change#,b.file_name
from v$datafile a,dba_data_file b
where a.file#=b.file_id
检查的结果是 要备份的表空间检查号和其他的是不同的
第二 、对数据文件做热备份标记,查询数据v$backup
select file#,status,change#,time from v$backup;
第三、以数据文件头作"FUZZY" 标志。查询数据字典v$datafile_header;
select file#,status,fuzzy,name from v$datafile_header;
2)备份表空间的数据文件
将这个表空间文件拷贝 可靠的介质
3)恢复表空间为正常状态
alter tablespace 表空间名称 end backup;
4.3 部分数据库脱机备份
4.4 控制文件在线备份
5 逻辑备份数据库
exp/imp
注意点是 操作系统级别的字符集 设置成导出一样的
6 表空间的传输
7 小结