RMAN-06428 表示恢复目录未安装,即 RMAN 尝试连接但目标数据库中不存在或未正确注册 recovery catalog schema;根本原因是 catalog 用户未在指定库中执行 create catalog,或连接时指向错误数据库、缺少 RECOVERY_CATALOG_OWNER 权限、TNS 配置错误等。
RMAN-06428 表示“recovery catalog is not installed”,即 RMAN 尝试连接恢复目录(recovery catalog),但目标数据库中未创建或未正确注册该目录。这不是权限或网络问题,而是 catalog schema 根本不存在,或当前连接的数据库不是 catalog 所在库。
很多场景下其实不需要 catalog:单实例、备份策略简单、不跨数据库恢复、不长期保留备份元数据——直接用 control file 记录备份信息完全够用。RMAN 默认就走 control file 模式,connect target / 即可开始备份。
backup database 或 backup archivelog all,没加 connect catalog,却报 RMAN-06428,说明你之前运行过 connect catalog 命令但连错了库,或者脚本里残留了 catalog 连接逻辑connect catalog username/password@db_alias ——哪怕只输了一半也会影响后续行为show all,看输出里是否有 CONFIGURE CATALOG 相关配置;若有,用 configure catalog to none; 清掉必须严格按顺序操作,跳步或换库就会触发 RMAN-06428:
create user rman identified by pwd quota unlimited on users;,再赋权:grant recovery_catalog_owner to rman;
rman catalog rman/pwd@catalog_db,然后执行 create catalog; ——这一步生成基础表结构,不可省略rman target / catalog rman/pwd@catalog_db 连接,再运行 register database; ——注意,register 是把 target 的 DBID 写进 catalog,不是建库操作catalog 参数,否则默认仍走 control file即使 catalog schema 存在,RMAN-06428 仍可能复现:
rman 用户在 catalog 库上缺少 RECOVERY_CATALOG_OWNER 角色(仅 CONNECT 或 RESOURCE 不行)rman/pwd@catalog_db 实际连到了 target 库或其他空库audit_admin_privs,某些版本会静默失败,表现仍是 RMAN-06428
真正卡住的地方往往不是语法,而是 catalog 用户到底有没有在对的库里、以对的角色、跑过 create catalog ——这个命令不报错不代表成功,得查 catrman 视图是否存在、select * from rc_database; 是否返回记录。