在恢复管理器(RMAN)创建恢复目录测试(解决报错'对表空间 XX无权限'和'名称已由现有对象使用')

使用RMAN创建恢复目录演示

--创建表空间
create tablespace rman_tbs 
datafile 'F:\app\hanlin\oradata\orcl\rman_tbs.dbf'
size 200M  autoextend on next 5m maxsize unlimited;
--创建用户并赋予权限
create user rman_user identified by 123456 default tablespace rman_tbs
temporary tablespace temp
quota unlimited on rman_tbs;
grant connect,recovery_catalog_owner,resource to rman_user;
--连接恢复管理器
C:\Users\hanlin>rman catalog rman_user/123456 target orcl;
恢复管理器: Release 12.1.0.1.0 - Production on 星期日 5月 14 13:42:48 2017
Copyright (c) 1982, 2013, Oracle and/or its affiliates.  All rights reserved.
目标数据库口令:
已连接到目标数据库: ORCL (DBID=1462838276)
连接到恢复目录数据库
--创建恢复目录,报错
RMAN> create catalog tablespace rman_tbs;
创建 config_update 时出现'对表空间 'RMAN_TBS' 无权限'错误
恢复目录数据库发生 ORACLE 错误: ORA-01950: 对表空间 'RMAN_TBS' 无权限
恢复目录数据库发生 ORACLE 错误: ORA-00942: 表或视图不存在
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-06433: 安装恢复目录时出错
--再次创建,则出现'名称已由现有对象使用'错误
RMAN> create catalog tablespace rman_tbs;
创建 db 时出错
恢复目录数据库发生 ORACLE 错误: ORA-00955: 名称已由现有对象使用
恢复目录数据库发生 ORACLE 错误: ORA-00942: 表或视图不存在
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-06433: 安装恢复目录时出错
--推测是之前的恢复目录创建报错导致的,先删除
RMAN> drop catalog;
恢复目录所有者是RMAN_USER
再输入一次 DROP CATALOG 命令来确认目录删除
RMAN> drop catalog;
恢复目录已删除
--针对对表空间没有权限问题,在pl/sql上查询该用户有没有正确授权
select * from dba_role_privs where grantee='RMAN_USER';
--发现角色有正确授权,可能是角色没有生效导致
set role recovery_catalog_owner;
--再次到恢复管理器,创建恢复目录
RMAN> create catalog tablespace rman_tbs;
恢复目录已创建
--注册数据库
RMAN> register database;
注册在恢复目录中的数据库
正在启动恢复目录的全部重新同步
完成全部重新同步

努力不会背叛

博文仅供参考,欢迎大家来访。如有错误之处,希望批评指正 

你可能感兴趣的:(Oracle,study)