RAC 技术这两年热度不断提升,随着ORACLE推广力度不断加大以及时间的推移,RAC特性也在逐步被人(DBA?人?DBA能算人不,5555)所熟悉,做为最基础也最重要的数据库维护操作--备份恢复,本文将通过实际操作,演示RAC数据库环境中,RMAN备份与恢复。

  全文继承三思笔记系列文章主旨:注重实践。

1、修改RAC数据库的归档模式

  RMAN 备份数据库时,要求目标库必须 ( 表抬杠,我所说的是一般意义上的正式库) 处于归档模式,因此三思首先简单描述一下RAC环境数据库如何修改归档模式。

  修改归档模式的命令 还 是在MOUNT模式下执行ALTER DATABASE ARCHIVELOG/NOARCHIVELOG;命令,不过如果操作的是RAC数据库,那么必须所有实例都处于非OPEN状态,然后在任意一个处于MOUNT状态的实例执行ALTER DATABASE命令,操作成功后,再正常启动其它实例即可。

  这里需要注意的一点是,RAC数据库由于拥有多个实例,因此需要注意每个实例相关初始化参数:LOG_ARCHIVE_DEST_n的设置,务必需要确保该参数设置的路径合法有效,归档也能顺利进行。

  下面列举一个启用RAC数据库归档模式的演示: 以sysdba身份连接到ORACLE数据库的任意实例,查询归档状态,以及当前实例的状态:

    JSSDBN1 > archive log list;

    Database log mode              No Archive Mode

    Automatic archival             Disabled

    Archive destination            /data/ora10g/product/10.2.0/db_1/dbs/arch

    Oldest online log sequence     21 6

    Current log sequence           21 7

    JSSDBN1 > select inst_id,instance_name,version,archiver,status from gv$instance;

       INST_ID INSTANCE_NAME    VERSION           ARCHIVE STATUS

    ---------- ---------------- ----------------- ------- ------------

             1 jssdbn1          10.2.0.4.0        STOPPED MOUNTED

             2 jssdbn2          10.2.0.4.0        STOPPED MOUNTED

  上述返回的数据中可以获得下列信息:

  • 未启动归档模式 ;
  • 10204 版本的双节点数据库并均启动至MOUNT状态 ;
  • 默认归档路径未修改过 ;

  当然啦,上述显示的信息都是三思有意为之,要不然后面就不好干了。情况大家都清楚了, 因此下面我们首先需要做的,是修改归档的默认路径 :

    JSSDBN1 > alter system set log_archive_dest_1=¨location=/data/oradata/jssdbn1/archivelog¨    sid=¨jssdbn1¨;            

    System altered.

    JSSDBN1 > alter system set log_archive_dest_1=¨location=/data/oradata/jssdbn2/archivelog¨    sid=¨jssdbn2¨;

    System altered.

  考虑到两个节点的目录结构可能不一致,因此这里分别为节点1和节点2指定适当的路径。

  接下来就可以启动归档模式了,需要注意如果 你所操作的环境中 实例 状态 为OPEN 模式 , 一定 要首先关闭 实例 并 重新 启动到MOUNT状态,注意关闭的时候 是 全部关闭,而启动时只需要启动一个实例即可,其它实例可等归档状态启用后再正常启动。

    JSSDBN1 > alter database archivelog;

    Database altered.

    JSSDBN1 > alter database open;

    Database altered.

    JSSDBN1 > archive log list;

    Database log mode              Archive Mode

    Automatic archival             Enabled

    Archive destination            /data/oradata/jssdbn1/archivelog

    Oldest online log sequence     21 7

    Next log sequence to archive   21 8

    Current log sequence           21 8

  当前归档模式已经启动,接下来 就可以正常启动其它的实例了 。如果是想关闭RAC数据库的归档模式,操作方式与上相同,只不过在最后将命令改为alter database noarchivelog即可。