物理备份中的归档和非归档模式

一、区别

归档模式:可以进行完全、不完全恢复;若发生硬盘故障会导致数据文件丢失,可以利用物理备份和归档日志完全恢复数据库。

非归档模式:在备份过程中数据库不可用,只能部分恢复,不产生归档日志。

 

二、含义

1、DML语句

DML操作是对数据库中表记录的操作,主要包括表记录的插入、更新、删除和查询

2、日志分类

oracle中有两种日志,一是系统日志,二是重做日志,归档模式与重做日志有关

物理备份中的归档和非归档模式

如果存放归档日志的空间不足,就无法进行归档,这时候在线重做日志没有组进行切换,DML语句就不能写入日志,就不能对数据库进行操作。

 

三、归档模式备份

使用rman工具备份及恢复

1、查看数据库是归档模式还是非归档模式,非归档模式就修改数据库归档模式。

sqlplus /nolog;
conn / as sysdba;  --必须管理员登录才能查看
archive log list;  --查看用户是否处于归档模式中

物理备份中的归档和非归档模式

 

是非归档模式,改为归档模式。

shutdown immediate;              --立即关闭数据库
startup mount; --启动数据库实例并加载数据库
alter database archivelog; --更改数据库为归档模式
alter database open; --打开数据库
alter system archive log start; --启动自动归档

物理备份中的归档和非归档模式

 

2、RMAN备份语句

connect target /
run {
allocate channel t1 type DISK;
allocate channel t2 type DISK;
backup format '/rmanbak/full_%T_%t_%U.bak' database;
crosscheck backup;
sql 'alter system archive log current';
backup format '/rmanbak/arch_%T_%t_%U.bak' archivelog all delete all input;
backup current controlfile format '/rmanbak/con_%T_%t_%U.bak';
backup spfile format '/rmanbak/spf_%T_%t_%U.bak';
delete noprompt obsolete; 
delete expired backup;
release channel t1;
release channel t2;
}

 

a、connect

connect target /
//连接到目标数据库,因为环境变量已经配置好了默认的数据库实例, / 就可以直接连到该数据库

物理备份中的归档和非归档模式

b、run

run代码块,{}中的语句可以作为一个代码块一起执行。如果不想用rman中的默认配置来备份数据库,就可以使用run代码块。

c、allocate channel

allocate channel t1 type DISK;
allocate channel t2 type DISK;
//分配两个通道,可以并行进行备份,等价于以下语句

configure device type disk parallelism 2; //第一种是显示分配;第二种是隐式分配,名字是有oracle自动指定的 release channel t1; release channel t2; //释放管道

d、backup

backup format '/rmanbak/full_%T_%t_%U.bak' database;
//backup database是备份数据库;format是备份文件的存放位置及名称;format在database前后都可以

backup format '/rmanbak/arch_%T_%t_%U.bak' archivelog all delete all input;
//backup archivelog all备份所有归档日志
//delet all input删除所有已备份的旧归档日志

backup current controlfile format '/rmanbak/con_%T_%t_%U.bak';
//back current controlfile备份当前控制文件

backup spfile format '/rmanbak/spf_%T_%t_%U.bak';
//backup spfile备份参数文件

format说明:

%c  备份片的拷贝数
%d  数据库名称
%D  位于该月中的天数
%M  位于该年中的月数
%u  是备份集编号和建立时间压缩后组成的8字符名称
%p  是备份集中的备份片的序号
%U  是%u_%p_%c的缩写形式
%t  备份集时间戳
%T  年月日格式YYYYMMDD

e、crosscheck backup 用于核对所有备份文件,包括有效和失效的备份。检查rman目录和物理文件,如果物理文件不存在于介质上,将其标记为Expired,存在就维持Available。为后面delete做准备。

f、sql

alter system archive log current
//对当前日志进行归档
sql 'alter system archive log current'
//在rman提示符下执行sql语句,命令用单引号括起来;可以执行查询语句,但是无任何结果输出

g、delete

delete obsolete;
//清理过期备份,obsolete是过时的意思

delete expired backup;
//删除过期备份

 

上一篇:Activiti 开发案例之动态指派任务


下一篇:[转] UniCode编码表