更新时间:2024-06-14 10:37:10

异机恢复到RAC

RAC异机恢复到RAC环境与恢复实例步骤一致,详情见实例恢复步骤。

注意:RAC恢复到RAC环境,需要异机环境上有与原机环境相同名称的RAC数据库。

恢复后操作:

恢复到异机上成功后,因为当前异机上默认临时表空间是原机的,需要重建异机上的默认临时表空间。如果是启用CDB的环境,同时要更改CDB$ROOT,PDB等各个容器数据库的默认临时表空间。

异机恢复到单机

Windows和Linux只有恢复端的操作系统不一致,AnyBackup Server的操作步骤一样。故具体的恢复流程均可参考下述恢复步骤。

  1. 恢复参数文件。新建恢复任务,选择恢复参数文件到单机环境,详情见参数文件恢复步骤。

  2. 修改单机自身参数文件中的控制文件名。RAC恢复到单机的参数文件,如下图所示,复制该参数文件中的控制文件名,将单机原参数文件中控制文件名替换为该控制文件名。

    image49.png

    Oracle单机修改后的参数文件,如下图:

    image50.png

  3. 根据修改后的参数文件创建spfile启动Oracle实例到STARTED,如下图:

    image51.png

  4. 发起实例恢复,异机恢复到单机与实例恢复相同,详情参照实例恢复步骤。

    • 恢复目的地:默认为请选择客户端,此处选择要恢复到的单机客户端,Linux环境选择客户端后需设置用户名称;数据文件可设置统一重定向路径和分别重定向路径,Linux环境恢复时,重定向的路径需要oracle用户具有读写权限才能恢复成功。

    • 恢复为单机/RAC:选择恢复为单机。

    • 恢复控制文件:若没有恢复过控制文件到单机,则此处控制文件必须置为ON。

    • 恢复后使用数据库联机:此处需将恢复后使数据库联机选项置为OFF。若开启恢复后使数据库联机选项,恢复结果可能会失败,此时数据已经恢复完成,可通过手动执行下面步骤6到10,完成后续恢复后处理。建议不启用恢复后使数据库联机选项。

    • 通道数:可根据需要启用并按照通道数配置说明设置通道数。

  5. 在新建恢复任务选项均设置完成后,点击完成按钮即可开始恢复。

控制台上恢复成功后,需要手动执行如下步骤6到10,将单机数据库启动到正常可用状态。

  1. 修改在线日志文件路径。重命名在线日志文件,步骤如下:

    1. 查询RAC恢复到单机后,单机中的在线日志文件名,命令如下:

      select * from v$logfile;

    2. 根据查询到的文件名,修改在线日志文件,命令如下:

      alter database rename file '+DATA/eisoo/onlinelog/ group_1.261.923129861' to '/rac-data/redo1.log';

      alter database rename file '+DATA/eisoo/onlinelog/ group_2.262.923129861' to '/rac-data/redo2.log';

      image52.png

      逐个重命名单机中的在线日志文件名:

      image53.png

      注意有些数据库版本,在执行完一条重命名日志文件操作后,可能出现如下报错:

      image54.png

      此重命名操作是生效的,只需退出该SQL*Plus,重新登录数据库,将所有在线日志重命名之后,可通过select * from v$logfile查询,是否所有重命名操作已经完成。

  2. 若RAC备份时启用BCT,则在恢复到单机后,需要禁用BCT:alter database disable block change tracking;或者将bct文件重命名到单机上其他路径。

  3. 使Oracle数据库联机。执行alter database open resetlogs;并检查Oracle数据库实例是否是open状态,命令:select instance_name, status from v$instance

  4. 联机后可以根据需要删除不需要的undo和redo,禁用不需要的线程,如下图:

    image55.png

  5. 重建单机上的临时表空间。即,先创建临时表空间,再将新建的临时表空间设置为默认临时表空间,最后删除从RAC恢复过来的临时表空间。如果是启用了CDB特性的环境,则需要重建单机上每个容器数据库的默认临时表空间。

注意:若浏览恢复完成后,上述步骤执行完alter database open resetlogs无法启动数据库,提示缺少某些归档,此时,需要继续高级恢复归档日志至单机。