RMAN 资料库元数据总是记录在目标数据库的控制文件中。另外,它也可以存储在一个rman catalog-恢复目录的单独数据库中。rman catalog是一个独立的数据库和使用了独立的schema,用来存储rman备份信息的
相关对象,如表和索引等对象。catalog只是存储rman备份的元数据信息,不会存储rman备份集。
优点:
1、可以永久保留rman备份元数据。当控制文件丢失或损坏时可以通过catalog目录来恢复。
2、与控制文件的资料档案库存储rman元数据相比caalog存储的时间更长。
3、支持rman的所有功能。
缺点:
需要分配基础资源创建和配置单独的数据库,并对该库进行日常维护和备份等。如果进行数据库恢复时,catalog如果因基础环境,网络等原因不可用时,数据库如果也无法正常进行。
rman catalog存储哪些信息?

在执行更新rman资料档案库的任何操作之后以及执行某些操作之前,RMAN 会将关于数据库结构、归档重做日志、备份集和数据文件副本的信息从目标数据库控制文件中同步到恢复目录中。
## 创建rman catalog步骤
1、创建和配置rman catalog使用的资料库。
创建和配置数据库时应考虑数据库版本,数据库服务器配置,存储大小等因素。在19c中建议catalog资料库使用19c。
使用dbca命令在现有CDB中创建PDB,资料库pdb名称为rcatpdb








检查PDB状态
[oracle@19cdb01 trace]$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Mon Jun 23 10:07:06 2025
Version 19.27.0.0.0
Copyright (c) 1982, 2024, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.27.0.0.0
Hello
------------------------------------------------
Welcome! you are connected to CDB19C database
CONNAME
--------------------------------------------------------------------------------
CDB$ROOT
SYS@cdb19c(CDB$ROOT)> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 HRPDB READ WRITE NO
保存PDB状态
SYS@cdb19c(CDB$ROOT)> alter pluggable database RCATPDB save state;
Pluggable database altered.
SYS@cdb19c(CDB$ROOT)>
CDB启动时可以保证PDB随CDB的启动而启动
2、创建表空间
切换到PDB中创建表空间
SYS@cdb19c(CDB$ROOT)> alter session set container=RCATPDB;
Session altered.
SYS@cdb19c >create tablespace rcattbs datafile '/u01/app/oracle/oradata/CDB19C/emrep/rcatbs01.dbf' size 50m;
Tablespace created.
检查确认表空间
SYS@cdb19c >select tablespace_name from dba_tablespaces;
TABLESPACE_NAME
------------------------------
SYSTEM
SYSAUX
UNDOTBS1
TEMP
RCATTBS
3、创建catalog所有者
创建用户rcatowner 并授权
SYS@cdb19c >CREATE USER rcatowner IDENTIFIED BY rcpass
TEMPORARY TABLESPACE temp
DEFAULT TABLESPACE rcattbs
QUOTA UNLIMITED ON rcattbs;
SYS@cdb19c >GRANT recovery_catalog_owner TO rcatowner;
检查用户
SYS@cdb19c(CDB$ROOT)> select USERNAME,ACCOUNT_STATUS,TEMPORARY_TABLESPACE,DEFAULT_TABLESPACE,COMMON from cdb_users where username='RCATOWNER';
USERNAME ACCOUNT_STATUS TEMPORARY_TABLESPACE DEFAULT_TABLESPACE COM
-------------------- -------------------- ------------------------------ -------------------- ---
RCATOWNER OPEN TEMP RCATTBS NO
SYS@cdb19c(CDB$ROOT)>
4、创建catalog
[oracle@19cdb01 trace]$ rman catalog rcatowner@rcatpdb
Recovery Manager: Release 19.0.0.0.0 - Production on Mon Jun 23 10:18:04 2025
Version 19.27.0.0.0
Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.
recovery catalog database Password:
connected to recovery catalog database
RMAN> create catalog;
recovery catalog created
-the end-
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




