iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >Oracle 11g 使用RMAN备份数据库
  • 713
分享到

Oracle 11g 使用RMAN备份数据库

2024-04-02 19:04:59 713人浏览 薄情痞子
摘要

使用oracle自带的备份恢复工具RMAN(Recovery Manager)具有以下几种优势:支持增量备份能自动管理备份文件自动化备份与恢复备份的文件有效性检查配置快闪恢复区(flash recovery

使用oracle自带的备份恢复工具RMAN(Recovery Manager)具有以下几种优势:

  • 支持增量备份

  • 能自动管理备份文件

  • 自动化备份与恢复

  • 备份的文件有效性检查


配置快闪恢复区(flash recovery area)

快闪恢复区是存储备份和恢复数据文件以及相关信息的存储区。需要设置两个参数:db_recovery_file_dest_size(快闪恢复区的最大容量),db_recovery_file_dest(快闪恢复区所在的路径)。

查看快闪恢复区信息:

sql> show parameter db_recovery_file_dest;
NAME     TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest     string /data/app/oracle/recovery_area
db_recovery_file_dest_size     big integer 3882M

修改快闪恢复区大小:

SQL> alter system set db_recovery_file_dest_size=2g;
System altered.
SQL> show parameter db_recovery_file_dest;
NAME     TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest     string /data/app/oracle/recovery_area
db_recovery_file_dest_size     big integer 2G

查看使用情况:

SQL> select name,space_limit,space_used,number_of_files from v$recovery_file_dest;
NAME
--------------------------------------------------------------------------------
SPACE_LIMIT SPACE_USED NUMBER_OF_FILES
----------- ---------- ---------------
/data/app/oracle/recovery_area
 2147483648     0     0

显示没有使用。

也可以使用此命令查看详细信息:

SQL> select file_type,percent_space_used,percent_space_reclaimable,number_of_files from v$flash_recovery_area_usage;


建立RMAN到数据库的连接

创建rman用户,并授权:

[oracle@temp-test oracle]$ sqlplus /nolog
SQL>  connect/as sysdba
Connected.
SQL> create user rman identified by oracle;
User created.
SQL> grant resource,connect,dba to rman;
Grant succeeded.
SQL> quit

使用rman用户登录RMAN:

[oracle@temp-test oracle]$ rman target rman/oracle
Recovery Manager: Release 11.2.0.1.0 - Production on Fri Nov 3 16:59:27 2017
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
connected to target database: ORCL (DBID=1486802665)
RMAN>

也可以使用如下方式登录:

[oracle@temp-test oracle]$ rman
Recovery Manager: Release 11.2.0.1.0 - Production on Fri Nov 3 17:00:35 2017
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
RMAN> connect target system/rman
connected to target database: ORCL (DBID=1486802665)
RMAN> connect target rman/oracle

也可以使用操作系统认证连接RMAN:

[oracle@temp-test oracle]$ rman target /
Recovery Manager: Release 11.2.0.1.0 - Production on Fri Nov 3 17:02:52 2017
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
connected to target database: ORCL (DBID=1486802665)
RMAN>


配置RMAN

查看RMAN的配置参数:

RMAN> show all;
using target database control file instead of recovery catalog
RMAN configuration parameters for database with db_unique_name ORCL are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHiveLOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGoRITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/data/app/oracle/product/11.2.0/dbhome_1/dbs/snapcf_orcl.f'; # default

参数含义:

CONFIGURE RETENTION POLICY TO REDUNDANCY 1

保留的备份副本数量,表示只保留一个数据文件的副本,并且保留最新的备份副本。

CONFIGURE DEFAULT DEVICE TYPE TO DISK

数据文件默认备份到磁盘上,也可以是其他设备如磁带(sbt)

CONFIGURE BACKUP OPTIMIZATION OFF

不使用备份优化,启用备份优化的作用是如果已经备份了某个文件的相同版本,则不会再备份该文件。,只保留一份备份文件。

CONFIGURE CONTROLFILE AUTOBACKUP OFF

不启动控制文件的自动备份,修改为ON之后,如果数据库结构发生变化或者在备份数据库过程中,控制文件会自动再备份到指定目录下

CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET

备份通道数量为1,默认使用备份集的方式。通道数量越多,执行任务时间越短。


如果要修改参数,可以执行如下命令:

开启备份优化:

RMAN> CONFIGURE BACKUP OPTIMIZATION ON;
new RMAN configuration parameters:
CONFIGURE BACKUP OPTIMIZATION ON;
new RMAN configuration parameters are successfully stored

设置备份类型为Copy,也就是映像模式:

RMAN> CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COPY;                          
new RMAN configuration parameters:
CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COPY PARALLELISM 1;
new RMAN configuration parameters are successfully stored

备份控制文件到快闪恢复区:

RMAN> backup current controlfile;
Starting backup at 03-NOV-17
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile copy
copying current control file
output file name=/data/app/oracle/recovery_area/ORCL/controlfile/o1_mf_TAG20171103T180113_dzrhm9vk_.ctl tag=TAG20171103T180113 RECID=3 STAMP=959104874
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 03-NOV-17

如果没有指定快闪恢复区也可以用手动指定路径:

将快闪恢复区改为test目录

SQL> connect/as sysdba
Connected.
SQL> show parameter db_recovery_file_dest;
NAME     TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest     string /data/app/oracle/recovery_area
db_recovery_file_dest_size     big integer 2G
SQL> alter system set db_recovery_file_dest='/data/app/oracle/test';

System altered.

SQL> show parameter db_recovery_file_dest;

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest		     string	 /data/app/oracle/test
db_recovery_file_dest_size	     big integer 2G

配置控制文件备份的磁盘类型和备份目录,路径以%F结尾:

RMAN> configure controlfile autobackup format for device type disk to '/data/app/oracle/test/%F';

new RMAN configuration parameters:
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/data/app/oracle/test/%F';
new RMAN configuration parameters are successfully stored


RMAN脱机备份

RMAN脱机备份需要关闭数据库,启动数据库到mount状态。

[oracle@temp-test oracle]$ sqlplus /nolog
SQL> connect/as sysdba
Connected.
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.

Total System Global Area 1586708480 bytes
Fixed Size		    2213736 bytes
Variable Size		  939526296 bytes
Database Buffers	  637534208 bytes
Redo Buffers		    7434240 bytes
Database mounted.
SQL> quit

进入RMAN,备份数据:

先查看数据备份的默认参数,备份方式(copy或backupset),和备份格式(disk 或其他)

RMAN> show all;
using target database control file instead of recovery catalog
RMAN configuration parameters for database with db_unique_name ORCL are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION ON;
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COPY PARALLELISM 1;
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/data/app/oracle/product/11.2.0/dbhome_1/dbs/snapcf_orcl.f'; # default

执行备份命令使用copy方式,映像复制整个库:

RMAN> backup as copy database;

如果是使用默认的backupset模式,可以使用:

RMAN> backup as compressed backupset database;

备份完成后,打开数据库:

RMAN> sql 'alter database open';
sql statement: alter database open


RMAN联机备份整个数据库

联机备份必须要设置快闪恢复区,快闪恢复区要足够大,并且数据库要置于归档模式。在数据库进行备份的同时,可以进行DML操作,可以正常读取,新的DML操作记录会在重做日志文件中,如果备份时间很长,而且在这个期间产生了大量的数据变化,重做日志会切换从而将这些变化的数据写到归档日志文件中。这里的归档日志就类似于Mysql的binlog,在出现介质故障的时候,使用备份和归档日志记录和完成数据的全部恢复。

查看数据库归档模式是否开启,当前属于关闭状态:

SQL> archive log list;
Database log mode       No Archive Mode
Automatic archival       Disabled
Archive destination       USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     22
Current log sequence       24

开启日志归档:

SQL> alter database archivelog;
alter database archivelog
*
ERROR at line 1:
ORA-01126: database must be mounted in this instance and not open in any
instance

日志归档必须在mount模式,关闭数据库启动到mount模式,开启归档模式:

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> startup mount;
ORACLE instance started.
Total System Global Area 1586708480 bytes
Fixed Size    2213736 bytes
Variable Size 1040189592 bytes
Database Buffers  536870912 bytes
Redo Buffers    7434240 bytes
Database mounted.

SQL> alter database archivelog;
Database altered.
SQL> alter database open;
Database altered.

SQL>  archive log list;
Database log mode       Archive Mode
Automatic archival       Enabled
Archive destination       USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     22
Next log sequence to archive   24
Current log sequence       24

使用RMAN联机备份数据库:

RMAN> backup as compressed backupset database plus archivelog delete all input;

使用备份集格式进行备份,并采用压缩的方式,压缩比例大概为5:1。备份数据文件,同时也备份归档日志文件,备份完成之后会将已经备份的归档日志文件从存储目录中删除,清除归档空间。

备份表空间:

RMAN> backup tablespace users;
Starting backup at 06-NOV-17
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile copy
input datafile file number=00004 name=/data/app/oracle/oradata/orcl/users01.dbf
output file name=/data/app/oracle/test/ORCL/datafile/o1_mf_users_dzzxzmxv_.dbf tag=TAG20171106T134939 RECID=12 STAMP=959348980
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 06-NOV-17

使用压缩:

RMAN> backup as compressed backupset tablespace users;

使用RMAN备份数据文件,%U表示自动分配一个唯一的命名:

RMAN> backup as backupset datafile 1 format '/data/app/backup/datafile_1_%U';

清除命令,慎用

清除旧的备份文件set格式:

RMAN>  delete obsolete; 
RMAN> crosscheck backupset;
RMAN> delete expired backupset;

清楚旧的备份文件和所有备份,copy模式:

RMAN>  list datafilecopy all;
RMAN> delete expired backupcopy;
RMAN> crosscheck datafilecopy all;
RMAN> delete expired backupcopy;

如果是由于快闪恢复区容量限制,可以修改快闪恢复区的路径和容量:

SQL> alter system set db_recovery_file_dest='/data/app/oracle/test';
SQL> alter system set db_recovery_file_dest_size=10g;

RMAN增量备份

使用backup database时,都是全库备份,每次这样备份很耗时也占用磁盘空间,RMAN的增量备份就能解决这些问题。

这里有两种备份级别,级别0备份为全库备份,级别1的备份为增量备份,一般情况下需要对数据进行0级别的备份之后在进行级别1的增量备份。

RMAN> backup incremental level 0 database;

级别1的差异增量备份:

RMAN> backup incremental level 1 database;


对映像副本进行增量备份

RMAN> run {     
2> backup incremental level 1 for recover of copy with tag 'incr_copy_backup' database;
3> recover copy of database with tag 'incr_copy_backup';
4> }

每次执行这条命令,就可以使用映像的方式对数据库进行增量备份。



您可能感兴趣的文档:

--结束END--

本文标题: Oracle 11g 使用RMAN备份数据库

本文链接: https://www.lsjlt.com/news/52311.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Oracle 11g 使用RMAN备份数据库
    使用Oracle自带的备份恢复工具RMAN(Recovery Manager)具有以下几种优势:支持增量备份能自动管理备份文件自动化备份与恢复备份的文件有效性检查配置快闪恢复区(flash recovery...
    99+
    2024-04-02
  • oracle数据库使用rman备份脚本
    关于使用rman备份数据库的脚本 #!/bin/bash  export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=/u01/ap...
    99+
    2024-04-02
  • 验证oracle 11g数据库的RMAN备份的有效性
    [oracle@db1 ~]$ rman target / Recovery Manager: Release 11.2.0.3.0 - Production on Tue Dec 12 16:08:4...
    99+
    2024-04-02
  • 如何使用RMAN备份数据库
    这篇文章给大家分享的是有关如何使用RMAN备份数据库的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Oracle推荐的数据库备份和恢复工具是RMAN(恢复管理器,Recovery ...
    99+
    2024-04-02
  • 怎么用rman备份数据库
    这篇文章主要讲解了“怎么用rman备份数据库”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用rman备份数据库”吧! 在数...
    99+
    2024-04-02
  • 如何利用RMAN备份重建数据库
    这篇文章主要介绍了如何利用RMAN备份重建数据库,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。有时数据库由于某些原因需要全部销毁重建,之前的...
    99+
    2024-04-02
  • ORACLE数据库备份
    ORACLE数据库备份 三种模式:表备份,用户备份,完全备份。 两种方式: DOS命令执行: 表备份: 导出:exp scott/tiger@orcle tables=emp,dep...
    99+
    2024-04-02
  • RMAN数据库全备
    在数据库mount或者open阶段,我们可以使用backup database备份整个数据库。 也可以使用configure exclude命令在配置中默认在全备时排除某个表空间不备份,也可以在backup...
    99+
    2024-04-02
  • rman怎么备份数据文件
    这篇文章主要讲解了“rman怎么备份数据文件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“rman怎么备份数据文件”吧! 备份...
    99+
    2024-04-02
  • 如何将Oracle数据库改为归档模式并启用RMAN备份
    本篇内容主要讲解“如何将Oracle数据库改为归档模式并启用RMAN备份”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何将Oracle数据库改为归档模式并启用...
    99+
    2024-04-02
  • oracle数据库如何备份数据库
    oracle 提供多种备份方法来保护数据库完整性,包括全备份、增量备份、差异备份和归档日志备份。最佳备份类型取决于数据库大小、恢复目标和可用资源。rman(恢复管理器)是 oracle ...
    99+
    2024-04-19
    oracle 数据丢失
  • mysql——数据库备份——使用mysqldump命令备份所有数据库
    mysqldump命令备份所有数据库; 语法格式:mysqldump -u username -ppassword --all-databases  > backupname.sql --all-databases:这个选项表示后面跟一...
    99+
    2023-10-09
    数据库 mysql java sql mybatis
  • oracle如何备份数据库数据
    oracle 数据库提供了三种备份方法:完整的数据库备份:复制整个数据库文件和日志文件。增量备份:仅备份自上次备份后更改的数据块。归档日志备份:记录数据库所有更改,用于恢复。 Orac...
    99+
    2024-04-19
    oracle
  • Oracle数据库怎么备份
    Oracle数据库的备份可以使用多种方法,以下是其中几种常见的备份方法:1. 数据库导出:使用Oracle提供的导出工具(如expd...
    99+
    2023-08-23
    Oracle数据库
  • oracle怎么备份数据库
    oracle 数据库备份分为三种类型:完全备份、增量备份和存档日志,可用 rman 命令行工具或 recovery manager gui 执行。此外,可以创建备份策略来确定备份频率和保...
    99+
    2024-04-18
    oracle
  • oracle数据库怎么备份数据
    oracle数据库提供多种备份数据的方法:rman备份:使用recovery manager (rman)进行完整备份和恢复;exp/imp导出和导入:导出和导入数据,适用于小到中型数据...
    99+
    2024-04-08
    oracle
  • oracle数据库如何备份数据
    在Oracle数据库中,有多种备份数据的方法可供选择,包括: 使用Oracle Data Pump工具进行逻辑备份:Oracle...
    99+
    2024-04-13
    oracle
  • oracle如何备份数据库
    如何使用 oracle 备份数据库?oracle 通过 rman 和 sql 命令提供多种备份选项:备份类型:冷备份(数据库处于 offline 状态)热备份(数据库处于 archive...
    99+
    2024-04-19
    oracle
  • ORACLE11G RMAN备份如何恢复到异机数据库
    这期内容当中小编将会给大家带来有关ORACLE11G RMAN备份如何恢复到异机数据库,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 scp /u01/prb/rman...
    99+
    2024-04-02
  • 使用Oracle进行数据库备份与还原
    目录一、逻辑备份1.某一用户(DBA权限)全库备份:2.某一用户(DBA权限)备份库中某些用户:3.某一用户备份自身:4.某一用户备份自身某些表对象:5.某一用户(具有DBA权限)备份其他用户某些表对象:二、逻辑还原1....
    99+
    2023-04-09
    Oracle数据库备份与还原 Oracle数据库备份 Oracle数据库还原
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作