一  Oracle 10g RAC安装系列

二  Oracle 11g RAC安装系列

三  Oracle 10g RAC升级至Oracle 11g RAC系列

评论 (6)

  • yizhipingnew| 2014年7月22日

    黄老师:
    您好!
    再次向您求助。目前关于11grac的资料很少,想您这样实在的更少!在你的视频的引导下,我进入RAC的世界。我的问题是这样:11.2.0版本,双节点RAC做备份。将日志从一个节点(MYDB1)传输到另一个节点(MYDB2)出了问题(alter system switch logfile)。TNS配置如下:
    MYDB2 =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.144)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = MYDB)
    (INSTANCE_NAME = MYDB2)
    )
    )

    MYDB1 =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.124)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = MYDB)
    (INSTANCE_NAME = MYDB1)
    )
    )

    MYDB =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = scan-cluster.localdomain)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = MYDB)
    )
    )
    节点之间相互访问正常。

    节点1归档路径如下
    SQL> show parameter dest_2

    NAME TYPE VALUE
    ———————————— ———– ——————————
    db_create_online_log_dest_2 string
    log_archive_dest_2 string service=MYDB2

    做日志切换报错如下:
    Errors in file /u01/app/oracle/diag/rdbms/mydb/mydb1/trace/mydb1_arc1_16483.trc:
    ORA-16009: invalid redo transport destination
    PING[ARC1]: Heartbeat failed to connect to standby ‘MYDB2’. Error is 16009.
    Tue Jul 22 10:39:51 2014
    Thread 1 advanced to log sequence 32 (LGWR switch)
    Current log# 2 seq# 32 mem# 0: +DATA/mydb/onlinelog/group_2.267.853526221
    Current log# 2 seq# 32 mem# 1: +FLASH/mydb/onlinelog/group_2.458.853526223
    Tue Jul 22 10:39:52 2014
    Archived Log entry 53 added for thread 1 sequence 31 ID 0xa5041a43 dest 1:
    看提示貌似是TNS问题,实际上节点之间访问完全正常,也排除了密码问题等问题。期盼 甘露降临!
    我现在仅仅是ORACLE的初学者,也不知道生产环境中RAC是如何备份的,请指导!

    • admin| 2014年7月22日

      @yizhipingnew 您好!
      1 从您的tnsnames.ora配置文件看来,mydb1和mydb2是RAC数据库的两个实例,应该没错。既然这样的话,对于RAC数据库,一个节点的日志是不可能通过alter system switch logfile命令将之传递到另外一个节点,即使log_archive_dest_2参数指向tnsnames.ora里配置的另外一个节点的网络服务名;
      2 只要tnsnames.ora文件配置没问题的话,那么RAC双节点互相访问肯定没有任何问题;
      3 RAC数据库的备份,通常在生产环境下都是将各个节点的归档日志存放指向到共享存储上,比如某个ASM磁盘组,然后,在任何一个节点上通过RMAN备份都可以除了将数据文件备走之外,还可以将RAC下所有节点的归档日志一起备走[当然得显示指明backup archivelog all命令或类似备份归档日志的rman命令]。

      • yizhipingnew| 2014年7月22日

        @admin
        多谢黄老师!我今天几乎崩溃了,不停的上你的站点等回复。
        您的第三点,对我很有教益,关于RAC的资料10g的多,都没提过归档放到共享存储里面,当然也不支持将归档放到ASM。现在能放到ASM了,也免得到处找归档了。
        后来我翻墙搜索到另外一种方法,备份脚本是这样的:
        run{
        allocate channel ch1 type disk;
        allocate channel ch2 type disk;
        backup incremental level 0 database format ‘/u02/db_level0_%d_%T_%s_%p_%t’ tag ‘db_level0’;
        sql ‘alter system archive log current’;
        release channel ch1;
        release channel ch2;
        }
        run
        {
        allocate channel ch1 type disk connect sys/gd123456@mydb1;
        allocate channel ch2 type disk connect sys/gd123456@mydb2;
        backup archivelog all format ‘/u02/arch_level0_%s_%p_%t’ tag ‘arch_level0’ ;
        release channel ch2;
        release channel ch1;
        这种备份可以完成,恢复的时候需要将一个节点的归档,拷贝的另一个节点归档的同目录,将就完成了要求。

        • admin| 2014年7月23日

          @yizhipingnew
          多谢您的关注!
          1 Oracle 10g RAC可以将所有节点的归档日志都放到ASM磁盘组里存放;
          2 备份脚本中,关于备份归档的部分,其实就是让rman分别连接到2个节点上分别执行备份;
          3 我还是建议您考虑将归档日志统一放到ASM磁盘组上存放,便于备份和管理。

      • yizhipingnew| 2014年7月22日

        @admin 关于第一点,我是受了DG里面 ,备库接受主库日志的实现方式启发。另外网上的资料,像三思笔记里面也是这么说的,我想人家也肯定是做到了,我就顺着这条线折腾了一整天。哎!遇到类似bug的问题,白忙了。

        • admin| 2014年7月23日

          @yizhipingnew
          尽信书不如无书,不可完全照葫芦画瓢。
          对于DG环境下,一个库的归档才可以传递并存放到另一套库里。
          先弄清楚基本架构和概念。
          不管怎样,还是多谢您一如既往的关注。

  • 发表评论

    邮箱地址不会被公开。 必填项已用*标注