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-
------------------------------------------------------------------------------------------------------------------------------------
**MyBologs:**
https://www.myhfxf.com
https://www.xiaofeihuangfu.com
CSDN: https://blog.csdn.net/xfhuangfu
ITPUB: https://blog.itpub.net/28373936/
微信公众号:xfhuangfu
------------------------------------------------------------------------------------------------------------------------------------
