环境:rhel5 Oracle10g rac
背景:在esxi中添加了一个20g的共享磁盘准备存放归档日志用
一、准备环境
1.添加共享磁盘并且格式化
#fdisk -l查看磁盘已经添加完成
#fdisk /dev/sdc 分区,这里分了一个区,把20g全部用于存放归档日志
#mkfs.ext3 /dev/sdc1 --这里在其中一个节点执行的时候,发现没有/dev/sdc1,于是,再次执行fdisk /dev/sdc 进去p下,查看是否分区成功,如果有分区了的话,直接w保存下,有可能是分区信息没有同步过来
2.将磁盘分区完成后,添加裸设备
/bin/raw /dev/raw/raw5 /dev/sdc1 --这里的/dev/sdc1就是新的磁盘。裸设备5是按照顺序来的
echo "/bin/raw /dev/raw/raw5 /dev/sdc1" >> /etc/rc.local
再修改裸设备文件:vi /etc/udev/rules.d/60-raw.rules
-----------------------------------------------------------------------------
原文件是这样:
# Enter raw device bindings here.
#
# An example would be:
# ACTION=="add", KERNEL=="sda", RUN+="/bin/raw /dev/raw/raw1 %N"
# to bind /dev/raw/raw1 to /dev/sda, or
# ACTION=="add", ENV{MAJOR}=="8", ENV{MINOR}=="1", RUN+="/bin/raw /dev
/raw/raw2 %M %m"
# to bind /dev/raw/raw2 to the device with major 8, minor 1.
ACTION=="add", KERNEL=="raw[1]", OWNER="root", GROUP="oinstall", MODE="6
60"
ACTION=="add", KERNEL=="raw[2-4]", OWNER="oracle", GROUP="oinstall", MOD
E="660"
-----------------------------------------------------------------------------
将最后一行的"raw[2-4]"修改为"raw[2-5]"
-----------------------------------------------------------------------------
修改后文件:
ACTION=="add", KERNEL=="raw[1]", OWNER="root", GROUP="oinstall", MODE="6
60"
ACTION=="add", KERNEL=="raw[2-5]", OWNER="oracle", GROUP="oinstall", MOD
E="660"
-----------------------------------------------------------------------------
# /sbin/start_udev start
3.oracleasm中添加相关设备信息
在oracleasm中添加相关信息
先查看下现在的设备都有哪些:
#/etc/init.d/oracleasm listdisks;
VOL4
创建asm设备
#/etc/init.d/oracleasm createdisk VOL5 /dev/sdc1
在另一个节点只需要scandisks即可
#/etc/init.d/oracleasm scandisks
#/etc/init.d/oracleasm listdisks
VOL4
VOL5
全部完成后,准备工作完成,下面进入正题
二、将磁盘添加到asm中
因为是Oracle 10g的,所以登录oracle用户,如果是11g的话,登录的用户是grid
su - oracle
export ORACLE_SID=+ASM1
sqlplus / as sysdba
2.1.查看下asm磁盘中的设备
SQL> select group_number,disk_number,path from v$asm_disk; GROUP_NUMBER DISK_NUMBER PATH ------------ ----------- -------------------- 0 0 /dev/raw/raw5 0 1 /dev/raw/raw3 0 2 /dev/raw/raw2 0 3 /dev/raw/raw1 0 4 ORCL:VOL4 0 5 ORCL:VOL5 1 0 /dev/raw/raw4
发现这里裸设备和asm设备都已经识别
如果想往+DATA分区扩容的话,可以这样执行
SQL> alter diskgroup DATA add disk 'ORCL:VOL5';
但是咱们的目的是创建新的磁盘组来存放归档日志
2.2 先创建新的磁盘组
查看下现在的磁盘组都有哪些:
SQL> SELECT NAME FROM v$asm_diskgroup; NAME ------------------------------------------------------------ DATA
这里显示只有DATA磁盘组
SQL> create diskgroup ARCH external redundancy disk 'ORCL:VOL5'; create diskgroup ARCH external redundancy disk 'ORCL:VOL5' * ERROR at line 1: ORA-15018: diskgroup cannot be created ORA-15072: command requires at least 1 failure groups, discovered only 0
这里提示报错了。。。
用下面的语句执行即可
SQL> create diskgroup ARCH external redundancy disk '/dev/raw/raw5'; Diskgroup created.
再次查看asm磁盘组:
SQL> SELECT NAME FROM v$asm_diskgroup; NAME ------------------------------------------------------------ DATA ARCH
arch磁盘组创建成功
2.3 查看下磁盘组状态
SQL> SELECT NAME,state FROM v$asm_diskgroup; NAME STATE ----------------- ------------------ DATA MOUNTED ARCH MOUNTED
看到arch已经成功挂载上了
如果没有挂在手动挂载下:
SQL> alter diskgroup arch mount;
即可成功挂载
参考文章:https://blog.csdn.net/jacson_bai/article/details/17946327