继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

调整Oracle 11gR2 RAC为单实例库

PIPIONE
关注TA
已关注
手记 1094
粉丝 147
获赞 702


 

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    --启动数据,此时以为单实例库;

©著作权归作者所有:来自51CTO博客作者alexatrebooting的原创作品,如需转载,请注明出处,否则将追究法律责任

Oracle调整RACOracle


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP