基于Rman的备份与恢复

合集下载

RMAN备份与恢复之完全备份和增量备份

RMAN备份与恢复之完全备份和增量备份

完全备份:完全备份是指对数据库中使用过的所有数据块进行备份,当然,没有使用过的数据块是不做备份的。

在进行完全备份时,RMAN将数据文件中所有的非空白数据块都复制到备份集中。

在RMAN中,可以对数据文件进行完全备份或者增量备份,但是对控制文件和日志文件只能进行完全备份。

在一个完全数据库备份中,将所有的数据库文件,复制到闪回恢复区。

完全备份实例:【例】通过BACKUP FULL语句,对数据库执行完全备份。

使用TAG参数和FORMAT参数,指定备份文件位置以及备份文件的名称格式。

如下:RMAN>RUN{2> #BACKUP THE COMPLETE DATABASE3> ALLOCATE CHANNEL ch1 TYPE DISK;4> BACKUP FULL5> TAG full_db_backup FORMAT"E:\app\backup\db_t%t_s%s_p%p" (database);6> RELEASE CHANNEL ch1;7> }【例】在RMAN中执行LIST命令,查看建立的备份集与备份段信息,如下:RMAN> LIST BACKUP OF DATABASE;增量备份:增量备份就是将那些与前一次备份相比发生变化的数据块复制到备份集中。

进行增量备份时,RMAN会读取整个数据文件,通过RMAN可以为单独的数据文件、表空间、或者整个数据库进行增量备份。

在RMAN中建立的增量备份可以具有不同的级别,每个级别都使用一个不小于0的整数来标识,也就是在BACKUP命令中使用LEVEL关键字指定的,例如LEVEL = 0表示备份级别为0,LEVEL = 1表示备份级别为1。

增量备份的方式:差异增量备份:使用增量备份,执行0级增量备份,也就是实现完全数据库备份,如下:RMAN>RUN{2> ALLOCATE CHANNEL ch1 TYPE disk;3> BACKUP INCREMENTAL LEVEL 0 ASCOMPRESSED BACKUPSET DATABASE;4> RELEASE CHANNEL ch1;5> }在备份语句中没有指定备份文件的保存路径,默认情况下,保存在app\Administrator\flash_recovery_area\ORCL目录下。

oracle数据库rman备份计划及恢复

oracle数据库rman备份计划及恢复

oracle数据库rman备份计划及恢复1.rman完全恢复的前提条件:历史的datafile,controlfile和spfile备份,加上完整的archivelog和完好的redolog。

2.rman备份脚本: a.RMAN 0级备份命令:run{allocate channel c1 type disk;allocate channel c2 type disk;allocate channel c3 type disk;backup incremental level 0 tag 'level0' format "E:\recovery_area\rfdb\rfdb\AUTOBACKUP\rman_dir\RFDB_level_0_%u_%s_%p" as compressed backupset database;sql "alter system archive log current";backup filesperset 3 format "E:\recovery_area\rfdb\rfdb\AUTOBACKUP\rman_dir\arch_%u_%s_%p_%c"archivelog all delete input; #备份归档可选,可以单独定期备份release channel c1;release channel c2;release channel c3;} b.RMAN 1级备份命令:run{allocate channel c1 type disk;allocate channel c2 type disk;allocate channel c3 type disk;backup incremental level 1 tag 'level1' format 'E:\recovery_area\rfdb\rfdb\AUTOBACKUP\rman_dir\RFDB_level_1_%u_%s_%p' as compressed backupset database;sql 'alter system archive log current';backup filesperset 3 format 'E:\recovery_area\rfdb\rfdb\AUTOBACKUP\rman_dir\arch_%u_%s_%p'archivelog all delete input; #备份归档可选,可以单独定期备份release channel c1;release channel c2;release channel c3;} c.rman删除备份命令(在保留最近⼀天备份的情况下,删除其他备份):DELETE NOPROMPT OBSOLETE RECOVERY WINDOW OF 1 DAYS; d.操作系统层⾯运⾏rman备份或删除命令(windows/linux):rman target sys/rf4rfvbgt56yhn@rfdb nocatalog CMDFILE 'D:\app\rman\rman_file\level_0.txt' log=E:\recovery_area\rfdb\rfdb\AUTOBACKUP\rman_dir\log\rman_level_0.log export ORACLE_BASE=/u01/app/oracleexport ORACLE_HOME=/u01/app/oracle/product/11.2.0/db1export ORACLE_SID=atestexport PATH=$ORACLE_HOME/bin:$PATHrman target sys/123456@atest nocatalog CMDFILE '/u01/rman/rman.sh' log=/u01/rman/rman.log00 02 * * 1 bash /u01/rman_file/run_rman_0.sh00 02 * * 3 bash /u01/rman_file/run_rman_0.sh00 02 * * 5 bash /u01/rman_file/run_rman_0.sh00 04 * * * bash /u01/rman_file/run_delete.sh34 11 * * * bash /u01/rman_file/run_rman_0.sh e.rman参数设置:RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;RMAN> CONFIGURE DEFAULT DEVICE TYPE TO DISK;RMAN> CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE disk TO 2;RMAN> CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE disk TO 2;3.rman恢复a.拷贝datafile,controlfile和spfile的rman备份,以及完整的archivelog和完好的redolog⽂件到新的数据库。

05.使用RMAN进行备份与恢复

05.使用RMAN进行备份与恢复
• 如果数据库个别数据文件损坏,可以只对相应的文件进行恢OCATE CHANNEL c1 TYPE DISK; restore datafile 1; recover datafile 1; alter database open; }
Datafile 2 Control file
Datafile 3
Datafile 1 Datafile 3 Datafile 2 Datafile 4
Control file
Backup Backup Backup
set 1
set 2
set 3
备份集的产生
• 在rman备份时,多个数据文件中的数据块组织到一起,形成 Rman备份的文件
集包含几个备份片文件也由这个限制决定 • 如果没有限制,一个备份集只生成一个备份片文件 • 不同管道产生的备份片文件大小可以不一样
Rman备份命令
• 生成备份集的命令是backup,可以用来备份数据库、表空间、 数据文件、控制文件、归档日志文件、初始化参数文件
• 备份命令中可以加入一些选项 • 对数据文件可以使用下面的命令备份
• 多个数据文件被组织在一起形成的备份叫做一个备份集 • 一次备份命令可以产生多个备份集 • 产生的备份集个数与备份命令中的filesperset设置有关 • 如果没有设置filesperset,所有被备份的文件放在一个备份集中
备份片 -- Backup Piece
• Rman产生的备份文件叫做备份片文件 • 一个备份集可能产生多个备份片文件 • 备份片文件中可能包括多个数据文件中的数据块 • 产生的备份片文件大小由管道限制maxpiecesize决定,每个备份
• %u
由 8 个字符组成的名称,该名称由该备份集号和创建

RMAN地备份与恢复步骤详解

RMAN地备份与恢复步骤详解

在这里没有讨论多么深入的RMAN技术,也没有告诉大家这样去编写备份脚本,这并不是我的初衷,我只想把我会的写出来,和大家一起学习,一起进步,谢谢。

1、切换服务器归档模式,如果已经是归档模式可跳过此步:%sqlplus /nolog (启动sqlplus)SQL> conn / as sysdba (以DBA身份连接数据库)SQL> shutdown immediate; (立即关闭数据库)SQL> startup mount (启动实例并加载数据库,但不打开) SQL> alter database archivelog; (更改数据库为归档模式)SQL> alter database open; (打开数据库)SQL> alter system archive log start; (启用自动归档) SQL> exit (退出)2、连接: %rman target=rman/rman@mydb (启动恢复管理器)3、基本设置: RMAN> configure default device type to disk; (设置默认的备份设备为磁盘)RMAN> configure device type disk parallelism 2; (设置备份的并行级别,通道数)RMAN> configure channel 1 device type disk fromat '/backup1/backup_%U'; (设置备份的文件格式,只适用于磁盘设备)RMAN> configure channel 2 device type disk fromat '/backup2/backup_%U'; (设置备份的文件格式,只适用于磁盘设备)RMAN> configure controlfile autobackup on; (打开控制文件与服务器参数文件的自动备份)RMAN> configure controlfile autobackup format for device type disk to '/backup1/ctl_%F'; (设置控制文件与服务器参数文件自动备份的文件格式)4、查看所有设置:RMAN> show all5、查看数据库方案报表:RMAN> report schema;6、备份全库:RMAN> backup database plus archivelog delete input; (备份全库及控制文件、服务器参数文件与所有归档的重做日志,并删除旧的归档日志)7、备份表空间:RMAN> backup tablespace system plus archivelog delete input; (备份指定表空间及归档的重做日志,并删除旧的归档日志)8、备份归档日志:RMAN> backup archivelog all delete input;9、复制数据文件:RMAN> copy datafile 1 to '/oracle/dbs/system.copy';10、查看备份和文件复本:RMAN> list backup;11、验证备份:RMAN> validate backupset 3;12、从自动备份中恢复服务器参数文件:RMAN> shutdown immediate; (立即关闭数据库)RMAN> startup nomount; (启动实例)RMAN> restore spfile to pfile '/backup1/mydb.ora' from autobackup; (从自动备份中恢复服务器参数文件) 13、从自动备份中恢复控制文件:RMAN> shutdown immediate; (立即关闭数据库)RMAN> startup nomount; (启动实例)RMAN> restore controlfile to '/backup1' from autobackup; (从自动备份中恢复控制文件)13、恢复和复原全数据库:RMAN> shutdown immediate; (立即关闭数据库)RMAN> exit (退出)%mv /oracle/dbs/tbs_12.f /oracle/dbs/tbs_12.bak (将数据文件重命名)%mv /oracle/dbs/tbs_13.f /oracle/dbs/tbs_13.bak (将数据文件重命名)%mv /oracle/dbs/tbs_14.f /oracle/dbs/tbs_14.bak (将数据文件重命名)%mv /oracle/dbs/tbs_15.f /oracle/dbs/tbs_15.bak (将数据文件重命名)%rman target=rman/rman@mydb (启动恢复管理器)RMAN> startup pfile=/oracle/admin/mydb/pfile/initmydb.ora (指定初始化参数文件启动数据库)RMAN> restore database; (还原数据库) RMAN> recover database; (恢复数据库)RMAN> alter database open; (打开数据库)14、恢复和复原表空间:RMAN> sql 'alter tablespace users offline immediate'; (将表空间脱机)RMAN> exit (退出恢复管理器)%mv /oracle/dbs/users01.dbf /oracle/dbs/users01.bak (将表空间重命名)%rman target=rman/rman@mydb (启动恢复管理器)RMAN> restore tablespace users; (还原表空间)RMAN> recover tablespace users; (恢复表空间)RMAN> sql 'alter tablespace users online'; (将表空间联机)15、增量备份与恢复:第一天的增量基本备份:RMAN> backup incremental level=0 database plus archivelog delete input;第二天的增量差异备份:RMAN> backup incremental level=2 database plus archivelog delete input;第三天的增量差异备份:RMAN> backup incremental level=2 database plus archivelog delete input;第四天的增量差异备份:RMAN> backup incremental level=1 database plus archivelog delete input;第五天的增量差异备份:RMAN> backup incremental level=2 database plus archivelog delete input;第六天的增量差异备份:RMAN> backup incremental level=2 database plusarchivelog delete input;第七天的增量差异备份:RMAN> backup incremental level=0 database plus archivelog delete input;增量恢复:RMAN> shutdown immediate;RMAN> exit%mv /oracle/dbs/tbs_12.f /oracle/dbs/tbs_12.bak%mv /oracle/dbs/tbs_13.f /oracle/dbs/tbs_13.bak%mv /oracle/dbs/tbs_14.f /oracle/dbs/tbs_14.bak%mv /oracle/dbs/tbs_15.f /oracle/dbs/tbs_15.bak%rman target=rman/rman@mydbRMAN> startup pfile=/oracle/admin/mydb/pfile/initmydb.ora RMAN> restore database;RMAN> recover database;RMAN> alter database open。

RMAN的备份与恢复步骤详解

RMAN的备份与恢复步骤详解

RMAN的备份与恢复步骤详解RMAN(Recovery Manager)是Oracle数据库备份和恢复技术的核心工具,提供了一种集中管理和自动化备份和恢复操作的方式。

下面将详细介绍RMAN的备份与恢复步骤。

备份步骤:1.配置RMAN环境:确定RMAN备份目标、备份库、目标库的连接信息,并设置环境变量。

2.创建RMAN备份目标:使用CREATECATALOG命令创建RMAN备份目标,以存储备份信息和恢复目标的元数据。

3.创建备份策略:确定备份类型(完全备份、增量备份、增量备份级别等),备份周期(每日、每周)、备份级别(全局备份、局部备份)以及备份介质(磁盘、磁带)等。

4.执行备份命令:使用BACKUP命令执行备份操作。

根据备份策略选择相应的备份类型,并指定备份集的存储位置。

可以使用全量备份、增量备份或归档日志备份等方式进行备份。

5.备份验证和测试:使用RESTORE命令验证备份集是否可恢复。

可以恢复到测试库中,检查数据的完整性以及备份恢复的过程和时间。

恢复步骤:1.准备恢复环境:确定系统状态,关闭数据库、归档日志模式,备份控制文件,以备份增量恢复,恢复目标数据库的连接信息,并设置环境变量。

2.恢复控制文件:将备份的控制文件还原到指定位置,以获取数据库的结构信息。

3.恢复数据库文件:使用RESTORE命令恢复需要的数据文件。

可以选择完全恢复(使用全量备份和归档日志进行恢复)、增量恢复(使用增量备份和归档日志进行恢复)或点恢复(使用时间点或SCN号进行恢复)的方式。

4.打开数据库:使用OPENRESETLOGS命令打开数据库,恢复数据库文件到最新的状态。

5.检查恢复结果:验证恢复后数据库的完整性和一致性。

使用相应的SQL语句检查数据的正确性、索引的可用性和对象的有效性。

常见问题处理:1.恢复失败的处理:RMAN提供了很多失败后的处理命令,比如RECOVER命令来恢复损坏的数据文件,CROSSCHECK命令来检查备份文件的完整性等。

Oracle 11g 基于RMAN的备份与恢复

Oracle 11g 基于RMAN的备份与恢复

Oracle 11g 基于RMAN的备份与恢复备份整个数据库C:\Users\huangluxiang>rman target/RMAN> backup database;RMAN> exit (退出)(1)重做日志损坏SQL> conn /as sysdba已连接到空闲例程。

SQL> startup mount;ORACLE 例程已经启动。

Total System Global Area 1071333376 bytesFixed Size 1375792 bytesVariable Size 729809360 bytesDatabase Buffers 335544320 bytesRedo Buffers 4603904 bytes数据库装载完毕。

SQL> recover database until cancel;完成介质恢复。

SQL> alter database open resetlogs;数据库已更改。

SQL> archive log list;数据库日志模式存档模式自动存档启用存档终点USE_DB_RECOVERY_FILE_DEST最早的联机日志序列 1下一个存档日志序列 1当前日志序列 1备注:恢复Oracle数据库,应该备份整个数据库(2)数据库丢失数据文件,控制文件,重做日志文件C:\Users\huangluxiang>rman target/RMAN> restore controlfile from autobackup;RMAN>alter database mount;RMAN> restore database;SQL> conn /as sysdba已连接。

SQL> recover database using backup controlfile until cancel;ORA-00279: 更改990116 (在12/13/2013 14:06:05 生成) 对于线程1 是必需的ORA-00289: 建议:C:\APP\HUANGLUXIANG\FLASH_RECOVERY_AREA\DLNU\ARCHIVELOG\2013_12_13\ O1_MF_1_5_%U_.ARCORA-00280: 更改990116 (用于线程1) 在序列#5 中指定日志: {<RET>=suggested | filename | AUTO | CANCEL}cancel介质恢复已取消。

基于RMAN增量差异备份的恢复步骤

基于RMAN增量差异备份的恢复步骤

基于RMAN增量差异备份的恢复步骤1.恢复背景2.恢复步骤2.1.建立恢复环境1.找一台硬件配置与原数据库服务器相同的服务器,在上面安装相同的操作和Oracle数据库(版本要一致);8.复制备份文件到原备份路径注意:要确保备份文件存放的路径与原数据库中的路径一致。

2.2.恢复过程完成implicit crosscheck backup 于10-10月-09启动implicit crosscheck copy 于10-10月-09使用通道ORA_DISK_1完成implicit crosscheck copy 于10-10月-09搜索恢复区域中的所有文件正在编制文件目录...没有为文件编制目录使用通道ORA_DISK_1通道ORA_DISK_1: 正在开始恢复数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件正将数据文件00001恢复到D:\ORA\SYS\SYSTEM01.DBF正将数据文件00005恢复到D:\ORA\ICITY\DA TA1.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB01HKQLPKP_2097_1 通道ORA_DISK_1: 已恢复备份段1段句柄= E:\ORA\RMANBAK\DB01HKQLPKP_2097_1 标记= DB0通道ORA_DISK_1: 恢复完成, 用时: 00:11:15通道ORA_DISK_1: 正在开始恢复数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件正将数据文件00004恢复到D:\ORA\SYS\USERS01.DBF正将数据文件00007恢复到D:\ORA\ICITY\DA TA3.DBF正将数据文件00008恢复到D:\ORA\RMANFILE\DBACKUPFILE.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB01IKQLPKP_2098_1 通道ORA_DISK_1: 已恢复备份段1段句柄= E:\ORA\RMANBAK\DB01IKQLPKP_2098_1 标记= DB0通道ORA_DISK_1: 恢复完成, 用时: 00:10:56通道ORA_DISK_1: 正在开始恢复数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件正将数据文件00002恢复到D:\ORA\SYS\UNDOTBS01.DBF正将数据文件00003恢复到D:\ORA\SYS\SYSAUX01.DBF正将数据文件00006恢复到D:\ORA\ICITY\DA TA2.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB01GKQLPKP_2096_1 通道ORA_DISK_1: 已恢复备份段1段句柄= E:\ORA\RMANBAK\DB01GKQLPKP_2096_1 标记= DB0通道ORA_DISK_1: 恢复完成, 用时: 00:14:25完成restore 于10-10月-09通道ORA_DISK_1: 正在开始恢复增量数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件数据文件00001 的恢复目标: D:\ORA\SYS\SYSTEM01.DBF数据文件00005 的恢复目标: D:\ORA\ICITY\DA TA1.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB125KR0LMA_2117_1 通道ORA_DISK_1: 已恢复备份段 1段句柄= E:\ORA\RMANBAK\DB125KR0LMA_2117_1 标记= DB1通道ORA_DISK_1: 恢复完成, 用时: 00:00:03通道ORA_DISK_1: 正在开始恢复增量数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件数据文件00004 的恢复目标: D:\ORA\SYS\USERS01.DBF数据文件00007 的恢复目标: D:\ORA\ICITY\DA TA3.DBF数据文件00008 的恢复目标: D:\ORA\RMANFILE\DBACKUPFILE.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB126KR0LMA_2118_1 通道ORA_DISK_1: 已恢复备份段1段句柄= E:\ORA\RMANBAK\DB126KR0LMA_2118_1 标记= DB1通道ORA_DISK_1: 恢复完成, 用时: 00:00:03通道ORA_DISK_1: 正在开始恢复增量数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件数据文件00002 的恢复目标: D:\ORA\SYS\UNDOTBS01.DBF数据文件00003 的恢复目标: D:\ORA\SYS\SYSAUX01.DBF数据文件00006 的恢复目标: D:\ORA\ICITY\DA TA2.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB124KR0LM9_2116_1 通道ORA_DISK_1: 已恢复备份段1段句柄= E:\ORA\RMANBAK\DB124KR0LM9_2116_1 标记= DB1通道ORA_DISK_1: 恢复完成, 用时: 00:00:25通道ORA_DISK_1: 正在开始恢复增量数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件数据文件00001 的恢复目标: D:\ORA\SYS\SYSTEM01.DBF数据文件00005 的恢复目标: D:\ORA\ICITY\DA TA1.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB229KR107N_2121_1 通道ORA_DISK_1: 已恢复备份段1段句柄= E:\ORA\RMANBAK\DB229KR107N_2121_1 标记= DB2通道ORA_DISK_1: 恢复完成, 用时: 00:00:01通道ORA_DISK_1: 正在开始恢复增量数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件数据文件00004 的恢复目标: D:\ORA\SYS\USERS01.DBF数据文件00007 的恢复目标: D:\ORA\ICITY\DA TA3.DBF数据文件00008 的恢复目标: D:\ORA\RMANFILE\DBACKUPFILE.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB22AKR107N_2122_1 通道ORA_DISK_1: 已恢复备份段1段句柄= E:\ORA\RMANBAK\DB22AKR107N_2122_1 标记= DB2通道ORA_DISK_1: 恢复完成, 用时: 00:00:01通道ORA_DISK_1: 正在开始恢复增量数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件数据文件00002 的恢复目标: D:\ORA\SYS\UNDOTBS01.DBF数据文件00003 的恢复目标: D:\ORA\SYS\SYSAUX01.DBF数据文件00006 的恢复目标: D:\ORA\ICITY\DA TA2.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB228KR107N_2120_1 通道ORA_DISK_1: 已恢复备份段1段句柄= E:\ORA\RMANBAK\DB228KR107N_2120_1 标记= DB2通道ORA_DISK_1: 恢复完成, 用时: 00:00:08通道ORA_DISK_1: 正在开始恢复增量数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件数据文件00001 的恢复目标: D:\ORA\SYS\SYSTEM01.DBF数据文件00005 的恢复目标: D:\ORA\ICITY\DA TA1.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB22DKR3KJQ_2125_1 通道ORA_DISK_1: 已恢复备份段1段句柄= E:\ORA\RMANBAK\DB22DKR3KJQ_2125_1 标记= DB2通道ORA_DISK_1: 恢复完成, 用时: 00:00:03通道ORA_DISK_1: 正在开始恢复增量数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件数据文件00004 的恢复目标: D:\ORA\SYS\USERS01.DBF数据文件00007 的恢复目标: D:\ORA\ICITY\DA TA3.DBF数据文件00008 的恢复目标: D:\ORA\RMANFILE\DBACKUPFILE.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB22EKR3KJQ_2126_1 通道ORA_DISK_1: 已恢复备份段1段句柄= E:\ORA\RMANBAK\DB22EKR3KJQ_2126_1 标记= DB2通道ORA_DISK_1: 恢复完成, 用时: 00:00:01通道ORA_DISK_1: 正在开始恢复增量数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件数据文件00002 的恢复目标: D:\ORA\SYS\UNDOTBS01.DBF数据文件00003 的恢复目标: D:\ORA\SYS\SYSAUX01.DBF数据文件00006 的恢复目标: D:\ORA\ICITY\DA TA2.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB22CKR3KJQ_2124_1 通道ORA_DISK_1: 已恢复备份段1段句柄= E:\ORA\RMANBAK\DB22CKR3KJQ_2124_1 标记= DB2通道ORA_DISK_1: 恢复完成, 用时: 00:00:15通道ORA_DISK_1: 正在开始恢复增量数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件数据文件00001 的恢复目标: D:\ORA\SYS\SYSTEM01.DBF数据文件00005 的恢复目标: D:\ORA\ICITY\DA TA1.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB22HKR68VP_2129_1 通道ORA_DISK_1: 已恢复备份段1段句柄= E:\ORA\RMANBAK\DB22HKR68VP_2129_1 标记= DB2通道ORA_DISK_1: 恢复完成, 用时: 00:00:03通道ORA_DISK_1: 正在开始恢复增量数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件数据文件00007 的恢复目标: D:\ORA\ICITY\DA TA3.DBF数据文件00008 的恢复目标: D:\ORA\RMANFILE\DBACKUPFILE.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB22IKR68VQ_2130_1 通道ORA_DISK_1: 已恢复备份段1段句柄= E:\ORA\RMANBAK\DB22IKR68VQ_2130_1 标记= DB2通道ORA_DISK_1: 恢复完成, 用时: 00:00:01通道ORA_DISK_1: 正在开始恢复增量数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件数据文件00002 的恢复目标: D:\ORA\SYS\UNDOTBS01.DBF数据文件00003 的恢复目标: D:\ORA\SYS\SYSAUX01.DBF数据文件00006 的恢复目标: D:\ORA\ICITY\DA TA2.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB22GKR68VP_2128_1 通道ORA_DISK_1: 已恢复备份段1段句柄= E:\ORA\RMANBAK\DB22GKR68VP_2128_1 标记= DB2通道ORA_DISK_1: 恢复完成, 用时: 00:00:15通道ORA_DISK_1: 正在开始恢复增量数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件数据文件00001 的恢复目标: D:\ORA\SYS\SYSTEM01.DBF数据文件00005 的恢复目标: D:\ORA\ICITY\DA TA1.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB22LKR8TBQ_2133_1 通道ORA_DISK_1: 已恢复备份段1段句柄= E:\ORA\RMANBAK\DB22LKR8TBQ_2133_1 标记= DB2通道ORA_DISK_1: 恢复完成, 用时: 00:00:03通道ORA_DISK_1: 正在开始恢复增量数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件数据文件00004 的恢复目标: D:\ORA\SYS\USERS01.DBF数据文件00007 的恢复目标: D:\ORA\ICITY\DA TA3.DBF数据文件00008 的恢复目标: D:\ORA\RMANFILE\DBACKUPFILE.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB22MKR8TBQ_2134_1 通道ORA_DISK_1: 已恢复备份段1段句柄= E:\ORA\RMANBAK\DB22MKR8TBQ_2134_1 标记= DB2通道ORA_DISK_1: 恢复完成, 用时: 00:00:01通道ORA_DISK_1: 正在开始恢复增量数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件数据文件00002 的恢复目标: D:\ORA\SYS\UNDOTBS01.DBF数据文件00003 的恢复目标: D:\ORA\SYS\SYSAUX01.DBF数据文件00006 的恢复目标: D:\ORA\ICITY\DA TA2.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB22KKR8TBQ_2132_1 通道ORA_DISK_1: 已恢复备份段1段句柄= E:\ORA\RMANBAK\DB22KKR8TBQ_2132_1 标记= DB2通道ORA_DISK_1: 恢复完成, 用时: 00:00:15通道ORA_DISK_1: 正在开始恢复增量数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件数据文件00005 的恢复目标: D:\ORA\ICITY\DA TA1.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB22PKRBHNQ_2137_1 通道ORA_DISK_1: 已恢复备份段1段句柄= E:\ORA\RMANBAK\DB22PKRBHNQ_2137_1 标记= DB2通道ORA_DISK_1: 恢复完成, 用时: 00:00:03通道ORA_DISK_1: 正在开始恢复增量数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件数据文件00004 的恢复目标: D:\ORA\SYS\USERS01.DBF数据文件00007 的恢复目标: D:\ORA\ICITY\DA TA3.DBF数据文件00008 的恢复目标: D:\ORA\RMANFILE\DBACKUPFILE.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB22QKRBHNQ_2138_1 通道ORA_DISK_1: 已恢复备份段1段句柄= E:\ORA\RMANBAK\DB22QKRBHNQ_2138_1 标记= DB2通道ORA_DISK_1: 恢复完成, 用时: 00:00:01通道ORA_DISK_1: 正在开始恢复增量数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件数据文件00002 的恢复目标: D:\ORA\SYS\UNDOTBS01.DBF数据文件00003 的恢复目标: D:\ORA\SYS\SYSAUX01.DBF数据文件00006 的恢复目标: D:\ORA\ICITY\DA TA2.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB22OKRBHNQ_2136_1 通道ORA_DISK_1: 已恢复备份段1段句柄= E:\ORA\RMANBAK\DB22OKRBHNQ_2136_1 标记= DB2通道ORA_DISK_1: 恢复完成, 用时: 00:00:15通道ORA_DISK_1: 正在开始恢复增量数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件数据文件00001 的恢复目标: D:\ORA\SYS\SYSTEM01.DBF数据文件00005 的恢复目标: D:\ORA\ICITY\DA TA1.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB22TKRE63Q_2141_1 通道ORA_DISK_1: 已恢复备份段1段句柄= E:\ORA\RMANBAK\DB22TKRE63Q_2141_1 标记= DB2通道ORA_DISK_1: 恢复完成, 用时: 00:00:03通道ORA_DISK_1: 正在开始恢复增量数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件数据文件00004 的恢复目标: D:\ORA\SYS\USERS01.DBF数据文件00007 的恢复目标: D:\ORA\ICITY\DA TA3.DBF数据文件00008 的恢复目标: D:\ORA\RMANFILE\DBACKUPFILE.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB22UKRE63Q_2142_1 通道ORA_DISK_1: 已恢复备份段1段句柄= E:\ORA\RMANBAK\DB22UKRE63Q_2142_1 标记= DB2通道ORA_DISK_1: 恢复完成, 用时: 00:00:01通道ORA_DISK_1: 正在开始恢复增量数据文件备份集通道ORA_DISK_1: 正在指定从备份集恢复的数据文件数据文件00002 的恢复目标: D:\ORA\SYS\UNDOTBS01.DBF数据文件00006 的恢复目标: D:\ORA\ICITY\DA TA2.DBF通道ORA_DISK_1: 正在读取备份段E:\ORA\RMANBAK\DB22SKRE63Q_2140_1通道ORA_DISK_1: 已恢复备份段1段句柄= E:\ORA\RMANBAK\DB22SKRE63Q_2140_1 标记= DB2通道ORA_DISK_1: 恢复完成, 用时: 00:00:15正在开始介质的恢复无法找到存档日志存档日志线程=1 序列=1169RMAN-03002: recover 命令(在10/12/2009 16:47:26 上) 失败RMAN-06054: 介质恢复正请求未知的日志: 线程1 seq 1169 lowscn 36496613把归档日志D:\ora\archivelog\1169_1_658946615.LOG放到归档目录后RMAN> recover database;启动recover 于12-10月-09使用通道ORA_DISK_1正在开始介质的恢复存档日志文件名=D:\ORA\ARCHIVELOG\1169_1_658946615.LOG 线程=1 序列=1169 存档日志文件名=D:\ORA\ARCHIVELOG\1169_1_658946615.LOG 线程=1 序列=1170 RMAN-03002: recover 命令(在10/12/2009 17:05:38 上) 失败RMAN-11003: 在分析/执行SQL 语句期间失败: alter database recover logfile 'D:\ORA\ARCHIVELOG\1169_1_658946615.LOG'ORA-00310: 归档日志包含序列1169; 要求序列1170ORA-00334: 归档日志: 'D:\ORA\ARCHIVELOG\1169_1_658946615.LOG'RMAN> alter database open resetlogs;数据库已打开3.附加说明在恢复过程中用到rman自动备份的spfile和控制文件,在此给出修改rman自动备份控目前还没有找到用RMAN自动备份归档日志的方法。

[Oracle数据库]使用RMAN备份与还原数据库原理

[Oracle数据库]使用RMAN备份与还原数据库原理

使用RMAN备份与还原Oracle数据库原理一、数据库备份概念对于Oracle数据库,备份方式包括物理备份和逻辑备份。

1、物理备份将实际组成数据库的操作系统文件从一处拷贝到另一处的备份过程,通常是从磁盘到磁带。

该方法实现数据库的完整恢复,但数据库必须运行在归档模式下(业务数据库在非归档模式下运行),且需要极大的外部存储设备,例如磁带库,具体包括冷备份和热备份。

冷备份和热备份是物理备份(也称低级备份),它涉及到组成数据库的文件,但不考虑逻辑内容。

使用RMAN备份与还原ORACLE数据库的方式,属于物理备份方法。

2、逻辑备份利用SQL语言从数据库中抽取数据并存于二进制文件的过程。

业务数据库采用此种方式,此方法不需要数据库运行在归档模式下,不但备份简单,而且可以不需要外部存储设备,包括导出/导入(EXPORT/IMPORT)。

这种方法包括读取一系列的数据库日志,并写入文件中,这些日志的读取与其所处位置无关。

二、RMAN备份方式使用RMAN备份Oracle数据库,包括以下三种备份概念。

1、完全备份(Full Backup)与增量备份(Incremental Backup)完全备份与增量备份是针对数据文件而言,控制文件和归档日志文件不能进行增量备份。

当然,后两者可以做备份优化。

2、打开备份(Open Backup)或关闭备份(Closed Backup)数据库打开状态下进行备份即是打开备份,数据库关闭状态下(加载状态)进行的备份即关闭备份。

3、一致备份(Consistent Backup)与不一致备份(Inconsistent Backup)数据库打开状态或不干净关闭状态(shutdown abort)进行的备份是不一致备份,利用不一致的备份修复数据库后还需要做数据库的恢复。

在数据库干净关闭状态进行的备份是一致备份,利用一致备份修复数据库后不需要做数据库的恢复。

三、备份策略由于数据库占据物理空间较大,每次都进行全库备份,对存储介质要求比较高,也会造成空间的冗余浪费,故而在实际的数据备份过程中,通常采用增量备份的方法。

oraclerman管理方式下的热备份及恢复

oraclerman管理方式下的热备份及恢复
• 总结词:数据丢失可能是由于硬件故障、软件故 障等原因导致。
数据丢失问题及解决方案
硬件故障
如硬盘故障、存储设备故障等,可能导致数据丢失。
软件故障
如数据库崩溃、软件错误等,也可能导致数据丢失。
数据丢失问题及解决方案
• 人为错误:如误删除数据、误修改数据等,也可能导致数据丢失。
数据丢失问题及解决方案
配置通道,设置备份设备 (例如磁盘、磁带等)和 相关参数。
创建RMAN备份
使用RMAN命令行工具执行 备份操作。
选择要备份的数据库、表空 间、数据文件等。
02
01
指定备份类型(完全、增量
等)。
03
设置备份文件的存储位置和 名称。
04
05
执行备份命令,监控备份过 程,确保备份成功完成。
监控备份过程
解决方案
建立数据恢复计划,以便在 数据丢失时能够快速恢复。
定期进行数据备份,确保数 据安全。
加强系统监控和安全措施, 防止人为错误导致的数据丢 失。
THANKS FOR WATCHING
感谢您的观看
01 在RMAN客户端中查看备份进度和状态。
02
检查备份日志文件,了解备份过程中的任 何错误或警告信息。
03
定期检查备份文件的完整性,确保备份数 据可用。
04
根据需要,可以设置自动备份计划,定期 自动执行备份操作。
03 Oracle RMAN热恢复操 作
恢复数据库
数据库恢复
在RMAN中,可以使用RESTORE命令来恢复数据库。RESTORE命令用于将数据库文件从备份中提取出来,并将其放 置在数据库的原始位置或指定的新位置。
方案
01 Oracle RMAN热备份介 绍

windows-下的oracle数据库rman自动备份和恢复文档精选全文完整版

windows-下的oracle数据库rman自动备份和恢复文档精选全文完整版

可编辑修改精选全文完整版数据库rman备份恢复文档一.Rman简介RMAN是ORACLE提供的恢复和备份工具,是随Oracle服务器软件一同安装的工具软件,它可以用来备份和恢复数据库文件、归档日志和控制文件,用来执行完全或不完全的数据库恢复。

与传统工具相比,RMAN具有独特的优势:跳过未使用的数据块。

当备份一个RMAN 备份集时,RMAN不会备份从未被写入的数据块,而传统的方式无法获知那些是未被使用的数据块。

RMAN使用Oracle特有的二进制压缩模式,与传统备份的压缩方式相比,能够最大程度地压缩数据块中的一些典型数据。

二.系统规划数据库备份文件不建议与系统盘(C盘)、oracle数据文件存放盘(D 盘)存放在一起,本文单独存放于E盘。

注:在进行以下操作前要根据自己的环境建立如下目录“E:\orabackup\”,“’E:\archivelog_backup”,“E:/orabackup_script/”。

本文用到的命令中的标点均为英文字符下的标点。

三.设置oracle数据库为归档模式(ARCHIVELOG)按以下步骤操作,检查oracle数据库是否为归档模式。

1.选择“开始”→“系统”→“运行”,输入cmd,按回车。

2.输入“sqlplus”,按回车。

3.输入“system / as sysdba ”,按回车。

4.输入数据库system账号的密码,按回车。

5.查看数据库归档模式,输入“archive log list;”,按回车。

如下图所示。

如果“数据库日志模式”为“非存档模式”,则需按照如下步骤开启归档模式:1.设置数据库日志归档路径。

输入“alter system set log_archive_dest=’E:\archivelog_backup’ scope=spfile; ”,按回车。

2.关闭数据库。

输入“shutdown immediate;”,按回车。

3. 启动数据库到mount状态。

第6章 RMAN备份与恢复

第6章 RMAN备份与恢复

new RMAN configuration parameters are successfully stored RMAN> configure channel 1 device type disk to destination 'd:\backup';
--设置通道1的备份路径为'd:\backup' new RMAN configuration parameters: CONFIGURE CHANNEL 1 DEVICE TYPE DISK TO DESTINATION
所谓通道:是指由服务器进程发起并控制目标数据库的文件与物理设备之间 的字节流。一个通道即为一个会话,一个会话对应于一个服务器进程。所有 的备份和恢复操作都是由RMAN连接的服务器进程完成的,更确切的说:是 由通道完成的。通道的分配主要有两种形式:自动分配通道和手动分配通道 。可以根据预定义的配置参数自动分配通道,也可以在需要时手动分配通道 。
为2,这样备份开始时会使用两个通道进行备份。
new RMAN configuration parameters: CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO
BACKUPSET; new RMAN configuration parameters are successfully stored 还原默认设置值: RMAN> configure device type disk clear; old RMAN configuration parameters: CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO
6.1.1 连接数据库

RMAN地备份与恢复步骤详解

RMAN地备份与恢复步骤详解

RMAN地备份与恢复步骤详解RMAN(Recovery Manager)是Oracle数据库中用于备份和恢复数据的工具。

RMAN提供了一种灵活、高效的备份和恢复机制,可以帮助数据库管理员有效地管理数据库的备份和恢复工作。

在本文中,我们将详细介绍RMAN备份与恢复的步骤和操作方法。

备份步骤:1.配置RMAN环境:在开始进行RMAN备份之前,首先需要配置RMAN环境。

这包括设置RMAN的环境变量、创建RMAN的配置文件以及配置RMAN的连接信息等操作。

您可以使用RMAN命令行或者RMAN配置助手来完成这些操作。

2.创建备份任务:在配置好RMAN环境之后,可以通过RMAN命令行或者RMAN配置助手来创建备份任务。

您可以选择全量备份、增量备份或者归档日志备份等不同类型的备份任务。

3. 执行备份任务:一旦创建了备份任务,就可以使用RMAN命令来执行备份任务。

您可以使用“backup database”命令来执行全量备份任务,使用“backup incremental”命令来执行增量备份任务,使用“backup archivelog”命令来执行归档日志备份任务等。

4. 监控备份过程:在执行备份任务的过程中,可以使用RMAN命令来监控备份的进度和状态。

您可以使用“show”命令来查看备份任务的进度、使用“list”命令来列出备份文件的信息等。

5. 完成备份任务:一旦备份任务执行完毕,可以使用RMAN命令来验证备份文件的完整性和一致性。

您可以使用“crosscheck”命令来验证备份文件的状态,使用“delete”命令来删除过期的备份文件等。

恢复步骤:1.配置RMAN环境:在开始进行RMAN恢复之前,需要先配置好RMAN的环境。

确保RMAN的环境变量、配置文件和连接信息都已经设置好。

2. 恢复数据库:如果数据库遇到了故障或者数据丢失的情况,可以使用RMAN命令来恢复数据库。

您可以使用“restore database”命令来还原数据库的备份文件,使用“recover database”命令来恢复数据库的数据文件。

RMAN备份与恢复

RMAN备份与恢复

RMAN备份与恢复参考链接:RMAN是物理备份,可以做到任意时间点的恢复。

归档模式下,RMAN既可以冷备,也可以热备⾮归档模式下,RMAN只能冷备。

⼀、创建并注册恢复⽬录 1. SQL窗⼝中创建恢复⽬录所使⽤的表空间SQL>create tablespace rman_tbsp datafile '/u01/app/oracle/oradata/orcl/rman_tbsp.dbf' size 1G autoextend on;Tablespace created. 2. 创建RMAN⽤户并授权SQL>create user rman_user identified by123456default tablespace rman_tbsp temporary tablespace temp;SQL>grant connect,recovery_catalog_owner,resource to rman_user; 3. shell窗⼝打开恢复管理器rman target sysdba/123456 catalog rman_user/123456; 4. 在RMAN模式下,创建恢复⽬录create catalog tablespace rman_tbsp; 5. 在RMAN模式下,使⽤register命令注册数据库register database;database registered in recovery catalogstarting full resync of recovery catalogfull resync complete⼆、在归档模式下和⾮归档模式下备份数据库(⼀致性与⾮⼀致性)2.1⼀致性备份数据库⼀致性备份是指关闭了数据库后备份所有数据⽂件和控制⽂件的⽅法。

当使⽤SHUTDOWN 命令正常关闭了数据库之后,所有数据库⽂件的当前SCN 值完全⼀致,所以关闭后的数据库备份被称为数据库⼀致性备份或者冷备份。

oracle数据库RMAN的全备份和还原及恢复

oracle数据库RMAN的全备份和还原及恢复

RMAN的全备份和还原及恢复RMAN> backup database format '/u01/oracle/backup/full_%d_%s_%U_bak plus archivelog all delete all input';Starting backup at 22-SEP-12using target database control file instead of recovery catalogallocated channel: ORA_DISK_1channel ORA_DISK_1: sid=143 devtype=DISKchannel ORA_DISK_1: starting full datafile backupsetchannel ORA_DISK_1: specifying datafile(s) in backupsetinput datafile fno=00001 name=/u01/oradata/oracl/system01.dbfinput datafile fno=00003 name=/u01/oradata/oracl/sysaux01.dbfinput datafile fno=00005 name=/u01/oradata/oracl/example01.dbfinput datafile fno=00002 name=/u01/oradata/oracl/undotbs01.dbfinput datafile fno=00004 name=/u01/oradata/oracl/users01.dbfchannel ORA_DISK_1: starting piece 1 at 22-SEP-12channel ORA_DISK_1: finished piece 1 at 22-SEP-12piece handle=/u01/oracle/backup/full_ORACL_28_0snlrk28_1_1_bak plus archivelog all delete all input tag=TAG20120922T154200 comment=NONEchannel ORA_DISK_1: backup set complete, elapsed time: 00:01:16Finished backup at 22-SEP-12Starting Control File and SPFILE Autobackup at 22-SEP-12piecehandle=/u01/flash_recovery_area/ORACL/autobackup/2012_09_22/o1_mf_s_794677398_85tv0r 42_.bkp comment=NONEFinished Control File and SPFILE Autobackup at 22-SEP-12RMAN>RMAN> backup database format '/u01/oracle/backup/full_%d_S_%U_bak plus archivelog all delete all input';Starting backup at 13-NOV-12allocated channel: ORA_DISK_1channel ORA_DISK_1: sid=141 devtype=DISKchannel ORA_DISK_1: starting full datafile backupsetchannel ORA_DISK_1: specifying datafile(s) in backupsetinput datafile fno=00001 name=/u01/oradata/orcl/system01.dbfinput datafile fno=00003 name=/u01/oradata/orcl/sysaux01.dbfinput datafile fno=00005 name=/u01/oradata/orcl/example01.dbfinput datafile fno=00002 name=/u01/oradata/orcl/undotbs01.dbfinput datafile fno=00004 name=/u01/oradata/orcl/users01.dbfchannel ORA_DISK_1: starting piece 1 at 13-NOV-12channel ORA_DISK_1: finished piece 1 at 13-NOV-12piece handle=/u01/oracle/backup/full_ORCL_S_01nq87ga_1_1_bak plus archivelog alldelete all input tag=TAG20121113T233226 comment=NONEchannel ORA_DISK_1: backup set complete, elapsed time: 00:00:25Finished backup at 13-NOV-12Starting Control File and SPFILE Autobackup at 13-NOV-12piece handle=/u01/flash_recovery_area/ORCL/autobackup/2012_11_13/o1_mf_s_799284771_8b4t14gc_.bkp comment=NONEFinished Control File and SPFILE Autobackup at 13-NOV-12RMAN> list backup of database;List of Backup Sets===================BS Key Type LV Size Device Type Elapsed Time Completion Time------- ---- -- ---------- ----------- ------------ ---------------1 Full 599.70M DISK 00:00:24 13-NOV-12BP Key: 1 Status: A V AILABLE Compressed: NO Tag: TAG20121113T233226Piece Name: /u01/oracle/backup/full_ORCL_S_01nq87ga_1_1_bak plus archivelog all delete all inputList of Datafiles in backup set 1File LV Type Ckp SCN Ckp Time Name---- -- ---- ---------- --------- ----1 Full 640399 13-NOV-12 /u01/oradata/orcl/system01.dbf2 Full 640399 13-NOV-12 /u01/oradata/orcl/undotbs01.dbf3 Full 640399 13-NOV-12 /u01/oradata/orcl/sysaux01.dbf4 Full 640399 13-NOV-12 /u01/oradata/orcl/users01.dbf5 Full 640399 13-NOV-12 /u01/oradata/orcl/example01.dbfRMAN> shutdown immediatedatabase closeddatabase dismountedOracle instance shut down用DBCA删除数据库开始还原参数文件RMAN> restore spfile to '/u01/oracle/product/10.2.0/db_1/dbs/spfileorcl.ora' from'/u01/flash_recovery_area/ORCL/autobackup/2012_11_13/o1_mf_s_799284771_8b4t14gc_.bkp';Starting restore at 13-NOV-12using channel ORA_DISK_1channel ORA_DISK_1: autobackup found: /u01/flash_recovery_area/ORCL/autobackup/2012_11_13/o1_mf_s_799284771_8b4t14gc_.bkp RMAN-00571:===========================================================RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============RMAN-00571:===========================================================RMAN-03002: failure of restore command at 11/13/2012 23:54:01ORA-32011: cannot restore SPFILE to location already being used by the instanceRMAN> restore spfile to '/u01/oracle/product/10.2.0/db_1/spfileorcl.ora' from '/u01/flash_recovery_area/ORCL/autobackup/2012_11_13/o1_mf_s_799284771_8b4t14gc_.bkp';Starting restore at 13-NOV-12using channel ORA_DISK_1channel ORA_DISK_1: autobackup found: /u01/flash_recovery_area/ORCL/autobackup/2012_11_13/o1_mf_s_799284771_8b4t14gc_.bkp channel ORA_DISK_1: SPFILE restore from autobackup completeFinished restore at 13-NOV-12[oracle@host db_1]$ cp 'spfileorcl.ora' 'dbs/' (再将spfileorcl.ora复制到dbs目录下)还原控制文件RMAN> restore controlfile from '/u01/flash_recovery_area/ORCL/autobackup/2012_11_13/o1_mf_s_799284771_8b4t14gc_.bkp';Starting restore at 14-NOV-12using channel ORA_DISK_1channel ORA_DISK_1: restoring control filechannel ORA_DISK_1: restore complete, elapsed time: 00:00:01output filename=/u01/oradata/orcl/control01.ctloutput filename=/u01/oradata/orcl/control02.ctloutput filename=/u01/oradata/orcl/control03.ctlFinished restore at 14-NOV-12RMAN> alter database mount;(启动数据库到mount状态)database mountedreleased channel: ORA_DISK_1RMAN> restore database; (还原数据库)Starting restore at 14-NOV-12Starting implicit crosscheck backup at 14-NOV-12allocated channel: ORA_DISK_1channel ORA_DISK_1: sid=156 devtype=DISKCrosschecked 1 objectsFinished implicit crosscheck backup at 14-NOV-12Starting implicit crosscheck copy at 14-NOV-12using channel ORA_DISK_1Finished implicit crosscheck copy at 14-NOV-12searching for all files in the recovery areacataloging files...cataloging doneList of Cataloged Files=======================File Name: /u01/flash_recovery_area/ORCL/autobackup/2012_11_13/o1_mf_s_799284771_8b4t14gc_.bkpusing channel ORA_DISK_1channel ORA_DISK_1: starting datafile backupset restorechannel ORA_DISK_1: specifying datafile(s) to restore from backup setrestoring datafile 00001 to /u01/oradata/orcl/system01.dbfrestoring datafile 00002 to /u01/oradata/orcl/undotbs01.dbfrestoring datafile 00003 to /u01/oradata/orcl/sysaux01.dbfrestoring datafile 00004 to /u01/oradata/orcl/users01.dbfrestoring datafile 00005 to /u01/oradata/orcl/example01.dbfchannel ORA_DISK_1: reading from backup piece /u01/oracle/backup/full_ORCL_S_01nq87ga_1_1_bak plus archivelog all delete all input channel ORA_DISK_1: restored backup piece 1piece handle=/u01/oracle/backup/full_ORCL_S_01nq87ga_1_1_bak plus archivelog all delete all input tag=TAG20121113T233226channel ORA_DISK_1: restore complete, elapsed time: 00:00:35Finished restore at 14-NOV-12不用还原归档日志,恢复database时,归档日志就自动恢复了RMAN> recover database;Starting recover at 14-NOV-12using channel ORA_DISK_1starting media recoveryarchive log thread 1 sequence 9 is already on disk as file /u01/oradata/orcl/redo02.log archive log filename=/u01/oradata/orcl/redo02.log thread=1 sequence=9media recovery complete, elapsed time: 00:00:03Finished recover at 14-NOV-12打开数据库RMAN> alter database open resetlogs;database openedsqlplus 进去看一下SQL> select status,instance_name from v$instance;STA TUS INSTANCE_NAME------------ ----------------OPEN orcl至此完成。

将10g RAC库用rman 的方式备份并恢复到异机_百度文库

将10g RAC库用rman 的方式备份并恢复到异机_百度文库

将 10g RAC库用 rman 的方式备份并恢复到异机 -- 刚试验通过与大家分享主 RAC 库:2个节点 rac1(192.168.218.168,rac2(192.168.218.168 采用ASM+RAW备机 standby(192.168.218.188 文件系统一。

在 rac 库备份:rac1-> crs_stat -tName Type Target State Host------------------------------------------------------------ora....SM1.asm application ONLINE ONLINE rac1ora....C1.lsnr application ONLINE ONLINE rac1ora.rac1.gsd application ONLINE ONLINE rac1ora.rac1.ons application ONLINE ONLINE rac1ora.rac1.vip application ONLINE ONLINE rac1ora....SM2.asm application ONLINE ONLINE rac2ora....C2.lsnr application ONLINE ONLINE rac2ora.rac2.gsd application ONLINE ONLINE rac2ora.rac2.ons application ONLINE ONLINE rac2ora.rac2.vip application ONLINE ONLINE rac2ora.racdb.db application ONLINE ONLINE rac1ora....b1.inst application ONLINE ONLINE rac1ora....b2.inst application ONLINE ONLINE rac2rac1->rac1-> export ORACLE_SID=racdb1rac1-> rman target / nocatalogRMAN> run{2> allocate CHANNEL ch00 type DISK CONNECT 'sys/oracle@racdb1';3> allocate CHANNEL ch01 type DISK CONNECT 'sys/oracle@racdb2';4> backup database format '/rmanset/racdb_full_%d%t%s%p' tag 'fullbackup'; 5> BACKUP FORMAT '/rmanset/%d_arch_%s_%p_%h' ARCHIVELOG ALL;6> backup format '/rmanset/cf_%d_%s_%p'7> (current controlfile;8> RELEASE CHANNEL ch00;9> RELEASE CHANNEL ch01;10> }allocated channel: ch00channel ch00: sid=148 instance=racdb1 devtype=DISKallocated channel: ch01channel ch01: sid=148 instance=racdb2 devtype=DISKStarting backup at 02-NOV-08channel ch00: starting full datafile backupsetchannel ch00: specifying datafile(s in backupsetinput datafile fno=00001 name=+RACDATA/racdb/datafile/system.259.669487425 input datafile fno=00005 name=+RACDATA/racdb/datafile/users.264.669487561input datafile fno=00004name=+RACDATA/racdb/datafile/undotbs2.263.669487539 channel ch00: starting piece 1 at 02-NOV-08channel ch01: starting full datafile backupsetchannel ch01: specifying datafile(s in backupsetinput datafile fno=00003 name=+RACDATA/racdb/datafile/sysaux.261.669487497input datafile fno=00002name=+RACDATA/racdb/datafile/undotbs1.260.669487479 channel ch01: starting piece 1 at 02-NOV-08channel ch00: finished piece 1 at 02-NOV-08piece handle=/rmanset/racdb_full_RACDB669769770931 tag=FULLBACKUP comment=NONEchannel ch00: backup set complete, elapsed time: 00:02:19channel ch00: starting full datafile backupsetchannel ch00: specifying datafile(s in backupsetincluding current control file in backupsetchannel ch00: starting piece 1 at 02-NOV-08channel ch01: finished piece 1 at 02-NOV-08piece handle=/rmanset/racdb_full_RACDB669769784941 tag=FULLBACKUP comment=NONEchannel ch01: backup set complete, elapsed time: 00:02:28channel ch01: starting full datafile backupsetchannel ch01: specifying datafile(s in backupsetincluding current SPFILE in backupsetchannel ch01: starting piece 1 at 02-NOV-08channel ch00: finished piece 1 at 02-NOV-08piece handle=/rmanset/racdb_full_RACDB669769914951 tag=FULLBACKUP comment=NONEchannel ch00: backup set complete, elapsed time: 00:00:11channel ch01: finished piece 1 at 02-NOV-08piece handle=/rmanset/racdb_full_RACDB669769933961 tag=FULLBACKUP comment=NONEchannel ch01: backup set complete, elapsed time: 00:00:05Finished backup at 02-NOV-08Starting backup at 02-NOV-08current log archivedchannel ch00: starting archive log backupsetchannel ch00: specifying archive log(s in backup setinput archive log thread=1 sequence=42 recid=141 stamp=669603048 input archive log thread=1 sequence=44 recid=149 stamp=669640424 input archive log thread=1 sequence=45 recid=151 stamp=669675778 input archive log thread=1 sequence=46 recid=152 stamp=669679426 input archive log thread=1 sequence=47 recid=156 stamp=669690456 channel ch00: starting piece 1 at 02-NOV-08channel ch01: starting archive log backupsetchannel ch01: specifying archive log(s in backup setinput archive log thread=1 sequence=53 recid=170 stamp=669767346 input archive log thread=1 sequence=54 recid=172 stamp=669769357 input archive log thread=2 sequence=44 recid=165 stamp=669764276 input archive log thread=2 sequence=45 recid=167 stamp=669765472 input archive log thread=2 sequence=46 recid=168 stamp=669765474 input archive log thread=2 sequence=47 recid=169 stamp=669767345 input archive log thread=2 sequence=48 recid=171 stamp=669769352 input archive log thread=2 sequence=49 recid=175 stamp=669769944channel ch01: starting piece 1 at 02-NOV-08channel ch01: finished piece 1 at 02-NOV-08piece handle=/rmanset/RACDB_arch_98_1_2 tag=TAG20081102T231211 comment=NONE channel ch01: backup set complete, elapsed time: 00:00:04channel ch00: finished piece 1 at 02-NOV-08piece handle=/rmanset/RACDB_arch_97_1_1 tag=TAG20081102T231211 comment=NONE channel ch00: backup set complete, elapsed time: 00:00:11channel ch00: starting archive log backupsetchannel ch00: specifying archive log(s in backup setinput archive log thread=1 sequence=48 recid=158 stamp=669690550input archive log thread=1 sequence=49 recid=160 stamp=669691146input archive log thread=1 sequence=50 recid=162 stamp=669755973input archive log thread=1 sequence=51 recid=163 stamp=669757116input archive log thread=1 sequence=52 recid=166 stamp=669764278input archive log thread=1 sequence=55 recid=173 stamp=669769375input archive log thread=1 sequence=56 recid=174 stamp=669769928channel ch00: starting piece 1 at 02-NOV-08channel ch00: finished piece 1 at 02-NOV-08piece handle=/rmanset/RACDB_arch_99_1_1 tag=TAG20081102T231211 comment=NONE channel ch00: backup set complete, elapsed time: 00:00:08Finished backup at 02-NOV-08Starting backup at 02-NOV-08channel ch00: starting full datafile backupsetchannel ch00: specifying datafile(s in backupsetincluding current control file in backupsetchannel ch00: starting piece 1 at 02-NOV-08channel ch00: finished piece 1 at 02-NOV-08piece handle=/rmanset/cf_RACDB_100_1 tag=TAG20081102T231235 comment=NONEchannel ch00: backup set complete, elapsed time: 00:00:07Finished backup at 02-NOV-08released channel: ch00released channel: ch012. 在 rac 库上创建 pfileSQL> create pfile='/rmanset/initracdb.ora' from spfile;将 rac1,rac2上的备份出来的 rman 文件和 pfile ftp 至 standby 主机二: standby 主机做恢复的过程:0. 修改 ftp 过来的 pfile ,主要是 rac 中一些参数去掉:#*.cluster_database_instances=2*.cluster_database=false#racdb2.instance_number=2#racdb1.instance_number=1#racdb2.thread=2#racdb1.thread=1#racdb2.undo_tablespace='UNDOTBS2'#*.db_file_name_convert='+RACDATA/racdb/datafile/','/oradata/racdb/'#*.fal_client='RACDB'#*.fal_server='STANDBY'#*.log_archive_config='DG_CONFIG=(racdb,standby'#racdb2.log_archive_dest_1='LOCATION=/racdb2_archVALID_FOR=(ALL_LOGFILES,ALL_ROLES DB_UNIQUE_NAME=racdb'#*.log_archive_dest_2='SERVICE=standby LGWR ASYNCVALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLEDB_UNIQUE_NAME=standby'#*.log_archive_dest_state_2='ENABLE'#*.log_file_name_convert='+RACDATA/racdb/onlinelog/','/oradata/racdb/'#*.remote_listener='LISTENERS_RACDB'#*.standby_file_management='AUTO'1. 数据库启动到 nomount2.restore controlfile3.restore archivelog4.recover database5. 改变 logfile 的位置,重新建 redo6.drop 一个 undo tablespace.7.add a temp tablespace8. 配 tnsnames.ora 和 listener .ora下为操作的过程:standby-> rman target /Recovery Manager: Release 10.2.0.1.0 - Production on Sun Nov 2 14:22:39 2008 Copyright (c 1982, 2005, Oracle. All rights reserved.connected to target database: racdb (not mounted--恢复 controlfileRMAN> restore controlfile from '/rmanset/cf_RACDB_100_1';Starting restore at 02-NOV-08using channel ORA_DISK_1channel ORA_DISK_1: restoring control filechannel ORA_DISK_1: restore complete, elapsed time: 00:00:05output filename=/oradata/racdb/control01.ctlFinished restore at 02-NOV-08---restore datafile and archive logRMAN> sql 'alter database mount';sql statement: alter database mountreleased channel: ORA_DISK_1RMAN> run{2> set until sequence 57 thread 1;3> set newname for datafile 1 to '/oradata/racdb/system01.dbf';4> set newname for datafile 2 to '/oradata/racdb/undotbs01.dbf';5> set newname for datafile 3 to '/oradata/racdb/sysaux01.dbf';6> set newname for datafile 4 to '/oradata/racdb/users01.dbf';7> set newname for datafile 5 to '/oradata/racdb/undotbs02.dbf';8> restore database;9> switch datafile all;10> }executing command: SET until clauseexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEStarting restore at 02-NOV-08allocated channel: ORA_DISK_1channel ORA_DISK_1: sid=155 devtype=DISKchannel ORA_DISK_1: starting datafile backupset restorechannel ORA_DISK_1: specifying datafile(s to restore from backup setrestoring datafile 00001 to /oradata/racdb/system01.dbfrestoring datafile 00004 to /oradata/racdb/users01.dbfrestoring datafile 00005 to /oradata/racdb/undotbs02.dbfchannel ORA_DISK_1: reading from backup piece/rmanset/racdb_full_RACDB669769770931channel ORA_DISK_1: restored backup piece 1piece handle=/rmanset/racdb_full_RACDB669769770931 tag=FULLBACKUP channel ORA_DISK_1: restore complete, elapsed time: 00:00:36channel ORA_DISK_1: starting datafile backupset restorechannel ORA_DISK_1: specifying datafile(s to restore from backup setrestoring datafile 00002 to /oradata/racdb/undotbs01.dbfrestoring datafile 00003 to /oradata/racdb/sysaux01.dbfchannel ORA_DISK_1: reading from backup piece/rmanset/racdb_full_RACDB669769784941channel ORA_DISK_1: restored backup piece 1piece handle=/rmanset/racdb_full_RACDB669769784941 tag=FULLBACKUPchannel ORA_DISK_1: restore complete, elapsed time: 00:00:35Finished restore at 02-NOV-08datafile 1 switched to datafile copyinput datafile copy recid=10 stamp=669738296filename=/oradata/racdb/system01.dbf datafile 2 switched to datafile copyinput datafile copy recid=11 stamp=669738296filename=/oradata/racdb/undotbs01.dbf datafile 3 switched to datafile copyinput datafile copy recid=12 stamp=669738296filename=/oradata/racdb/sysaux01.dbf datafile 4 switched to datafile copyinput datafile copy recid=13 stamp=669738297 filename=/oradata/racdb/users01.dbf datafile 5 switched to datafile copyinput datafile copy recid=14 stamp=669738297filename=/oradata/racdb/undotbs02.dbf RMAN>--列出备份的 archivelog:RMAN> list backup of archivelog all;using target database control file instead of recovery catalogList of Backup Sets===================BS Key Size Device Type Elapsed Time Completion Time------- ---------- ----------- ------------ ---------------89 2.44M DISK 00:00:03 02-NOV-08BP Key: 89 Status: AVAILABLE Compressed: NO Tag: TAG20081102T231211 Piece Name: /rmanset/RACDB_arch_98_1_2List of Archived Logs in backup set 89Thrd Seq Low SCN Low Time Next SCN Next Time---- ------- ---------- --------- ---------- ---------1 53 356353 02-NOV-08 396535 02-NOV-081 54 396535 02-NOV-08 398232 02-NOV-082 44 350717 02-NOV-08 356350 02-NOV-082 45 356350 02-NOV-08 376487 02-NOV-082 46 376487 02-NOV-08 396536 02-NOV-082 47 396536 02-NOV-08 397820 02-NOV-082 48 397820 02-NOV-08 398228 02-NOV-082 49 398228 02-NOV-08 398963 02-NOV-08BS Key Size Device Type Elapsed Time Completion Time------- ---------- ----------- ------------ ---------------90 17.42M DISK 00:00:07 02-NOV-08BP Key: 90 Status: AVAILABLE Compressed: NO Tag: TAG20081102T231211Piece Name: /rmanset/RACDB_arch_97_1_1List of Archived Logs in backup set 90Thrd Seq Low SCN Low Time Next SCN Next Time---- ------- ---------- --------- ---------- ---------1 42 285767 01-NOV-08 285925 01-NOV-081 44 286441 01-NOV-08 286516 01-NOV-081 45 286516 01-NOV-08 308174 01-NOV-081 46 308174 01-NOV-08 312441 01-NOV-081 47 312441 01-NOV-08 324657 02-NOV-08BS Key Size Device Type Elapsed Time Completion Time------- ---------- ----------- ------------ ---------------91 9.69M DISK 00:00:04 02-NOV-08BP Key: 91 Status: AVAILABLE Compressed: NO Tag: TAG20081102T231211 Piece Name: /rmanset/RACDB_arch_99_1_1List of Archived Logs in backup set 91Thrd Seq Low SCN Low Time Next SCN Next Time---- ------- ---------- --------- ---------- ---------1 48 324657 02-NOV-08 324727 02-NOV-081 49 324727 02-NOV-08 325613 02-NOV-081 50 325613 02-NOV-08 349040 02-NOV-081 51 349040 02-NOV-08 350714 02-NOV-081 52 350714 02-NOV-08 356353 02-NOV-081 55 398232 02-NOV-08 398433 02-NOV-081 56 398433 02-NOV-08 398960 02-NOV-08--restore archivelog and recover database.RMAN>RMAN> run{2> set archivelog destination to '/racdb_arch';3> restore archivelog from sequence 49 thread 2;}4>executing command: SET ARCHIVELOG DESTINATIONStarting restore at 02-NOV-08using channel ORA_DISK_1channel ORA_DISK_1: starting archive log restore to user-specified destination archive log destination=/racdb_archchannel ORA_DISK_1: restoring archive logarchive log thread=2 sequence=49channel ORA_DISK_1: reading from backup piece /rmanset/RACDB_arch_98_1_2 channel ORA_DISK_1: restored backup piece 1piece handle=/rmanset/RACDB_arch_98_1_2 tag=TAG20081102T231211channel ORA_DISK_1: restore complete, elapsed time: 00:00:02Finished restore at 02-NOV-08RMAN>RMAN>RMAN> run{2> set archivelog destination to '/racdb_arch';3> restore archivelog from sequence 44 thread 2;4> }executing command: SET ARCHIVELOG DESTINATIONStarting restore at 02-NOV-08using channel ORA_DISK_1archive log thread 2 sequence 49 is already on disk as file/racdb_arch/2_49_669487401.dbf channel ORA_DISK_1: starting archive log restore to user-specified destinationarchive log destination=/racdb_archchannel ORA_DISK_1: restoring archive logarchive log thread=2 sequence=44channel ORA_DISK_1: restoring archive logarchive log thread=2 sequence=45channel ORA_DISK_1: restoring archive logarchive log thread=2 sequence=46channel ORA_DISK_1: restoring archive logarchive log thread=2 sequence=47channel ORA_DISK_1: restoring archive logarchive log thread=2 sequence=48channel ORA_DISK_1: reading from backup piece /rmanset/RACDB_arch_98_1_2 channel ORA_DISK_1: restored backup piece 1piece handle=/rmanset/RACDB_arch_98_1_2 tag=TAG20081102T231211 channel ORA_DISK_1: restore complete, elapsed time: 00:00:02Finished restore at 02-NOV-08RMAN> run{2> set until sequence 57 thread 1;3> recover database;4> }executing command: SET until clauseStarting recover at 02-NOV-08using channel ORA_DISK_1starting media recoveryarchive log thread 2 sequence 49 is already on disk as file/racdb_arch/2_49_669487401.dbf channel ORA_DISK_1: starting archive log restore to default destinationchannel ORA_DISK_1: restoring archive logarchive log thread=1 sequence=56channel ORA_DISK_1: reading from backup piece /rmanset/RACDB_arch_99_1_1channel ORA_DISK_1: restored backup piece 1piece handle=/rmanset/RACDB_arch_99_1_1 tag=TAG20081102T231211channel ORA_DISK_1: restore complete, elapsed time: 00:00:02archive log filename=/racdb_arch/1_56_669487401.dbf thread=1 sequence=56archive log filename=/racdb_arch/2_49_669487401.dbf thread=2 sequence=49media recovery complete, elapsed time: 00:00:01Finished recover at 02-NOV-08--对 redo 作修改:alter database rename file '+RACDATA/racdb/onlinelog/group_1.257.669487411' to '/oradata/racdb/redo1';alter database rename file '+RACDATA/racdb/onlinelog/group_2.258.669487419' to '/oradata/racdb/redo2';alter database rename file '+RACDATA/racdb/onlinelog/group_3.265.669489319' to '/oradata/racdb/redo3';alter database rename file '+RACDATA/racdb/onlinelog/group_4.266.669489327' to '/oradata/racdb/redo4';SQL> select member from v$logfile;MEMBER--------------------------------------------------------------------------------+RACDATA/racdb/onlinelog/group_1.257.669487411+RACDATA/racdb/onlinelog/group_2.258.669487419+RACDATA/racdb/onlinelog/group_3.265.669489319+RACDATA/racdb/onlinelog/group_4.266.669489327SQL> alter database rename file'+RACDATA/racdb/onlinelog/group_1.257.669487411' to '/oradata/racdb/redo1';Database altered.SQL> alter database rename file'+RACDATA/racdb/onlinelog/group_2.258.669487419' to '/oradata/racdb/redo2';alter database rename file '+RACDATA/racdb/onlinelog/group_3.265.669489319' to '/oradata/racdb/redo3';alter database rename file '+RACDATA/racdb/onlinelog/group_4.266.669489327' to '/oradata/racdb/redo4';Database altered.SQL>Database altered.SQL>Database altered.SQL> alter database open resetlogs;Database altered.SQL>SQL>SQL>SQL> select THREAD#, STATUS, ENABLED from v$thread;THREAD# STATUS ENABLED---------- ------ --------1 OPEN PUBLIC2 CLOSED PUBLICSQL>SQL> select group# from v$log where THREAD#=2;GROUP#----------34SQL> alter database disable thread 2;Database altered.SQL> alter database drop logfile group 4;alter database drop logfile group 4*ERROR at line 1:ORA-00350: log 4 of instance racdb2 (thread 2 needs to be archived ORA-00312: online log 4 thread 2: '/oradata/racdb/redo4'SQL> alter database clear unarchived logfile group 3;Database altered.SQL> alter database drop logfile group 3;Database altered.SQL> alter database drop logfile group 4;alter database drop logfile group 4*ERROR at line 1:ORA-00350: log 4 of instance racdb2 (thread 2 needs to be archived ORA-00312: online log 4 thread 2: '/oradata/racdb/redo4'SQL> alter database clear unarchived logfile group 4;Database altered.SQL> alter database drop logfile group 4;Database altered.SQL> select group#,member from v$logfile;GROUP#----------MEMBER-------------------------------------------------------------------------------- 1/oradata/racdb/redo12/oradata/racdb/redo2SQL> select THREAD#, STATUS, ENABLED from v$thread;THREAD# STATUS ENABLED---------- ------ --------1 OPEN PUBLIC对 undo 的处理:SQL> show parameter undoNAME TYPE VALUE------------------------------------ ----------- ------------------------------undo_management string AUTOundo_retention integer 900undo_tablespace string UNDOTBS1SQL> select tablespace_name from dba_tablespaces where contents='UNDO'; TABLESPACE_NAME------------------------------UNDOTBS1UNDOTBS2SQL> drop tablespace UNDOTBS2 including contents and datafiles;T ablespace dropped.SQL> select tablespace_name from dba_tablespaces where contents='UNDO'; TABLESPACE_NAME------------------------------UNDOTBS1SQL>对 temp 的处理:create temporary tablespace TEMP1 tempfile '/oradata/racdb/temp01.dbf' size 50M autoextend off;SQL> select name from v$tempfile;NAME---------------------------------------------------------------------------------------------------------------------------------------------/oradata/racdb/RACDB/datafile/o1_mf_temp_4jtl9yfl_.tmpSQL>SQL>SQL> select tablespace_name from dba_tablespaces wherecontents='TEMPORARY';TABLESPACE_NAME------------------------------TEMPSQL> create temporary tablespace TEMP12 tempfile '/oradata/racdb/temp01.dbf'3 size 50M autoextend off;T ablespace created.SQL> alter database default temporary tablespace TEMP1; Database altered. SQL> drop tablespace TEMP including contents and datafiles; T ablespace dropped. SQL>再配上 tnsnames.ora 及 listener.ora。

Oracle单实例RMAN备份恢复

Oracle单实例RMAN备份恢复

Bakbone Oracle单实例RMAN备份恢复1、检查数据库1.1表空间、数据文件、实例、用户信息# sqlplus /nologSQL> connect / as sysdba;SQL> select * from v$tablespace;SQL> select name,bytes,status from v$datafile;SQL> select INSTANCE_NAME,HOST_NAME,VERSION from v$instance;SQL> select username from dba_users;1.2ORACLE_SID、ORACLE_HOME# more /etc/oratab<ORACLE_SID>:<ORACLE_HOME>:<Additional Information>Windows下搜索注册表1.3确认参数文件信息SQL> show parameters spfileD:\oracle\product\10.1.0\db_1\database\spfileoracle.oraBakbone配置数据库时,需要将文件名一同输入1.4确认控制文件路径SQL> select * from v$controlfies;D:\oracle\product\10.1.0\db_1\oracle\control01.ctl1.5检查归档模式SQL> Archive log listsqlplus /nologSQL> connect / as sysdba;Connected.SQL> startup mount;SQL> alter database archivelog;SQL> archive log start;SQL> archive log list;SQL> alter database open;SQL> alter system setLOG_ARCHIVE_DEST_1='LOCA TION=D:\oradata\ora92\ARCH' scope=spfile;SQL> alter system set log_archive_format='%t_%s_%r.dbf' scope=spfile;_________________________________archivelog格式: 9i no %rarchivelog格式: 10g contain %r_________________________________SQL> alter system set log_archive_start=true scope=spfile;重新启动数据库,使修改结果生效SQL> shutdown immediate;察看归档模式SQL> startupSQL> archive log list;1.6记录数据库DBIDSQL> select dbid from v$database;DBID----------11674814111.7NLS_LANG 语言类型SQL> select * from v$NLS_PARAMETERS where PA RAMETER = 'NLS_LANGUA GE' or PARAMETER ='NLS_TERRITORY' or PA RAMETER ='NLS_CHA RACTERSET';PARAMETER----------------------------------------------------------------VALUE----------------------------------------------------------------NLS_LANGUAGESIMPLIFIED CHINESENLS_TERRITORYCHINANLS_CHARACTERSETZHS16GBK2、建立恢复目录1)在目录数据库中创建恢复目录所用表空间:SQL> create tablespace rman_ts datafile 'd:\oracle\oradata\rman\rman_ts.dbf' size 20M;表空间已创建。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于Rman的测试为了配合公司产品的功能测试,特完成此文档(公司产品相关测试部分已剔除)。

本文档主要是介绍rman工具的基本使用,此处只做全库的备份,以及不完全恢复,数据库模式为归档模式。

1Rman工具的简单介绍Rman全称Recover Manager是oracle提供的一款备份恢复数据库或数据库组件(表空间、数据文件、控制文件以及参数文件等)的工具。

并且rman还可以对数据库的归档日志进行管理。

2 数据库备份与恢复Rman提供两种备份模式,一种是将备份数据信息写入到本地的控制文件中,另一种是恢复目录方式:这种方式是将备份数据库信息写入到本地控制文件和catalog(恢复目录)中,oracle推荐使用第二种方式。

Catalog一般创建在另外的一个数据库中,这样备份的数据库崩溃后不影响其恢复。

使用第一种方式,如果数据库崩溃,而且没有控制文件的备份,这种情况下就没有办法进行恢复操作。

这里使用恢复目录方式进行操作。

1)Catalog的创建恢复目录所在数据库为rmandb,创建的恢复目录为tsp_rman,连接用户为rman/rmana)创建恢复目录Create tablespace tsp_rmandatafile ‘D:\ORACLE\PRODUCT\10.2.0\ORADATA\SCHINATEST\rman01.DBF’ size 120m;b)创建用户Create user rman identified by rman;c)授权Grant connect, resource, recovery_catalog_owner to rman;2)连接到Rman使用以下命令进行rman工具的连接:连接时需要sysdba系统权限Rman sys/oracle@schinatest catalog rman/rman@rmandb说明:Schinatest是准备备份的目标数据库,rmandb是恢复目录数据库3)查看目标数据库的归档模式以dba用户登录oracle,查看目标数据库的归档模式:此处是归档模式SQL> archive log list;图 3.1 查看归档模式因为一般情况下,真正使用场景中的数据库都为归档模式,而且非归档模式下使用rman有一些限制,所以此处只做归档模式下的测试。

如果数据库是非归档模式,需改成归档模式。

4)注册目标数据库只有在恢复目录中注册的数据库才能进行备份与恢复操作,注册很简单,连接到rman工具后,使用register database命令进行注册即可5)配置Rman的使用参数使用show all命令显示rman的全部配置参数:图 5.1 参数显示这里只介绍测试中可能会用到的几个常用的配置参数CONFIGURE DEFAULT DEVICE TYPE TO DISK; 存放备份集的设备,默认是disk,可配置成磁带等其它存储设备CONFIGURE CHANN EL DEVICE TYPE DISK FORMAT '/…/oracle...%d_DB_%u_%s_%p';是配置备份文件的备份路径和备份格式CONFIGURE CONTROLFILE AUTOBACKUP OFF; 备份时是否对控制文件进行同时备份,默认否CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; 设置备份集的冗余数CONFIGURE DEVICE TYPE DISK PARALLELISM 4;指定默认的并行程度CONFIGURE BACKUP OPTIMIZATION ON;在配置中设置备份的优化6)备份数据库Rman支持单条命令的使用,同时也支持run程序块以及脚本的运行,例:单个执行RMAN>backup database;运行一个命令块RMAN> run {2> copy datafile 10 to3> '/oracle/prod/backup/prod_10.dbf';4> }脚本的使用不再举例备份数据库,使用以下命令进行备份:backup database plus archivelog;说明:此处是进行全库的备份。

Plus archivelog是指连同归档日志一起备份。

这种备份方式是防止因为归档日志不慎被删除,而导致数据库恢复失败的情况。

建议备份数据库时连同归档日志一起进行备份。

备份完成后,在目录D:\oracle\product\10.2.0\db_1\database(默认,可配置)会生成相应的备份集文件。

此处介绍几个常用的命令:List backupset; 显示该恢复目录下的所有备份集文件信息List backup summary; 以简要格式显示所有备份集信息Report obsolete; 显示过期的备份集图 6.1 显示过期的备份集文件Crosscheck backup; 检查备份集是否正确,不正确标记为expired(过期)。

过期的备份集可以进行删除。

图 6.2 检查过期的备份集Delete expired backup; 删除过期的备份集Delete backuppiece 101; 删除指定的备份集Delete backup completed before 'sysdate-30'; 删除一个月前的备份集(批量删除)此处介绍了几个平常经常使用的几个命令,其它命令包括delete命令的具体命令的使用方法请查看相关文档7)恢复数据库为了配合公司产品的使用,这里只做针对数据库的不完全恢复不完全恢复:将数据库恢复到备份时的那个状态完全恢复:将数据库恢复到备份时的状态,并读取重做日志和归档日志中的内容,最终将数据库恢复到数据库当前的状态一般场景下的恢复方式都是不完全恢复不完全恢复可以根据数据库的scn号,时间以及sequence号进行操作。

如:基于scn号的不完全恢复:run{set until scn 876221;restore database;recover database;};基于时间的不完全恢复:run{allocate channel t1 device type disk;set until time "to_date('2012-06-24 10:18:07','yyyy-mm-dd hh24:mi:ss')";restore database;recover database;}3 测试1)备份备份数据库时可指定备份路径和备份集格式,也可增加tag关键字,为备份集取一个别名.为了显示简洁,这里只使用最基本的备份命令.图 3.2.1 进行全库备份2)恢复图 3.4.1 显示备份集找到上一次备份集的scn号,此处做基于scn号的恢复。

可以看到上一次备份集的scn 号是2927303图 3.4.2 确定scn号基于scn号的不完全恢复,如下图:图 3.4.3 执行恢复脚本图中可以看到恢复时发生错误。

原因在于:做全库恢复时,目标数据库必须置于mount 状态。

如果恢复数据文件时,可以在数据库打开的情况下进行恢复,但恢复前必须将要恢复的数据文件置为offline状态。

关闭数据库,并置于Mount状态(rman窗口支持数据库级的命令操作,但为了显示的清楚,这里单独开一个sqlplus窗口进行数据库级的操作)图 3.4.4 startup mount重新连接rman,进行数据库恢复图 3.4.5 恢复成功3)更改数据库状态因为数据库处于mount状态无法访问,所以需要打开数据库。

因为进行的是不完全恢复,所以打开数据库时需要以resetlogs方式进行。

以该方式打开数据库会强制清空或重做日志文件,以前的归档日志无法再使用。

建议以resetlogs方式打开数据库后要进行一个全备份。

图 3.5.1 打开数据库4 Rman恢复说明因为此次恢复完毕之后数据库使用了resetlogs方式打开,所以再如果想恢复到以前的某个数据库状态,此时在rman中操作是会报错的。

因为每一次以resetlogs打开数据库之后,数据库会打开一个新的incarnation,resetlogs之后也就标志着此incarnation状态下的日志文件也不可再用,所以如果想恢复到之前的某个状态,数据库的incarnation也必须重置到以前的某个状态。

关于此处的原理,从网上找了一张图可以简要说明一下(图4.1):最初用户做了全备份,然后在10:17分删除emp表,又在10:18分删除scott用户。

首先将数据库恢复到恢复点1,恢复没有问题,此时数据库状态是3.恢复完之后再次打开数据库后,数据库状态变为4,这时想把数据库恢复到恢复点2,即想恢复删除掉的emp表,此时会发生错误。

因为此时数据库状态为4时,在此状态下已经没有日志文件可参考,所以无法恢复。

如果想恢复到10:17分的状态,需要把数据库状态置为3. 然后才可以恢复到10:17分的状态。

RMAN> reset database to incarnation 3; -- 将数据库状态置为3图 4.1 示例图查看此时数据库的incarnation列表:图 4.2 显示incarnation状态如果想恢复到以前的某个点,在确保归档日志存在的情况下,根据日期将db的状态重置到相对应的状态下,才能继续完成恢复的操作。

相关文档
最新文档