rman全量备份脚本
Rman使用简明
Rman使用简明一、Rman备份概述1,含义RMAN可以用来备份和恢复数据库文件、归档日志和控制文件,在9i中也可以用来备份和恢复spfile。
也可以用来执行完全或不完全的数据库恢复。
RMAN启动数据库上的Oracle服务器进程来进行备份或还原。
备份、还原、恢复是由这些进程驱动的。
具有如下特点:1)功能类似物理备份,但比物理备份强大N倍,从下面的特点可以看到;2)可以压缩空块;3)可以在块水平上实现增量;4)可以把备份的输出打包成备份集,也可以按固定大小分割备份集;5)备份与恢复的过程可以自动管理;6)可以使用脚本(存在Recovery catalog中)7)可以做坏块监测2,概念备份集(backup sets):备份集顾名思义就是一次备份的集合,它包含本次备份的备份片,以oracle 专有的格式保存。
一个备份集根据备份的类型不同,可能构成一个完全备份或增量备份。
注:一次备份可能产生多个备份集,根据数据量的大小和参数设定不同而变化备份片(Backup pieces):每个备份片是一个单独的输出文件。
如果备份片没有大小的限制,一个备份集就只由一个备份片构成。
备份片的大小不能大于你的文件系统所支持的文件长度的最大值。
Image copies (映像备份)映像备份不压缩、不打包、直接COPY独立文件(数据文件、归档日志、控制文件),类似操作系统级的文件备份。
Full backup 全备份全备份是指对数据文件中使用过的数据块进行备份,没有使用过的数据块是不做备份的,也就是说,RMAN进行备份是进行压缩的。
Incremental backup 增量备份增量备份是指备份数据文件中自从上一次同一级别的或更低级别的备份以来被修改过的数据块。
与完全备份相同,增量备份也进行压缩。
增量备份虽然概念很好,备份也很简单,但恢复起来却是另外一回事,不仅麻烦而且容易出错,所以实际中越来越少使用,到了Oracle 9i已经建议不再使用,以后版本会逐渐取消对增量备份的支持。
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数据库全库备份语句
oracle数据库全库备份语句Oracle数据库是一种关系型数据库管理系统,提供了全库备份的功能,可以用来备份整个数据库。
下面列举了10个不同的Oracle数据库全库备份语句。
1. 使用RMAN备份全库:使用RMAN工具备份整个Oracle数据库,可以使用以下命令:```RMAN> backup database;```2. 使用expdp备份全库:使用expdp工具备份整个Oracle数据库,可以使用以下命令:```expdp system/password@database_name full=Y directory=backup_dir dumpfile=full_backup.dmp logfile=full_backup.log;```3. 使用exp备份全库:使用exp工具备份整个Oracle数据库,可以使用以下命令:```exp system/password@database_name full=y file=full_backup.dmp log=full_backup.log;4. 使用Data Pump备份全库:使用Data Pump工具备份整个Oracle数据库,可以使用以下命令:```expdp system/password@database_name full=Y directory=backup_dir dumpfile=full_backup.dmp logfile=full_backup.log;```5. 使用RMAN增量备份全库:使用RMAN工具进行增量备份,可以使用以下命令:```RMAN> backup incremental level 1 cumulative database;```6. 使用expdp表空间备份:使用expdp工具备份指定表空间的数据,可以使用以下命令:```expdp system/password@database_name tablespaces=tablespace_name directory=backup_dir dumpfile=tablespace_backup.dmplogfile=tablespace_backup.log;7. 使用exp表空间备份:使用exp工具备份指定表空间的数据,可以使用以下命令:```exp system/password@database_name tablespaces=tablespace_name file=tablespace_backup.dmp log=tablespace_backup.log;```8. 使用RMAN备份控制文件和参数文件:使用RMAN工具备份控制文件和参数文件,可以使用以下命令:```RMAN> backup current controlfile;```9. 使用expdp备份指定用户的数据:使用expdp工具备份指定用户的数据,可以使用以下命令:```expdp system/password@database_name schemas=user_name directory=backup_dir dumpfile=user_backup.dmp logfile=user_backup.log;```10. 使用exp备份指定用户的数据:使用exp工具备份指定用户的数据,可以使用以下命令:```exp system/password@database_name owner=user_name file=user_backup.dmp log=user_backup.log;```以上是10个不同的Oracle数据库全库备份语句,可以根据实际需求选择合适的备份方式进行数据库备份。
ORACLE RAC数据库RMAN 备份与恢复
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 讲究的是备份和还原的策略要一致。
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 format '/backup1/backup_%U'; (设臵备份的文件格式,只适用于磁盘设备)RMAN> configure channel 2 device type disk format '/backup2/backup_%U'; (设臵备份的文件格式,只适用于磁盘设备)RMAN> configure controlfile autobackup on; (打开控制文件与服务器参数文件的自动备份)RMAN> configure controlfile autobackup format for device type disk to '/backu p1/ctl_%F'; (设臵控制文件与服务器参数文件自动备份的文件格式)4、查看所有设臵:RMAN> show all;5、查看数据库方案报表: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 plus archivelog 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.oraRMAN> restore database;RMAN> recover database;RMAN> alter database open;Oracle备份与恢复案例一. 理解什么是数据库恢复当我们使用一个数据库时,总希望数据库的内容是可靠的、正确的,但由于计算机系统的故障(硬件故障、软件故障、网络故障、进程故障和系统故障)影响数据库系统的操作,影响数据库中数据的正确性,甚至破坏数据库,使数据库中全部或部分数据丢失。
Oracle 使用RMAN备份数据库文件和归档日志
Oracle 使用RMAN 备份数据库文件和归档日志当数据库打开时,可以使用RMAN BACKUP 命令备份如下对象:● 数据库● 表空间● 数据文件● 归档重做日志● 控制文件● 备份集在使用BACKUP 命令备份数据文件时,可以为其设置参数,定义备份段的文件名,文件数和每个输入文件的通道。
1.备份数据库如果备份操作是在数据库被安全关闭之后进行的,那么对整个数据库的备份是一致的;与之相对应,如果数据库是在打开状态下对整个数据库进行的备份,则该备份是非一致的。
非一致性备份整个数据库的操作步骤如下:(1)启动RMAN 并连接到目标数据库,输入BACKUP DATABASE 命令备份数据库。
在BACKUP 命令中可以指定FORMA T 参数,为RMAN 生成的每个备份片段指定一个惟一的名称,以及存储的位置。
C:\>rman target system/admin nocatalogRMAN> backup database format 'f:\oracle_backup\ora11g_%Y_%M_%D_%U.bak' maxsetsize=2G; 还可以为BACKUP 命令指定TAG 参数,为备份片段定义备份标签。
例如: RMAN>backup database tag='weekly_backup';(2)如果建立的是非一致性备份,那么必须在完成备份后对当前的联机重做日志进行归档,因为在使用备份恢复数据库需要使用当前重做日志中的重做记录。
RMAN>sql'alter system archive log current';(3)在RMAN 中执行LIST BACKUP OF DA TABASE 命令,查看建立的备份集与备份片段的信息。
RMAN> list backup of database;如果需要对整个数据库进行一致性备份,则首先需要关闭数据库,并启动数据库到MOUNT 状态。
windows rman备份脚本
、每天夜间1点执行;2、数据库全备,同时备份控制文件及归档日志文件,备份文件保存至:D:\backup\目录下,并在完成归档日志文件备份后,自动删除已备份的归档日志;3、备份保留7天,过期则自动删除;4、保留操作日志备查;以Windows环境为例(linux环境下与此基本类似,rman的脚本您甚至连改都不用改,就把调用rman脚本的命令行改改就行了):1、编写rman批处理文件保存至:E:\oracleScript\backup\database_backup_jssweb.rmanRUN {CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;CONFIGURE CONTROLFILE AUTOBACKUP ON;CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO'd:/backup/%F';ALLOCATE CHANNEL CH1 DEVICE TYPE DISK FORMAT 'd:/backup/%U';BACKUP DATABASE SKIP INACCESSIBLE FILESPERSET 10PLUS ARCHIVELOG FILESPERSET 20DELETE ALL INPUT;RELEASE CHANNEL CH1;ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE DISK;CROSSCHECK BACKUPSET;DELETE NOPROMPT OBSOLETE;SKIP选项说明SKIP INACCESSIBLE:表示跳过不可读的文件。
我们知道一些offline的数据文件只要存在于磁盘上就仍然可被读取,但是可能有些文件已经被删除或移到它处造成不可读,加上这个参数就会跳过这些文件;SKIP OFFLINE:跳过offline的数据文件;SKIP READONLY:跳过那些所在表空间为read-only的数据文件;注意哟,你从网上搜索rman备份脚本,可能有些脚本中会出现一项:sql 'alter system archive log current';这句是让archivelog日志归档,实际上完全没必要,我们在第三节的时候讲过,通过plus archivelog方式备份时,rman会自动对当前的archivelog进行归档。
oracle数据库全备份和增量备份
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.全库备份(备份数据文件中有数据的,有数据文件,控制文件,归档日志文件,spfile文件,不备份联机重做日志文件或临时文件)RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON; --控制文件自动备份RMAN>CONFIGURE DEVICE TYPE DISK PARALLELISM 2 backup type to compressedbackupset; --压缩RMAN> CONFIGURE channel DEVICE TYPE DISK format 'D:\APP\rman\full_%s.bk'; --备份的路径RMAN>BACKUP DATABASE; --全备份RMAN>list backup of database; --检查备份信息RMAN>backup archivelog all delete input; --备份归档日志并删除归档日志RMAN> list backup of archivelog all; --检查归档日志2.差异增量备份RMAN> backup incremental level 0 database; --0级全备份RMAN> backup incremental level 2 database;--2级备份RMAN> list backup of database; --检查备份信息3.累积增量备份(2c 不做参照对象)RMAN> backup incremental level 2 cumulative database;中心数据库,RMAN一周备份方案============================0.星期天晚上-level 0 backup performed(全备份)1.星期一晚上-level 2 backup performed2.星期二晚上-level 2 backup performed3.星期三晚上-level 1 backup performed4.星期四晚上-level 2 backup performed5.星期五晚上-level 2 backup performed6.星期六晚上-level 2 backup performed如果星期二需要恢复的话,只需要0+1,如果星期四需要恢复的话,只需要0+3,如果星期五需要恢复的话,只需要0+3+4,如果星期六需要恢复的话,只需要0+3+4+5具体步骤:1.创建0,1,2级备份脚本 D:\rman_bak_scriptrun{allocate channel c1 type disk;allocate channel c2 type disk;allocate channel c3 type disk;backup as compressed backupset incremental level 0 tag 'db_level0' database format 'H:\RMAN_BAK\level0_%u_%s_%p.bak';sql 'alter system archive log current';backup as compressed backupset archivelog all format'H:\ARCHIVELOG_BAK\arch0_%u_%s_%p' delete input;delete noprompt obsolete;release channel c1;release channel c2;release channel c3;}run{allocate channel c1 type disk;allocate channel c2 type disk;allocate channel c3 type disk;backup as compressed backupset incremental level 1 tag 'db_level1' database format 'H:\RMAN_BAK\level1_%u_%s_%p.bak';sql 'alter system archive log current';backup as compressed backupset archivelog all format 'H:\ARCHIVELOG_BAK\arch1_%u_%s_%p' delete input;delete noprompt obsolete;release channel c1;release channel c2;release channel c3;}run{allocate channel c1 type disk;allocate channel c2 type disk;allocate channel c3 type disk;backup as compressed backupset incremental level 2 tag 'db_level2' database format 'H:\RMAN_BAK\level2_%u_%s_%p.bak';sql 'alter system archive log current';backup as compressed backupset archivelog all format 'H:\ARCHIVELOG_BAK\arch2_%u_%s_%p' delete input;delete noprompt obsolete;release channel c1;release channel c2;release channel c3;}2.创建周日至周六执行的批处理文件 D:\rman_bak_script\Mon…Sun星期天rman target / logD:\rman_bak_script\Sun\rmanlog_Sun%date:~0,4%_%date:~5,2%_%date:~8,2%.txt cmdfile=D:\rman_bak_script\rman_level0.cmd星期一 rman target / logD:\rman_bak_script\Mon\rmanlog_Mon%date:~0,4%_%date:~5,2%_%date:~8,2%.txt cmdfile=D:\rman_bak_script\rman_level2.cmd星期二rman target / logD:\rman_bak_script\Tue\rmanlog_Tue%date:~0,4%_%date:~5,2%_%date:~8,2%.txt cmdfile=D:\rman_bak_script\rman_level2.cmd星期三rman target / logD:\rman_bak_script\Wen\rmanlog_Wen%date:~0,4%_%date:~5,2%_%date:~8,2%.txt cmdfile=D:\rman_bak_script\rman_level1.cmd星期四rman target / logD:\rman_bak_script\Thu\rmanlog_Thu%date:~0,4%_%date:~5,2%_%date:~8,2%.txt cmdfile=D:\rman_bak_script\rman_level2.cmd星期五rman target / logD:\rman_bak_script\Fri\rmanlog_Fri%date:~0,4%_%date:~5,2%_%date:~8,2%.txt cmdfile=D:\rman_bak_script\rman_level2.cmd星期六rman target / logD:\rman_bak_script\Sat\rmanlog_Sat%date:~0,4%_%date:~5,2%_%date:~8,2%.txt cmdfile=D:\rman_bak_script\rman_level2.cmd3.创建任务计划。
oracle数据库全库备份语句
oracle数据库全库备份语句Oracle数据库是一种关系型数据库管理系统,它可以用于存储和管理大量的结构化数据。
在进行数据库管理时,备份是非常重要的一项工作,它可以保护数据库免受数据丢失和系统故障的影响。
下面列举了十个Oracle数据库全库备份的语句,以供参考。
1. 使用RMAN进行全库备份:RMAN是Oracle提供的备份和恢复工具,可以通过以下命令进行全库备份:```RMAN> BACKUP DATABASE;```2. 使用EXPDP进行全库逻辑备份:EXPDP是Oracle提供的逻辑备份工具,可以通过以下命令进行全库备份:```expdp system/password@database_name directory=backup_directory dumpfile=full_backup.dmp full=y; ```3. 使用IMPDP进行全库逻辑恢复:IMPDP是Oracle提供的逻辑恢复工具,可以通过以下命令进行全库恢复:```impdp system/password@database_name directory=backup_directory dumpfile=full_backup.dmp full=y; ```4. 使用ALTER DATABASE进行全库备份:ALTER DATABASE命令可以备份整个数据库,可以通过以下命令进行全库备份:```SQL> ALTER DATABASE BACKUP CONTROLFILE TO '/path/to/backup/controlfile.bkp';```5. 使用Data Pump进行全库备份:Data Pump是Oracle提供的数据导入导出工具,可以通过以下命令进行全库备份:```SQL> EXPDP system/password@database_nameDIRECTORY=data_pump_dir DUMPFILE=full_backup.dmp FULL=YES;```6. 使用RMAN进行全库增量备份:RMAN可以进行增量备份,只备份发生变化的数据,可以通过以下命令进行全库增量备份:```RMAN> BACKUP INCREMENTAL LEVEL 1 DATABASE;```7. 使用EXP进行全库逻辑备份:EXP是Oracle提供的逻辑备份工具,可以通过以下命令进行全库备份:```exp system/password@database_name file=full_backup.dmp full=y;```8. 使用ALTER TABLESPACE进行表空间备份:可以通过ALTER TABLESPACE命令备份指定的表空间,可以通过以下命令进行表空间备份:```SQL> ALTER TABLESPACE tablespace_name BEGIN BACKUP;```9. 使用RMAN进行全库镜像备份:RMAN可以进行镜像备份,备份数据库的所有镜像拷贝,可以通过以下命令进行全库镜像备份:```RMAN> BACKUP AS COPY DATABASE;```10. 使用EXPDP进行全库逻辑备份,并压缩备份文件:可以通过以下命令进行全库逻辑备份,并对备份文件进行压缩:```expdp system/password@database_name directory=backup_directory dumpfile=full_backup.dmp full=y compression=all;```以上是十个Oracle数据库全库备份的语句,可以根据实际需求选择其中一种或多种备份方式进行数据库的备份工作。
orcle数据库备份语句
orcle数据库备份语句Oracle数据库备份是一项非常重要的任务,可以保障数据的安全性和完整性。
在进行数据库备份时,我们可以使用不同的语句和方法来完成备份操作。
以下是一些常用的Oracle数据库备份语句:1. 使用RMAN备份整个数据库:RMAN是Oracle推荐的备份工具,可以使用以下语句备份整个数据库:```RMAN> BACKUP DATABASE;```2. 使用RMAN备份指定表空间:如果只需要备份数据库中的特定表空间,可以使用以下语句:```RMAN> BACKUP TABLESPACE tablespace_name;```3. 使用RMAN备份指定数据文件:如果只需要备份数据库中的特定数据文件,可以使用以下语句:```RMAN> BACKUP DATAFILE 'datafile_path';4. 使用RMAN备份指定控制文件:控制文件是数据库的关键组成部分,可以使用以下语句备份控制文件:```RMAN> BACKUP CURRENT CONTROLFILE;```5. 使用RMAN备份归档日志:归档日志包含了数据库的所有更改记录,可以使用以下语句备份归档日志:```RMAN> BACKUP ARCHIVELOG ALL;```6. 使用EXPDP备份数据库:EXPDP是Oracle提供的数据泵工具,可以使用以下语句备份整个数据库:```expdp username/password directory=directory_name dumpfile=dumpfile_name.dmp full=yes;7. 使用EXPDP备份指定表:如果只需要备份数据库中的特定表,可以使用以下语句:```expdp username/password directory=directory_name dumpfile=dumpfile_name.dmp tables=table_name;```8. 使用EXPDP备份指定表空间:如果只需要备份数据库中的特定表空间,可以使用以下语句:```expdp username/password directory=directory_name dumpfile=dumpfile_name.dmp tablespaces=tablespace_name;```9. 使用EXPDP备份指定用户:如果只需要备份数据库中的特定用户,可以使用以下语句:```expdp username/password directory=directory_name dumpfile=dumpfile_name.dmp schemas=user_name;```10. 使用EXPDP备份指定数据文件:如果只需要备份数据库中的特定数据文件,可以使用以下语句:```expdp username/password directory=directory_name dumpfile=dumpfile_name.dmp filesperset=1 include=datafile:'datafile_path';```总结:以上是一些常用的Oracle数据库备份语句,通过使用不同的备份语句可以实现对整个数据库、指定表空间、指定数据文件、归档日志等的备份。
RMAN备份
使用RMAN备份DB一、建置环境与情境本文件说明使用RMAN由来源DB复制DB到另一台主机上。
测试的环境描述如下:1.来源和复制主机为相同平台和OS系统,OS:HP-UX,平台:Intel Itanium2.来源DB和复制DB的版本相同,皆为Oracle 10.2.0.4版3.来源DB和复制DB的SID和服务名称相同,SID:HPDEV2,服务名称:4.来源DB和复制DB都是使用ASM做为储存媒介,ASM内储存结构也相同,储存目录root都为+DATADG5.RMAN使用control纪录备份回、复信息如要参考此步骤进行复制,请先确认以上环境的差异,参考Backup and Recovery Advanced User’s Guide.pdf中13章部分和Backup and Recovery Reference.pdf手册进行修改。
在RMAN复制DB操作上,来源DB是以target DB连接,而复制DB则以auxiliary DB连接。
操作时请注意来源、复制DB和target DB、auxiliary DB间的关系,避免混淆。
二、复制DB步骤1.检查来源DB archive log mode使用RMAN复制DB必须先用RMAN备份来源DB,备份时请注意DB的archive log mode,如果为noarchive log模式,RMAN只能在DB为mount模式下备份,在备份时DB无法提供服务。
故如果DB无法容忍长时间停机,应先将RMAN切换为archive log mode,如此可以在DB open的状况下进行备份。
检查archive log可以用sqlplus以sys登入下以下指令查询:如需要修改可以下以下指令:shutdown immediate;startup mount;alter database archivelog; --或noarchivelogalter database open;设定完后可以重新以:archive log list;查询设定是否成功。
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命令来检查备份文件的完整性等。
orcal数据备份语句
orcal数据备份语句Oracle数据库备份语句是数据库管理员经常使用的重要工具,它可以保护数据库的数据安全,防止数据丢失或损坏。
以下是一些常用的Oracle数据库备份语句:1. 全备份语句:RMAN> BACKUP DATABASE;这个语句将对整个数据库进行备份,包括数据文件、控制文件和日志文件。
2. 表空间备份语句:RMAN> BACKUP TABLESPACE example;这个语句将备份指定的表空间,可以用于恢复该表空间的数据。
3. 数据文件备份语句:RMAN> BACKUP DATAFILE 1 FORMAT '/backup/datafile1.bak';这个语句将备份指定的数据文件,可以用于恢复该数据文件的数据。
4. 控制文件备份语句:RMAN> BACKUP CURRENT CONTROLFILE FORMAT '/backup/controlfile.bak';这个语句将备份当前的控制文件,以便在需要时进行恢复。
5. 归档日志备份语句:RMAN> BACKUP ARCHIVELOG ALL FORMAT '/backup/archivelog.bak';这个语句将备份所有归档日志文件,用于保留数据库变更的历史记录。
6. 增量备份语句:RMAN> BACKUP INCREMENTAL LEVEL 1 DATABASE;这个语句将备份已更改的数据块,可以用于快速备份大型数据库。
7. 压缩备份语句:RMAN> BACKUP AS COMPRESSED BACKUPSET DATABASE;这个语句将备份数据库并使用压缩备份集来减小备份文件的大小。
8. 备份到远程服务器语句:RMAN> BACKUP DATABASE FORMAT '/backup/%d_%T_%U' TAG 'PROD_BACKUP'2> REMOTE 'ssh user@remotehost "/backup"' SECTION SIZE 10M;这个语句将备份数据库并将备份文件传输到远程服务器上的指定路径。
Rman 全备与0、1级增量备份
Rman 全备与0、1级增量备份时间: 2013-10-9分类: ORACLE备份恢复作者: Dennis 450 次浏览TAGS: RMAN增量备份rman 全备与0、1级增量备份1、简单来说, rman全库备份只需要backup database;(未压缩),或者 backup as compressed backupset database; (压缩)。
即可完全备份,如下:RMAN> backup database;Starting backup at 08-OCT-13using target database control file instead of recovery catalog allocated channel: ORA_DISK_1channel ORA_DISK_1: SID=34 device type=DISKchannel ORA_DISK_1: starting full datafile backup setchannel ORA_DISK_1: specifying datafile(s) in backup setinput datafile file number=00001name=/u01/app/oracle/oradata/orcl/system01.dbfinput datafile file number=00002name=/u01/app/oracle/oradata/orcl/sysaux01.dbfinput datafile file number=00003name=/u01/app/oracle/oradata/orcl/undotbs01.dbfinput datafile file number=00004name=/u01/app/oracle/oradata/orcl/users01.dbfchannel ORA_DISK_1: starting piece 1 at 08-OCT-13channel ORA_DISK_1: finished piece 1 at 08-OCT-13piecehandle=/u01/app/oracle/fast_recovery_area/ORCL/backupset/2013_10_08/o 1_mf_nnndf_TAG20131008T221828_95851ofr_.bkp tag=TAG20131008T221828 comment=NONEchannel ORA_DISK_1: backup set complete, elapsed time: 00:00:55 channel ORA_DISK_1: starting full datafile backup setchannel ORA_DISK_1: specifying datafile(s) in backup setincluding current control file in backup setincluding current SPFILE in backup setchannel ORA_DISK_1: starting piece 1 at 08-OCT-13channel ORA_DISK_1: finished piece 1 at 08-OCT-13piecehandle=/u01/app/oracle/fast_recovery_area/ORCL/backupset/2013_10_08/o 1_mf_ncsnf_TAG20131008T221828_95853fmr_.bkp tag=TAG20131008T221828 comment=NONEchannel ORA_DISK_1: backup set complete, elapsed time: 00:00:01 Finished backup at 08-OCT-13RMAN>可以看出备份集以及备份保存路径等信息,这部分信息都在show all;的参数中进行设置,这里都是默认的参数;由于是nocatalog模式,备份信息都存在控制文件中.可以使用操作系统命令查看相关的控制文件信息:[oracle@oracledba ~]$strings/u01/app/oracle/oradata/orcl/control01.ctlDISK/u01/app/oracle/fast_recovery_area/ORCL/backupset/2013_10_08/o1_mf_nn ndf_TAG20131008T221828_95851ofr_.bkpTAG20131008T221828DISK/u01/app/oracle/fast_recovery_area/ORCL/backupset/2013_10_08/o1_mf_nc snf_TAG20131008T221828_95853fmr_.bkpTAG20131008T221828DISK/u01/app/oracle/fast_recovery_area/ORCL/backupset/2013_10_08/o1_mf_nn ndf_TAG20131008T221828_95851ofr_.bkpTAG20131008T221828使用list backupset;命令查看备份信息:RMAN> list backupset;using target database control file instead of recovery catalogList of Backup Sets===================BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 1 Full 1.03G DISK 00:00:50 08-OCT-13 BP Key: 1 Status: AVAILABLE Compressed: NO Tag:TAG20131008T221828Piece Name:/u01/app/oracle/fast_recovery_area/ORCL/backupset/2013_10_08/o1_mf_nn ndf_TAG20131008T221828_95851ofr_.bkpList of Datafiles in backup set 1File LV Type Ckp SCN Ckp Time Name---- -- ---- ---------- --------- ----1 Full 1059012 08-OCT-13/u01/app/oracle/oradata/orcl/system01.dbf2 Full 1059012 08-OCT-13/u01/app/oracle/oradata/orcl/sysaux01.dbf3 Full 1059012 08-OCT-13/u01/app/oracle/oradata/orcl/undotbs01.dbf4 Full 1059012 08-OCT-13/u01/app/oracle/oradata/orcl/users01.dbfBS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 2 Full 9.36M DISK 00:00:01 08-OCT-13 BP Key: 2 Status: AVAILABLE Compressed: NO Tag:TAG20131008T221828Piece Name:/u01/app/oracle/fast_recovery_area/ORCL/backupset/2013_10_08/o1_mf_nc snf_TAG20131008T221828_95853fmr_.bkpSPFILE Included: Modification time: 08-OCT-13SPFILE db_unique_name: ORCLControl File Included: Ckp SCN: 1059037 Ckp time: 08-OCT-13 RMAN>可以看出有两个备份集,每个备份集有一个备份片,恢复的时候需要用到这两个备份,可以把文件拷贝到其他目录或者磁带上保存,需要恢复的时候拷贝到原始备份的目录(即控制文件中记录的目录)即可恢复!如果需要压缩备份全库及归档日志可以执行如下命令:backup as compressed backupset database plus archivelog;2、rman 0级增量备份:其实全备和0级增量备份都是全备,但是也是有区别的,0级增量备份可以用于增量备份恢复的基础,而单独的全备不能用于增量备份的恢复基础!0级增量备份的命令如下:RMAN> backup incremental level 0 database;或者RMAN> backup incremental level= 0 database;RMAN> backup incremental level 0 database;Starting backup at 08-OCT-13using channel ORA_DISK_1channel ORA_DISK_1: starting incremental level 0 datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup setinput datafile file number=00001name=/u01/app/oracle/oradata/orcl/system01.dbfinput datafile file number=00002name=/u01/app/oracle/oradata/orcl/sysaux01.dbfinput datafile file number=00003name=/u01/app/oracle/oradata/orcl/undotbs01.dbfinput datafile file number=00004name=/u01/app/oracle/oradata/orcl/users01.dbfchannel ORA_DISK_1: starting piece 1 at 08-OCT-13channel ORA_DISK_1: finished piece 1 at 08-OCT-13piecehandle=/u01/app/oracle/fast_recovery_area/ORCL/backupset/2013_10_08/o 1_mf_nnnd0_TAG20131008T225334_95873gfh_.bkp tag=TAG20131008T225334 comment=NONEchannel ORA_DISK_1: backup set complete, elapsed time: 00:00:45 channel ORA_DISK_1: starting incremental level 0 datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup setincluding current control file in backup setincluding current SPFILE in backup setchannel ORA_DISK_1: starting piece 1 at 08-OCT-13channel ORA_DISK_1: finished piece 1 at 08-OCT-13piecehandle=/u01/app/oracle/fast_recovery_area/ORCL/backupset/2013_10_08/o 1_mf_ncsn0_TAG20131008T225334_95874wqs_.bkp tag=TAG20131008T225334 comment=NONEchannel ORA_DISK_1: backup set complete, elapsed time: 00:00:01 Finished backup at 08-OCT-13RMAN> list backupset;List of Backup Sets===================BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 4 Incr 0 1.03G DISK 00:00:43 08-OCT-13 BP Key: 4 Status: AVAILABLE Compressed: NO Tag:TAG20131008T225334Piece Name:/u01/app/oracle/fast_recovery_area/ORCL/backupset/2013_10_08/o1_mf_nn nd0_TAG20131008T225334_95873gfh_.bkpList of Datafiles in backup set 4File LV Type Ckp SCN Ckp Time Name---- -- ---- ---------- --------- ----1 0 Incr 1060153 08-OCT-13/u01/app/oracle/oradata/orcl/system01.dbf2 0 Incr 1060153 08-OCT-13/u01/app/oracle/oradata/orcl/sysaux01.dbf3 0 Incr 1060153 08-OCT-13/u01/app/oracle/oradata/orcl/undotbs01.dbf4 0 Incr 1060153 08-OCT-13/u01/app/oracle/oradata/orcl/users01.dbfBS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 5 Incr 0 9.36M DISK 00:00:01 08-OCT-13 BP Key: 5 Status: AVAILABLE Compressed: NO Tag:TAG20131008T225334Piece Name:/u01/app/oracle/fast_recovery_area/ORCL/backupset/2013_10_08/o1_mf_nc sn0_TAG20131008T225334_95874wqs_.bkpSPFILE Included: Modification time: 08-OCT-13SPFILE db_unique_name: ORCLControl File Included: Ckp SCN: 1060170 Ckp time: 08-OCT-13list backupset结果可以看出,全备和0级增量备份在type上的区别!同理,可以对数据库做1级增量备份,命令如下:RMAN> backup incremental level 1 database;此时rman需要对比0级增量备份后到执行1级增量备份时候的数据变化情况,备份出来的备份大小由数据更改的多少而定!RMAN> backup incremental level 1 database;Starting backup at 08-OCT-13using channel ORA_DISK_1channel ORA_DISK_1: starting incremental level 1 datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup setinput datafile file number=00001name=/u01/app/oracle/oradata/orcl/system01.dbfinput datafile file number=00002name=/u01/app/oracle/oradata/orcl/sysaux01.dbfinput datafile file number=00003name=/u01/app/oracle/oradata/orcl/undotbs01.dbfinput datafile file number=00004name=/u01/app/oracle/oradata/orcl/users01.dbfchannel ORA_DISK_1: starting piece 1 at 08-OCT-13channel ORA_DISK_1: finished piece 1 at 08-OCT-13piecehandle=/u01/app/oracle/fast_recovery_area/ORCL/backupset/2013_10_08/o 1_mf_nnnd1_TAG20131008T230442_9587rd4t_.bkp tag=TAG20131008T230442 comment=NONEchannel ORA_DISK_1: backup set complete, elapsed time: 00:00:35 channel ORA_DISK_1: starting incremental level 1 datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup setincluding current control file in backup setincluding current SPFILE in backup setchannel ORA_DISK_1: starting piece 1 at 08-OCT-13channel ORA_DISK_1: finished piece 1 at 08-OCT-13piecehandle=/u01/app/oracle/fast_recovery_area/ORCL/backupset/2013_10_08/o 1_mf_ncsn1_TAG20131008T230442_9587shm2_.bkp tag=TAG20131008T230442 comment=NONEchannel ORA_DISK_1: backup set complete, elapsed time: 00:00:01 Finished backup at 08-OCT-13RMAN> list backupset;List of Backup Sets===================BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 4 Incr 0 1.03G DISK 00:00:43 08-OCT-13 BP Key: 4 Status: AVAILABLE Compressed: NO Tag:TAG20131008T225334Piece Name:/u01/app/oracle/fast_recovery_area/ORCL/backupset/2013_10_08/o1_mf_nn nd0_TAG20131008T225334_95873gfh_.bkpList of Datafiles in backup set 4File LV Type Ckp SCN Ckp Time Name---- -- ---- ---------- --------- ----1 0 Incr 1060153 08-OCT-13/u01/app/oracle/oradata/orcl/system01.dbf2 0 Incr 1060153 08-OCT-13/u01/app/oracle/oradata/orcl/sysaux01.dbf3 0 Incr 1060153 08-OCT-13/u01/app/oracle/oradata/orcl/undotbs01.dbf4 0 Incr 1060153 08-OCT-13/u01/app/oracle/oradata/orcl/users01.dbfBS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 5 Incr 0 9.36M DISK 00:00:01 08-OCT-13 BP Key: 5 Status: AVAILABLE Compressed: NO Tag:TAG20131008T225334Piece Name:/u01/app/oracle/fast_recovery_area/ORCL/backupset/2013_10_08/o1_mf_nc sn0_TAG20131008T225334_95874wqs_.bkpSPFILE Included: Modification time: 08-OCT-13SPFILE db_unique_name: ORCLControl File Included: Ckp SCN: 1060170 Ckp time: 08-OCT-13BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 6 Incr 1 8.53M DISK 00:00:26 08-OCT-13 BP Key: 6 Status: AVAILABLE Compressed: NO Tag:TAG20131008T230442Piece Name:/u01/app/oracle/fast_recovery_area/ORCL/backupset/2013_10_08/o1_mf_nn nd1_TAG20131008T230442_9587rd4t_.bkpList of Datafiles in backup set 6File LV Type Ckp SCN Ckp Time Name---- -- ---- ---------- --------- ----1 1 Incr 1060699 08-OCT-13/u01/app/oracle/oradata/orcl/system01.dbf2 1 Incr 1060699 08-OCT-13/u01/app/oracle/oradata/orcl/sysaux01.dbf3 1 Incr 1060699 08-OCT-13/u01/app/oracle/oradata/orcl/undotbs01.dbf4 1 Incr 1060699 08-OCT-13/u01/app/oracle/oradata/orcl/users01.dbfBS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 7 Incr 1 9.36M DISK 00:00:01 08-OCT-13 BP Key: 7 Status: AVAILABLE Compressed: NO Tag:TAG20131008T230442Piece Name:/u01/app/oracle/fast_recovery_area/ORCL/backupset/2013_10_08/o1_mf_nc sn1_TAG20131008T230442_9587shm2_.bkpSPFILE Included: Modification time: 08-OCT-13SPFILE db_unique_name: ORCLControl File Included: Ckp SCN: 1060711 Ckp time: 08-OCT-13 RMAN>以上3种备份生成的文件,可以通过list backupset命令查看相关区别!同样备份信息可以在控制文件中查看!。
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状态。
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”命令来恢复数据库的数据文件。
oracle—rman备份使用方法
RMAN(Recovery Manager)是Oracle数据库的备份和恢复工具,提供了强大的备份、恢复和数据库复制功能。
以下是使用RMAN进行备份的基本步骤:
1. 连接到 RMAN:
通过命令行或脚本连接到 RMAN。
在命令行中输入:
这会使用操作系统认证连接到默认的本地数据库实例。
2. 设置备份配置参数:
在 RMAN 中,您可以设置各种备份配置参数,例如备份类型、备份目标、备份文件位置等。
以下是一个设置备份参数的示例:
这将启用自动备份控制文件和配置备份文件的保存路径。
3. 执行备份:
执行备份命令以创建数据库备份。
以下是创建全库备份的示例:
您还可以根据需要选择性地备份表空间、数据文件等。
4. 查看备份:
您可以使用以下命令查看备份信息:
这将显示当前配置的备份。
5. 恢复数据库:
如果需要进行恢复,您可以使用 RMAN 执行还原和恢复操作。
以下是一个简单的例子:
这将还原数据库文件并应用必要的日志以完成数据库的恢复。
6. 退出 RMAN:
完成备份和恢复操作后,使用以下命令退出 RMAN:
这是一个基本的 RMAN 备份和恢复过程。
请注意,在实际环境中,您可能需要根据数据库的具体要求和策略进行更复杂的备份和恢复配置。
请参考 Oracle 官方文档以获取更详细的信息和高级用法。
rman备份
RMAN备份——归档日志出现问题摘要:在利用RMAN进行备份时出现RMAN-06059的错误,引起错误的原因为找不到归档日志。
利用试验库再现错误,然后解决问题的过程如下:第一步:在目标库里创建表并且插入数据产生出归档日志。
SQL> conn dk/dk已连接。
SQL> create table dk as select * from dba_objects;表已创建。
SQL> insert into dk select * from dk;已创建6165行。
SQL> r1* insert into dk select * from dk已创建12330行。
SQL> r1* insert into dk select * from dk已创建24660行。
#由于在线重做日志只有1m所以很容易产生归档日志。
第二步:利用catalog库连接到目标库做全库备份和归档日志备份。
C:\>rman恢复管理器: 版本9.2.0.1.0 - ProductionCopyright (c) 1995, 2002, Oracle Corporation. All rights reserved.RMAN> connect catalog rman/rman连接到恢复目录数据库RMAN> connect target sys/dk@yan连接到目标数据库: YAN (DBID=2827094113)RMAN> register database;注册在恢复目录中的数据库正在启动全部恢复目录的 resync完成全部 resyncRMAN> report schema;数据库方案报表文件 KB 表空间 RB segs 数据文件名称---- ---------- -------------------- ------- -------------------1 256000 SYSTEM YES C:\ORACLE\ORADATA\YAN\SYSTEM01.DBF2 204800 UNDOTBS1 YES C:\ORACLE\ORADATA\YAN\UNDOTBS01.DBF3 6144 DK NO C:\ORACLE\ORADATA\YAN\DK01.DBF RMAN> replace script fullyan { #创建全备的脚本fullyan2> allocate channel c1 type disk;3> allocate channel c2 type disk;4> backup5> format 'c:\yan\full_%U'6> filesperset=37> (database include current controlfile);8> release channel c1;9> release channel c2;}已替换脚本 fullyanRMAN> run { execute script fullyan;} #运行全备的脚本正在执行脚本: fullyan………………………………………… #中间过程略去完成 backup 于 13-12月-06释放的通道: c1释放的通道: c2RMAN> create script arcyan { #创建备份归档日志的脚本arcyan2> allocate channel c1 type disk;3> backup4> format 'c:\yan\arc_%U'5> filesperset=36> archivelog all;7> release channel c1;8> }已创建脚本 arcyanRMAN> run { execute script arcyan; } #运行备份归档日志的脚本正在执行脚本: arcyan………………………………………… #中间过程略去完成 backup 于 13-12月-06释放的通道: c1第三步:在目标库中重复第一步的操作产生归档日志,在目标库中删除所有的归档日志。
RMAN备份介绍
RMAN备份介绍RMAN备份【官⽅⽂档】 Backup and Recovery Reference Backup and Recovery User's Guide1 备份⽂件类型1.1 backupset备份集 不备份datafile⾥⾯从未使⽤块、可以实现增量备份(可以备份到disk和tape)。
可以使⽤压缩,如果只启⽤⼀个channel,默认会把所有备份的datafile放⼊到⼀个backupset⾥,并且⽣成⼀个备份⽚backup piece 使⽤section size时,⼀个backupset中可以包含多个backup piece1.1.1 备份全库① RMAN> backup database format='/u01/backup/rman/prod_%s.bak' filesperset 3;② RMAN> backup database plus archivelog delete input;说明:备份所有数据⽂件及控制⽂件、spfile⽂件与所有归档⽇志,并删除旧的归档⽇志,当deleteinput后,控制⽂件相关信息(v$archived_log)也会被更新。
archivelog物理⽇志也被删除③ RMAN> backup database format '/u01/backup/rman/%U.bak' plus archivelog delete input skip inaccessible;说明:archivelog的备份是根据控制⽂件中(v$archived_log)中的内容导航的,如果控制⽂件中记录了⽽实际归档中⼜不存在,则会报错,skip inaccessible的含义是跳过物理上缺失的⽇志⽂件因为有了全备,随时可以还原备份,还原点之前的归档⽇志可以删除,如果想单独还原归档⽇志备份可以使⽤:restore archivelog all; 1.1.2 备份表空间RMAN> backup tablespace users format '/u01/backup/rman/users_%U.bak' tag=userbak;1.1.3 备份数据⽂件RMAN> backup datafile 3,5 format '/u01/backup/rman/%d_%s.bak';备份数据⽂件,可以⼀次备份多个,以“,” 分开1.1.4 备份归档⽇志查看当前数据库中归档⽇志RMAN> list archivelog all;备份所有归档⽇志,备份完成后删除库⾥的归档⽇志⽂件RMAN> backup archivelog all delete input;将归档⽇志⽂件从备份转储回库中RMAN> restore archivelog all;1.1.5 备份控制⽂件RMAN> backup current controlfile;1.1.6 备份参数⽂件RMAN> backup spfile;1.2 image copy(映像⽂件)备份1.2.1 image copy(映像⽂件) 实际上和⼿⼯cp类似的,备份datafile所有的数据块,不能作为增量备份的基础(即0级增量备份),只能备份到disk,不能备份到tape,优点是可以省略还原步骤,恢复数据库速度快1.2.2 语法① RMAN> copy datafile 4 to '/u01/backup/rman/users_%s.bak';② RMAN> backup as copy tablespace 'TEST' format '/u01/backup/rman/%d_test_%s.bak';建议使⽤backup语法,统⼀格式backup as copy database format '/u01/backup/rman/%U.bak';list datafilecopy all;删除delete datafilecopy all;2 rman冷热备脚本参考2.1 rman冷备脚本vi /u01/backup/rman/cold.sql写⼊脚本:run{shutdown immediate;startup mount;allocate channel c1 device type disk;allocate channel c2 device type disk;backup database format '/u01/backup/rman/db_%d_%T_%U.bak';backup current controlfile format '/u01/backup/rman/ctl_%d_%T_%U.bak';alter database open;release channel c1;release channel c2;}2.2 rman热备vi /u01/backup/rman/hot.sql写⼊脚本:run{allocate channel c1 device type disk;allocate channel c2 device type disk;backup database format '/u01/backup/rman/db_%d_%T_%U.bak' plus archivelog format '/u01/backup/rman/ar_%d_%T_%U.bak';backup current controlfile format '/u01/backup/rman/ctl_%d_%T_%U.bak';release channel c1;release channel c2;}3 增量备份incremental backup【官⽅⽂档】 Database Backup and Recovery User's Guide ---> 8 RMAN Backup Concepts ---> Incremental Backups3.1 概念 只备份⾃某次备份以来发⽣变化的block。