您好,欢迎访问一九零五行业门户网

调整Oracle 11gR2 RAC为单实例库

1应用场景适用于oraclerac与应用程序不兼容的情况,需拆除为单实例;应用案例:主机:alex1、alex2&nb..
1      应用场景
适用于oracle rac与应用程序不兼容的情况,需拆除为单实例;
应用案例:主机:alex1、alex2
            共享存储:datadg1(包含disk1、disk2....disk50,香港服务器,共五十块)
预期效果:拆除rac,均分磁盘到两台主机,创建两个实例;
          alex1:datadg1 (disk1...disk25)
          alex2:datadg2 (disk26...disk50)
2      操作步骤
1.从datadg1中剔除部分asm磁盘组的磁盘,腾出datadg磁盘2组所需的空间,前提条件是datadg1的空间使用率小于50%;
    #su - grid   --任意一台机
    #sqlplus / as sysasm
    sql>select name,total_mb,free_mb from v$asm_disk_stat order by 1; 
        --列出每块盘的空间使用情况,由于asm需要rebal(重分布)数据,需较多时间,所以建议选择剩余空间较多的盘来操作;
   sql >alter diskgroup diskname drop disk disk_name;
        --执行退出操作,如需将datadg1_0051退出datadg1磁盘组;
        执行:alter diskgroup datadg1 drop disk datadg1_0051;
sql>select * from v$asm_operation;
    --检查退出磁盘的进度,输出如下;
    group_number operation state         power     actual      sofar   est_work   est_rate est_minutes error_code
       ------------ ---------- -------- ---------- ---------- ---------- ---------- ---------- ----------- ----------
           2 rebal      run               1          1      31238    7055227       3983        1763
      注:重分布数据的速率大概为120mb/s,420gb/hr,本次使用emc cx480存储;
        当检查v$asm_operation,输出 no rows selected 表示处理完毕;
   --附送,磁盘组操作指令:
   sql> drop diskgroup data1 including contents ---删除磁盘组;
   sql> alter diskgroup data1 add disk '/dev/oracleasm/disks/dgd022'; ---向磁盘组添加磁盘;
>当退出磁盘组完毕后,再次确认磁盘状态:
    sql>select name,total_mb,free_mb from v$asm_disk_stat order by 1;
     --可看到磁盘的数量和剩余空间都已减少。
2.在alex2上停止crs服务,如使用root用户执行,前提确保环境变量设置正确;
 #crsctl stp crs
3.在alex2上删除原先数据库的目录结构,香港服务器租用,使用root用户执行如下指令:
 #/u01/app/crs_home/crs/install/rootcrs.pl -deconfig -force
rm -rf /var/opt/oracle
rm -rf /u01/app/*
rm -rf /tmp/.oracle
rm -rf /tmp/orainstall*
rm -rf /etc/oratab
rm -rf /opt/oracle
mkdir -p /u01/app/crs_base
mkdir -p /u01/app/crs_home
mkdir -p /u01/app/oracle/product/11.2.0/db_1
chown -r root:oinstall /u01
chown -r oracle:oinstall /u01/app/oracle
chown -r grid:oinstall /u01/app/crs*
chmod -r 775 /u01
chmod -r 755 /u01/app/crs*
dd if=/dev/zero of=/dev/dm-9 bs=8192 count=16384
dd if=/dev/zero of=/dev/dm-10 bs=8192 count=16384
dd if=/dev/zero of=/dev/dm-11 bs=8192 count=16384
4.在alex2清除rac中的缓存信息,需重启服务器
 #reboot
5.重装alex2的grid、database,创建datadg2,创建 standalone db
 #详见安装文档,此处略;
6.在alex1上修改asm参数文件;asm和db上将cluster_database参数true-->false;
 oracle&grid
 #sqlplus / as sysasm   --grid用户
 >alter system set cluster_database=false scope=spfile;
 #sqlplus / as sysdba    --oracle用户
 >alter system set cluster_database=false scope=spfile;
7.确认alex1剔除alex2后能正常工作,需重启rac,在alex1上使用root执行;
   #crsctl stop crs     --停止rac
   #crsctl start crs    --启动数据,此时以为单实例库;
本文出自 “alexatrebooting” 博客,请务必保留此出处
,美国服务器
其它类似信息

推荐信息