淘先锋技术网

首页 1 2 3 4 5 6 7

Oracle ASM是Oracle提供的一种基于磁盘的卷管理器,在向数据库提供访问磁盘资源时,能够为多种存储配置提供相同的接口。Oracle ASM构建在Oracle Clusterware上,并提供卷管理工具、CLI(命令行界面)、图形工具和API以便管理Oracle ASM卷和文件系统。

配置Oracle ASM需要先创建磁盘组,然后将整个磁盘组或单个磁盘分配给ASM卷组。ASM卷组是起始点,数据库文件可以直接在上面分配数据文件、控制文件、日志文件等(ASM文件可以认为是一种基于卷的文件系统,它的文件无论在哪一台数据库节点上,都具有全局性,可被其他节点共享访问)。下面是创建和配置ASM磁盘组的过程:

#查看磁盘
[root@host1 ~]# fdisk -l
#将磁盘分区
[root@host1 ~]# fdisk /dev/sdb
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-1305, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-1305, default 1305):
Using default value 1305
Command (m for help): w
The partition table has been altered!
Calling ioctl () to re-read partition table.
[root@host1 ~]# mkfs.ext4 /dev/sdb1 #格式化分区
#创建目录,挂载分区
[root@host1 ~]# mkdir -p /u01/app/oracle/oradata
[root@host1 ~]# vi /etc/fstab
#添加以下内容
/dev/sdb1 /u01/app/oracle/oradata     ext4    defaults        0 0
[root@host1 ~# mount -a #根据/etc/fstab文件挂载分区
#设置磁盘成为ASM库的一部分
[root@host1 ~]# ORACLE_SID=+ASM
[root@host1 ~]# export ORACLE_SID
[root@host1 ~]# sqlplus / as sysasm
SQL>CREATE DISKGROUP DATA EXTERNAL REDUNDANCY
DISK '/u01/app/oracle/oradata';

创建成功后,我们需要创建ASM卷组,并将磁盘分配给卷组:

#设置环境变量
[root@host1 ~]# ORACLE_SID=+ASM
[root@host1 ~]# export ORACLE_SID
#登录SQL
[root@host1 ~]# sqlplus / as sysasm
#创建ASM卷组
SQL>CREATE DISKGROUP DG_VOTE EXTERNAL REDUNDANCY
DISK '/u01/app/oracle/oradata1'
DISK '/u01/app/oracle/oradata2'
ATTRIBUTE 'AU_SIZE'='4M';
#查看所有卷组
SQL>SELECT name, state, type, total_mb, free_mb FROM V$ASM_DISKGROUP;
#将磁盘加入卷组
SQL>ALTER DISKGROUP DG_VOTE ADD DISK '/u01/app/oracle/oradata3';

这样我们就配置好了一个ASM卷组,并将多个磁盘加入其中。在配置Oracle RAC时,需要使用多个ASM卷组来管理磁盘资源。