【赵渝强老师】Oracle RMAN的目录数据库

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云原生数据库 PolarDB 分布式版,标准版 2核8GB
简介: Oracle RMAN默认将备份元信息存储在控制文件中,但控制文件损坏或丢失会导致恢复失败,且备份增多会使控制文件无限增长。为解决这些问题,Oracle引入了RMAN目录数据库(Catalog Database),专门用于存储RMAN备份的元信息。使用目录数据库可提升备份管理效率,支持多数据库共享、长期备份历史记录存储,并可保存RMAN脚本。本文详细介绍了如何创建目录数据库、注册目标数据库及其操作步骤。

b371.png

在默认情况下,Oracle RMAN将备份时产生的元信息保存到控制文件中。RMAN在执行恢复时,就需要读取控制文件,从而找到备份的信息来完成数据库的恢复。因此,如果控制文件发生了丢失和损坏将导致数据库无法执行恢复。另一方面随着备份的不断增多,也会导致控制文件的大小无限增长。为了更好地管理RMAN备份的元信息,Oracle可以使用一个专门的备份信息存储地来存储这些信息,这就是RMAN的目录数据库(Catalog Database)。如果RMAN备份的目标数据库已经注册到了目录数据库中,当执行备份是时Oracle就会使用目录数据库来取代控制文件存储RMAN备份时产生的元信息。


视频讲解如下:


在RMAN的备份过程中,使用目录数据库具有以下的优点:

  • 取代控制文件用于存储RMAN备份的元信息。
  • 可以存储更长的备份历史记录。
  • 可以被多个目标数据库共享。
  • 可以存储RMAN的脚本。


下图展示了目标数据库和目录数据库之间的关系。

image.png


在了解到了什么是目录数据库后,下面将通过具体的操作步骤来创建一个目录数据库,并完成将目标数据库注册到目录数据库中。


(1)使用Oracle DBCA创建一个新的数据库作为目录数据库使用。目录数据库的名称设置为rcat。如下图所示。

image.png


(2)登录目录数据库,创建RMAN存储备份信息的表空间。

sqlplus sys/password@rcat as sysdba
SQL> create tablespace rcat_tbs datafile '/home/oracle/rcat_tbs01.dbf' size 50M;


(3)给目录数据库创建用户,并为用户授权能够使用rcat_tbs表空间。

SQL> create user c##rcat_owner identified by password;
SQL> alter user c##rcat_owner default tablespace rcat_tbs;
SQL> alter user c##rcat_owner quota unlimited on rcat_tbs;
SQL> grant recovery_catalog_owner to c##rcat_owner;


(4)使用RMAN并以rcat_owner用户进行登录登录,并输入用户的密码。

rman catalog c##rcat_owner@rcat


(5)创建目录数据库所需要的表。

RMAN> create catalog;


(6)验证创建的目录数据库表

sqlplus c##rcat_owner/password@rcat
SQL> select * from tab;
# 输出的信息如下:
TNAME            TABTYPE        CLUSTERID
------------------------------ ------------- ----------
AL            TABLE
BCB            TABLE
BCF            TABLE
BCR            TABLE
BDF            TABLE
BP            TABLE
BRL            TABLE
BS             TABLE
BSF            TABLE
CCB            TABLE
CCF            TABLE
CDF            TABLE
CFS            TABLE
CKP            TABLE
CONF          TABLE
.........


(7)使用RMAN连接目标数据库和目录数据库,并将目标数据库注册到目录数据库中。

rman target / catalog c##rcat_owner@rcat
RMAN> register database;
# 输出的信息如下:
database registered in recovery catalog
starting full resync of recovery catalog
full resync complete


(8)登录目录数据验证目标数据库的注册信息。

sqlplus c##rcat_owner/password@rcat
SQL> select db_id,reg_db_unique_name from db;
# 输出的信息如下:
     DB_ID    REG_DB_UNIQUE_NAME
------------------ ------------------------------
1618358864    ORCL


(9)在RMAN中执行一个简单的备份。

rman target / catalog c##rcat_owner@rcat
RMAN> backup datafile 7;


(10)登录目录数据库检查目录数据库中的RMAN的备份信息。

SQL> select db_name,file#,backup_type from rc_backup_datafile;
# 输出的信息如下:
DB_NAME    FILE#  BACKUP_TYPE
----------------- ----------- ------------------------
ORCL      7     D


从输出的信息可以看出,RMAN在执行备份时将备份的元信息写入了目录数据库中。

相关文章
|
19天前
|
前端开发
轻松掌握 React Hooks:简化状态与副作用管理
轻松掌握 React Hooks:简化状态与副作用管理
137 80
|
19天前
|
前端开发
React useEffect 依赖数组:避免常见错误
React useEffect 依赖数组:避免常见错误
152 78
|
13天前
|
JSON IDE 开发工具
鸿蒙开发:基于DevEco Studio插件实现组件化运行
切换模块之后,务必执行以下:Sync and Refresh Project,仅仅切换后执行一次即可,还有就是设置默认的启动页面,也就是每个模块第一次切换时设置一次即可,通常第一次配置之后,后续便不在配置。
62 23
鸿蒙开发:基于DevEco Studio插件实现组件化运行
|
18天前
|
存储 运维 Java
官宣 | Fluss 0.7 发布公告:稳定性与架构升级
Fluss 0.7 版本正式发布!历经 3 个月开发,完成 250+ 次代码提交,聚焦稳定性、架构升级、性能优化与安全性。新增湖流一体弹性无状态服务、流式分区裁剪功能,大幅提升系统可靠性和查询效率。同时推出 Fluss Java Client 和 DataStream Connector,支持企业级安全认证与鉴权机制。未来将在 Apache 孵化器中继续迭代,探索多模态数据场景,欢迎开发者加入共建!
官宣 | Fluss 0.7 发布公告:稳定性与架构升级
|
17天前
|
Kubernetes Cloud Native 安全
云原生机密计算新范式 PeerPods技术方案在阿里云上的落地和实践
PeerPods 技术价值已在阿里云实际场景中深度落地。
|
19天前
|
JavaScript UED
用组件懒加载优化Vue应用性能
用组件懒加载优化Vue应用性能
|
15天前
|
存储 关系型数据库 MySQL
【赵渝强老师】使用select...into outfile语句备份MySQL
本文介绍了MySQL中使用`SELECT...INTO OUTFILE`语句将表数据导出为文本文件的方法。通过示例演示了如何备份员工表(emp)的数据,包括创建存储目录、设置权限、配置参数`secure_file_priv`以及解决相关错误的过程。字段分隔符和行终止符可自定义,确保数据格式符合需求。最后展示了备份文件的内容,验证操作成功。
106 36
|
11天前
|
JSON Java 测试技术
反射组件使用方法与封装实践技巧详解
本文介绍了Java反射组件的使用方法与封装实践,涵盖反射的基本流程、工具类封装及高级应用。通过获取Class对象、设置访问权限和执行操作等核心步骤,实现对象实例化、方法调用和字段操作。示例代码包括`ReflectionUtils`工具类和通用JSON反序列化器`JsonDeserializer`,并提供实际应用场景。此外,文章总结了反射封装的最佳实践,如异常处理、性能优化、安全性考量及兼容性设计,帮助开发者在框架开发、测试工具等领域高效利用反射机制。
65 27
|
13天前
|
运维 监控 关系型数据库
AI 时代的 MySQL 数据库运维解决方案
本方案将大模型与MySQL运维深度融合,构建智能诊断、SQL优化与知识更新的自动化系统。通过知识库建设、大模型调用策略、MCP Server开发及监控闭环设计,全面提升数据库运维效率与准确性,实现从人工经验到智能决策的跃迁。
144 26
|
10天前
|
人工智能 数据可视化 云计算
刚刚!我用AiPy分析300页的阿里财务报表!
阿里发布2025财年财报并调整合作人队伍,AI助手AiPy结合Doubao模型对其深度分析,生成可视化HTML报告。内容涵盖收入结构、业务板块、资本管理、战略方向及个体发展机遇,如AI应用、跨境电商、本地生活创业等,形式新颖、洞察精准。