当前位置:文档之家› rman简明使用手册

rman简明使用手册

rman简明使用手册
rman简明使用手册

RMAN简明使用手册

〇:背景信息

使用手册基于ORACLE 10.2

资料参考:B14193-02

最小使用环境

■target database :备份的目标数据库

■RMAN client:RMAN的客户端。它主要是负责解释备份和恢复命令,连接服务器会话执行相关命令,并在控制文件中记录备份恢复活动。

可选组件:

■flash recovery area:指定的一个磁盘上的位置。在这个位置上,数据库可以存储和管理与备份恢复相关的文件。

■Media management software:介质管理软件可由第三方提供,但需要RMAN的备份接口。

■recovery catalog:是一个数据库上的最好是隔离开来的SCHMA,用来记录RMAN对于一个或多个数据库备份恢复的各种操作。

RMAN Repository:

使用RMAN的LIST,REPORT, 和SHOW命令可以显示RMAN repository 中的信息。RMAN repository 主要存储在备份目标数据库的控制文件中。初始化参数:

CONTROL_FILE_RECORD_KEEP_TIME用来控制备份记录被保存在控制文件中的时间。超过该时间该记录信息将被更新的备份信息所覆盖重用。

Recovery Catalog

可以使用recovery catalog来保存RMAN repository信息和记录。recovery catalog还可以保存RMAN的经常运行的备份脚本。

Flash Recovery Area

是记录磁盘的自动备份和恢复,通过在flash recovery area中管理所有的备份恢复文件,简化了磁盘空间和备份恢复文件的管理。可以使用DB_RECOVERY_FILE_DEST 和

DB_RECOVERY_FILE_DEST_SIZE参数来设置flash recovery area的位置和空间大小。同时也可指定保持策略,使得通过磁带恢复数据的时间和次数都可最小。

Media Managers

RMAN使用第三方的media management software. media manager 可以控制备份恢复中的设备。管理介质的loading, labeling ,unloading和其他功能。介质管理设备也被称为SBT(system backup to tape) 设备.

RMAN Channels

RMAN执行所有备份恢复的活动,是在目标数据库实例上的服务器会话。每一个被RMAN 使用的服务器会话叫做一个RMAN channel。一个channel可以是进行磁盘操作的disk channel, 或者是一个和介质管理的共同使用的一个sbt channel。可以使用RMAN ALLOCATE CHANNEL命令去分配channels, 指定执行任务的服务器会话数目和影响服务器会话的设置。同样可以使用CONFIGURE命令去配置channels,指定RMAN的默认持久设置。如果任何channels被显示指定,那么默认的配置将被忽略。如果RMAN首次连接到目标数据库后,就会立刻产生一个disk channel ,并且只要RAMN连接着目标数据库该disk channel就一直存在。其被称为default channel, 但是其不被用来进行大数据量的传输操作,如备份或恢复数据库文件。

开始或退出RMAN

RMAN 必须连接到目标数据库(with SYSDBA privileges)才能进行备份和恢复。同样如果你有一个recovery catalog database,RMAN也可连接到recovery catalog database。使用CONNECT命令来连接RMAN和目标数据库。

1.RMAN启动,连接一个目标数据库和recovery catalog:

% rman TARGET / CATALOG cat_usr/pwd@cat_str

2.不使用recovery catalog而直连目标数据库:

% rman TARGET SYS/pwd@target_str

3.仅启动RMAN:

% rman

RMAN命令行语法选项

RMAN

[ TARGET [=] connectStringSpec

| { CATALOG [=] connectStringSpec }

| LOG [=] ['] filename ['] [ APPEND ]

]...

connectStringSpec::=

['] [userid] [/ [password]] [@net_service_name] [']

以下一个例子附加了一个RMAN会话的输出文件到$ORACLE_HOME/dbs/log/msglog.log % rman TARGET / LOG $ORACLE_HOME/dbs/log/msglog.log APPEND

退出RMAN客户端

RMAN> EXIT

配置RMAN持久设置环境

显示所有配置信息:RMAN> SHOW ALL;

配置磁盘设备和Channels

如果你使用flash recovery area,除非你在BACKUP命令中指定位置否则备份将会保存在flash recovery area 。如果在都没有指定的情况下, 磁盘备份被保存在特定操作平台的默认位置。还可以通过给disk channel配置一个FORMAT,用来指定不同的备份位置。可通过命令CONFIGURE CHANNEL DEVICE TYPE DISK.来使用FORMAT子句。

下例配置RMAN将备份写到磁盘的/tmp下:

RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/tmp/%U';

其中%U表示当备份时要使用唯一文件名。

如果要恢复原磁盘备份位置的默认设置:

RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT CLEAR;

配置磁带设备和Channels

当配置了你的介质管理软件后,可以通过介质管理指定对于RMAN备份默认目标位置。RMAN> CONFIGURE DEFAULT DEVICE TYPE TO sbt;

有时介质管理需要一个参数字符串来配置设备信息。

RMAN> CONFIGURE CHANNEL DEVICE TYPE sbt PARMS='ENV=mml_env_settings';

多个channels可以被配置成运行并行备份。以下命令为RMAN备份配置了三个sbt channels:

RMAN> CONFIGURE DEVICE TYPE sbt PARALLELISM 3;

配置保持策略(Retention Policy)

保持策略用于管理数据库备份需要保持长时间,和可以恢复多久以前的数据库。保持策略可以按照恢复窗口(recovery window) (恢复多久以前的数据库), 或者冗余备份(redundancy value) (对于每个文件有多少备份必须保留).

以下命令保证RMAN保持所有可恢复到某一时间点上必要的备份至少7天

RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;

以下命令保证RMAN为每一个数据文件的备份为3个:

RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY 3;

使用DELETE OBSOLETE可以快速删除保持策略不再需要的备份。(但对于那些备份存储在flash recovery area中的,可以不执行这个命令。但在有空间需求时,数据库会自动删除在flash recovery area 中的过期备份,或有介质管理备份的文件)

还可以使用BACKUP和CHANGE命令的KEEP选项,使得配置的保持策略对个别指定的备份失效。

配置控制文件的自动备份

在RMAN备份后可以对控制文件自动进行备份,以其保护RMAN repository。如下命令保证RMAN对控制文件的自动备份:

RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;

默认情况下,RMAN自动产生自动备份的控制文件的备份文件名称,并保存在在flash recovery area。如下命令配置RMAN将自动备份控制文件的备份文件写到/mybackupdir目录:

RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO

'/mybackupdir/cf%F';

字符%F 代表的是一组要素的化合,其中包括DBID, day, month, year, 和sequence number来产生一个唯一名称。注意: %F必须出现格式化名称的字符串中。

还原配置的所有默认信息

RMAN> CONFIGURE CHANNEL DEVICE TYPE sbt CLEAR;

RMAN> CONFIGURE RETENTION POLICY CLEAR;

RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK CLEAR;

备份数据库文件

如果我们使用BACKUP AS COPY来备份文件,RMAN将文件作为镜像拷贝(image copies)进行复制。即按照磁盘上数据库文件每比特(bit)拷贝。通过使用BACKUP AS COPY会将相关信息记录在RMAN repository中,并且RMAN可以使用其进行恢复操作。镜像拷贝不能建立在磁带上。以下命令建立全数据库所有数据文件的镜像拷贝:

RMAN> BACKUP AS COPY DATABASE;

如果你使用BACKUP AS BACKUPSET,那么RMAN存储其备份到备份集(backup sets)。一个backup set包含超过一个的备份片(backup pieces), 是包含数据的物理文件是只有RMAN能够访

问的格式。备份集(Backup sets)能够写在磁盘或磁带上,并且只能由RMAN写到磁带上。以下命令使用默认的channels以备份集格式,在磁带设备上建立对数据库的备份并归档日志:

RMAN> BACKUP DEVICE TYPE sbt DATABASE PLUS ARCHIVELOG;

注: 以备份集格式在磁盘上备份数据文件可以节省磁盘空间和时间。因为RMAN可以跳过一些不

需要备份的数据文件块。备份集一旦在磁盘上建立,仍可以使用BACKUP BACKUPSET移动到磁带上。

备份个别数据库文件

RMAN还可以使用不同选项备份个别的表空间、数据文件、控制文件、SPFILE和备份集: RMAN> BACKUP ARCHIVELOG COMPLETION TIME BETWEEN 'SYSDATE-31' AND 'SYSDATE-7'; RMAN> BACKUP TABLESPACE system, users, tools;

RMAN> BACKUP AS BACKUPSET DATAFILE'ORACLE_HOME/oradata/trgt/users01.dbf',

'ORACLE_HOME/oradata/trgt/tools01.dbf';

RMAN> BACKUP DATAFILE 1,3,5;

RMAN> BACKUP CURRENT CONTROLFILE TO '/backup/curr_cf.copy';

RMAN> BACKUP SPFILE;

RMAN> BACKUP BACKUPSET ALL;

参数说明

FORMAT:FORMAT '/tmp/%U'指定backup pieces和copies的位置和名字。必须使用替换变量产生唯一的文件名。

TAG:TAG 'monday_bak' 指定一个用户定义备份的标签。如果没有指定,那么RMAN指定一个使用日期和时间的默认标签

举例说明:

RMAN> BACKUP FORMAT='AL_%d/%t/%s/%p' ARCHIVELOG LIKE '%arc_dest%';

RMAN> BACKUP TAG 'weekly_full_db_bkup' DATABASE MAXSETSIZE 10M;

RMAN> BACKUP COPIES 2 DEVICE TYPE sbt BACKUPSET ALL;

Incremental Backups(增量备份)

如果使用增量备份,RMAN将建立数据库的增量备份(incremental backups)。增量备份记录数据库中每一个数据块的自上次增量备份后的改变。但增量备份的开始点必须是0级增量备份。(level 0 incremental backup),即备份数据库中所有的块。然后开始日常的级别1(Level 1)的增量备份,只是记录自上次增量备份的数据块改变。该备份包括了累计(cumulative)(自上次0级备份后的所有数据块改变)和改变(differential)(自上次增量备份后的数据块改变,不管是0级还是1级备份)增量备份通常更小更快的建立全库备份。并且从一个增量备份中恢复数据库快于单独使用日志(redo logs)的方法.只要增量备份可用,RMAN就会在恢复中使用。

备份的增量修改(Incrementally Updated Backups)

所谓备份的增量修改(incrementally updated backups)允许更多日常的可用增量备份。将一级增量备份前滚应于之前的0级别备份。这样就会产生包含一级增量备份的0级备份。使用这个修改的0级备份进行恢复会更快。

确认备份(Validating Backups)

确认备份通过确实当前数据库的文件是否存在,文件位置,物理空间剩余和逻辑错误,来确认备份是否可用。

RMAN> BACKUP VALIDATE DATABASE ARCHIVELOG ALL;

恢复数据库文件

回复(Restoring)即是从恢复操作中选择需要的备份。恢复(Recovery)是将日志和增量备份的改变应用到数据文件,使得数据文件恢复到希望的SCN号或者是指定时间点上。

恢复整个数据库

使用RESTORE DATABASE和RECOVER DATABASE命令恢复整个数据库

RMAN> STARTUP FORCE MOUNT;

RMAN> RESTORE DATABASE;

RMAN> RECOVER DATABASE;

RMAN> ALTER DATABASE OPEN;

注意:当恢复整个数据库时,数据库必须不能处于打开(open)状态。

恢复当前表空间

当数据库打开时,使用RESTORE TABLESPACE和RECOVER TABLESPACE恢复个别表空间。首先让需要恢复的表空间下线(offline),然后在恢复(restore和recover)表空间。

下例恢复users表空间:

RMAN> SQL 'ALTER TABLESPACE users OFFLINE';

RMAN> RESTORE TABLESPACE users;

RMAN> RECOVER TABLESPACE users;

RMAN> SQL 'ALTER TABLESPACE users ONLINE';

恢复当前数据文件

当数据库打开时,使用RESTORE DATAFILE he RECOVER DATAFILE命令恢复指定数据文件。首先将需要恢复的文件下线,然后在恢复(restore和recover)然后开始恢复数据文件。

下例恢复数据文件7:

RMAN> SQL 'ALTER DATABASE DATAFILE 7 OFFLINE';

RMAN> RESTORE DATAFILE 7;

RMAN> RECOVER DATAFILE 7;

RMAN> SQL 'ALTER DATABASE DATAFILE 7 ONLINE';

恢复个别数据块

RMAN可以恢复数据文件中的个别块。当RMAN执行完整的需要备份的文件扫描后,任何损毁的块信息都会出现在V$DATABASE_BLOCK_CORRUPTION视图中。损毁信息通常会在告警日志(alert logs),跟踪文件和查询SQL结果中出现。

下例使用BLOCKRECOVER修正所有的坏块:

RMAN> BLOCKRECOVER CORRUPTION LIST;

还可以恢复指定的数据块,如下例:

RMAN> BLOCKRECOVER DATAFILE 7 BLOCK 233, 235 DATAFILE 4 BLOCK 101;

确认恢复(Validating Restores)

使用RESTORE... VALIDATE操作确认恢复(restore)操作可以成功执行。

RMAN> RESTORE DATABASE VALIDATE;

RMAN操作报告

RMAN的LIST和REPORT命令可以产生基于RMAN repository的多种报告。

Backups列表

使用LIST BACKUP和LIST COPY命令显示repository中备份和数据文件拷贝的信息。

RMAN> LIST BACKUP OF DATABASE;

RMAN> LIST COPY OF DATAFILE 1, 2, 3;

RMAN> LIST BACKUP OF ARCHIVELOG FROM SEQUENCE 1437;

RMAN> LIST CONTROLFILECOPY "/tmp/cf.cpy";

RMAN> LIST BACKUPSET OF DATAFILE 1;

利用特定参数,可以控制LIST命令的信息输出:

BY BACKUP:显示数据库的备份信息。(backup set 的输出信息。这是默认的表达方式.)

BY FILE:显示备份的文件信息(显示已完成备份文件的的备份)

SUMMARY:显示备份摘要。(显示摘要信息,默认情况下,输出的选项是VERBOSE.)

附加选项:

EXPIRED:

LIST EXPIRED COPY;(显示在RMAN repository中记录的备份,但是在使用命令CROSSCHECK已经不会出现在磁盘指定位置或者磁带上的备份。这样的备份已被RMAN删除)

RECOVERABLE:

LIST BACKUP RECOVERABLE;(列出可用的数据文件备份或者拷贝,并且可以被当前数据库在恢复(restored and recovered)时可用。)

报告数据库文件和备份

REPORT命令可以进行比LIST更多的复杂分析。

NEED BACKUP:

REPORT NEED BACKUP DATABASE;(显示在当前保持策略下那些文件需要备份.)

OBSOLETE:

REPORT OBSOLETE;( 显示在当前保持策略下已经过时的备份. )

UNRECOVERABLE:

REPORT UNRECOVERABLE;(显示自上次备份后,所有数据文件中被执行不可恢复(unrecoverable)操作的对象.)

SCHEMA:

REPORT SCHEMA;(报告当前在数据库中此时(默认)的表空间和数据文件.)

通过V$ Views 监控RMAN

RMAN作业执行程度和也完成的作业存储在V$RMAN_STATUS中. V$RMAN_OUTPUT保存RMAN作业的文字输出

当一个RMAN作业工作时,使用下例sql链接显示作业对应的channel:

SQL> SELECT s.SID, p.SPID, s.CLIENT_INFO

FROM V$PROCESS p, V$SESSION s

WHERE p.ADDR = s.PADDR AND CLIENT_INFO LIKE 'rman%';

下例计算RMAN作业工作程度

SQL> SELECT SID, SERIAL#, CONTEXT, SOFAR, TOTALWORK,

ROUND(SOFAR/TOTALWORK*100,2) "% COMPLETE"

FROM V$SESSION_LONGOPS

WHERE OPNAME LIKE 'RMAN%' AND OPNAME NOT LIKE '%aggregate%'

AND TOTALWORK != 0 AND SOFAR <> TOTALWORK;

管理RMAN Repository

RMAN repository 的原数据(metadata)总是存储在目标数据库的控制文件中。同时也可在另外的数据库中建立recovery catalog存储RMAN的所有记录。

管理Control File记录

在参数文件中设置CONTROL_FILE_RECORD_KEEP_TIME = number_of_days_to_keep参数决定记录保持的时间长度。

多向检查备份(Crosschecking Backups)

CROSSCHECK命令检查在repository中RMAN备份和拷贝中的文件是否仍旧可读

RMAN> CROSSCHECK BACKUP; # 检查RMAN在配置设备上的备份

RMAN> CROSSCHECK COPY; # 检查RMAN在配置设备上的镜像拷贝

如果备份的存储没有配置介质管理和磁带管道,就必须在CROSSCHECK和DELETE前在磁带设备上分配一个维护管道

RMAN> ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE sbt;

RMAN> CROSSCHECK BACKUP;

删除通过RMAN建立的备份

通过使用DELETE命令,在磁盘和磁带设备上删除RMAN建立的备份和拷贝,标致在控制文件中的对象为删除,并移除在recovery catalog中的记录(如果使用了catalog)。

RMAN> DELETE BACKUPSET 101, 102, 103;

RMAN> DELETE CONTROLFILECOPY '/tmp/cf.cpy';

RMAN> DELETE NOPROMPT ARCHIVELOG UNTIL SEQUENCE = 7300;

RMAN> DELETE BACKUP OF SPFILE TABLESPACE users DEVICE TYPE sbt;

RMAN> DELETE BACKUP OF DATABASE LIKE '/tmp%'; # pattern match

RMAN> DELETE ARCHIVELOG ALL BACKED UP 2 TIMES TO DEVICE TYPE sbt;

下列有用的DELETE命令选项:

EXPIRED:

DELETE EXPIRED;(删除通过使用CROSSCHECK表示的过期(EXPIRED)备份或者拷贝)

OBSOLETE:

DELETE OBSOLETE;(删除基于保持策略的过时备份和拷贝.)

NOPROMPT:

DELETE NOPROMPT OBSOLETE;(对于需要删除的文件不需提示直接删除)

编目和反编目备份和拷贝(Cataloging and Uncataloging Backups and Copies) CATALOG命令增加对于RMAN可用的备份信息到RMAN repository中。此命令是除RMAN外记录使用工具建立备份的信息,例如使用操作系统工具拷贝的数据文件镜像,如果你有使用RMAN 建立备份但是在RMAN repository不再可显示,就可以使用这个命令使得RMAN可以使用这些备份做备份和恢复操作。

RMAN> CATALOG DATAFILECOPY '/backup/users01.bak'; # 拷贝由系统命令CP产生的RMAN> CATALOG LIKE '/backup';

如果使用操作系统命令,手工删除了备份,可以使用CHANGE ... UNCATALOG语句可以将RMAN

repository 中的信息移除。

RMAN> CHANGE CONTROLFILECOPY '/tmp/cf.cpy' UNCATALOG;

RMAN> CHANGE BACKUPSET 121,122,127,203,300 UNCATALOG;

重复执行任务: RMAN和脚本

RMAN支持使用被存储的脚本和命令文件来帮助管理重复执行的任务。RMAN RUN命令提供了可控脚本。.

使用命令文件

一个命令文件是在客户端包含RMAN命令的文本文件。

RMAN> @/my_dir/my_command_file.txt # runs specified command file

任何扩展名的文件都可被使用,通过RMAN来调用命令脚本,如下

% rman @/my_dir/my_command_file.txt

可控脚本:RUN命令

RUN命令可以使用一组一系列的RMAN命令。如果一个命令失败,在运行块中剩余的命令将不会被执行。

RUN {

BACKUP ARCHIVELOG ALL DELETE ALL INPUT;

BACKUP INCREMENTAL LEVEL 0 TAG mon_bkup DATABASE;

}

如果一个或更多归档日志的备份失败,RMAN将继续备份所有的可被备份的归档日志,因为这些任务是由一个BACKUP命令所引发的。但是在BACKUP ARCHIVELOG后的BACKUP INCREMENTAL就不会被执行。命令SET, SWITCH DATAFILE,和ALLOCATE CHANNEL都可被使用在RUN的命令块中。并且管道配置和其他的由CONFIGURE命令配置的参数在命令块中运行时被忽略

备份和恢复相关的视图

下列信息描述了可访问RMAN repository信息的视图。

如果存储在控制文件中,查询的视图就使用V$开头的视图,如果使用的是Recovery Catalog,使用RC_开头的视图

1.V$ARCHIVED_LOG(RC_ARCHIVED_LOG):Archived and unarchived redo logs

2.V$BACKUP_DATAFILE(RC_BACKUP_CONTROLFILE):Control files in backup sets

3.V$BACKUP_CORRUPTION(RC_BACKUP_CORRUPTION):Corrupt block ranges in datafile backups

4.V$BACKUP_DATAFILE(RC_BACKUP_DATAFILE):Datafiles in backup sets

5.V$BACKUP_FILES(RC_BACKUP_FILES):RMAN backups and copies in the repository.

6.V$BACKUP_PIECE(RC_BACKUP_PIECE):Backup pieces

7.V$BACKUP_REDOLOG(RC_BACKUP_REDOLOG):Archived logs in backups

8.V$BACKUP_SET(RC_BACKUP_SET):Backup sets

9.V$BACKUP_SPFILE(RC_BACKUP_SPFILE):Server parameter files in backup sets

10.V$DATAFILE_COPY(RC_CONTROLFILE_COPY):Control file copies on disk

11.V$COPY_CORRUPTION(RC_COPY_CORRUPTION):Information about datafile copy corruptions

12.V$DATABASE(RC_DATABASE):Databases registered in the recovery catalog (RC_DATABASE) or information about the currently mounted database(V$DATABASE)

13.V$DATABASE_BLOCK_CORRUPTION(RC_DATABASE_BLOCK_CORRUPTION):Database blocks

marked as corrupt in the most recent RMAN backup or copy

14.V$DATABASE_INCARNATION(RC_DATABASE_INCARNATION):All database incarnations registered in the catalog

15.V$DATAFILE(RC_DATAFILE):All datafiles registered in the recovery catalog

16.V$DATAFILE_COPY(RC_DATAFILE_COPY):Datafile image copies

17.V$LOG_HISTORY(RC_LOG_HISTORY)Historical information about online redo logs

18.V$OFFLINE_RANGE(RC_OFFLINE_RANGE):Offline ranges for datafiles

19.V$PROXY_ARCHIVEDLOG(RC_PROXY_ARCHIVEDLOG):Archived log backups created by proxy copy

20.V$PROXY_CONTROLFILE(RC_PROXY_CONTROLFILE):Control file backups created by proxy copy

21.V$PROXY_DATAFILE(RC_PROXY_DATAFILE):Datafile backups created by proxy copy

22.V$LOG and V$LOGFILE(RC_REDO_LOG):Online redo logs for all incarnations of the database since the last catalog resynchronization

23.V$THREAD(RC_REDO_THREAD):All redo threads for all incarnations of the database since the last catalog resynchronization

24.n/a(RC_RESYNC):Recovery catalog resynchronizations

25.V$RMAN_CONFIGURATION(RC_RMAN_CONFIGURATION):RMAN persistent configuration settings

26.V$TABLESPACE(RC_TABLESPACE):All tablespaces registered in the recovery catalog, all dropped tablespaces, and tablespaces that belong to old incarnations

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 前出现

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

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备份及恢复

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备份恢复操作命令

首先确定/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增量备份与恢复

增量备份计划案例 一、增量备份计划关键命令 星期日: 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数据文件存放路径

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

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)

基于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的全部配置参数:

LINUX-下ORACLE利用rman备份迁移数据库

第一医院数据库迁移的实施步骤 利用RMAN备份正式库 全库备份及控制文件 RMAN>run{ allocate channel c1 device type disk; sql 'alter system archive log current'; backup as compressed backupset database format '+ FRA/DYYY/BACKUPSET/db_%d_%T_%U'; sql 'alter system archive log current'; backup current controlfile format '+ FRA/DYYY/controlfile/cntrl_%s_%p_%s'; release channel c1; } 生成数据库还原脚本restoredatafil e.sql 检查是否有增加数据文件select count(*)from v$datafile; 如果有增加数据库文件必须重新生成 sqlplus /nolog conn /as sysdba set serveroutput on; set linesize 200 spool restore_datafile.rman declare cursor df is select file#, name from v$datafile; begin dbms_output.put_line('run'); dbms_output.put_line('{'); for dfrec in df loop dbms_output.put_line('set newname for datafile ' || dfrec.file# || ' to ''' || https://www.doczj.com/doc/5a12513904.html, ||''' ;'); end loop; dbms_output.put_line('restore database;'); dbms_output.put_line('switch datafile all;'); dbms_output.put_line('}'); end; / spool off

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备份分两种,1.逻辑备份;2.物理备份; 逻辑备份又分两种:传统的exp备份;10g开始支持的expdp数据泵备份; 物理备份主要就是RMAN备份; 最基本的原则是:这些逻辑或物理备份和数据库文件必须放在不同的硬盘上;否者一损俱损;备份就没多大意义了; 如果数据库不是很大,比如在50G以下,那么我们就考虑一些傻话化的全备方案 我现在的备份方案是:两个逻辑备份和RMAN 备份全部用上; 1.传统dmp逻辑备份和恢复 1.1传统dmp逻辑备份,这个是最简单的备份方法; 现在我提供一个简单的脚本: 1.1.1首先建立一个bat文件,名字叫:exp_backup.bat 内容是: set oracle_username=%1 set oracle_password=%2 set local_tnsname=%3 set url=%oracle_username%/%oracle_password% if not %local_tnsname% == "" set url=%url%@%local_tnsname% if exist %oracle_username%_old.dmp del %oracle_username%_old.dmp if exist %oracle_username%_old.log del %oracle_username%_old.log if exist %oracle_username%.dmp ren %oracle_username%.dmp %oracle_username%_old.dmp if exist %oracle_username%.log ren %oracle_username%.log %oracle_username%_old.log exp %url% file=%oracle_username%.DMP log=%oracle_username%.LOG 该脚本是一个通用的最简单的exp脚本; 意思就是:备份之间,把以前的备份文件修改名字,后面加上_old ,如果本来就有old文件,就删除之;之后,

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

数据库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状态。输入“startup mount;”,按回车。 4. 更改数据库的归档模式。输入“alter database archivelog;”,按回车。 5.打开数据库。输入“alter database open;”,按回车。

rman自动备份详解

RMAN 自动备份详解 目录 1 数据库修改为自动归档模式。 (2) 2 修改rman参数 (3) 3 rman自动备份脚本 (8) 4 设置系统自动备份参数: (10) 5 rman还原 (11) 恢复整个数据库 (11) 恢复单个表空间 (12) https://www.doczj.com/doc/5a12513904.html,/unixcd12/article_5431.html增量备份详解网上很多

1 数据库修改为自动归档模式。 为什么要设置为自动归档模式呢?主要是因为,如果不设置为自动归档模式,使用rman的时候需要把数据库修改到mount状态而不是open状态。而自动归档模式是可以在open使用中进行热备的。下面是修改自动归档模式步骤: 1 Sqlplus / as sysdba 进入数据库(本地) 2 Archive log list (查看是否是自动归档模式。) 下面显示的是非归档模式 SQL> archive log list; Database log mode No Archive Mode Automatic archival Disabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 25 Current log sequence 27 3 shutdown immediate;关闭数据库 4 startup mount 启动到mount状态 5 alter database archivelog;修改为归档模式 6 alter database open;打开数据库 7 archive log list 产看是否启动成功 以下为启动成功后显示 SQL> archive log list; Database log mode Archive Mode Automatic archival Enabled Archive destination USE_DB_RECOVERY_FILE_DEST

一个完整的Oracle rman备份恢复参考示例

1、建rman库作为repository $more createrman_db1.sh set echo on spool makedb1.log create database rman datafile '/export/home/oracle/oradata/rman_data/system.dbf' size 50m autoextend on next 640K logfile '/export/home/oracle/oradata/rman_data/redo0101.log' SIZE 10M, '/export/home/oracle/oradata/rman_data/redo0201.log' SIZE 10M maxdatafiles 30 maxinstances 8 maxlogfiles 64 character set US7ASCII national character set US7ASCII ; disconnect spool off exit @/export/home/oracle/8.1.6/rdbms/admin/catalog.sql; REM ********** ALTER SYSTEM TABLESPACE ********* ALTER TABLESPACE SYSTEM DEFAULT STORAGE ( INITIAL 64K NEXT 64K MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCR EASE 50); ALTER TABLESPACE SYSTEM MINIMUM EXTENT 64K; REM ********** TABLESPACE FOR ROLLBACK ********** CREATE TABLESPACE RBS DATAFILE '/export/home/oracle/oradata/rman_data/rbs.dbf' s ize 50m AUTOEXTEND ON NEXT 512K MINIMUM EXTENT 512K DEFAULT STORAGE ( INITIAL 512K NEXT 512K MINEXTENTS 10 MAXEXTENTS UNLIMITED PC TINCREASE 0 ); REM ********** TABLESPACE FOR TEMPORARY ********** CREATE TABLESPACE TEMP DATAFILE '/export/home/oracle/oradata/rman_data/temp.dbf' size 50m AUTOEXTEND ON NEXT 64K MINIMUM EXTENT 64K DEFAULT STORAGE ( INITIAL 64K NEXT 64K MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCR EASE 0) TEMPORARY; REM **** Creating four rollback segments ****************

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