当前位置:文档之家› 基于Rman的备份与恢复

基于Rman的备份与恢复

基于Rman的备份与恢复
基于Rman的备份与恢复

基于Rman的测试

为了配合公司产品的功能测试,特完成此文档(公司产品相关测试部分已剔除)。本文档主要是介绍rman工具的基本使用,此处只做全库的备份,以及不完全恢复,数据库模式为归档模式。

1Rman工具的简单介绍

Rman全称Recover Manager是oracle提供的一款备份恢复数据库或数据库组件(表空间、数据文件、控制文件以及参数文件等)的工具。并且rman还可以对数据库的归档日志进行管理。

2 数据库备份与恢复

Rman提供两种备份模式,一种是将备份数据信息写入到本地的控制文件中,另一种是恢复目录方式:这种方式是将备份数据库信息写入到本地控制文件和catalog(恢复目录)中,oracle推荐使用第二种方式。Catalog一般创建在另外的一个数据库中,这样备份的数据库崩溃后不影响其恢复。使用第一种方式,如果数据库崩溃,而且没有控制文件的备份,这种情况下就没有办法进行恢复操作。这里使用恢复目录方式进行操作。

1)Catalog的创建

恢复目录所在数据库为rmandb,创建的恢复目录为tsp_rman,连接用户为rman/rman

a)创建恢复目录

Create tablespace tsp_rman

datafile ‘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 to

3> '/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关键字,为备份集取一个别名.为了显示简洁,这里只使用最基本的备份命令.

2)恢复

图 3.4.1 显示备份集

找到上一次备份集的scn号,此处做基于scn号的恢复。可以看到上一次备份集的scn 号是2927303

图 3.4.2 确定scn号

基于scn号的不完全恢复,如下图:

图 3.4.3 执行恢复脚本

图中可以看到恢复时发生错误。原因在于:做全库恢复时,目标数据库必须置于mount 状态。如果恢复数据文件时,可以在数据库打开的情况下进行恢复,但恢复前必须将要恢复的数据文件置为offline状态。

关闭数据库,并置于Mount状态(rman窗口支持数据库级的命令操作,但为了显示的清

楚,这里单独开一个sqlplus窗口进行数据库级的操作)

重新连接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的状态重

置到相对应的状态下,才能继续完成恢复的操作。

实验8-Oracle数据库备份与恢复

实验8 Oracle数据库备份与恢复 1 实验目的 (1)掌握Oracle数据库各种物理备份方法。 (2)掌握Oracle数据库各种物理恢复方法。 (3)掌握利用RMAN工具进行数据库的备份与恢复。 (4)掌握数据的导入与导出操作。 2 实验要求 (1)对BOOKSALES数据库进行一次冷备份。 (2)对BOOKSALES数据库进行一次热备份。 (3)利用RMAN工具对BOOKSALES数据库的数据文件、表空间、控制文件、初始化参数 文件、归档日志文件进行备份。 (4)利用热备份恢复数据库。 (5)利用RMAN备份恢复数据库。 (6)利用备份进行数据库的不完全恢复。 3 实验步骤 (1)关闭BOOKSALES数据库,进行一次完全冷备份。 select file_name from dba_data_files; select member from v$logfile; select value from v$parameter where name='control_files';

(2)启动数据库后,在数据库中创建一个名为cold表,并插入数据,以改变数据库的状态。 CREATE TABLE COLD( ID NUMBER PRIMARY KEY, NAME VARCHAR2(25) ); (3)利用数据库冷备份恢复BOOKSALES数据库到备份时刻的状态并查看恢复后是否

存在cold表。 (4)将BOOKSALES数据库设置为归档模式。 1.1 shutdown immediate 正常关闭数据 1.2 startup mount;将数据库启动到mount状态 3)、关闭flash闪回数据库模式,如果不关闭的话,在后面关闭归档日志的时候就会出现讨厌的ora-38774错误。 alter database flashback off 1.3 alter database archivelog;发出设置归档模式的命令 1.4 alter database open;打开数据库 1.5 再次正常关闭数据库,并备份所有的数据文件和控制文件 1.6archive log list;在将数据库设置为归档模式后,可以执行此命令进行确认 1.6.1 Database log mode 为Archive Mode说明当前的数据库为归档模式 1.6.2 Automatic archival为Enable说明启动了自动归档。

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 ===================

rman全量备份脚本

#!/bin/bash -x export ORACLE_HOME=/opt/oracle/product/11.2.4/db_1 export LOG=/backup/log export ARCHDIR=/backup/arch export DBDIR=/backup/db export DATE=$(date +"%m_%d_%y") export DBNAME=$1 export ORACLE_SID=$DBNAME $ORACLE_HOME/bin/rman target / log=$LOG/rman_$DATE.log << ! crosscheck backup; delete noprompt expired backup; run{ allocate channel c1 type disk; allocate channel c2 type disk; backup as compressed backupset database include current controlfile format '/backup/db/db_%U'; sql 'alter system archive log current'; backup as compressed backupset archivelog all not backed up format '/backup/arch/arch_%U' ; release channel c1; release channel c2; } exit; ! find $LOG -mtime +8 -exec rm {} \; find $ARCHDIR -mtime +8 -exec rm {} \; find $DBDIR -mtime +2 -exec rm {} \;

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. 常见数据备份与恢复的方法 2.学会Oracle备份方案的制定 【实验内容与步骤】 1. Oracle物理备份与恢复 准备工作: (1)查看数据库是否运行于归档模式下: 请给出查询的结果: (2)关闭数据库,做一个完全的冷备份。 提示: a.使用shutdown命令关闭数据库; b.复制数据文件、日志文件和控制文件到安全地方 (3) 把数据库改为归档模式 设置成自动归档 SQL> alter system set log_archive_start = true scope=spfile;

注意:本实验中的很多命令路径参数需根据自己的实现环境做出修改!! 实验11-1 数据库系统数据文件和回退段遭破坏的情况下的恢复。此时数据库的状态是关闭的。 (1)先启动数据库,创建新用户scott,并用scott用户建立test表,并插入两条数据。创建表空间的四个步骤: /*分为四步 */ /*第1步:创建临时表空间 */ create temporary tablespace user_temp tempfile 'D:\ user_temp.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local; /*第2步:创建数据表空间 */ create tablespace user_data logging datafile 'D:\ user_data.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local; /*第3步:创建用户并指定表空间 */ create user scott identified by tiger default tablespace user_data temporary tablespace user_temp; /*第4步:给用户授予权限 */ grant connect,resource,dba to scott; SQL> create table test (id int,name varchar2(10)); 表已创建。 SQL> insert into test values(1001,’zhangfei’); 已创建 1 行。 SQL> insert into test values(1002,’guanyu’); 已创建 1 行。 SQL> commit; 提交完成。 (2)模拟数据库遭意外被迫关闭,并且系统数据文件丢失。 SQL> shutdown abort

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; (打开控制文件与服务器参

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)集中式管理 :网络存储备份管理系统对整个网络的数据进行管理。利用集中式管理工具的帮助,系统管理员可对全网的备份策略进行统一管理,备份服务器可以监控所有机器的备份作业,也可以修改备份策略,并可即时浏览所有目录。所有数据可以备份到同备份服

实验九:数据库备份及恢复

实验九:数据库备份及恢复 一、实验目的 1.熟悉数据库备份及恢复机制; 2.了解SQL Server的数据备份和恢复机制; 3.掌握SQL-Server中数据库备份和恢复的方法。 二、实验环境 已安装SQL Server 2005 企业版的计算机; 具有局域网环境,有固定IP; 三、实验学时 2学时 四、实验要求 1.了解创建备份设备和进行数据库完全备份操作的方法; 2.了解进行数据库恢复的步骤; 3.完成实验报告。 五、实验内容及步骤 以管理员帐号登录SQL Server Management Studio,以原有数据库stu为基础,请使用Management Stuio界面方式或T-SQL 语句实现以下操作: 1.针对数据库stu创建完全数据库备份集stu.bak,目标磁盘为D:\ user \ stu.bak; BACKUP DATABASE student TO DISK='C:\user\stu.bak' 2.在数据库stu中新建数据表ceshi,内容自定,然后针对数据库stu创建 差异备份; CREATE TABLE ceshi ( Sno char(9)NOT NULL primary key, Sname char(6)NOT NULL, Ssex char(2)NULL, Sage int NULL, Sdept varchar(8)NULL ) GO BACKUP DATABASE student TO DISK='C:\user\stu_differential.bak' WITH DIFFERENTIAL 3.向数据库stu的数据表ceshi插入部分记录,然后针对数据库stu创建 事务日志备份;

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。 增量备份的方式:

rman备份方法

以下都是使用rman增量备份,主要是从数据库大小和备份还原所用时间两个方面考虑。 0级备份表示数据库的全备份,默认不包括只读表空间。 1级备份表示小于等于1级备份以来的数据库变化情况。 2级备份表示小于等于2级别分以来数据库的变化情况。 3级,4级的意思和1级相似。 1、一月一次0级备份,两周一次1级备份,一周一次2级备份,每天一次3级备份。 此备份方案将备份时间分散,可以说是节省了备份的时间,而且节省了许多存储备份的空间,但是这造成还原时间增加了许多。 2、两周一次0级备份,一周一次1级备份,每天一次2级备份。 此备份方案相对方案2在备份时间上增长,还原时间缩短,存储备份的空间也相对有少量的增加。 3、一周一次0级备份,每天一次1级备份。 此方案平凡的对数据库进行全备份,占用操作系统的资源相对方案2和方案3大了很多,而且占用更多存储空间,但是此方案节省了很多恢复的时间。 数据库的备份方案选择主要调节备份和还原所用时间之间的平衡,使其对生产系统的影响降到最小。如果备份时间过长会长时间的占用I/O和内存资源,造成生产环境文件读取速度慢;如果还原时间太长,则拖延了系统恢复后正常上线的时间。对于现在的数据库系统,案2和方案3在备份时间上和方案4相差无几,在备份存储上比方案4节省不少,但是在还原时间上却大大超过方案4。 为了数据的安全性,建议不用方案1作为主要备份。而对于2,3,4,在实际生产环境中,根据现在数据库大小和每天产生的数据量大小的估计,方案4最适合。虽然平凡的0级备份对操作系统的资源占用很大,但是从测试的情况看,每次0级备份所发的时间是20分钟左右,1级备份所用的时间是6分钟左右,而且每次0级备份都在周末比较空闲的00:00进行,对生产环境的影响可以忽略不计。在备份存储方面,一次0级备份占用空间30G,每天1级备份占用空间是600M左右,一周的全部备份文件大小在120G左右,E盘存储空间大小正好适合于两周数据的存储,可以在1-2周手动的清理过期的备份集一次。 所以综合考虑,方案4最适合现在的生产环境。不过当数据库大小增加到200G以上时,0级备份时间与还原时间分配不平衡时,可以换用方案3;当数据库大小增加到1T以上时,可以考虑用方案2或者制定其他的方案。

实验10数据库备份与还原

实验10 数据库备份与还原 创建备份 (1)选择【stu】数据库右击,单击【属性】。 (2)单击【选项】页,将【恢复模式】设置为【完整】。 (3)选择【stu】数据库右击,依次选择【任务】、【备份】,将打开【备份数据库】对话框 备份数据库 (4)在【备份类型】列表框中,选择【完整】。注意:创建完整数据库备份之后,才可以创建差异数据库备份。 注:选择【差异】即进行差异备份;选择【事务日志】即进行日志备份;若要备份日志尾部(即活动的日志),则需在【选择页】窗格中单击【选项】,再选中【备份日志尾部,并使数据库处于还原状态】。 (5)对于【备份组件】,选择【数据库】。 (6)单击【添加】按钮,打开【选择备份目标】对话框:

选择备份目标 (8)选择备份路径和输入备份文件名。 若想将数据库备份到备份设备上,则应在选择备份设备作为备份目标(如果不存在备份设备,应该先创建),再选择相应的备份设备即可。 创建备份设备 (1)右击【备份设备】,然后单击【新建备份设备】,打开【备份设备】对话框:

(2)在【设备名称】文本框中输入新建设备名,如【dev1】。 (3)在【文件】框中指定备份设备对应的备份文件及路径。 还原备份 在【还原数据库】对话框的【要还原的源】部分中选择【从数据库】,以从 SQL Server 识别的备份集中还原。也可选择【从设备】并指定备份文件和包含要存储的备份的设备来从备用备份中还原。 (1)选择【数据库】右击,依次选择【任务】、【还原】,将出现【还原数据库】对话框: 还原数据库 (2)在【常规】页上,还原数据库的名称将显示在【目标数据库】列表框中。若要创建新数据库,请在列表框中输入数据库名。此处输入【stu】。 (3)选择【源设备】,在【备份媒体】列表框中选择【文件】,单击【添加】按钮选择【】返回【指定备份】对话框:

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、查看所有设置:

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增量备份与恢复

增量备份计划案例 一、增量备份计划关键命令 星期日: 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 段

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自动备份

查看是否归档 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;(退出) 在执行备份之前,我们应该设置一个存放备份的路径

数据库实验5 数据库的备份和恢复

实验五数据库的备份和恢复 [实验目的] 1.了解SQL Server的数据备份和恢复机制 2.掌握SQL Server的数据备份和恢复的方法,以便学生可以在课余时间在自己的机 器上继续完成实验要求。 [实验时数] 1 学时 [实验内容] 1.用企业管理器创建一个备份设备。 2.为学生选课数据库设置一个备份计划,要求每当CPU空闲时进行数据库备份。 3.为图书借阅数据库设置一个备份计划,要求每月1号进行数据库备份。 4.在企业管理器中恢复学生选课数据库。 5.修改学生选课数据库备份计划,要求每星期对数据库备份一次。 [实验方法] 1.创建、查看和删除备份设备 (1)创建备份设备 在企业管理器中,扩展要操作的SQL服务器,在管理文件夹中找到备份文件夹。用鼠标右键单击该文件夹后,在弹出菜单中选择“新建备份设备”项,如图5- 错误!未定义书签。所示。随后会出现如图5-39所示的备份设备属性对话框。 图5- 错误!未定义书签。备份文件夹的弹出菜单图5- 错误!未定义书 签。备份设备属性对话框 在备份设备属性对话框中,执行下列操作:输入备份设备的逻辑名字;确定备份设备的文件名;单击[确定]按钮。在确定备份设备的文件名时,需要单击文件名栏最右边的“…”按键,并在弹出文件名对话框中确定或改变备份设备的默认磁盘文件路径和文件名。 (2)查看备份设备的相关信息 查看备份设备的相关信息时,需要执行的操作是:在企业管理器中扩展服务器,选择管理文件夹和备份文件夹,在细节窗口中找到要查看的备份设备;用鼠标右键单击该备份设备,在弹出菜单上选择“属性”项,会弹出与图5-39相似的备份设备属性对话框;用鼠标

windows rman备份脚本

、每天夜间1点执行; 2、数据库全备,同时备份控制文件及归档日志文件,备份文件保存至:D:\backup\目录下,并在完成归档日志文件备份后,自动删除已备份的归档日志; 3、备份保留7天,过期则自动删除; 4、保留操作日志备查; 以Windows环境为例(linux环境下与此基本类似,rman的脚本您甚至连改都不用改,就把调用rman脚本的命令行改改就行了): 1、编写rman批处理文件 保存至:E:\oracleScript\backup\database_backup_jssweb.rman RUN { 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 10 PLUS ARCHIVELOG FILESPERSET 20 DELETE 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进行归档。 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\%date:~0,10%.log cmdfile=E:\oracleScript\backup\database_backup_jssweb.rman

数据库原理实验报告(2)

南京晓庄学院 《数据库原理与应用》课程实验报告 实验二数据库的创建、管理、备份及还原实验 所在院(系):数学与信息技术学院 班级: 学号: 姓名:

1.实验目的 (1)掌握分别使用SQL Server Management Studio图形界面和Transact-SQL语句创建和修改 数据库的基本方法; (2)学习使用SQL Server查询分析窗口接收Transact-SQL语句和进行结果分析。 (3)了解SQL Server的数据库备份和恢复机制,掌握SQL Server中数据库备份与还原的方 法。 2.实验要求 (1)使用SQL Server Management Studio创建“教学管理”数据库。 (2)使用SQL Server Management Studio修改和删除“教学管理”数据库。 (3)使用Transact-SQL语句创建“教学管理”数据库。 (4)使用Transact-SQL语句修改和删除“教学管理”数据库。 (5)使用SQL Server Management Studio创建“备份设备”;使用SQL Server Management Studio对数据库“教学管理”进行备份和还原。 (6)SQL Server 2005数据库文件的分离与附加。 (7)按要求完成实验报告 3.实验步骤、结果和总结实验步骤/结果 (1) 总结使用SQL Server Management Studio创建、修改和册除“TM”(教学管理)数据库的过程。 一、使用SQL Server Management Studio创建数据库的步骤如下: a.在磁盘上新建一个目录,如在C:盘中新建“MyDB“目录 b.在wimdows系统“开始“菜单中,依次选取”程序->Microsoft SQL Server 2005->SQL Management Studio” ,打开SQL Server Management Studio并连接到SQL Server 2005服务。 c.在“对象资源管理器“中单击SQL Server服务器前面的“+”号或直接双击数据库名称,展开该服务器对象资源树形结构,然后右键点击“数据库”文件夹,在弹出的快捷菜单上选择“新建数据库”选项 d.在打开的“新建数据库”对话窗口中输入数据库名称“教学管理”,在该窗口中“数据库文件”设置部分可以修改数据文件和日志文件的文件名、初始大小、保存路径等。

相关主题
文本预览
相关文档 最新文档