iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >oracle备份与恢复--rman
  • 337
分享到

oracle备份与恢复--rman

2024-04-02 19:04:59 337人浏览 安东尼
摘要

(一)、创建恢复目录1、创建恢复目录数据库#mkdir -p /u01/app/oracle/oradata/rmandb#chown -R oracle /u01/app/oracle/oradata/r

(一)、创建恢复目录
1、创建恢复目录数据库
#mkdir -p /u01/app/oracle/oradata/rmandb
#chown -R oracle /u01/app/oracle/oradata/rmandb
[root@rhel1 ~]#su - oracle
[oracle@rhel1 ~]$sqlplus / as sysdba
SQL> create tablespace rmant datafile '/u01/app/oracle/oradata/rmandb/rmants.ora' size 20M ;
表空间已创建。

2、在恢复目录数据库中创建RMAN 用户并授权
SQL> create user C##rmant identified by rmant
default tablespace rmant
temporary tablespace temp
quota unlimited on rmant;
用户已创建。
SQL> grant connect,resource to c##rmant;
授权成功。
SQL> grantrecovery_catalog_owner to c##rmant;
授权成功。

3、在恢复目录数据库中创建恢复目录
[oracle@oracle~]$rman catalog c##rmant/rmant
恢复管理器: Release 12.2.0.1.0 - Production on 星期五 11月 16 19:59:31 2018
Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved.
连接到恢复目录数据库
RMAN> create catalog;
恢复目录已创建
RMAN> quit
恢复管理器完成。

(二)、注册目标数据库到恢复目录1、进入RMAN环境
[oracle@oracle~]$rman
br/>1、进入RMAN环境
[oracle@oracle~]$rman
Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved.

2、连接目标数据库
RMAN> connect target sys/oracle;
已连接到目标数据库: ORCL (DBID=1503444987)

3、连接恢复目录数据库
RMAN> connect catalog c##rmant/rmant;
连接到恢复目录数据库

4、注册
RMAN> reGISter database;
注册在恢复目录中的数据库
正在启动恢复目录的全部重新同步
完成全部重新同步
RMAN> quit
恢复管理器完成。

5.在恢复目录数据库中查看恢复目录里面注册的数据库
[oracle@oracle~]$sqlplus c##rmant/rmant
SQLPlus: Release 12.2.0.1.0 Production on 星期五 11月 16 20:05:20 2018
Copyright (c) 1982, 2016, Oracle. All rights reserved.
上次成功登录时间: 星期五 11月 16 2018 20:03:33 +08:00
连接到:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
SQL> select count(
) from rc_database;
COUNT(*)

 1

(三)、在归档模式下备份和恢复
1.将数据库设置为归档模式,数据库实例要处于启动状态,数据库已经加载或打开状态
SQL> conn sys/oracle as sysdba;
已连接。
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount;
ORACLE 例程已经启动。

Total System Global Area 1593835520 bytes
Fixed Size 8793256 bytes
Variable Size 1023411032 bytes
Database Buffers 553648128 bytes
Redo Buffers 7983104 bytes
数据库装载完毕。
SQL> alter database arcHivelog;

数据库已更改。

SQL> alter database open;

数据库已更改。

2、首先修改快闪恢复区的参数
SQL> show parameter db_recovery_file_dest

NAME TYPE


VALUE

db_recovery_file_dest string

db_recovery_file_dest_size big integer
0
SQL> alter system setdb_recovery_file_dest_size=2g;

系统已更改。

3、创建一个表空间和表
SQL> create tablespace tab1
datafile '/u01/app/oracle/oradata/rmandb/tab1.dbf' size 10m;
表空间已创建。

4、创建表tab1
SQL> create table tab1(id int);
表已创建。

5、向表tab1中添加记录
SQL> insert into tab1 values(1);
已创建 1 行。

SQL> commit;
提交完成。

SQL> quit
从 Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production 断开

5、使用数据库用户sys登录RMAN
[oracle@oracle~]$rman target sys/oracle
恢复管理器: Release 12.2.0.1.0 - Production on 星期五 11月 16 20:15:04 2018
Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved.
已连接到目标数据库: ORCL (DBID=1503444987)

6、备份整个数据库到快闪区
RMAN> backup database;
从位于 16-11月-18 的 backup 开始
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=31 设备类型=DISK
通道 ORA_DISK_1: 正在启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集内的数据文件
输入数据文件, 文件号 = 00001 名称 = /u01/app/oracle/oradata/orcl/system01.dbf
输入数据文件, 文件号 = 00003 名称 = /u01/app/oracle/oradata/orcl/sysaux01.dbf
输入数据文件, 文件号 = 00004 名称 = /u01/app/oracle/oradata/orcl/undotbs01.dbf
输入数据文件, 文件号 = 00013 名称 = /opt/oracle/oradata/rmandb/rmants.ora
输入数据文件, 文件号 = 00014 名称 = /u01/app/oracle/oradata/rmandb/rmants.ora
输入数据文件, 文件号 = 00015 名称 = /u01/app/oracle/oradata/rmandb/tab1.dbf
输入数据文件, 文件号 = 00007 名称 = /u01/app/oracle/oradata/orcl/users01.dbf
通道 ORA_DISK_1: 正于 16-11月-18 启动段 1
通道 ORA_DISK_1: 完成了于 16-11月-18 启动段 1
片段句柄 = /u01/app/oracle/product/12.2.0/dbhome_1/dbs/01ticu3n_1_1 标记 = TAG20181116T201551 注释 = NONE
通道 ORA_DISK_1: 备份集完成, 用时: 00:00:55
通道 ORA_DISK_1: 正在启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集内的数据文件
输入数据文件, 文件号 = 00010 名称 = /u01/app/oracle/oradata/orcl/orclpdb/sysaux01.dbf
输入数据文件, 文件号 = 00009 名称 = /u01/app/oracle/oradata/orcl/orclpdb/system01.dbf
输入数据文件, 文件号 = 00011 名称 = /u01/app/oracle/oradata/orcl/orclpdb/undotbs01.dbf
输入数据文件, 文件号 = 00012 名称 = /u01/app/oracle/oradata/orcl/orclpdb/users01.dbf
通道 ORA_DISK_1: 正于 16-11月-18 启动段 1
通道 ORA_DISK_1: 完成了于 16-11月-18 启动段 1
片段句柄 = /u01/app/oracle/product/12.2.0/dbhome_1/dbs/02ticu5f_1_1 标记 = TAG20181116T201551 注释 = NONE
通道 ORA_DISK_1: 备份集完成, 用时: 00:00:25
通道 ORA_DISK_1: 正在启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集内的数据文件
输入数据文件, 文件号 = 00006 名称 = /u01/app/oracle/oradata/orcl/pdbseed/sysaux01.dbf
输入数据文件, 文件号 = 00005 名称 = /u01/app/oracle/oradata/orcl/pdbseed/system01.dbf
输入数据文件, 文件号 = 00008 名称 = /u01/app/oracle/oradata/orcl/pdbseed/undotbs01.dbf
通道 ORA_DISK_1: 正于 16-11月-18 启动段 1

通道 ORA_DISK_1: 完成了于 16-11月-18 启动段 1
片段句柄 = /u01/app/oracle/product/12.2.0/dbhome_1/dbs/03ticu68_1_1 标记 = TAG20181116T201551 注释 = NONE
通道 ORA_DISK_1: 备份集完成, 用时: 00:00:26
在 16-11月-18 完成了 backup

从位于 16-11月-18 的 Control File and SPFILE Autobackup 开始
片段句柄 = /u01/app/oracle/product/12.2.0/dbhome_1/dbs/c-1503444987-20181116-00 注释 = NONE
在 16-11月-18 完成了 Control File and SPFILE Autobackup
RMAN> quit
恢复管理器完成。

7、删除tab1表
SQL> drop table tab1;(记住删除时间)
Table TAB1已删除。
SQL> commit;
提交完成。

8、恢复表
①在数据库为mount状态时恢复数据库
SQL> shutdown immediate;
数据库已关闭。
数据库已卸装。
ORACLE 例程关闭。
SQL> startup mount;
ORACLE 实例已启动
Total System Global Area 1593835520 bytes
Fixed Size 8793256 bytes
Variable Size 1023411032 bytes
Database Buffers 553648128 bytes
Redo Buffers 7983104 bytes
数据库已装载。
SQL> quit
已从Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production断开连接
[oracle@oracle~]$rman target sys/oracle;
恢复管理器: Release 12.2.0.1.0 - Production on 星期五 11月 16 20:23:39 2018
Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved.
已连接到目标数据库: ORCL (DBID=1503444987, 未打开)
RMAN> restore database;
从位于 16-11月-18 的 restore 开始
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=257 设备类型=DISK
正在跳过数据文件 5; 已还原到文件 /u01/app/oracle/oradata/orcl/pdbseed/system01.dbf
正在跳过数据文件 6; 已还原到文件 /u01/app/oracle/oradata/orcl/pdbseed/sysaux01.dbf
正在跳过数据文件 8; 已还原到文件 /u01/app/oracle/oradata/orcl/pdbseed/undotbs01.dbf
正在跳过数据文件 9; 已还原到文件 /u01/app/oracle/oradata/orcl/orclpdb/system01.dbf
正在跳过数据文件 10; 已还原到文件 /u01/app/oracle/oradata/orcl/orclpdb/sysaux01.dbf
正在跳过数据文件 11; 已还原到文件 /u01/app/oracle/oradata/orcl/orclpdb/undotbs01.dbf
正在跳过数据文件 12; 已还原到文件 /u01/app/oracle/oradata/orcl/orclpdb/users01.dbf
通道 ORA_DISK_1: 正在开始还原数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集还原的数据文件
通道 ORA_DISK_1: 将数据文件 00001 还原到 /u01/app/oracle/oradata/orcl/system01.dbf
通道 ORA_DISK_1: 将数据文件 00003 还原到 /u01/app/oracle/oradata/orcl/sysaux01.dbf
通道 ORA_DISK_1: 将数据文件 00004 还原到 /u01/app/oracle/oradata/orcl/undotbs01.dbf
通道 ORA_DISK_1: 将数据文件 00007 还原到 /u01/app/oracle/oradata/orcl/users01.dbf
通道 ORA_DISK_1: 将数据文件 00013 还原到 /opt/oracle/oradata/rmandb/rmants.ora
通道 ORA_DISK_1: 将数据文件 00014 还原到 /u01/app/oracle/oradata/rmandb/rmants.ora
通道 ORA_DISK_1: 将数据文件 00015 还原到 /u01/app/oracle/oradata/rmandb/tab1.dbf
通道 ORA_DISK_1: 正在读取备份片段 /u01/app/oracle/product/12.2.0/dbhome_1/dbs/01ticu3n_1_1
通道 ORA_DISK_1: 片段句柄 = /u01/app/oracle/product/12.2.0/dbhome_1/dbs/01ticu3n_1_1 标记 = TAG20181116T201551
通道 ORA_DISK_1: 已还原备份片段 1
通道 ORA_DISK_1: 还原完成, 用时: 00:01:16
在 16-11月-18 完成了 restore

RMAN> recover database until time "to_date('2018-11-16 20:20:00','yy-mm-dd hh34:mi:ss')";
从位于 16-11月-18 的 recover 开始
使用通道 ORA_DISK_1
正在开始介质的恢复
介质恢复完成, 用时: 00:00:01
在 16-11月-18 完成了 recover

RMAN> alter database open resetlogs;
已处理语句
RMAN> quit
恢复管理器完成。
[oracle@oracle~]$sqlplus sys/oracle as sysdba
SQLPlus: Release 12.2.0.1.0 Production on 星期五 11月 16 20:29:53 2018
Copyright (c) 1982, 2016, Oracle. All rights reserved.
连接到:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
SQL> select
from tab1;
ID

 1

9、恢复表空间
说明:如果只丢失了特定表空间中的数据文件,那么可以选择只恢复这个表空间,而不是恢复整个数据库,表空间可以在不关闭数据库的情况下进行,只需要将表空间offline
Sql>create tablespace tab2
Datafile‘/u01/app/oracle/oradata/rmandb/tab2.dbf’ size 10m;
sql>quit;
$rman target sys/oracl
rman>backup tablespace tab2;
rman>quit
$mv/u01/app/oracle/oradata/rmandb/tab2.dbf /u01/app/oracle/oradata/rmandb/tab2.dbf.bak(模拟表空间数据文件丢失)
$rman target sys/oracle
rman>run{
sql 'alter tablespace tab2 offline immediate';
restore tablespace tab2;
recover tablespace tab2;
sql 'alter tablespace tab2 online';
}
rman>quit
$ls /opt/oracle/oradata/rmandb/(观察其下tab2.dbf是不是出现了)

10、数据文件备份与恢复
①查看当前数据库的所有数据文件
sql>col file_name for a55
sql>set line 100
Sql>select file_id,file_name,tablespace_name from dba_data_files;(记下数据文件的id)

②备份数据文件
sql>quit;
$rman target sys/oracle11g
rman>backup datafile 6;

③模拟删除数据文件tab6.dbf
rman>quit
$mv /u01/app/oracle/oradata/rmandb/tab6.dbf /u01/app/oracle/oradata/rmandb/tab6.bak1
$rman target sys/oracle
rman>run{
allocate channel dev1 type disk;
sql 'alter tablespace tab2 offline immediate';
restore datafile 6;
recover datafile 6;
sql 'alter tablespace tab6 online';
release channel dev1;
}
rman>quit
$ls /opt/oracle/oradata/rmandb/(观察其下tab2.dbf是不是出现了)

您可能感兴趣的文档:

--结束END--

本文标题: oracle备份与恢复--rman

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

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

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

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

下载Word文档
猜你喜欢
  • oracle备份与恢复--rman
    (一)、创建恢复目录1、创建恢复目录数据库#mkdir -p /u01/app/oracle/oradata/rmandb#chown -R oracle /u01/app/oracle/oradata/r...
    99+
    2022-10-18
  • 12C RMAN备份恢复
    12C 重做日志文件处于共享状态,所以只能在CDB级别设置ARCHIVELOG模式,不能在PDB级别设置。 RMAN可以比较好的操作cdb和pdb备份,同时pdb的备份和恢复可以通过cdb来完成。 =备份...
    99+
    2022-10-18
  • RMAN如何实现备份与恢复
    小编给大家分享一下RMAN如何实现备份与恢复,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! ###############################################...
    99+
    2022-10-19
  • rman 增量备份恢复
    rman异机增量备份恢复 https://blog.csdn.net/qq_28766111/article/details/85252754 https://blog.csdn.net...
    99+
    2022-10-18
  • Oracle备份与恢复(五)
    备份:   定义:      把数据库复制到转储设备的过程。      转储设备:  ...
    99+
    2022-10-18
  • Oracle 12C 新特性用rman备份恢复表
    在12c之前对于用户因DDL(DROPTRUNCATE )等操作引起的数据丢失,一般通过数据库时间点不完全恢复、基于表空间的时间点恢复(TSPITR)、闪回技术。 12c 推出了rman基于时间...
    99+
    2022-10-18
  • 怎样深入解析RMAN 备份与恢复
    今天就跟大家聊聊有关怎样深入解析RMAN 备份与恢复,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。RMAN 备份与恢复深入解析一 数据库版本SQL> select *...
    99+
    2023-06-06
  • Oracle备份与恢复—概念
    备份与恢复 [TOC]...
    99+
    2022-10-18
  • Oracle OCR的备份与恢复
    OCR的备份与恢复 方式1:(...
    99+
    2022-10-18
  • Oracle DG从库Rman如何实现备份恢复测试
    这篇文章主要介绍了Oracle DG从库Rman如何实现备份恢复测试,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.系统初始化和数据库安装...
    99+
    2022-10-19
  • Oracle数据库的备份与恢复
    本篇内容介绍了“Oracle数据库的备份与恢复”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、备份与恢复...
    99+
    2022-10-18
  • oracle备份与恢复--闪回技术
    一•启用闪回数据库1.启用归档模式sql>shutdown immediate;sql>startup mount;sql>alter database archivelog;2.建立闪回...
    99+
    2022-10-18
  • Oracle 之数据库备份与恢复
      Oracle数据库备份与恢复  下面通过一些简单的例子来了解一下:  Oracle数据库各种物理备份的方法。  利用RMAN工具进行数据库的备份与恢复。  数据的导出与导入操作。  (1)关闭BOOKS...
    99+
    2022-10-18
  • Oracle 12c的备份与恢复方法
    本篇内容主要讲解“Oracle 12c的备份与恢复方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Oracle 12c的备份与恢复方法”吧!备份:1.备份全部...
    99+
    2022-10-18
  • oracle rman备份与ORA-19504&ORA-27040&RMAN-030009
         今天,一哥们要对数据库做重要操作,操作之前要做rman全备份,但是因为粗心,写错了备份路径,导致rman备份报错如下图: 由报错提示rman备份程序...
    99+
    2022-10-18
  • MongoDB备份与恢复
           mongodb和mysql很相似,那么它是否也和mysql一样可以备份数据库和恢复数据库呢?那是当然的,下面将简单介绍mo...
    99+
    2022-10-18
  • mongodb 备份与恢复
    一、整库备份:mongodump -h dbhost -d dbname -o dbdirectory-h:MongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:2...
    99+
    2022-10-18
  • mysql备份与恢复
    1、备份命令(用户名:root;密码:123;端口:3306) 格式:mysqldump -h主机名 -p端口 -u用户名 -p密码 --database 数据库名 > 文件名.sql 例如: mysqldump -h 192.1...
    99+
    2015-05-28
    mysql备份与恢复
  • 备份与恢复—RMAN1
    [TOC]...
    99+
    2022-10-18
  • DB2备份与恢复
    DB2 备份与恢复 整理下16年写的DB2相关文档,换工作以后一直没用过DB2,忘的差不多了。 一 db2 backup/restore 备份和恢复 1.1 备份 db2...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作