Oracle ramn 备份与恢复
- 格式:doc
- 大小:1.35 MB
- 文档页数:18
rac数据库RMAN 备份与恢复一、数据库备份在主库上通过rman 每天对数据库进行备份,并且保留两份备份在主库删除归档和进行rman 备份的脚本:[oracle@rac1 arch]$ pwd/opt/app/arch[oracle@rac1 arch]$ more del_arch.shexport ORACLE_SID=orcl1export ORACLE_BASE=/opt/app/oracleexport ORACLE_TERM=xtermexport ORACLE_HOME=/opt/app/oracle/product/10.2.0/db_1source /opt/app/arch/orcl1/del_arch.listsource /opt/app/arch/orcl2/del_arch.list/opt/app/oracle/product/10.2.0/db_1/bin/rman target / log='/opt/app/arch/rman.log' <<EOFdelete obsolete recovery window of 3 days;crosscheck archivelog all;delete noprompt obsolete;delete noprompt expired archivelog all;crosscheck backup;delete noprompt expired backup;backup format='/opt/app/arch/rman/orcl_full_%U_%T' tag='orcl_full' database;backup current controlfile tag='orcl_ctlfile'format='/opt/app/arch/rman/orcl_ctlfile_%U_%T';backup spfile tag='orcl_spfile'format='/opt/app/arch/rman/orcl_spfile_%U_%T';exitEOF执行时间:[oracle@rac1 arch]$ crontab -l30 02 * * 0 /opt/app/arch/del_arch.sh30 02 * * 1 /opt/app/arch/del_arch.sh30 02 * * 2 /opt/app/arch/del_arch.sh30 02 * * 3 /opt/app/arch/del_arch.sh30 02 * * 4 /opt/app/arch/del_arch.sh30 02 * * 5 /opt/app/arch/del_arch.sh30 02 * * 6 /opt/app/arch/del_arch.sh每天的备份文件放在/opt/app/arch/rman/目录下二、数据库恢复如果数据库出现故障,可以从备份文件中恢复数据库,最早可以恢复到两天前的备份时间点RAC 下的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⽂件到新的数据库。
Oracle RMAN(备份与恢复管理器)RMAN是 ORACLE提供的一个备份与恢复的工具,可以用来备份和还原数据库文件、归档日志和控制文件。
它也可以用来执行完全或不完全的数据库恢复。
RMAN可以由命令行接口或者 OEM的 Backup Manager GUI 来控制。
4.1 基本知识4.1.1 RMAN的组件、概念1. RMAN 主要包括以下组件:Target Database: (目标数据库)就是需要 RMAN 对其进行备份与恢复的数据库,RMAN 可以备份数据文件,控制文件,归档日志,spfile。
(注意:RMAN不能用于备份联机日志、初始化参数文件和口令文件) Server Session: (服务器会话)RMAN启动数据库上的 Oracle服务器进程,将建立一个与目标数据库的会话。
由目标数据库上的服务器进程进行备份、还原、恢复的实际操作。
服务器进程RMAN 的服务进程是一个后台进程,用于与 RMAN工具与数据库之间的通信,也用于 RMAN 工具与磁盘/磁带等 I/O 设置之间的通信,服务进程负责备份与恢复的所有工作,在如下情况将产生一个服务进程:当连接到目标数据库分配一个新的通道Channel: (通道)一个通道是 RMAN和目标数据库之间的一个连接,"allocate channel"命令在目标数据库启动一个服务器进程,同时必须定义服务器进程执行备份或者恢复操作使用的 I/O类型。
通道控制命令可以用来:? 控制 RMAN使用的 O/S资源,影响并行度? 指定 I/O带宽的限制值(设置 limit read rate 参数)? 定义备份片大小的限制(设置 limit kbytes)? 指定当前打开文件的限制值(设置 limit maxopenfiles)recovery catalog: (恢复目录)用来保存备份与恢复信息的一个数据库,不建议创建在目标数据库上。
RMAN 利用恢复目录记载的信息去判断如何执行需要的备份恢复操作。
1. 检查数据库模式:sqlplus /nologconn /as sysdbaarchive log list (查看数据库是否处于归档模式中)若为非归档,则修改数据库归档模式。
startup mountalter database archivelogalter database open2.连接到target数据库命令:connect target / (connect target system/oracle@ora10g,如果数据库没有起来,也可要直接在rman命令下用startup进行启动数据库)可以连接到target database.(rman 一边连接到target数据库,另外一边连接到control file(nocatalog mode),control file 中存储rman 的备份信息)3.用list backupset 命令查看有没有备份的东西4. 常用备份命令:备份全库:RMAN> backup database plus archivelog delete input; (备份全库及控制文件、服务器参数文件与所有归档的重做日志,并删除旧的归档日志)备份表空间:RMAN> backup tablespace system plus archivelog delete input; (备份指定表空间及归档的重做日志,并删除旧的归档日志)_备份归档日志:RMAN> backup archivelog all delete input;======================对整个数据库进行备份==================1.对整个数据库进行全备份(full backup)。
只要输入命令: backup database;2.list backupset 查看备份的具体信息List of Backup Sets===================BS Key Type LV Size Device Type Elapsed Time Completion Time------- ---- -- ---------- ----------- ------------ ---------------1 Full 6.80M DISK 00:00:02 06-DEC-08BP Key: 1 Status: AVAILABLE Compressed: NO Tag: TAG20081206T201041 Piece Name:/home/oracle/flash_recovery_area/ORA10G/backupset/2008_12_06/o1_mf_ncsnf_TAG2 0081206T201041_4mntz78s_.bkpControl File Included: Ckp SCN: 782019 Ckp time: 06-DEC-08SPFILE Included: Modification time: 06-DEC-08BS(backupset), piece是一个文件,一个BS包含多个piece.3.rman中缺省的参数,可以通过show all ;来进行查看(RMAN configuration parameters),我们在使用backup database命令中,可以把这些default value 用固定的值来进行替代.4.我们可以把备份的文件才备份的目录中拷贝到磁带上,然后删除备份目录下面的备份文件,如果下次需要恢复的话,只要把文件重新拷回到用来的备份目录就可以了5.查看control file 文件中的备份信息(因为我们做的备份是在nocatalog模式下),control file 在/u01/oracle/oradata/ora10g目录下,由于control file 是个二进制文件,要查看control file 文件中的内容,用strings control03.ctl,发现control03.ctl中有rman备份的信息了====================0级增量备份===============概念:全备份和0级增量备份。
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命令来检查备份文件的完整性等。
rman数据库备份与恢复1.rman配置创建恢复目录1)准备目录数据库目录数据库可以选择任何一个数据库,但是最好和被注册的数据库在不同的服务器上,而且最好为目录模式创建独立的表空间。
✓选择创建恢复管理器目录的数据库。
✓创建表空间。
SQL> conn system/oracle@law_tian已连接。
SQL> show parameter instance_nameNAME TYPE V ALUE-------------------- ----------- ---------instance_name string tianSQL> create tablespace cattbs2 datafile 'e:\oracle\oradata\tian\cattbs01.dbf'3 size 20m4 ;表空间已创建。
✓创建包含目录模式的用户。
SQL> create user rman identified by rman2 temporary tablespace temp3 default tablespace cattbs4 quota unlimited on cattbs5 ;用户已创建SQL> grant connect,recovery_catalog_owner to rman;授权成功。
2)创建恢复管理器目录C:\> ramnRMAN> connect catalog ramn/rman@law_tianRMAN> create catalog tablespace cattbs;3)注册要备份的数据库C:\>rman恢复管理器: 版本9.2.0.1.0 - ProductionCopyright (c) 1995, 2002, Oracle Corporation. All rights reserved.RMAN> connect catalog rman/rman@law_tian连接到恢复目录数据库RMAN> connect target system/oracle@law_lawRMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== ORA-01031: insufficient privilegesRMAN> connect target sys/oracle@law_lawRMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== ORA-01017: invalid username/password; logon deniedRMAN> connect target sys/sys@law_law连接到目标数据库: LAWLAW (DBID=1993183208)RMAN> register database;注册在恢复目录中的数据库正在启动全部恢复目录的resync完成全部resyncRMAN> list incarnation; #查看注册的数据库数据库Incarnations 列表DB 关键字Inc 关键字DB 名DB ID CUR 重置SCN 重置时间------- ------- -------- ---------------- --- ---------- ----------1 10 LAWLAW 1993183208 NO 261982 11-12月-031 2 LAWLAW 1993183208 YES 388549 17-12月-03RMAN> report schema;#查看注册数据库的信息数据库方案报表文件KB 表空间RB segs 数据文件名称---- ---------- ----------------- ------- -------------------1 256000 SYSTEM YES E:\ORACLE\ORADATA\LAW\SYSTEM01.DBF2 204800 UNDOTBS1 YES E:\ORACLE\ORADATA\LAW\UNDOTBS01.DBF3 122880 EXAMPLE NO E:\ORACLE\ORADATA\LAW\EXAMPLE01.DBF4 25600 INDX NO E:\ORACLE\ORADATA\LAW\INDX01.DBF5 10240 TOOLS NO E:\ORACLE\ORADATA\LAW\TOOLS01.DBF6 25600 USERS NO E:\ORACLE\ORADATA\LAW\USERS01.DBFRMAN>4)配置自动通道和备份路径RMAN> configure channel device type disk format='e:\bakup\%U.bak';文件名中参数的含义:%u:由备份集编号和建立时间压缩后生成的8字符名称。
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”命令来恢复数据库的数据文件。
ORACLE数据库的备份与恢复
差异增量备份就是备份往前第一个备份级别小于或等于当前备份级别开始到现在的变化。
累计增量备份就是备份往前第一个备份级别小于当前备份级别开始到现在的变化。
0级备份也就是全备份,但0级备份可以在此基础之上再进行备份,但全备份就不可以。
Oracle rman 备份
一、数据库全备份方法(nocatalog)
1 注意rman有两个,要执行db_1/bin下那个(可以通过修改oracle变量来达到)
2 在执行ramn之前要确认当前数据库是否处理Archive Mode模式,并处于Enabled下
查看方式:
如果不是可以通过如下方式打开并修改:
SQL>startup mount
SQL>alter database archivelog
SQL>alter database open
3全备份数据库:
A先连接数据库HERMING
B查看备份列表中是否有以前备份的文件
C执行全数据库备份
4备份完之后可以查看一下备份出来的文件信息:
5备份文件存放路径为:
二、0级数据库备份
A 以nocatalog方式使用rman
B连接数据库
C执行0级数据库备份
注:全备份与0级备份的相同点是都是将数据库全部备份下来。
全备份与0级备份的不同点是全备份不能作为增量备份,而0级可以作为增量备份。
1级备份就在0级备份的基础上进行的。
三、1级增量备份(基于0级备份之上)
总结:可以将备份出来的文件考到其他介质上进行保存,并进行删除。
如果要恢复时请将该文件放回到这文件夹下,并要保存文件名不变。
说明:口令文件因为可以重新设置,所以不用备份,重做日志文件不能在非nocatalog中备份。
四、备份archivelog(参数文件+数据文件+控制文件+归档日志文件)
先备份完再删除归档备份
五、备份表空间
A 查看有哪些表空间
B备份名为TBS1的表空间
六、备份控制文件
七、镜像备份
说明:5为TBS1表空间的编号,及对TBS1表空间进行镜像备份。
八、批命令
A 首先指定通道为CHA1,并保存在磁盘上
B 指定备份文件保存位置为/u01/rmanbak下,并以年月日表示
C 打上标签
说明:channel就是控件数据库备份的行为,如备份要多长时间、备份文件大小、备份要用的进程数等。
九、备份计划
实例:
根据上面的增量备份方案来编写脚本,并用linux下的时间计划工具来调用所编写的脚本
并进行备份
第一步,在/u01/rmanbak/script下新建一个0级备份脚本
第二步、在/u01/rmanbak/script下新建一个1级备份脚本(就是将0级备份脚本中的0改为1,其他以此类推)
可以通过如下命令来执行刚新建的备份脚本
十、用linux定时器执行备份脚本
第一步、用crontab –e –u oracle命令打开编辑窗口
第二步、输入如下命令:
说明:0-6表示星期几。
由右至左为月、日、时、分。
第三步、使用如下命令使该定时器生效
恢复备份
备份时会将controlfile与spfile文件备份下来,但首先得将controlfile状态执为ON才行。
这样以后恢复时才可以恢复备份。
可以通过如下命令查看状态
一、恢复口令文件(orapwherming)
第一步、进入相应的文件目录下
第二步、执行恢复命令
二、SPfile文件丢失恢复(参数文件)
Database必需处于nomount状态
第一步、为了安全期间,将原有文件备份。
第二步、将数据库执为nomount状态并设置dbid。
(此dbid可以在用rman登录时查看到)
第四步、启动数据库
第五步、测试恢复是否成功
三、控制文件丢失恢复
第一步、先将已经存在的控制文件删除
第二步、用sqlplus登录连接并停止实例。
第三步、用rman target /登录并将状态执为nomount状态
第四步、恢复控制文件
第五步、修改状态
第六步、
第七步、
四、Redolog文件恢复
第一步、停止数据库
第二步、将状态执为mount状态第三步、恢复
五、Datafile文件恢复
第一步、用命令查看文件的ID
第二步、恢复
六、表空间恢复
根据以上操作步骤恢复TBS1的表空间
可以查看到日志序列:sequence为1.。