ORACLE 19c 统一恢复处于ASM中的CDB含PDB数据文件到某一个文件目录下面

NOCDB情况下,要把ASM中的文件恢复到文件系统,大家都知道分别设置每个文件的路径即可,但如果是租户环境,每个PDB都有不同路径,而且每个PDB都有SYSTEM,SYSAUX等一些表空降,不可能放在同一个目录中,而是放在不同的目录,那恢复时,怎么设置呢 ?

比如下面数据库以在本地恢复为例,如果是异机恢复,步骤类似:

SYS@orclcdb> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 ORCLPDB                        READ WRITE NO

ORCLCDB,有一个PDB,ORCLPDB,一个PDBSEED,数据文件放在ASM磁盘组DATA中,想整体恢复到文件系统,比如 /u01/app/oracle/oradata/orclcdb/

RMAN> report schema;

Report of database schema for database with db_unique_name ORCLCDB

List of Permanent Datafiles
===========================
File Size(MB) Tablespace           RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1    1700     SYSTEM               ***     +DATA/ORCLCDB/DATAFILE/system.257.1140286827
3    1024     SYSAUX               ***     +DATA/ORCLCDB/DATAFILE/sysaux.258.1140286963
4    1500     UNDOTBS1             ***     +DATA/ORCLCDB/DATAFILE/undotbs1.259.1140287029
5    540      PDB$SEED:SYSTEM      ***     +DATA/ORCLCDB/86B637B62FE07A65E053F706E80A27CA/DATAFILE/system.266.1140289995
6    430      PDB$SEED:SYSAUX      ***     +DATA/ORCLCDB/86B637B62FE07A65E053F706E80A27CA/DATAFILE/sysaux.267.1140289995
7    5        USERS                ***     +DATA/ORCLCDB/DATAFILE/users.260.1140287029
8    215      PDB$SEED:UNDOTBS1    ***     +DATA/ORCLCDB/86B637B62FE07A65E053F706E80A27CA/DATAFILE/undotbs1.268.1140289995
9    550      ORCLPDB:SYSTEM       ***     +DATA/ORCLCDB/FECB9F1537517278E0537885A8C0E7DC/DATAFILE/system.272.1140292289
10   500      ORCLPDB:SYSAUX       ***     +DATA/ORCLCDB/FECB9F1537517278E0537885A8C0E7DC/DATAFILE/sysaux.273.1140292289
11   215      ORCLPDB:UNDOTBS1     ***     +DATA/ORCLCDB/FECB9F1537517278E0537885A8C0E7DC/DATAFILE/undotbs1.271.1140292289
12   15       ORCLPDB:USERS        ***     +DATA/ORCLCDB/FECB9F1537517278E0537885A8C0E7DC/DATAFILE/users.275.1140292305

List of Temporary Files
=======================
File Size(MB) Tablespace           Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1    500      TEMP                 32767       +DATA/ORCLCDB/TEMPFILE/temp.265.1140287089
2    138      PDB$SEED:TEMP        32767       +DATA/ORCLCDB/FECB1A5B8C146A75E0537885A8C0F418/TEMPFILE/temp.269.1140290063
3    139      ORCLPDB:TEMP         32767       +DATA/ORCLCDB/FECB9F1537517278E0537885A8C0E7DC/TEMPFILE/temp.274.1140292293


步骤如下:
 

1.备份


  rman >backup database plus archivelog;


2.关闭数据库


  sql>shutdown immediate;


3.恢复到文件系统


  RMAN>
run{
allocate channel c1 device type disk;
allocate channel c2 device type disk;
allocate channel c3 device type disk;
allocate channel c4 device type disk;
set newname for database "cdb$root" to '/u01/app/oracle/oradata/ORCLCDB/%b';
set newname for database "PDB$SEED" to '/u01/app/oracle/oradata/ORCLCDB/pdbseed/%b';
set newname for database "ORCLPDB" to '/u01/app/oracle/oradata/ORCLCDB/orclpdb/%b';
restore database root database "PDB$SEED" DATABASE "ORCLPDB";
switch datafile all;
switch tempfile all;
recover database;
}
需要注意的是:这里不同的PDB,要对应到不同的目录,需要单独指定PDB,而且,cdb$root要单独指定。

allocated channel: c1
channel c1: SID=613 device type=DISK

allocated channel: c2
channel c2: SID=11 device type=DISK

allocated channel: c3
channel c3: SID=213 device type=DISK

allocated channel: c4
channel c4: SID=414 device type=DISK

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

Starting restore at 19-AUG-23

channel c2: starting datafile backup set restore
channel c2: specifying datafile(s) to restore from backup set
channel c2: restoring datafile 00001 to /u01/app/oracle/oradata/ORCLCDB/system.257.1140286827
channel c2: restoring datafile 00003 to /u01/app/oracle/oradata/ORCLCDB/sysaux.258.1140286963
channel c2: restoring datafile 00004 to /u01/app/oracle/oradata/ORCLCDB/undotbs1.259.1140287029
channel c2: restoring datafile 00007 to /u01/app/oracle/oradata/ORCLCDB/users.260.1140287029
channel c2: reading from backup piece +FRA/ORCLCDB/BACKUPSET/2023_08_19/nnndf0_tag20230819t170606_0.291.1145293567
channel c3: starting datafile backup set restore
channel c3: specifying datafile(s) to restore from backup set
channel c3: restoring datafile 00009 to /u01/app/oracle/oradata/ORCLCDB/orclpdb/system.272.1140292289
channel c3: restoring datafile 00010 to /u01/app/oracle/oradata/ORCLCDB/orclpdb/sysaux.273.1140292289
channel c3: restoring datafile 00011 to /u01/app/oracle/oradata/ORCLCDB/orclpdb/undotbs1.271.1140292289
channel c3: restoring datafile 00012 to /u01/app/oracle/oradata/ORCLCDB/orclpdb/users.275.1140292305
channel c3: reading from backup piece +FRA/ORCLCDB/FECB9F1537517278E0537885A8C0E7DC/BACKUPSET/2023_08_19/nnndf0_tag20230819t170606_0.290.1145293671
channel c1: restoring datafile 00005
input datafile copy RECID=22 STAMP=1144754940 file name=+FRA/ORCLCDB/FECB1A5B8C146A75E0537885A8C0F418/DATAFILE/system.260.1144754939
destination for restore of datafile 00005: /u01/app/oracle/oradata/ORCLCDB/pdbseed/system.266.1140289995
channel c4: restoring datafile 00006
input datafile copy RECID=24 STAMP=1144754946 file name=+FRA/ORCLCDB/FECB1A5B8C146A75E0537885A8C0F418/DATAFILE/sysaux.259.1144754945
destination for restore of datafile 00006: /u01/app/oracle/oradata/ORCLCDB/pdbseed/sysaux.267.1140289995
channel c4: copied datafile copy of datafile 00006, elapsed time: 00:00:45
output file name=/u01/app/oracle/oradata/ORCLCDB/pdbseed/sysaux.267.1140289995 RECID=34 STAMP=1145295053
channel c4: restoring datafile 00008
input datafile copy RECID=25 STAMP=1144754949 file name=+FRA/ORCLCDB/FECB1A5B8C146A75E0537885A8C0F418/DATAFILE/undotbs1.268.1144754949
destination for restore of datafile 00008: /u01/app/oracle/oradata/ORCLCDB/pdbseed/undotbs1.268.1140289995
channel c1: copied datafile copy of datafile 00005, elapsed time: 00:01:00
output file name=/u01/app/oracle/oradata/ORCLCDB/pdbseed/system.266.1140289995 RECID=36 STAMP=1145295065
channel c3: piece handle=+FRA/ORCLCDB/FECB9F1537517278E0537885A8C0E7DC/BACKUPSET/2023_08_19/nnndf0_tag20230819t170606_0.290.1145293671 tag=TAG20230819T170606
channel c3: restored backup piece 1
channel c3: restore complete, elapsed time: 00:01:00
channel c4: copied datafile copy of datafile 00008, elapsed time: 00:00:15
output file name=/u01/app/oracle/oradata/ORCLCDB/pdbseed/undotbs1.268.1140289995 RECID=38 STAMP=1145295072
channel c2: piece handle=+FRA/ORCLCDB/BACKUPSET/2023_08_19/nnndf0_tag20230819t170606_0.291.1145293567 tag=TAG20230819T170606
channel c2: restored backup piece 1
channel c2: restore complete, elapsed time: 00:01:41
Finished restore at 19-AUG-23

datafile 1 switched to datafile copy
input datafile copy RECID=41 STAMP=1145295112 file name=/u01/app/oracle/oradata/ORCLCDB/system.257.1140286827
datafile 3 switched to datafile copy
input datafile copy RECID=42 STAMP=1145295112 file name=/u01/app/oracle/oradata/ORCLCDB/sysaux.258.1140286963
datafile 4 switched to datafile copy
input datafile copy RECID=43 STAMP=1145295112 file name=/u01/app/oracle/oradata/ORCLCDB/undotbs1.259.1140287029
datafile 7 switched to datafile copy
input datafile copy RECID=44 STAMP=1145295112 file name=/u01/app/oracle/oradata/ORCLCDB/users.260.1140287029
datafile 5 switched to datafile copy
input datafile copy RECID=45 STAMP=1145295112 file name=/u01/app/oracle/oradata/ORCLCDB/pdbseed/system.266.1140289995
datafile 6 switched to datafile copy
input datafile copy RECID=46 STAMP=1145295113 file name=/u01/app/oracle/oradata/ORCLCDB/pdbseed/sysaux.267.1140289995
datafile 8 switched to datafile copy
input datafile copy RECID=47 STAMP=1145295113 file name=/u01/app/oracle/oradata/ORCLCDB/pdbseed/undotbs1.268.1140289995
datafile 9 switched to datafile copy
input datafile copy RECID=48 STAMP=1145295113 file name=/u01/app/oracle/oradata/ORCLCDB/orclpdb/system.272.1140292289
datafile 10 switched to datafile copy
input datafile copy RECID=49 STAMP=1145295113 file name=/u01/app/oracle/oradata/ORCLCDB/orclpdb/sysaux.273.1140292289
datafile 11 switched to datafile copy
input datafile copy RECID=50 STAMP=1145295113 file name=/u01/app/oracle/oradata/ORCLCDB/orclpdb/undotbs1.271.1140292289
datafile 12 switched to datafile copy
input datafile copy RECID=51 STAMP=1145295113 file name=/u01/app/oracle/oradata/ORCLCDB/orclpdb/users.275.1140292305


Starting recover at 19-AUG-23

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

Finished recover at 19-AUG-23
released channel: c1
released channel: c2
released channel: c3
released channel: c4


4.打开数据库


RMAN> alter database open;



5.验证数据库数据文件


SYS@orclcdb> select name from v$datafile;

NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/ORCLCDB/system.257.1140286827
/u01/app/oracle/oradata/ORCLCDB/sysaux.258.1140286963
/u01/app/oracle/oradata/ORCLCDB/undotbs1.259.1140287029
/u01/app/oracle/oradata/ORCLCDB/pdbseed/system.266.1140289995
/u01/app/oracle/oradata/ORCLCDB/pdbseed/sysaux.267.1140289995
/u01/app/oracle/oradata/ORCLCDB/users.260.1140287029
/u01/app/oracle/oradata/ORCLCDB/pdbseed/undotbs1.268.1140289995
/u01/app/oracle/oradata/ORCLCDB/orclpdb/system.272.1140292289
/u01/app/oracle/oradata/ORCLCDB/orclpdb/sysaux.273.1140292289
/u01/app/oracle/oradata/ORCLCDB/orclpdb/undotbs1.271.1140292289
/u01/app/oracle/oradata/ORCLCDB/orclpdb/users.275.1140292305


6. 临时文件及其他文件的处理

可以参照这个处理:
http://bbs.cqsztech.com/forum.ph ... hlight=%D2%EC%BB%FA


附录:
     mos:

Doc ID 2818346.1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/211992.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux_CentOS_7.9 VNC安装卸载以及相关配置开机自启动服务简易记录

VNC安装卸载以及相关配置开机自启动服务: 查看环境:(yum镜像源配置可以参考我之前文章里面有详细参考http://t.csdnimg.cn/mzGoI) [rootorcl238 ~]# rpm -qa | grep vnc ##查看系统现有VNC软件版本 gtk-vnc2-0.7.0-3.el7.x86…

道可云元宇宙每日资讯|青岛市元宇宙领域新产品推介暨产学研对接会举行

道可云元宇宙每日简报(2023年12月7日)讯,今日元宇宙新鲜事有: 青岛市元宇宙领域新产品推介暨产学研对接会举行 为加快推动青岛市元宇宙技术和产业创新,引领下一代互联网发展,青岛市元宇宙领域新产品推介暨…

算法基础九

螺旋矩阵2 给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix。 示例 1: 输入:n 3 输出:[[1,2,3],[8,9,4],[7,6,5]] 示例 2: 输入:n …

第12节: Vue3 修饰符

如何在UniApp中使用Vue3框架使用修饰符&#xff1a; <template> <view> <button click"toggleVisibility ^ :disabledisDisabled">点击切换显示状态</button> <text>{{ isVisible ? 显示 : 隐藏 }}</text> </view> …

简易加减运算器的制作----数字电路设计(含proteus仿真)

简易加减运算器的制作 一、功能要求—基本功能 1、自制0-9按键&#xff0c;在一个LED数码管上稳定地显示当前按下的值。&#xff08;基本功能&#xff09; 2、增加、两个按键&#xff0c;实现0-9两个一位数的加法运算&#xff0c;同时在两位LED上稳定地显示运算结果。&#…

React中每次渲染都会传入一个新的props.children到子组件?

传入props.children后, 为什么会导致组件的重新渲染&#xff1f; 问题描述 在 react 中, 我想要对组件的渲染进行优化, 遇到了一个非常意思的问题, 当我向一个组件中传入了 props.children 之后, 每次父组件重新渲染都会导致这个组件的重新渲染; 它看起来的表现就像是被memo包…

MTU与MSS

MTU&#xff1a;一个网络包的最大长度&#xff0c;以太网中一般为1500各字节。 MSS&#xff1a;除去头部之后&#xff0c;一个网络包所能容纳的TCP数据的最大长度。 应用程序调用write后&#xff0c;将要发送的数据被交给TCP/IP协议栈进行。 协议栈不关心应用的数据内容&…

四:爬虫-Cookie与Session实战

四&#xff1a;Cookie与Session实战 ​ 在浏览网站的过程中&#xff0c;我们经常会遇到需要登录的情况&#xff0c;有些页面只有登录之后才可以访问。在登录之后可以连续访问很多次网站&#xff0c;但是有时候过一段时间就需要重新登录。还有一些网站&#xff0c;在打开浏览器…

c语言归并排序(详解)

归并排序是一种分治算法&#xff0c;它将列表分割成较小的子列表&#xff0c;然后递归地对子列表进行排序&#xff0c;最后将这些子列表合并以产生已排序的列表。基本概念包括&#xff1a; 分割&#xff1a;将列表分割成较小的子列表&#xff0c;直到子列表的长度为1或0。排序…

Leetcode—219.存在重复元素II【简单】

2023每日刷题&#xff08;五十三&#xff09; Leetcode—219.存在重复元素II 实现代码 class Solution { public:bool containsNearbyDuplicate(vector<int>& nums, int k) {unordered_map<int, int> m;int n nums.size();for(int i 0; i < n; i) {if(m…

vs的生成事件error MSB3073

生成事件设置位于&#xff1a;项目-》属性-》生成事件&#xff1b; 生成事件有&#xff1a;生成前事件、链接前事件、生成后事件 以生成前事件为例&#xff1a;可以用于一些库文件的配置 COPY ..\dll\*.* .\bin\ MKDIR .\bin\libx COPY ..\dll\libx\*.* .\bin\libx这里是在开…

[Decipher@mailfence.com].faust勒索病毒数据怎么处理|数据解密恢复

导言&#xff1a; 在数字世界的边缘&#xff0c;[support2022cock.li].faust、[tsai.shenmailfence.com].faust、[Encrypteddmailfence.com].faust、[backupsairmail.cc].faust、[Deciphermailfence.com].faust勒索病毒如同黑暗的幽灵&#xff0c;威胁着我们珍贵的数字财产。本…

漏洞复现-大华dss struts2-045表达式注入漏洞(附漏洞检测脚本)

免责声明 文章中涉及的漏洞均已修复&#xff0c;敏感信息均已做打码处理&#xff0c;文章仅做经验分享用途&#xff0c;切勿当真&#xff0c;未授权的攻击属于非法行为&#xff01;文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直接或者间接的…

【webpack】初始化

webpack 旧项目的问题下一代构建工具 Vite 主角 &#xff1a;webpack安装webpack1&#xff0c;mode的选项2&#xff0c;使用source map 精准定位错误行数3&#xff0c;使用watch mode(观察模式)&#xff0c;自动运行4&#xff0c;使用webpack-dev-server工具&#xff0c;自动刷…

Linux_CentOS_7.9配置oracle sqlplus、rman实现上下按键切换历史命令等便捷效率功能之简易记录

配置oracle sqlplus以及rman可以上下按键切换历史命令等便捷效率功能 设置前提是已经yum安装了rlwrap软件具体软件下载及配置参考文章http://t.csdnimg.cn/iXuVK su - oracleVim .bash_profile ## 文件中增加如下的别名设置 ---------------- alias sqlplusrlwrap sqlplus…

c++的算术生成算法

#include<numeric>//算术生成算法头文件 要加的头文件#include<numeric> accumulate 是 C 标准库中的一个算法函数&#xff0c;用于计算给定范围内的数值之和&#xff0c;它位于 <numeric> 头文件中。它的函数原型如下&#xff1a; template <class In…

Matlab之带时区的日期时间数据和不带时区的日期时间数据相互转换方法

使用datetime和datetimezone函数 通过使用datetime和datetimezone函数&#xff0c;可以将带时区的日期时间数据转换为不带时区的数据&#xff0c;或者将不带时区的日期时间数据转换为带时区的数据。这样可以满足坐标区的配置要求。 1、将带时区的日期时间数据转换为不带时区的…

理解IoC容器初始化

问题&#xff1a;当自己面试或者背诵八股文时&#xff0c;会背到各种各样的spring底层的东西&#xff0c;自己越看越迷糊。 OS&#xff1a;不知道兄弟们是不是也会这样&#xff1f;如果大家没有说明我太菜了。 原因&#xff1a;就是自己学的框架越来越多&#xff0c;很多框架…

​types --- 动态类型创建和内置类型名称​

目录 动态类型创建 标准解释器类型 附加工具类和函数 协程工具函数 源代码: Lib/types.py 此模块定义了一些工具函数&#xff0c;用于协助动态创建新的类型。 它还为某些对象类型定义了名称&#xff0c;这些名称由标准 Python 解释器所使用&#xff0c;但并不像内置的 int …

代码规范及开发工具

代码规范及开发工具&#xff1a; 前端&#xff08;vscode、idea&#xff09;: JavaScript规范&#xff1a; 1. 谷歌开源项目风格指南&#xff1a;JavaScript 、TypeScript篇 https://zh-google-styleguide.readthedocs.io/en/latest/google-typescript-…