使用恢复服务中的备份还原内部部署数据库

使用 SQLcl 准备使用恢复服务中存储的备份进行还原的 RMAN 环境。

  1. 使用 SQLcl 以具有 SYSBACKUP 权限的用户身份登录到数据库。
    /opt/oracle/sqlcl/bin/sql -name <DB_UNIQUE_NAME>_rcv_conn

    在此示例中,连接到数据库 c1db1

    /opt/oracle/sqlcl/bin/sql -name c1db1_rcv_conn
  2. 运行 rcv show restore_range 命令以查看用于恢复服务中存储的备份的数据库的恢复范围。
    SQL> rcv show restore_range
  3. 运行 rcv configure rman_env 命令以生成 rcv_restore_template.rman 脚本。
    rcv configure rman_env
    查看示例输出。在此示例中,rcv configure rman_env 命令创建 rcv_restore_template.rman 脚本。
    2025-09-17 23:41:35: Generated template backup script /u01/app/oracle/rcv/dbs/c1db1/rman_env/rcv_restore_template.rman
    2025-09-17 23:41:35: Edit script with RMAN commands to execute.
    2025-09-17 23:41:35: To run script: source /u01/app/oracle/rcv/dbs/c1db1/rman_env/rman_env.sh
    2025-09-17 23:41:35: rman target / catalog /@c1db1_DBRS cmdfile /u01/app/oracle/rcv/dbs/c1db1/rman_env/rcv_restore_template.rman
    2025-09-17 23:41:35: rcv configure rman_env completed successfully
  4. 编辑 RMAN 脚本模板 rcv_restore_template.rman 以包括所需的 RMAN 命令。
  5. 源 RMAN 环境脚本并将 RMAN 连接到目标数据库和恢复目录。
    在此示例中,您获取 rman_env.sh 脚本,然后将 RMAN 连接到目标数据库 c1db1
    [oracle@host ~] source /u01/app/oracle/rcv/dbs/c1db1/rman_env/rman_env.sh
    [oracle@host ~] rman target / catalog /@c1db1_DBRS cmdfile /u01/app/oracle/rcv/dbs/c1db1/rman_env/rcv_restore_template.rman
    
    Recovery Manager: Release 19.0.0.0.0 - Production
    ...
    connected to target database: C1DB1 (DBID=1111401884)
    ...
    RMAN>

    现在,您可以使用常规 RMAN 命令执行 RESTORELIST 备份。

    要了解 RMAN 命令,请参见《Oracle Database Backup and Recovery Reference 》。