yywx001 发表于 2018-9-15 07:41:59

oracle 11.2控制文件备份

****************************  
1.简介
  
****************************
  
数据读取控制文件时总是读取第一个控制文件,所以当第一个
  
控制文件损坏以后,读写操作都会出错;
  
而当第一个控制文件以外的其它控制文件出问题是,写操作都会失败,但是读正常.
  
****************************
  
2.备份
  
****************************
  
备份包括镜像备份、自动备份、手动备份
  
-----2.1 镜像备份
  
SQL> show parameter control_files;
  
NAME                                 TYPE      VALUE
  
------------------------------------ ----------- ------------------------------
  
control_files                        string      F:\APP\ADMINISTRATOR\ORADATA\O
  
RCL\CONTROL01.CTL, F:\APP\ADMI
  
NISTRATOR\ORADATA\ORCL\CONTROL
  
02.CTL, F:\APP\ADMINISTRATOR\O
  
RADATA\ORCL\CONTROL03.CTL
  
-----2.2 自动备份
  
--2.2.1 显示自动备份
  
使用RMAN设置configure controlfile autobackup on,
  
这样oracle会在下面两种情况下自动备份控制文件:
  
1.使用rman命令执行任何备份时导致控制文件内RMAN资料库被更新之后.
  
2.数据库物理结构发生变化
  
--案例1:备份任何内容都自动备份控制文件
  
--方法1:
  
RMAN> show controlfile autobackup;
  
使用目标数据库控制文件替代恢复目录
  
db_unique_name 为 ORCL 的数据库的 RMAN 配置参数为:
  
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
  
CONFIGURE CONTROLFILE AUTOBACKUP ON;
  
RMAN> show controlfile autobackup;
  
db_unique_name 为 ORCL 的数据库的 RMAN 配置参数为:
  
CONFIGURE CONTROLFILE AUTOBACKUP ON;
  
RMAN> backup tablespace users format='E:\backup\bak_%u';
  
启动 backup 于 2013-07-23 13:11:51
  
分配的通道: ORA_DISK_1
  
通道 ORA_DISK_1: SID=131 设备类型=DISK
  
通道 ORA_DISK_1: 正在启动全部数据文件备份集
  
通道 ORA_DISK_1: 正在指定备份集内的数据文件
  
输入数据文件: 文件号=00004 名称=F:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF
  
通道 ORA_DISK_1: 正在启动段 1 于 2013-07-23 13:11:52
  
通道 ORA_DISK_1: 已完成段 1 于 2013-07-23 13:11:53
  
段句柄=E:\BACKUP\BAK_7FOFFBSO 标记=TAG20130723T131152 注释=NONE
  
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:01
  
完成 backup 于 2013-07-23 13:11:53
  
启动 Control File and SPFILE Autobackup 于 2013-07-23 13:11:53
  
段 handle=E:\BACKUP\BAK_C-1320546556-20130723-01 comment=NONE
  
完成 Control File and SPFILE Autobackup 于 2013-07-23 13:11:56
  
--方法2:
  
run {
  
configure controlfile autobackup on;
  
configure controlfile autobackup format for device type disk to 'E:\backup\bak_%F';
  
allocate channel c1 device type disk format'E:\backup\bak_%u';
  
allocate channel c2 device type disk format 'E:\backup\bak_%u';
  
backup tablespace users ;
  
release channel c1;
  
release channel c2;
  
}
  
allocate channel for maintenance device type disk;
  
--案例2:数据库物理结构发生变化
  
RMAN> list backup ofcontrolfile;
  
备份集列表
  
===================
  
BS 关键字类型 LV 大小       设备类型 经过时间 完成时间
  
------- ---- -- ---------- ----------- ------------ -------------------
  
219   Full    9.86M      DISK      00:00:02   2013-07-23 13:19:16
  
BP 关键字: 224   状态: AVAILABLE已压缩: NO标记: TAG20130723T131914
  
段名:E:\BACKUP\BAK_C-1320546556-20130723-05
  
包括的控制文件: Ckp SCN: 42135866   Ckp 时间: 2013-07-23 13:19:14
  
SQL> drop tablespace test including contents and datafiles;
  
表空间已删除。
  
RMAN> list backup ofcontrolfile;
  
备份集列表
  
===================
  
BS 关键字类型 LV 大小       设备类型 经过时间 完成时间
  
------- ---- -- ---------- ----------- ------------ -------------------
  
219   Full    9.86M      DISK      00:00:02   2013-07-23 13:19:16
  
BP 关键字: 224   状态: AVAILABLE已压缩: NO标记: TAG20130723T131914
  
段名:E:\BACKUP\BAK_C-1320546556-20130723-05
  
包括的控制文件: Ckp SCN: 42135866   Ckp 时间: 2013-07-23 13:19:14
  
BS 关键字类型 LV 大小       设备类型 经过时间 完成时间
  
------- ---- -- ---------- ----------- ------------ -------------------
  
220   Full    9.86M      DISK      00:00:03   2013-07-23 13:31:38
  
BP 关键字: 225   状态: AVAILABLE已压缩: NO标记: TAG20130723T133135
  
段名:E:\BACKUP\BAK_C-1320546556-20130723-06
  
包括的控制文件: Ckp SCN: 42136699   Ckp 时间: 2013-07-23 13:31:35
  
/****
  
可以发现间隔一段时间后,数据库自动备份了控制文件
  
****/
  
--2.2.2 隐式自动备份
  
隐式自动备份即将configure controlfile autobackup off;
  
使用RMAN备份system表空间中第一个数据文件.
  
RMAN> list backup of datafile 1;
  
说明与资料档案库中的任何备份都不匹配
  
run {
  
configure controlfile autobackup off;
  
configure controlfile autobackup format for device type disk to 'E:\backup\bak_%F';
  
allocate channel c1 device type disk format'E:\backup\bak_%u';
  
allocate channel c2 device type disk format 'E:\backup\bak_%u';
  
backup datafile 1 ;
  
release channel c1;
  
release channel c2;
  
}
  
allocate channel for maintenance device type disk;
  
RMAN> list backup of datafile 1;
  
备份集列表
  
===================
  
BS 关键字类型 LV 大小       设备类型 经过时间 完成时间
  
------- ---- -- ---------- ----------- ------------ -------------------
  
221   Full    1.67G      DISK      00:00:12   2013-07-23 13:38:56
  
BP 关键字: 226   状态: AVAILABLE已压缩: NO标记: TAG20130723T133844
  
段名:E:\BACKUP\BAK_7SOFFDF4
  
备份集 221 中的数据文件列表
  
文件 LV 类型 Ckp SCN    Ckp 时间            名称
  
---- -- ---- ---------- ------------------- ----
  
1       Full 42137384   2013-07-23 13:38:44 F:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF
  
-----2.3 手动备份
  
---2.3.1 备份集备份
  
configure controfile autobackup off;
  
backup as backupset current controlfile;   --备份到系统默认位置
  
backup as backupsetcurrent controlfile format 'e:\backup\bak_%U';--备份到指定位置
  
--或
  
run {
  
configure controlfile autobackup off;
  
configure controlfile autobackup format for device type disk to 'E:\backup\bak_%F';
  
allocate channel c1 device type disk format'E:\backup\bak_%u';
  
allocate channel c2 device type disk format 'E:\backup\bak_%u';
  
backup as backupset current controlfile ;
  
release channel c1;
  
release channel c2;
  
}
  
allocate channel for maintenance device type disk;
  
---2.3.2 镜像复制备份
  
backup as copy current controlfile format 'e:\backup\bak_%U';
  
list copy of controlfile;
  
----2.3.3重建脚本
  
第一步:备份控制文件
  
alter database backup controlfile to trace;
  
第二步:查看备份到追踪文件的控制文件
  
select value from v$diag_info where name='Default Trace File';
  
VALUE
  
--------------------------------------------------------------------------------
  
F:\APP\ADMINISTRATOR\diag\rdbms\orcl\orcl\trace\orcl_ora_721588.trc
  
select a.spid from v$process a, v$session b
  
where a.addr=b.paddr and b.username='SYS';
  
---内容如下:
  
STARTUP NOMOUNT
  
CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGSARCHIVELOG
  
MAXLOGFILES 16
  
MAXLOGMEMBERS 3
  
MAXDATAFILES 100
  
MAXINSTANCES 8
  
MAXLOGHISTORY 292
  
LOGFILE

  
GROUP 1 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO01.LOG' >
  
GROUP 2 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO02.LOG' >
  
GROUP 3 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO03.LOG' >  
-- STANDBY LOGFILE
  
DATAFILE
  
'E:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF',
  
'E:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF',
  
'E:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF',
  
'E:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF'
  
CHARACTER SET ZHS16GBK;


页: [1]
查看完整版本: oracle 11.2控制文件备份