RAC环境下创建ASM数据库
配置监听程序
执行
[[email protected] ~]$ netca
选择群集配置
在选"select the nodes to configure"菜单时,选择所有节点之之后一路NEXT至结束。
确认两个节点的listener.ora如下
rac1
LISTENER_RAC1 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = rac1-vip )(PORT = 1521)(IP = FIRST))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.101 )(PORT = 1521)(IP = FIRST))
)
)
rac2
LISTENER_RAC2 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = rac2-vip )(PORT = 1521)(IP = FIRST))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.102 )(PORT = 1521)(IP = FIRST))
)
)
注意:每个节点都只监听自己的Public IP 和VIP 。但是某个节点宕机时,RAC的Failover机制会把这个节点的VIP转移到其他节点。
创建ASM
创建硬盘分区
[[email protected] ~]# fdisk /dev/sde
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-385, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-385, default 385):
Using default value 385
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
对/dev/sdd和/dev/sdc执行同样的操作后将磁盘信息写入磁盘列表
[[email protected] ~]# partprobe
创建asm文件系统
[[email protected] ~]# oracleasm createdisk VOL1 /dev/sdc1
Writing disk header: done
Instantiating disk: done
[[email protected] ~]# oracleasm createdisk VOL2 /dev/sdd1
Writing disk header: done
Instantiating disk: done
[[email protected] ~]# oracleasm createdisk VOL3 /dev/sde1
Writing disk header: done
Instantiating disk: done
扫描ASM文件系统,这一步是为了让系统认识建立的ASM文件系统
[[email protected] ~]# oracleasm scandisks
Reloading disk partitions: done
Cleaning any stale ASM disks...
Scanning system for ASM disks...
查看 ASM文件系统列表
[[email protected] ~]# oracleasm listdisks
VOL1
VOL2
VOL3
执行
选择Oracle Real Application Cluster database ,选择Configure Automatic Storage Management,选择所有节点
"asm_diskstring=ORCL:VOL*"
其中ORCL为固定字符,VOL*以通配符的形式描述这些磁盘名。
一路NEXT至下图,点击"Create New"
进行下列配置
选择“External“,选择所需的ASM磁盘,这里笔者选择VOL1和VOL2创建磁盘组名为DATA,利用VOL3创建磁盘组名为RECOVER。
笔者VOL3空间较大而已,没有为什么。
注意,state列必须都为"MOUNTED",说明磁盘已经被挂载。
(以上两步笔者本应截图说明的,但是安装过程太快了,忘记截图,忘读者见谅)
点击Finish,完成磁盘组的创建。
创建数据库
执行dbca一路NEXT至下图,注意中间需要选择存储类型为ASM
进行上图配置选择字符集为简体中文。继续一路NEXT直至结束。
最后说一句,连接rac数据库时,采用
connect user/[email protected] as sysdba的方式连接
例如:
[[email protected] ~]$ sqlplus / nolog
SQL> connect sys/[email protected] as sysdba
Connected.
否则会造成
ORA-00304: requested INSTANCE_NUMBER is busy 报错
至此大功告成