首先,简单说明一下 catalog 和 nocatalog 的区别 ,Nocatalog 方式就是用 control file 作为 catalog ,每一次备份都要往控制文件里面写好多备份信息,控制文件里面会有越来越多的备份信息。因此,当使用 rman nocatalog 方式备份时,备份 controlfile 是非常重要的。而且是循环记录,时间久了会擦除旧信息重写,而 catalog 方式会永久保存。 catalog 将备份信息保存在独立的数据库中,防止备份信息的丢失,恢复时会查找备份记录。所以,在日常维护中,在条件允许的情况下,还是有必要对使用 rman 备份的数据库开启恢复目录使用的。
Catalog 则必须要首先要创建目录备份数据库, 建立恢复目录(前提是备份数据库已经创建)。恢复目录的创建和使用示例如下:
1. 创建 Catalog 所需要的表空间
SQL>create tablespace rman_ts datafile '/u01/oracle/oradata/ora11g/rmants.dbf' size 20M autoextend on next 512M maxsize unlimited;
2. 创建 RMAN 用户并授权
SQL>create user rman identified by rman default tablespace rman_ts quota unlimited on rman_ts;
SQL>grant recovery_catalog_owner to rman;(grant connect,resource to rman)
查看角色所拥有的权限:
SQL> conn rman/rman
Connected.
SQL> select * from session_privs;
PRIVILEGE
----------------------------------------
CREATE SESSION
ALTER SESSION
CREATE TABLE
CREATE CLUSTER
CREATE SYNONYM
CREATE VIEW
CREATE SEQUENCE
CREATE DATABASE LINK
CREATE PROCEDURE
CREATE TRIGGER
CREATE TYPE
SQL> select * from session_roles;
ROLE
------------------------------
RECOVERY_CATALOG_OWNER
3.rman 登陆 catalog 库并创建恢复目录
oracle>rman target /
RMAN>create catalog tablespace rman_ts;
recovery catalog created
4. 注册目标数据库到catalog 中
Oracle>rman target / catalog rman/rman
RMAN>register database;(database 是 target database)
database registered in recovery catalog
starting full resync of recovery catalog
full resync complete
RMAN> connect target /;
以后要使用备份和恢复,需要连接到两个数据库中, 命令 :
oracle>rman target / catalog rman/rman ( 第一斜杠表示 target 数据库, catalog 表示 catalog 目录 rman/rman 表示 catalog 用户名和密码 ).
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69995495/viewspace-2760397/ ,如需转载,请注明出处,否则将追究法律责任。