日期:2014-05-16 浏览次数:20451 次
su - root
mkdir /asmdisk
==在unix/linux中,所有设备都是文件,所以我们可以建几个文件来模拟多块硬盘。先用dd建若干个文件,大小为1G
dd if=/dev/zero of=/asmdisk/disk1 bs=1024k count=500
dd if=/dev/zero of=/asmdisk/disk2 bs=1024k count=500
dd if=/dev/zero of=/asmdisk/disk3 bs=1024k count=500
dd if=/dev/zero of=/asmdisk/disk4 bs=1024k count=500
////// 如果在安装失败可以使用这个命令,清空ASM磁盘 dd if=/dev/zero of=/asmdisk/disk4 bs=8192 count=500//////
==用losetup命令,使这些文件在linux看来是某个存储设备
/sbin/losetup /dev/loop1 /asmdisk/disk1
/sbin/losetup /dev/loop2 /asmdisk/disk2
/sbin/losetup /dev/loop3 /asmdisk/disk3
/sbin/losetup /dev/loop4 /asmdisk/disk4
raw /dev/raw/raw1 /dev/loop1
raw /dev/raw/raw2 /dev/loop2
raw /dev/raw/raw3 /dev/loop3
raw /dev/raw/raw4 /dev/loop4
注意:如果要删除通过dd模拟出的虚拟磁盘文件的话,直接删除模拟出的磁盘文件(也就是asm_disk1、asm_disk2…asm_disk6)还不够,
还必须执行losetup -d /dev/loopN,在这里N从1到6。否则,磁盘文件所占用的磁盘空间不能释放。
cd /dev/raw
ls -ltr
chown -R oracle:oinstall *
chmod 660 *
ls -ltr
为了避免重启后之前的配置失效可做以下设置:
vi /etc/rc.local
#添加以下内容
/sbin/losetup /dev/loop1 /asmdisk/disk1
/sbin/losetup /dev/loop2 /asmdisk/disk2
/sbin/losetup /dev/loop3 /asmdisk/disk3
/sbin/losetup /dev/loop4 /asmdisk/disk4
raw /dev/raw/raw1 /dev/loop1
raw /dev/raw/raw2 /dev/loop2
raw /dev/raw/raw3 /dev/loop3
raw /dev/raw/raw4 /dev/loop4
开始安装oracle软件,并配置asm磁盘。
su - oracle
dbca
创建asm
运行脚本
创建asmdg
check asmdg
sqlplus / as sysdba
select name from v$datafile;
确认数据文件位于asm磁盘上
补充:
如何干掉一个dg
export oracle_sid=+asm
1.DBCA删除instance
2.sqlplus登录ASM,删除DG
sqlplus登录第二个节点的ASM,dismount要删除的DG
alter diskgroup xxx dismount;
sqlplus登录第一个节点的ASM,drop要删除的DG
drop diskgroup xxx include content;
3.停止ASM,在节点1上执行
srvctl stop asm -n node1
srvctl stop asm -n node2
4.删除ASM,在节点1上执行
srvctl remove asm -n node1
srvctl remove asm -n node2
5.删除相关文件,在所有节点执行
rm -f $ORACLE_HOME/dbs/*ASM*
删除/etc/oratab中有关ASM的内容