返回顶部
首页 > 资讯 > 数据库 >如何使用RMAN对PDB中的表空间或数据文件执行完全恢复
  • 358
分享到

如何使用RMAN对PDB中的表空间或数据文件执行完全恢复

2024-04-02 19:04:59 358人浏览 独家记忆
摘要

小编给大家分享一下如何使用RMAN对PDB中的表空间或数据文件执行完全恢复,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!因为不同PDB中的表空间可以有相同的名字,为了消除这种混淆你必须直接

小编给大家分享一下如何使用RMAN对PDB中的表空间或数据文件执行完全恢复,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

因为不同PDB中的表空间可以有相同的名字,为了消除这种混淆你必须直接连接到PDB来恢复PDB的表空间。相反,因为数据文件号与路径名是跨CDB唯一标识的,所以可以连接到root容器或PDB来恢复PDB的数据文件。如果连接到CDB的root容器,那么可以使用单个命令来恢复多个PDB中的数据文件。如果连接到PDB,只能恢复PDB中的数据文件。

还原与恢复PDB中的non-SYSTEM表空间
1.启动RMAN并连接到目标数据库

[oracle@jytest1 ~]$ rman target sys/xxxxx@jypdb

Recovery Manager: Release 12.2.0.1.0 - Production on Mon Dec 11 17:59:27 2017

Copyright (c) 1982, 2017, Oracle and/or its affiliates.  All rights reserved.

connected to target database: JY:JYPDB (DBID=4203494064)

2.如果数据库的状态为open,那么将要恢复的表空间置于脱机状态

sql> alter tablespace test offline immediate;

Tablespace altered.

3.使用show命令来查看是否配置了预先设置的通道。如果需要的设置类型与通道被配置,那么不需要执行任何操作。否则可以使用configure命令来配置自动通道,或都使用包含allocate channel命令的run块

RMAN> show all;

RMAN configuration parameters for database with db_unique_name JY are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '+test/rman_backup/%F';
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 RMAN OUTPUT TO KEEP FOR 7 DAYS; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '+test/jy/snapcf_jy.f';

4.还原与恢复表空间
.如果将数据文件还原到原始位置,那么执行restore tablespace与recover tablespace命令

.如果将数据文件还原到新目录,那么在run命令块中执行restore tablespace与recover tablespace命令,并且使用set newname命令来重命名数据文件。

RMAN> restore tablespace 'TEST';

Starting restore at 11-DEC-17
using channel ORA_DISK_1

channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00015 to +DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/test.275.962210609
channel ORA_DISK_1: reading from backup piece +TEST/rman_backup/jy_979425723_20171211_0osls830_1_1
channel ORA_DISK_1: piece handle=+TEST/rman_backup/jy_979425723_20171211_0osls830_1_1 tag=TAG20171211T164446
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:03
Finished restore at 11-DEC-17

RMAN> recover tablespace 'TEST';

Starting recover at 11-DEC-17
using channel ORA_DISK_1

starting media recovery
media recovery complete, elapsed time: 00:00:01

Finished recover at 11-DEC-17

5.检查输出结果查看是否恢复成功。如果恢复成功将表空间设置为联机状态

RMAN> alter tablespace test online;

Statement processed

还原与恢复PDB中的SYSTEM表空间
1.启动RMAN并使用有sysdba或sysbackup权限的公共用户连接到root容器。

[oracle@jytest1 ~]$ rman target/ catalog rco/abcd@jypdb_173

Recovery Manager: Release 12.2.0.1.0 - Production on Mon Dec 11 18:11:55 2017

Copyright (c) 1982, 2017, Oracle and/or its affiliates.  All rights reserved.

connected to target database: JY (DBID=979425723)
connected to recovery catalog database

2.关闭CDB并重启到mount状态

SQL> conn / as sysdba
Connected.
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.

Total System Global Area 6442450944 bytes
Fixed Size                  8807168 bytes
Variable Size            1895828736 bytes
Database Buffers         4529848320 bytes
Redo Buffers                7966720 bytes
Database mounted.

3.还原与恢复PDB中SYSTEM表空间的数据文件

[oracle@jytest1 ~]$ rman target/ catalog rco/abcd@jypdb_173

Recovery Manager: Release 12.2.0.1.0 - Production on Mon Dec 11 18:20:30 2017

Copyright (c) 1982, 2017, Oracle and/or its affiliates.  All rights reserved.

connected to target database: JY (DBID=979425723, not open)
connected to recovery catalog database

RMAN> report schema;

starting full resync of recovery catalog
full resync complete
Report of database schema for database with db_unique_name JY

List of Permanent Datafiles
===========================
File Size(MB) Tablespace           RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1    830      SYSTEM               YES     +DATA/JY/DATAFILE/system.317.962209603
3    1230     SYSAUX               NO      +DATA/JY/DATAFILE/sysaux.298.962209605
4    75       UNDOTBS1             YES     +DATA/JY/DATAFILE/undotbs1.277.962209605
5    250      PDB$SEED:SYSTEM      NO      +DATA/JY/5F9AA264B21F3ED9E053AB828A0A6088/DATAFILE/system.256.962209675
6    340      PDB$SEED:SYSAUX      NO      +DATA/JY/5F9AA264B21F3ED9E053AB828A0A6088/DATAFILE/sysaux.270.962209675
7    5        USERS                NO      +DATA/JY/DATAFILE/users.301.962209605
8    100      PDB$SEED:UNDOTBS1    NO      +DATA/JY/5F9AA264B21F3ED9E053AB828A0A6088/DATAFILE/undotbs1.296.962209675
9    50       UNDOTBS2             YES     +DATA/JY/DATAFILE/undotbs2.312.962209605
10   260      JYPDB:SYSTEM         YES     +DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/system.271.962209649
11   460      JYPDB:SYSAUX         NO      +DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/sysaux.316.962209649
12   100      JYPDB:UNDOTBS1       YES     +DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/undotbs1.264.962209649
13   100      JYPDB:UNDO_2         YES     +DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/undo_2.268.962209649
14   5        JYPDB:USERS          NO      +DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/users.278.962209649
15   100      JYPDB:TEST           NO      +DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/test.275.962210609
16   260      TESTPDB:SYSTEM       YES     +DATA/JY/600D6F56DEB669CCE053AB828A0AAB7E/DATAFILE/system.260.962469409
17   460      TESTPDB:SYSAUX       NO      +DATA/JY/600D6F56DEB669CCE053AB828A0AAB7E/DATAFILE/sysaux.259.962469409
18   100      TESTPDB:UNDOTBS1     YES     +DATA/JY/600D6F56DEB669CCE053AB828A0AAB7E/DATAFILE/undotbs1.265.962469409
19   100      TESTPDB:UNDO_2       YES     +DATA/JY/600D6F56DEB669CCE053AB828A0AAB7E/DATAFILE/undo_2.266.962469409
20   5        TESTPDB:USERS        NO      +DATA/JY/600D6F56DEB669CCE053AB828A0AAB7E/DATAFILE/users.267.962469409
21   100      TESTPDB:TEST         NO      +DATA/JY/600D6F56DEB669CCE053AB828A0AAB7E/DATAFILE/test.269.962469409

List of Temporary Files
=======================
File Size(MB) Tablespace           Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1    142      TEMP                 32767       +DATA/JY/TEMPFILE/temp.299.961976339
2    64       PDB$SEED:TEMP        32767       +DATA/JY/5F9AA264B21F3ED9E053AB828A0A6088/TEMPFILE/temp.297.962209865
3    135      JYPDB:TEMP           32767       +DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/TEMPFILE/temp.276.962210519
4    135      TESTPDB:TEMP         32767       +DATA/JY/600D6F56DEB669CCE053AB828A0AAB7E/TEMPFILE/temp.258.962469435

RMAN> restore tablespace 'JYPDB:SYSTEM';

Starting restore at 11-DEC-17
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=10 instance=jy1 device type=DISK
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 12/11/2017 18:21:09
RMAN-06004: ORACLE error from recovery catalog database: RMAN-20202: Tablespace not found in the recovery catalog
RMAN-06019: could not translate tablespace name "JYPDB:SYSTEM"

这里在还原SYSTEM表空间时使用表空间名时会报错,如是使用restore datafile与recover datafile方法来还原与恢复SYSTEM表空间

RMAN> restore datafile 10;

Starting restore at 11-DEC-17
using channel ORA_DISK_1

channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00010 to +DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/system.271.962209649
channel ORA_DISK_1: reading from backup piece +TEST/rman_backup/jy_979425723_20171211_0osls830_1_1
channel ORA_DISK_1: piece handle=+TEST/rman_backup/jy_979425723_20171211_0osls830_1_1 tag=TAG20171211T164446
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:15
Finished restore at 11-DEC-17

RMAN> recover datafile 10;

Starting recover at 11-DEC-17
using channel ORA_DISK_1

starting media recovery
media recovery complete, elapsed time: 00:00:01

Finished recover at 11-DEC-17

4.打开CDB中的所有PDB

RMAN> alter database open;

Statement processed
starting full resync of recovery catalog
full resync complete

RMAN> alter pluggable database all open read write;

Statement processed
starting full resync of recovery catalog
full resync complete

看完了这篇文章,相信你对“如何使用RMAN对PDB中的表空间或数据文件执行完全恢复”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网数据库频道,感谢各位的阅读!

您可能感兴趣的文档:

--结束END--

本文标题: 如何使用RMAN对PDB中的表空间或数据文件执行完全恢复

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

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

猜你喜欢
  • 如何使用RMAN对PDB中的表空间或数据文件执行完全恢复
    小编给大家分享一下如何使用RMAN对PDB中的表空间或数据文件执行完全恢复,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!因为不同PDB中的表空间可以有相同的名字,为了消除这种混淆你必须直接...
    99+
    2024-04-02
  • 如何使用RMAN对PDB执行按时间点恢复
    小编给大家分享一下如何使用RMAN对PDB执行按时间点恢复,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!对PDB执行按时间点恢复...
    99+
    2024-04-02
  • 使用RMAN对CDB的root执行完全恢复
    如果数据损坏或用户错误只影响CDB的root容器,那么可能只会考虑恢复root容器。然而,Oracle强烈建议你在恢复root容器后恢复所有的PDB来阻止root与PDB中的元数据不一致的情况...
    99+
    2024-04-02
  • 如何使用RMAN对CDB执行按时间点恢复
    这篇文章给大家分享的是有关如何使用RMAN对CDB执行按时间点恢复的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。使用RMAN对CDB和PDB执行按时间点恢复 RMAN能够对CDB...
    99+
    2024-04-02
  • 如何使用RMAN对PDB执行闪回数据库操作
    小编给大家分享一下如何使用RMAN对PDB执行闪回数据库操作,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!可以对多租户数据库中的单个PDB执行闪回操作。对特定的PDB执行闪回数据库操作只会...
    99+
    2024-04-02
  • 如何使用RMAN对CDB中的PDB进行复制
    本篇内容主要讲解“如何使用RMAN对CDB中的PDB进行复制”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用RMAN对CDB中的PDB进行复制”吧! 1....
    99+
    2024-04-02
  • RMAN中如何使用until time子句对Non-CDB中的表执行按时间点恢复
    这篇文章主要为大家展示了“RMAN中如何使用until time子句对Non-CDB中的表执行按时间点恢复”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“RMAN...
    99+
    2024-04-02
  • 如何使用RMAN对CDB中的部分表空间进行复制
    这篇文章主要介绍“如何使用RMAN对CDB中的部分表空间进行复制”,在日常操作中,相信很多人在如何使用RMAN对CDB中的部分表空间进行复制问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望...
    99+
    2024-04-02
  • 使用RMAN备份对Non-CDB中的表按时间点进行恢复
    RMAN使用recover命令来将表或表分区恢复到指定的时间点。为了从RMAN备份中恢复表与表分区,你必须提供以下信息: .要被恢复的表或表分区 .表或表分区要被恢复到的特定时间点 .被恢复的表或...
    99+
    2024-04-02
  • Oracle 12c如何使用RMAN备份对Non-CDB中的表按时间点进行恢复
    小编给大家分享一下Oracle 12c如何使用RMAN备份对Non-CDB中的表按时间点进行恢复,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起...
    99+
    2024-04-02
  • 数据库中如何使用裸设备之对表空间扩展大小或创建表空间
    小编给大家分享一下数据库中如何使用裸设备之对表空间扩展大小或创建表空间,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! 1.查看表空间对应的数据文件路径selec...
    99+
    2024-04-02
  • 如何使用RMAN备份将Non-CDB中被drop的表恢复到新用户方案与新表空间中
    这篇文章主要介绍如何使用RMAN备份将Non-CDB中被drop的表恢复到新用户方案与新表空间中,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!RMAN使用recover命令...
    99+
    2024-04-02
  • Oracle 12C使用UNTIL SEQUENCE子句对Non-CDB中的表执行按时间点恢复
    Oracle 12C使用UNTIL SEQUENCE子句对Non-CDB中的表执行按时间点恢复执行操作如下 1.对整个Non-CDB(orcl)生成RMAN备份 RMAN> backup as...
    99+
    2024-04-02
  • 如何更改Oracle中表空间的数据文件位置
    本篇文章给大家分享的是有关如何更改Oracle中表空间的数据文件位置,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。表空间概述Oracle的表空...
    99+
    2024-04-02
  • 使用Java如何将SQL脚本文件执行到数据库中
    使用Java如何将SQL脚本文件执行到数据库中?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。方式一:直接读取SQL脚本文件的内容,然后传递到SQL中。代码:RunSqlSe...
    99+
    2023-05-31
    java sql 数据库
  • Oracle 12C如何使用RMAN将Non-CDB多个用户方案中的多个表或表分区恢复到新用户方案中
    这篇文章主要介绍Oracle 12C如何使用RMAN将Non-CDB多个用户方案中的多个表或表分区恢复到新用户方案中,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Oracle 12C...
    99+
    2024-04-02
  • 如何在 Python 中使用 NumPy 库对文件中的数据进行统计分析?
    Python 是一种强大的编程语言,它拥有众多的库和工具可以帮助开发者更高效地完成任务。其中,NumPy 库是一款专门用于数值计算的库,在处理大量数据时可以提供高效的处理速度和良好的性能。 在本文中,我们将介绍如何使用 NumPy 库对文件...
    99+
    2023-11-04
    文件 关键字 numy
  • 数据库中如何实现查询表空间使用情况的脚本
    这篇文章将为大家详细讲解有关数据库中如何实现查询表空间使用情况的脚本,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。脚本如下:Select Distinct a....
    99+
    2024-04-02
  • 如何使用Python读取大数据中的对象文件?
    在当今的数据时代,大数据已经成为了一种趋势。大数据存储的文件类型也越来越多,其中对象文件是一种常见的文件类型。Python作为一种流行的编程语言,自然也可以用来读取大数据中的对象文件。 本文将介绍如何使用Python读取大数据中的对象文件。...
    99+
    2023-10-26
    对象 文件 大数据
  • 如何在Oracle中检查数据库对象的状态和空间使用情况
    要在Oracle中检查数据库对象的状态和空间使用情况,可以使用以下几种方法: 使用Oracle SQL Developer工具:...
    99+
    2024-04-09
    Oracle
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作