拓扑园

  • O&M
    • Universal部署
    • PHP+VUE+Laravel相关
  • Oracle性能优化
  • Oracle项目案例
    • Oracle近期项目案例(目录)
    • Oracle实战问题解析(目录)
    • Oracle数据库名变更流程(2种方式)
    • Oracle数据库目录更换流程(使用Oracle的clone工具)
    • Oracle数据库迁移方案(目录)
    • 标准化文档系列
  • Oracle基础知识
    • LLL的Oracle培训(分类)
    • LLL的docker培训(分类)
    • 标准化文档系列--(分类)
    • Oracle核心经典分析(分类)
    • 图灵小队----(分类并包含以下文章)
    • --MySQL8.0/Oracle/Memcached/Redis等安装配置于RHEL/OL6/7/8.X系列-运行环境最优配置
    • --PG安装配置于RHEL/9X系列-运行环境最优配置
    • --自动维护任务详解-开启、关闭信息统计收集(统计信息)
    • --图灵小队—Oracle/PostgreSQL下创建一个用户测试表(自行定义数据行)
    • --图灵小队-Oracle存储过程导出表的明细_UTL_FILE(文章)
    • --图灵小队-Oracle数据库删除/卸载操作指南(文章)
    • --图灵小队-Oracle常用性能查询SQL语句(文章)
    • --图灵小队-Oracle数据库上线前检查(文章)
    • --图灵小队-Oracle常用SQL语句(文章)
    • --图灵小队—Linux/Oracle脚本/MySQL合集(持续更新)
    • --图灵小队-Oracle技巧记录(文章)
    • ADG
    • RAC
    • ASM
    • OGG
    • RMAN
    • EXPDP/IMPDP
    • 工厂数据导入导出系列
  • MySQL
    • MySQL数据库规范
    • MySQL项目案例
    • MySQL安装配置
    • MYSQL集群项目
    • MySQL常见处理
    • MySQL-Sysbench专题
    • MySQL-Percona Toolkit专题
  • Linux
    • Shell编程
    • kubernetes
    • docker
    • Linux
    • PHP
    • Nginx
    • haproxy
    • mail
    • 网站
    • 域名
    • 网址收藏
  • 数据中心
    • 新框架系统集合
    • 工作文档
    • EBS数据文件扩容
    • VMware虚拟化
    • EBS系列
    • 大数据
    • SVN
    • zabbix
    • SAP
    • 备份相关
    • FC交换机
    • SVN
  • K-Studing
    • D8-Python学习
    • Oracle/MySQl等面试题
    • LG-MySQL
    • LG-Docker/K8S
    • LG-PostgreSQL
    • LG-ORACLE_BBED
    • LG-ORACLE
    • LG-Elasticsearch(ES)+ELK
    • Oracle-19C-OCP
    • WERN_ORACLE培训
    • redis数据库
    • Nginx培训学习系列
  • 其他
    • 外研英语4年级下册-听力
    • 影视系列
    • 如何使用iTunes软件通过抓包下载旧版本的ios的app
天高任鸟飞
Oracle/MySQL数据库恢复/数据迁移/生产规范报告技术交流:TEL:18562510581(微信同号);加微信入群
  1. 首页
  2. Oracle基础知识
  3. 图灵小队
  4. 正文

图灵小队—2个rman的备份集(1个数据备份集,1个控制文件和参数文件备份集)的恢复过程

2022年8月27日 1875点热度 0人点赞 0条评论

目录

  • 1、获取2个备份集位置
  • 2、先还原参数文件和控制文件
    • (1)还原参数文件
    • (2)还原控制文件
  • 3、查看参数文件并启动
    • (1)查看spfile文件并转换为pfile文件
    • (2)从pfile启动数据库到nomount
  • 4、将数据库启动到mount状态
    • (1)先将控制文件拷贝到上述参数文件指定位置
    • (2)启动到mount状态
  • 5、进入rman查看
  • 6、还原数据文件
    • (1)方法1:直接利用上述的list backup内容
    • (2)方法2:如果没有这个备份目录,我们手动进行还原,可以手动指定备份目录。
  • 7、恢复数据库
  • 8、数据查看
  • 9、创建临时表空间

图灵小队—2个rman的备份集(1个数据备份集,1个控制文件和参数文件备份集)的恢复过程

1、获取2个备份集位置

[oracle@qdmes241:/oracle/restore4]$ll
total 1108620
-rw-r----- 1 oracle oinstall 10928128   Aug 27 08:35    control01.ctl
-rw-r----- 1 oracle oinstall 1113268224 Aug 27 08:27    o1_mf_nnndf_TAG20220824T112512_kjc6jrmz_.bkp

2、先还原参数文件和控制文件

(1)还原参数文件

RMAN>空实例下
RMAN> restore spfile to '/oracle/restore4/spfile.ora' from '/oracle/restore4/o1_mf_s_1113564315_kjc6jvpx_.bkp';

或者直接strings /oracle/restore4/o1_mf_s_1113564315_kjc6jvpx_.bkp 找到参数文件和控制文件内容。

(2)还原控制文件

RMAN> restore controlfile to '/oracle/restore4/control01.ctl' from '/oracle/restore4/o1_mf_s_1113564315_kjc6jvpx_.bkp';

3、查看参数文件并启动

(1)查看spfile文件并转换为pfile文件

*._log_deletion_policy='ALL'
*.audit_file_dest='/oracle/app/oracle/admin/mesorcl/adump'
*.audit_trail='db'
*.compatible='12.2.0'
*.control_files='/oracle/app/oracle/oradata/mesorcl/control01.ctl','/oracle/app/oracle/oradata/mesorcl/control02.ctl'
*.db_block_size=8192
*.db_name='mesorcl'
*.db_recovery_file_dest_size=53687091200
*.db_recovery_file_dest='/oracle/archivelog'
*.db_unique_name='mesorcl'
*.diagnostic_dest='/oracle/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=mesorclXDB)'
*.local_listener=''
*.nls_language='AMERICAN'
*.nls_territory='AMERICA'
*.open_cursors=300
*.pga_aggregate_target=1265m
*.processes=640
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=3794m
*.undo_tablespace='UNDOTBS1'

(2)从pfile启动数据库到nomount

SQL> startup pfile='/oracle/restore4/pfile.ora' nomount;

4、将数据库启动到mount状态

(1)先将控制文件拷贝到上述参数文件指定位置

[oracle@qdmes241:/oracle/restore4]$cp control01.ctl /oracle/app/oracle/oradata/mesorcl/control01.ctl
[oracle@qdmes241:/oracle/restore4]$cp control01.ctl /oracle/app/oracle/oradata/mesorcl/control02.ctl

(2)启动到mount状态

启动过程会读取控制文件

SQL> alter database mount;
Database altered.

5、进入rman查看

list backup列出了控制文件记录的备份的目录,我们可以把上述文件放到这个目录中

RMAN> list backup;

using target database control file instead of recovery catalog

List of Backup Sets
===================

BS Key Type LV Size Device Type Elapsed Time Completion Time 
------- ---- -- ---------- ----------- ------------ -------------------
2 Full 1.04G DISK 00:00:01 2022-08-24 11:25:13
BP Key: 2 Status: AVAILABLE Compressed: NO Tag: TAG20220824T112512
Piece Name: /oracle/archivelog/MESORCL/backupset/2022_08_24/o1_mf_nnndf_TAG20220824T112512_kjc6jrmz_.bkp
List of Datafiles in backup set 2
File LV Type Ckp SCN Ckp Time Abs Fuz SCN Sparse Name
---- -- ---- ---------- ------------------- ----------- ------ ----
1 Full 1742899 2022-08-24 11:25:12 NO /oracle/app/oracle/oradata/mesorcl/system01.dbf
3 Full 1742899 2022-08-24 11:25:12 NO /oracle/app/oracle/oradata/mesorcl/sysaux01.dbf
4 Full 1742899 2022-08-24 11:25:12 NO /oracle/app/oracle/oradata/mesorcl/undotbs01.dbf
5 Full 1742899 2022-08-24 11:25:12 NO /oracle/app/oracle/oradata/mesorcl/test01.dbf
7 Full 1742899 2022-08-24 11:25:12 NO /oracle/app/oracle/oradata/mesorcl/users01.dbf

6、还原数据文件

(1)方法1:直接利用上述的list backup内容

将备份文件拷贝到控制文件所记录的备份目录中

/oracle/archivelog/MESORCL/backupset/2022_08_24/o1_mf_nnndf_TAG20220824T112512_kjc6jrmz_.bkp

--如果我们有上述控制文件所记录的数据目录:/oracle/app/oracle/oradata/mesorcl/

可以直接进行RMAN>restore database;

--如果我们没有控制文件所记录的数据目录,可以创建其他目录,我们需要指定还原目标位置:

RMAN>run{
allocate channel d1 type disk;
allocate channel d2 type disk;
set newname  for datafile 1 to '/oracle/restore4/system01.dbf';
set newname  for datafile 3 to '/oracle/restore4/sysaux01.dbf';
set newname  for datafile 4 to '/oracle/restore4/undotbs01.dbf';
set newname  for datafile 5 to '/oracle/restore4/test01.dbf';
set newname  for datafile 7 to '/oracle/restore4/users01.dbf';
restore database;
switch datafile all;
release channel d1;
release channel d2;
}
只还原(restore),不会恢复(recover),因为没有archivelog和redolog,后面需要手动recover

(2)方法2:如果没有这个备份目录,我们手动进行还原,可以手动指定备份目录。

注意这种restore database from ' ***'的模式貌似不能使用。所以我们使用方法1;

--如果我们有上述控制文件所记录的数据目录:/oracle/app/oracle/oradata/mesorcl/

RMAN> restore database from '/oracle/restore4/o1_mf_nnndf_TAG20220824T112512_kjc6jrmz_.bkp'

--如果我们没有控制文件所记录的数据目录,可以创建其他目录,我们需要指定还原目标位置,并更新到控制文件(switch datafile all):

RMAN>run
{
allocate channel d1 type disk;
allocate channel d2 type disk;
set newname  for datafile 1 to '/oracle/restore4/system01.dbf';
set newname  for datafile 3 to '/oracle/restore4/sysaux01.dbf';
set newname  for datafile 4 to '/oracle/restore4/undotbs01.dbf';
set newname  for datafile 5 to '/oracle/restore4/test01.dbf';
set newname  for datafile 6 to '/oracle/restore4/users01.dbf';
restore database from '/oracle/restore4/o1_mf_nnndf_TAG20220824T112512_kjc6jrmz_.bkp';
switch datafile all;
release channel d1;
release channel d2;
}

只还原(restore),不会恢复(recover),因为没有archivelog和redolog,后面需要手动recover

7、恢复数据库

SQL> recover database using backup controlfile until cancel;
ORA-00279: change 1742899 generated at 08/24/2022 11:25:12 needed for thread 1
ORA-00289: suggestion : /oracle/archivelog/MESORCL/archivelog2/2022_08_24/o1_mf_1_1_kjcggkyt_.arc
ORA-00280: change 1742899 for thread 1 is in sequence #1
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
cancel
Media recovery cancelled.
SQL> alter database open resetlogs;
Database altered.

8、数据查看

SQL> select count(*) from test.test01;

COUNT(*)
----------
888

SQL> select file#,name,status from v$datafile;
FILE#                      NAME                                            STATUS
---------- ------------------------------------------------------------ -----------
1           /oracle/restore4/system01.dbf                                  SYSTEM
3           /oracle/restore4/sysaux01.dbf                                  ONLINE
4           /oracle/restore4/undotbs01.dbf                                 ONLINE
5           /oracle/restore4/test01.dbf                                    ONLINE
7           /oracle/app/oracle/oradata/mesorcl/users01.dbf                 ONLINE

9、创建临时表空间

SQL> create temporary tablespace temp02 tempfile '/oracle/app/oracle/oradata/mesorcl/temp02.dbf' size 20m autoextend on;
SQL> alter database default temporary tablespace temp02;
SQL> drop tablespace temp including contents and datafiles;
SQL> create temporary tablespace temp tempfile '/oracle/app/oracle/oradata/mesorcl/temp01.dbf' size 20m autoextend on;
SQL> alter database default temporary tablespace temp;
SQL> drop tablespace temp02 including contents and datafiles;

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: 暂无
最后更新:2022年9月2日

admin

这个人很懒,什么都没留下

打赏 点赞
< 上一篇
下一篇 >

COPYRIGHT © 2022 拓扑园. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

鲁ICP备2021020523号

鲁ICP备2021020523号