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数据库全库备份语句

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数据库全库备份语句,可以根据实际需求选择合适的备份方式进行数据库备份。

【RMAN】LIST命令:列出备份信息

【RMAN】LIST命令:列出备份信息

LIST命令:列出备份信息3.1、列出数据文件备份集RMAN> list backup 列出详细备份;RMAN> list expired backup; 列出过期备份;RMAN> list backup of database; 列出所有数据文件的备份集;RMAN> list backup of tablespace user01; 列出特定表空间的所有数据文件备份集;3.2、RMAN> list backup of controlfile 列出控制文件备份集;3.3、RMAN> list backup of archivelog all 列出归档日志备份集详细信息;RMAN>list archivelog all; 列出归档日志备份集简要信息3.4、RMAN> list backup of spfile 列出SPFILE备份集;3.5、RMAN> list copy of datafile 5 列出数据文件映像副本;3.6、RMAN> list copy of controlfile 列出控制文件映像副本;3.7、RMAN> list copy of archivelog all 列出归档日志映像副本;3.8、RMAN> list incarnation of database 列出对应物/列出数据库副本;3.9、RMAN> list backup summary; 概述可用的备份;B表示backupF表示FULLA表示archive log0 1表示incremental backupS说明备份状态(A AVAILABLE X EXPIRED )3.10、RMAN>list backup by file 按备份类型列出备份;按照数据文件备份,归档日志备份,控制文件备份,服务器参数文件备份列出。

ORACLE RAC数据库RMAN 备份与恢复

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备份命令

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备份数据库文件和归档日志

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备份脚本

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备份数据库的sql语句

oracle备份数据库的sql语句

oracle备份数据库的sql语句Oracle备份数据库使用两种SQL语句:用于全文档备份和备份特定表/表空间。

1. 全文档备份Oracle用RMAN来备份数据库,其常用语句如下:(1) 启动备份:startup nomount;(2) 配置RMAN:rman target sys/password;(3) 备份数据库:backup database;(4) 保留几天的备份:configure retention policy to recovery window of num_days;(5) 进行压缩:configure compression device physical backupset on;(6) 备份到网络存储:backup device type 'SBT_TAPE' format 'my_backup_%U.dbf' database include current controlfile;(7) 停止RMAN:shutdown immediate;(8) 退出RMAN:exit;2. 备份特定表/表空间如果要备份特定表或者表空间,可以使用如下SQL语句:(1) 备份某个表空间:expdp system/password directory='data_pump_dir' dumpfile='tablename.dmp' tablespaces=tablename;(2) 备份某个表:expdp system/password directory='data_pump_dir' dumpfile='tablename.dmp' table=tablename;(3) 获取备份存储的位置:select * from dba_directories;(4) 检查备份的完整性:impdp system/password directory='data_pump_dir' dumpfile='tablename.dmp' table=tablenamelogfile='check_dumpfile.log' full=y;。

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

rman备份常用操作语句2009-08-12 23:21:57| 分类:rman|字号订阅drop tablespace tbs_rman including contents and datafiles;create tablespace tbs_rman datafile '/oradata/liutest/tbs_rman01.dbf'size 300M; create user rmanuser identified by rman default tablespace tbs_rman temporary tablespace temp;grant recovery_catalog_owner to rmanuser;select * from session_privs;select * from sesseion_roles;rman catalog rmanuser/rmanrman>create catalog tablespace tbs_rman;rman>r egister database;rman>list incarnation; -- (可以看出有几个目标数据库注册此RMAN备份) rman>report schema;rman>list backup;rman>list copy;--全备份full backupsetrman>run{allocate channel d1 device type disk;backup as compressed backupsetformat='/rmanbak/full_%d_%U'tag='fullbak'channel=d1database plus archivelog delete input;}rman>crosscheck copy;rman>delete expired copy;--0级备份run{allocate channel d1 device type disk;backup as compressed backupsetincremental l evel=0format='/rmanbak/inc0_%d_%U'tag='inc0'channel=d1database;release channel d1;}rman>list backup summary;--差异1级增量备份run{allocate channel d1 device type disk;backup as compressed backupsetincremental level=1format='/rmanbak/inc1_%d_%U'tag='inc1'channel=d1database;release channel d1;}--查看备份结果rman>list backupset summary;rman>list backup by file;>ll -h --可以比较大小--累积型增量备份run{allocate channel d1 device type disk;backup as compressed backupsetincremental level=1 cummulativeformat='/rmanbak/cum1_%d_%U'tag='cum1'channel=d1database;release channel d1;}--备份表空间run{allocate channel d1 device type disk;backup as compressed backupsetformat='/rmanbak/tbs_user_%d_%U'tag='tbs'channel=d1t ablespace users,center,system;release channel d1;}--备份数据文件run{allocate channel d1 device type disk;backup as compressed backupsetformat='/rmanbak/df_%d_%U'tag='dfile'channel=d1datafile 1;-- select file_id from dba_data_files;release channel d1;}--查看备份结果list backupset tag='DFILE'--备份archivelog文件--备份之前,先检查一下rman>crosscheck copy of archivelog all;rman>crosscheck archivelog all;rman>sql "alter system switch logfile";rman>sql"alter system switch logfiel";rman>sql "alter system switch logfiel";--进行日志切换,让系统备份归档日志rman>list archivelog all;rman>list backupset; --可以得到chp scn(ckeckpoint scn)来断定备份那个归档日志(用于恢复)run{allocate channel d1 device type disk;backup as compressed backupsetformat='/rmanbak/arch_%d_%U'tag='arch'channel=d1archivelog from scn 1219672; --1219672是一个chp scn(ckeckpoint scn)release channel d1;}-- 查看备份结果rman>list backupset;--备份拷贝backup as copyrun{allocate channel d1 device type disk;backup as copyformat='/rmanbak/copy_%d_%U'tag='copybak'channel=d1database;release channel d1;}rman>report schema;rman>report obsolete;list backupset;list backupset by file; --根据文件输出crosscheck --校验备份信息是否被删除crosscheck backupset;--如果有删除的备份信息,把它标志为expired--接着就可以删除这些备份信息:delete expired backupset;change命令:change backupset 1available(crosscheck,delete,unavailable,uncatalog,validate,nokeep(keep,comma));--改变备份信息的状态--change backupset 1 delete 表示删除这个备份信息(相当于crosscheck backupset; delete obsolete backupset;)list 命令1 列出对应物RMAN>list incarnation;(可以看出有几个目标数据库注册此RMAN备份)2 列出备份2.1概述可用的备份RMAN>list backup summary;显示结果LV字段说明如下:B 表示backupF 表示FULLA 表示archive log0 1 表示incremental backupS 说明备份状态(A AVAILABLE,X EXPIRED )2.2按备份类型列出备份RMAN>list backup by file;按照数据文件备份,归档日志备份,控制文件备份,服务器参数文件备份列出2.3列出详细备份RMAN>list backup;2.4列出过期备份RMAN>list expired backup;2.5列出表空间和数据文件备份list backup of tablespace 和list backup of datafile 输出和list backup 相似如:list backup of tablespace user_tbs;list backup of datafile 3;2.6列出归档日志备份RMAN>list archivelog all;简要信息RMAN>list backup of archivelog all;详细信息2.7列出控制文件和服务器参数文件RMAN>list backup of controfile;RMAN>list backup of spfile;=====================================================RMAN 的report命令1. 报告最近没有被备份的数据文件RMAN>report need backup days=3;2. 报告备份冗余或恢复窗口RMAN>report need backup redundancy=2;RMAN>report need backup recovery window of 2 days;3. 报告数据文件的不可恢复操作RMAN>report unrecoverable;4. 报告数据库模式RMAN>report schema;5. 报告丢弃的备份如果使用了保存策略,备份会标记为丢弃状态RMAN>report obsolete;删除丢弃状态备份RMAN>delete obsolete;=================================================================== ==RMAN的crosscheck 命令1 备份集有两种状态A(Available,RMAN认为该项存在于备份介质上)X(Expired,备份存在于控制文件或恢复目录中,但是并没有物理存在于备份介质上)2 crosscheck 的目的是检查RMAN 的目录以及物理文件,如果物理文件不存在于介质上,将标记为Expired。

相关文档
最新文档