日期:2014-05-16  浏览次数:20413 次

rhel下安装oracle10g+asm---测试环境搭建

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的内容