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 (启动恢复管理器)

//rman target=sys/system@testora

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 '/backup1/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@mydb

RMAN> startup pfile=/oracle/admin/mydb/pfile/initmydb.ora

RMAN> restore database;

RMAN> recover database;

RMAN> alter database open;

一步一步学RMAN之实战RMAN备份

作者:IT168 李丙洋 2007-10-26

内容导航:

【IT168 技术文档】

念奴娇?RMAN历练

秋风细雨,落叶飞,多少RMAN命令,一一铭记,想当年,毫无备份概念。一

步一步,一点一滴,多少无眠夜。

春风似剪,万千心事难寄。RMAN进展迅速,学习路漫漫,几经测试,错误不断,遍寻线上线下资料,过程痛苦,豁然顿悟时,酣畅淋漓。

我心情愿,更看未来睛空。

经过前面的若干,我们已经了解并尝试了rman备份的一些命令,但是在实际环境中,不可能每次备份都要求DBA一条命令一条命令来敲(dba手指头都痉挛啦,老板看着更是肉疼,早知道就是打几个字母,雇个打字的,成本不是更低么),通过前章的学习我们已经立志一定要优化的干活,所以我们应该写好一段脚本,然后放在服务器端定时执行。DBA只需要时不时看看备份的结果就成了。

在写脚本之前,我们先明确一下我们的目标:

1、每天夜间1点执行;

2、数据库全备,同时备份控制文件及归档日志文件,备份文件保存至:D:\backup\目录下,并在完成归档日志文件备份后,自动删除已备份的归档日志;

3、备份保留7天,过期则自动删除;

4、保留操作日志备查;

以Windows环境为例(linux环境下与此基本类似,rman的脚本您甚至连改都不用改,就把调用rman脚本的命令行改改就行了):

1、编写rman批处理文件

保存至:E:\oracleScript\backup\database_backup_jssweb.rman

上述的各项命令均在前面几个章节中提到过,如果有看着眼生的话,再回去翻翻前面。命令是都知晓地,可能有几个参数会不明白其意义,比如:BACKUP命令中的SKIT INACCESSIBLE参数,大家表着急,静心等候俺的外。外外。。外外外。。。。(大锅,看个笔记而已,您不用拎着把菜刀到处晃吧,你你你,你别过来,我说还不成嘛)en,看到大家如此虔诚,俺就提前透露这部分内容吧。

SKIP选项说明

SKIP INACCESSIBLE:表示跳过不可读的文件。我们知道一些offline的数据文件只要存在于磁盘上就仍然可被读取,但是可能有些文件已经被删除或移到它处造成不可读,加上这个参数就会跳过这些文件;

SKIP OFFLINE:跳过offline的数据文件;

SKIP READONLY:跳过那些所在表空间为read-only的数据文件;

注意哟,你从网上搜索rman备份脚本,可能有些脚本中会出现一项:sql 'alter system archive log current';这句是让archivelog日志归档,实际上完全没必要,我们在第三节的时候讲过,通过plus archivelog方式备份时,rman 会自动对当前的archivelog进行归档。

2、编写dos批处理

保存至:E:\oracleScript\backup\database_backup_jssweb.bat

设定要备份的数据库sid为jssweb,将日志按照日期输出到

E:\oracleScript\backup\logs\目录。

set oracle_sid=jssweb

rman target / msglog E:\oracleScript\backup\logs\úte:~0,10%.log cmdfile=E:\oracleScript\backup\database_backup_jssweb.rman

3、设定执行计划

控制面板->任务计划中添加计划,运行

E:\oracleScript\backup\database_backup_jssweb.bat,设定日程安排中的时间。

竣工!

说是实战,实际上演练的味道依然浓厚,谁让咱这是在测试泥。上述脚本已初具雏形,当然还应该再增加一些更合理的配置,比如根据您的数据库大小,适当调整通道数量,以及加上日期的判断,根据时间进行增量备份(关于增量备份,限于篇幅这里不介绍,俺保证在外传2尽可能白话,敬请期待)。

由于三思专职dba生涯刚刚开始,所接触到的数据库在体积上都属于小型数据库(不超10G),即使每次备份都是全备也是可以接受的,所以在备份策略上能够非常灵活,或者说随意。对于那些数百G甚至过T的数据库,我想就需要很是花些心思来考虑备份策略的问题了,在这方面三思目前还无法给出具有建设性的提议,但是有一点我想是毋庸置疑的:备份不仅仅只是在数据库崩溃时才会用到,备份是为了更好的恢复。所以我想做好备份与恢复之间开销的平衡应该是所有备份策略的终极目标吧。

ORACLE11G RMAN备份恢复到异机数据库

ORACLE11G RMAN备份恢复到异机数据库 1. 主数据库环境 操作系统版本 : Centos6.7 x64 数据库版本 : Oracle 11.2.0.4 x64 数据库名 : prb 数据库SID : prb db_unique_name : prb instance_name : prb IP : 10.0.8.100 2. 备库环境 操作系统版本 : Centos6.7 x64 数据库版本 : Oracle 11.2.0.4 x64 (只安装oracle数据库软件,no netca dbca) 数据库名 : prb 数据库SID : prb db_unique_name: prb instance_name : prb IP:10.0.8.101 将参数文件备份、控制文件备份、数据文件备份、以及归档备份到目标主机 1 此处实验环境为同平台,同字节序,同版本,源机器和目标机器相同的目录结构。 2 目标机器只需要安装oracle只安装oracle数据库软件,no netca dbca 3 第一次利用备份恢复测试环境,之后从源机器拷贝备份到目标机器并在控制文件中注册,再见行恢复测试。 备份数据库 backup format '/u01/prb/rmanbk/fulldb_%d_%U' database include current controlfile plus archivelog delete input; orapwd file='/u01/app/oracle/product/11.2.0.4/db_1/dbs/orapwprb' password=oracle entries=10 force=y 1rman 连接到源数据库 prd-db1-> rman target / Recovery Manager: Release 11.2.0.4.0 - Production on Wed Aug 17 19:23:27 2016 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. connected to target database: PRB (DBID=1906641159) RMAN> 2 分别列出参数文件备份,控制文件备份,数据文件备份,以及归档备份的名字 参数文件备份如下: RMAN> list backup of spfile; using target database control file instead of recovery catalog List of Backup Sets ===================

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 bytes Fixed Size 1375792 bytes Variable Size 729809360 bytes Database Buffers 335544320 bytes Redo 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_ .ARC ORA-00280: 更改990116 (用于线程1) 在序列#5 中 指定日志: {=suggested | filename | AUTO | CANCEL}

oracle 备份恢复语句整理(最全)

Oracle备份恢复场景总结 一、数据文件、表空间恢复 1、数据库文件恢复 1>场景一: 问题描述: test.dbf丢失,有RMAN备份。 重启报错: Startup; ORA-01157: cannot identify/lock data file 5 - see DBWR trace file ORA-01110: data file 5: '/oracle/app/oracle/oradata/orcl/test01.dbf' run{ startup mount; allocate channel ch00 type 'SBT_TAPE'; restore datafile 5; recoverdatafile 5; alter database open; release channel ch00; }

2>场景二 问题描述: 模拟test表空间损坏,删除数据文件(恢复到新目录) 旧目录:/oracle/app/oracle/oradata 新目录: /home/oracle run{ allocate channel ch00 type 'SBT_TAPE'; sql 'alter database datafile 5 offline'; setnewname for datafile 5 to '/home/oracle/test01.dbf'; restoredatafile 5; switchdatafile 5; recoverdatafile 5; sql 'alter database datafile 4 online'; release channel ch00; } 说明: set newname for 告诉RMAN 还原数据文件的新位置在哪里。这个命令在restore 前出现。 switch datafile更新controlfile,记录这个新位置。这个命令要在recover 前出现

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

完全备份: 完全备份是指对数据库中使用过的所有数据块进行备份,当然,没有使用过的数据块是不做备份的。在进行完全备份时,RMAN将数据文件中所有的非空白数据块都复制到备份集中。在RMAN中,可以对数据文件进行完全备份或者增量备份,但是对控制文件和日志文件只能进行完全备份。在一个完全数据库备份中,将所有的数据库文件,复制到闪回恢复区。 完全备份实例: 【例】通过BACKUP FULL语句,对数据库执行完全备份。使用TAG参数和FORMAT参数,指定备份文件位置以及备份文件的名称格式。如下: RMAN>RUN{ 2> #BACKUP THE COMPLETE DATABASE 3> ALLOCATE CHANNEL ch1 TYPE DISK; 4> BACKUP FULL 5> 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。 增量备份的方式:

ORACLE数据备份与数据恢复方案

O R A C L E数据备份与数据恢 复方案 Prepared on 24 November 2020

摘要 结合金华电信IT系统目前正在实施的备份与恢复策略,重点介绍电信业务计算机管理系统(简称97系统)和营销支撑系统的ORALCE数据库备份和恢复方案。 Oracle数据库有三种标准的备份方法,它们分别是导出/导入 (EXP/IMP)、热备份和冷备份。要实现简单导出数据(Export)和导入数据(Import),增量导出/导入的按设定日期自动备份,可考虑,将该部分功能开发成可执行程序,然后结合操作系统整合的任务计划,实现特定时间符合备份规划的备份应用程序的运行,实现数据库的本级备份,结合ftp简单开发,实现多服务器的数据更新同步,实现数据备份的异地自动备份。 关键字:数据库远程异地集中备份 目录

一、前言 目前,数据已成为信息系统的基础核心和重要资源,同时也是各单位的宝贵财富,数据的丢失将导致直接经济损失和用户数据的丢失,严重影响对社会提供正常的服务。另一方面,随着信息技术的迅猛发展和广泛应用,业务数据还将会随业务的开展而快速增加。但由于系统故障,数据库有时可能遭到破坏,这时如何尽快恢复数据就成为当务之急。如做了备份,恢复数据就显得很容易。由此可见,做好数据库的备份至关重要。因此,建立一个满足当前和将来的数据备份需求的备份系统是必不可少的。传统的数据备份方式主要采用主机内置或外置的磁带机对数据进行冷备份,这种方式在数据量不大、操作系统种类单一、服务器数量有限的情况下,不失为一种既经济又简明的备份手段。但随着计算机规模的扩大,数据量几何级的增长以及分布式网络环境的兴起,将越来越多的业务分布在不同的机器、不同的操作平台上,这种单机的人工冷备份方式越来越不适应当今分布式网络环境。 因此迫切需要建立一个集中的、自动在线的企业级备份系统。备份的内容应当包括基于业务的业务数据,又包括IT系统中重要的日志文件、参数文件、配置文件、控制文件等。本文以ORACLE数据库为例,结合金华电信的几个相关业务系统目前正在实施的备份方案,介绍ORACLE数据库的备份与恢复。 二、金华电信ORACLE数据库的备份与恢复方案 由于金华电信IT系统以前只采用逻辑备份方式进行数据库备份,速度较慢并且数据存储管理都很分散,甚至出现备份数据不完整的现象。为了提高备份数据的效率,提供可靠的数据备份,完善备份系统,保证备份数据的完整性,降低数据备份对网络和服务器的影响,对每个IT系统的备份数据进行集中管理,我们对备份工作进行了改进,将逻辑备份与物理备份相结合,在远程建立了一个异地集中、自动在线的备份系统即网络存储管理系统。(这里用到的物理备份指热备份)其具备的主要功能如下:(1)集中式管理 :网络存储备份管理系统对整个网络的数据进行管理。利用集中式管理工具的帮助,系统管理员可对全网的备份策略进行统一管理,备份服务器可以监控所有机器的备份作业,也可以修改备份策略,并可即时浏览所有目录。所有数据可以备份到同备份服

windows下的oracle数据库rman自动备份和恢复文档

数据库rman 备份恢复文档 Rman 简介 RMAN是ORACLE!供的恢复和备份工具,是随Oracle服务器软件一同安装的工具软件,它可以用来备份和恢复数据库文件、归档日志和控制文件,用来执行完全或不完全的数据库恢复。与传统工具相比,RMAN 具有独特的优势:跳过未使用的数据块。当备份一个RMAN 备份集时,RMAN不会备份从未被写入的数据块,而传统的方式无法获知那些是未被使用的数据块。RMAr使用Oracle特有的二进制压缩模式,与传统备份的压缩方式相比,能够最大程度地压缩数据块中的一些典型数据。二.系统规划数据库备份文件不建议与系统盘( C 盘)、oracle 数据文件存放盘( D 盘)存放在一起,本文单独存放于 E 盘。 注:在进行以下操作前要根据自己的环境建立如下目录“”,“' E:\archivelog_backup ”,“ E:/orabackup_script/ ”。本文用到的命令中的标点均为英文字符下的标点。三.设置oracle 数据库为归档模式(ARCHIVELOG)按以下步骤操作,检查oracle 数据库是否为归档模式。 1. 选择“开始”“系统” “运行”,输入cmd按回车。 2. 输入“ sqlplus ”,按回车。 3. 输入“ system / as sysdba ”,按回车。 4. 输入数据库system 账号的密码,按回车。 5. 查看数据库归档模式,输入“ archive log list; ”,按回车。如下图所示。

C : XDocuments and Settings\Adminis :tpator>sqIplus SQL*Flus: Re lease 10,2.0.1.0 - Production on 星期二 1 月 8 22:2S :02 201^ Copi/i*ight (c> 1982, Oracle. All rights i^eserved. 旌接到: lOracle Database 10^ Enterprise Edition Release 16.2.0.1.0 - 64b±t Production With the Partit ion Ing, OLAP and D&ta Min inct opt ions 档模式: 2. 关闭数据库。输入“ shutdown immediate; ”,按回车。 3. 启动数据库到mount 状态。输入“ startup mount; ”,按回车。 4. 更改数据库的归档模式。输入“ alter database archivelog; ”,按回车。 5. 打开数据库。输入“ alter database open; ”,按回车。 Me 模 日列 hi 忐 黑 B 档 点壘 心 澤-4^ 的日 L>-?m 『早前L> SQ 数自 4 廿 乘肖 SQ 85; mE 存档模式 如果“数据库日志模式”为“非存档模式” ,则需按照如下步骤开启归 1.设置数据库日志归档路径。 输入“ alter system set log_archive_dest= 车。 archivelog_backup scope=spfile; ,按回 户名匕 ten / as s i^sdha

RMAN备份及恢复

Linux下Oracle9i 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=sys/password@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自动备份

查看是否归档 1.在linux终端中输入su – oracle转移到ORACLE用户下 2.键入:sqlplus system/oracle as sysdba (以DBA身份连接数据库) 3.键入:archive log list;(查看是否归档) 4.SQL>archive log list Database log mode Archive Mode(如果是Archive Mode,则已经归档,可以跳过设置归档,如果不是Archive Mode,则继续执行下一步:设置归档) Automatic archival Enabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 10484 Next log sequence to archive 10486 Current log sequence 10486 设置归档 5.键入:shutdown immediate; (立即关闭数据库) 6.键入:startup mount (启动实例并加载数据库,但不打开) 7.键入:alter database archivelog; (更改数据库为归档模式) 8.键入:alter database open; (打开数据库) 设置备份策略 1.为了完善备份以及磁盘空间,则应该设置备份策略 2.键入:quit;(设置归档后退出SQLPLUS) 3.键入:RMAN(进入恢复管理器) 4.rman>connect target / (连接进入目标数据库) 5.Rman>show all;(查看所有配置参数) 6.Rman> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS; 保留7天的备份 7.Rman>quit;(退出) 在执行备份之前,我们应该设置一个存放备份的路径

rman备份恢复操作命令

首先确定/u02/rman目录是否存在 export ORACLE_SID=数据库实例名 rman备份操作: 使用sys用户登录rman rman target sys/syscode #进入rman run{ #备份数据库 ALLOCATE CHANNEL CH1 DEVICE TYPE DISK FORMAT '/u02/rman/test_%U'; ALLOCATE CHANNEL CH2 DEVICE TYPE DISK FORMAT '/u02/rman/test_%U'; BACKUP incremental level 0 DATABASE plus archivelog delete input; RELEASE CHANNEL CH1; RELEASE CHANNEL CH2; } list backupset; #备份完毕,记录scn (备份时记录备份完成的SCN号,此SCN号作为数据库恢复的时间点,必须记录下来) #SCN号类似如下: rman 恢复操作 1、首次进行恢复 使用sys用户登录rman rman target sys/syscode #进入rman shutdown immediate #停止数据库 startup mount; #启动实例 run{ set until scn ********; #**为备份时记录的SCN号 restore database; #还原数据库 recover database; #恢复数据库 sql 'alter database open resetlogs'; #打开数据库 } 2、多次恢复 在使用备份文件恢复数据库,用open resetlogs方式打开数据之后,如果需要再次恢复数据库,需要指定数据库的incarnation. 使用sys用户登录rman rman target sys/syscode #进入rman shutdown immediate #停止数据库 startup mount; #启动实例 list backupset; #选择scn (备份时记录备份完的SCN号) #SCN号类似如下:

RMAN备份经典理解

ORACLE RMAN增量备份经典理解2014-03-29 09:37:46 分类:Oracle Oracle中,增量备份时分等级的,级别从0开始,一级一级递增,不过实际上用的最多的也就是0级和1级了,0级增量备份是后面级别的增量备份的基础,0级备份实际上就是一个完全备份,与普通的完全备份唯一的不同点是0级备份可以作为其他级别增量备份的基础,而普通的完全备份是不能的。 从级别1开始,Oracle的增量备份分为差异增量备份和积累增量备份两种,其中差异增量备份备份的是自上一次同级别的差异备份或者是上一次更高级别的备份完成之后的数据库发生改变的数据块;而积累增量备份则是备份的自上一次上一级增量备份完成以来数据库发生改变的数据块。在《Backup and Recovery User’s Guide》的“增量备份”一节中有两幅图很形象的描述了这两个增量备份之间的异同: 差异增量备份图示

积累增量备份图示 -------------------------------------------------------------------------------------> > rman 全备与0、1级增量备份 1、简单来说,rman全库备份只需要backup database;(未压缩),或者backup as compressed backupset database; (压缩)。即可完全备份,如下: RMAN> backup database; Starting backup at 08-OCT-13 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1

RMAN增量备份与恢复

增量备份计划案例 一、增量备份计划关键命令 星期日: RMAN> backup incremental level=0 database; 星期一: RMAN> backup incremental level=2 database; 星期二: RMAN> backup incremental level=2 database; 星期三: RMAN> backup incremental level=1 database; 星期四: RMAN> backup incremental level=2 database; 星期五: RMAN> backup incremental level=2 database; 星期六: RMAN> backup incremental level=2 database; 二、增量备份计划与恢复实例: 恢复管理器: Release 10.2.0.1.0 - Production on 星期六3月22 14:47:30 2008 Copyright (c) 1982, 2005, Oracle. All rights reserved.

连接到目标数据库: ORCL (DBID=1177145004) RMAN> backup incremental level=0 database; 启动backup 于22-3月-08 使用目标数据库控制文件替代恢复目录 分配的通道: ORA_DISK_1 通道ORA_DISK_1: sid=122 devtype=DISK 通道ORA_DISK_1: 启动增量级别0 数据文件备份集 通道ORA_DISK_1: 正在指定备份集中的数据文件 输入数据文件fno=00001 name=C:\ORACLE\ORADATA\ORCL\SYSTEM01.DBF 输入数据文件fno=00003 name=C:\ORACLE\ORADATA\ORCL\SYSAUX01.DBF 输入数据文件fno=00007 name=C:\ORACLE\ORADATA\ORCL\PERFSTAT.DBF 输入数据文件fno=00005 name=C:\ORACLE\ORADATA\ORCL\EXAMPLE01.DBF 输入数据文件fno=00002 name=C:\ORACLE\ORADATA\ORCL\UNDOTBS01.DBF 输入数据文件fno=00004 name=C:\ORACLE\ORADATA\ORCL\USERS01.DBF 输入数据文件fno=00006 name=C:\ORACLE\ORADATA\ORCL\TTT.DBF 通道ORA_DISK_1: 正在启动段 1 于22-3月-08 通道ORA_DISK_1: 已完成段 1 于22-3月-08 段句柄=C:\ORACLE\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2008_03_22\O1 _MF_NNND0_TAG20080322T144756_3Y9BWXK2_.BKP 标记=TAG20080322T144756 注释=NONE 通道ORA_DISK_1: 备份集已完成, 经过时间:00:01:45 完成backup 于22-3月-08 启动Control File and SPFILE Autobackup 于22-3月-08 段

oracle备份与恢复机制

谈ORACLE备份与恢复 经常听到有人说,某数据库备份方法好,某备份方法不好,或者说现在都流行用rman 来备份了,逻辑备份已经过时了,冷备份就更不值一提了,其实数据库的备份从来没有什么好坏之分、没有过时之说,合适才是最重要的,自己好才是真的好.各种方法各有长短,谁也代替不了谁,只有根据实际情况搭配使用,才能发挥最大的作用,否则只能是东施效颦. 1 . o r ac 1 e的备份,包括no a r chi v e I og模式的备份(冷备份)、arch i velog模式的备份(热备份、rman备份)、逻辑备份(不分模式). 1.1.冷备份: ~ 1)关闭数据库 s hu t d o wn; -一2)备份数据文件、控制文件、重做日志文件 一-A、查找备份文件的位置 SELEC T * FROM VSDATAFIL E ; —査数据文件 s el e ct * f r om v$cont r o 1 f il e ; —查控制文件 s e le c t * f r om vSlogf i 1 e; —査日志文件 ~ B、备份数据文件、控制文件、重做日志文件 $ copy D:\oracle\o r a data\or a 9 \ *. dbf d: \ b a k \ *. *; $ cop y D:\ora cle \ oradat a \ora9 \ *? c t 1 d : \ b a k\*? *: $ copy D:\oracle \o r adata\o r a9\*? I og d:\bak\*? *; 1.2.热备份: ~ 1)查询备份的数据文件与哪一个表空间有关 SELECT V$TAF3LESPACE ? NAME, VS DATAFILE. NAME FROM V$TA B LES P ACE J OIN V$DATAF I LE USING(TS#); ~ 2)备份数据文件 a 1 t er tablespace 表空间BEGIN BACKUP; $ COPY数据文件存放路径

rman备份策略及备份脚本

Rman归档模式下的热备份策略及实施方案 一、归档模式设置: 1.查看归档状态为非归档 SQL> select log_mode from v$database; LOG_MODE ------------ NOARCHIVELOG archive状态Disabled SQL> archive log list Database log mode No Archive Mode Automatic archival Disabled Archive destination /archivelog Oldest online log sequence 2 Current log sequence 4 2.设置数据库为归档模式 SQL> shutdown immediate; SQL> startup mount; SQL> alter database archivelog; SQL> alter system set log_archive_start=true scope=spfile; SQL> shutdown immediate; SQL> startup; SQL> archive log list Database log mode Archive Mode Automatic archival Enabled Archive destination /archivelog Oldest online log sequence 2 Next log sequence to archive 4 Current log sequence 4 二、rman配置准备: 在Rman中,已设置了参数每次备份自动备份控制文件和参数文件,其配置命令为: $ rman target / RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON; --设置控制文件和参数文件自动备份 RMAN> set controlfileautobackup format for device type disk to '/backupora/%F'; --设置自动备份控制文件存放位置

2016年9月1日rman备份恢复脚本

rman备份恢复 1.通过rman备份文件恢复spfile 2.通过rman备份文件恢复controlfile 3.通过rman备份文件恢复datafile 4.利用恢复回来的controlfile和datafile生成redolog 5.测试交易是否存在,并全备 我系统环境所有的文件如下: [oracle@fowaydbs]$ pwd /opt/oracle/10g/dbs [oracle@fowaydbs]$ ls initdw.ora init.ora [oracle@fowaydbs]$ls /opt/oracle/oradata 已没有任何资料 [oracle@fowaydbs]$ls /opt/oracle/admin 已没有任何资料 [oracle@fowaydbs] ls /opt/oracle/flash_recovery_area/ ORCL [oracle@fowaydbs]ls /opt/oracle/flash_recovery_area/ORCL/backupset/

2008_07_18 [oracle@fowaydbs]ls /opt/oracle/flash_recovery_area/ORCL/backupset/2008_07_ 18/ o1_mf_ncsnf_TAG20080718T203240_482fls2h_.bkp o1_mf_nnndf_TAG20080718T203240_482fkb0k_.bkp 在我这台电脑上, ,系统中所有的ORCL相关的数据文件,参数文件,日志文件,控制文件全部不在了, 没有其他可用的备份文件了,只有rman备份的文件在,这可怎么办呢? 没办法只能恢复了,可怎么恢复呢? 要恢复数据文件用rman备份? 能吗? 当然不能了,因为restore 必须在mount or open状态下. 参数文件,控制文件都没有怎么mount? 要mount必须有参数文件,控制文件,为此我们必须解决这2个难题了. 在解决难题前先准备ORCL的必须的目录: [oracle@fowaydbs]mkdir /opt/oracle/oradata/orcl

rman备份(教程与案例)

ORACLE备份策略 (ORACLE BACKUP STRATEGY) 第一章. 概要 1、了解什么是备份 2、了解备份的重要性 3、理解数据库的两种运行方式 4、理解不同的备份方式及其区别 5、了解正确的备份策略及其好处 第二章. 了解备份的重要性 可以说,从计算机系统出世的那天起,就有了备份这个概念,计算机以其强大的速度处理能力,取代了很多人为的工作,但是,往往很多时候,它又是那么弱不禁风,主板上的芯片、主板电路、内存、电源等任何一项不能正常工作,都会导致计算机系统不能正常工作。当然,这些损坏可以修复,不会导致应用和数据的损坏。但是,如果计算机的硬盘损坏,将会导致数据丢失,此时必须用备份恢复数据。 其实,在我们的现实世界中,已经就存在很多备份策略,如RAID技术,双机热备,集群技术发展的不就是计算机系统的备份和高可用性吗?有很多时候,系统的备份的确就能解决数据库备份的问题,如磁盘介质的损坏,往往从镜相上面做简单的恢复,或简单的切换机器就可以了。 但是,上面所说的系统备份策略是从硬件的角度来考虑备份与恢复的问题,这是需要代价的。我们所能选择备份策略的依据是:丢是数据的代价与确保数据不丢失的代价之比。还有的时候,硬件的备份有时根本满足不了现实需要,假如你误删了一个表,但是你又想恢复的时候,数据库的备份就变的重要了。ORACLE本身就提供了强大的备份与恢复策略,这里我们只讨论ORACLE备份策略,以下的备份都是指ORACLE数据库备份,恢复将放到下一讲中。 所谓备份,就是把数据库复制到转储设备的过程。其中,转储设备是指用于放置数据库拷贝的磁带或磁盘。 能够进行什么样的恢复依赖于有什么样的备份。作为DBA,有责任从以下三个方面维护数据库的可恢复性: ·使数据库的失效次数减到最少,从而使数据库保持最大的可用性; ·当数据库不可避免地失效后,要使恢复时间减到最少,从而使恢复的效率达到最高; ·当数据库失效后,要确保尽量少的数据丢失或根本不丢失,从而使数据具有最大的可恢复性。 灾难恢复的最重要的工作是设计充足频率的硬盘备份过程。备份过程应该满足系统要求的可恢复性。例如,如果数据库可有较长的关机时间,则可以每周进行一次冷备份,并归档重做日志,对于24*7的系统,或许我们考虑的只能是热备份。如果每天都能备份当然会很

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 all 5、查看数据库方案报表: RMAN> report schema; 6、备份全库: RMAN> backup database plus archivelog delete input; (备份全库及控制文件、服务器参数文件与所有归档的重做日志,并删除旧的归档日志) 7、备份表空间: RMAN> backup tablespace system plus archivelog delete input; (备份指定表空间及归档的重做日志,并删除旧的归档日志) 8、备份归档日志:

ORACLE数据库备份与恢复详解

ORACLE数据库备份与恢复详解 Oracle的备份与恢复有三种标准的模式,大致分为两大类,备份恢复(物理上的)以及导入导出(逻辑上的),而备份恢复又可以根据数据库的工作模式分为非归档模式(Nonarchivelog-style)和归档模式(Archivelog-style),通常,我们把非归档模式称为冷备份,而相应的把归档模式称为热备份,他们的关系如下所示 三种方式各有优点,我们做个比较(这个是用Fireworks画的,有点糙):

$A: 现在先来介绍一下逻辑备份方式的方法,利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中去。理论基础:Oracle 提供的Export和Import具有三种不同的操作方式(就是备份的数据输出(入)类型): 1,表方式(T) 可以将指定的表导出备份; 2,全库方式(Full) 将数据库中的所有对象导出; 3,用户方式(U) 可以将指定的用户相应的所有数据对象导出; *在导入导出备份方式中,提供了很强大的一种方法,就是增量导出/导入,但是它必须作为System来完成增量的导入导出,而且只能是对整个数据库进行实施。增量导出又可以分为三种类别: 1,完全增量导出(完全备份)(Complete Export) 这种方式将把整个数据库文件导出备份;exp system/manager inctype=complete file=20041125.dmp(为了方便检索和事后的查询,通常我们将备份文件以日期或者其他有明确含义的字符命名) 2,增量型增量导出(增量备份)(Incremental Export) 这种方式将只会备份上一次备份后改变的结果;exp system/manager inctype=incremental file=20041125.dmp 3,累积型增量导出(差异备份)(Cumulate Export) 这种方式的话,是导出自上次完全增量导出后数据库变化的信息。exp system/manager inctype=cumulative file=20041125.dmp 通常情况下,DBA们所要做的,就是按照企业指定或者是自己习惯的标准(如果是自己指定的标准,建议写好计划说明),一般,我们采用普遍认可的下面的方式进行每天的增量备份: Mon:完全备份(A) Tue:增量导出(B) Wed:增量导出(C) Thu:增量导出(D)

oracle中rman备份语句及详细分析

Rman备份语句实例及详细分析 采用下面语句备份可以基本保证一个小型数据库的备份需求。 1rman备份语句实例和详解 RUN { CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS; CONFIGURE CONTROLFILE AUTOBACKUP ON; CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'f:/oracle数据库备份/%F'; ALLOCATE CHANNEL CH1 DEVICE TYPE DISK FORMAT 'f:/oracle数据库备份/%U'; BACKUP DATABASE SKIP INACCESSIBLE FILESPERSET 10 PLUS ARCHIVELOG FILESPERSET 20 DELETE ALL INPUT; RELEASE CHANNEL CH1; } ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE DISK; CROSSCHECK BACKUPSET; DELETE NOPROMPT OBSOLETE; --将备份保留7天,过期则自动删除。 --控制文件自动备份 --设置控制文件在磁盘上控制路径和格式。 %F:一个基于DBID 唯一的名称,这个格式的形式为c-IIIIIIIIII-YYYYMMDD-QQ,其中IIIIIIIIII 为该数据库的DBID,YYYYMMDD 为日期,QQ 是一个1-256 的序列; --设置通道的路径及格式。 %U:是%u_%p_%c的简写形式,利用它可以为每一个备份片段(即磁盘文件)生成一个唯一名称,这是最常用的命名方式; %u:是一个由备份集编号和建立时间压缩后组成的8字符名称。利用%u可以为每个备份集生成一个唯一的名称; %p:表示备份集中备份片段的编号,从1 开始编号; %c:备份片的拷贝数(从1开始编号); --分配通道,自动备份归档日志。 --备份数据库,跳过磁盘上不可读的文件(SKIP INACCESSIBLE) --自动删除已经备份的归档日志。 1)filesperset是每个备份集中包含的最大文件个数 2)应该生成2个备份集,每个备份集包含50个文件 3)如果没有datafilecopy那一句的话,应该是生成2个备份集,每个备份集包含3个文件 allocate channel 提供备份并发度,若平均文件数

相关文档
最新文档