分类: Oracle
2010-09-08 21:20:30
一、安装配置先决条件
1.安装oracleasm支持包
创建asm数据库,首先需要ASMLib驱动程序包,可以从相关的网站下载到和操作系统对应的rpm文件,分别为oracleasm-support-2.0.3-1、oracleasm-
2.6.18-8.el5-2.0.4-1.el5、oracleasmlib-2.0.3-1.el5。
# rpm -Uvh
oracleasm*.rpm
# rpm -qa|grep
oracleasm
oracleasm-support-2.0.3-1
oracleasm-2.6.18-8.el5-2.0.4-1.el5
oracleasmlib-2.0.3-1.el5
2.添加磁盘
关闭VMware,添加一块磁盘并格式化。
#
fdisk /dev/sdb
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.
The number of cylinders for
this disk is set to 1044.
There is nothing wrong with that, but this is
larger than 1024,
and could in certain setups cause problems with:
1)
software that runs at boot time (e.g., old versions of LILO)
2) booting and
partitioning software from other OSs
(e.g., DOS FDISK, OS/2
FDISK)
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-1044, default 1):
Using default value 1
Last
cylinder or +size or +sizeM or +sizeK (1-1044, default 1044):
Using default
value 1044
Command (m for help): w
The partition table has been
altered!
Calling ioctl() to re-read partition table.
Syncing
disks.
[root@server oracleasmlib]# fdisk -l
Disk /dev/sda: 17.1 GB,
17179869184 bytes
255 heads, 63 sectors/track, 2088 cylinders
Units =
cylinders of 16065 * 512 = 8225280 bytes
Device Boot
Start End Blocks Id System
/dev/sda1 * 1
13 104391 83 Linux
/dev/sda2 14 2088
16667437+ 8e Linux LVM
Disk /dev/sdb: 8589 MB, 8589934592 bytes
255
heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 =
8225280 bytes
Device Boot Start End Blocks Id
System
/dev/sdb1 1 1044 8385898+ 83
Linux
3.配置rawdevices
因为rh5中取消了rawdevices服务,要使用裸设备创建asm,需要做以下配置。
#
vi /etc/udev/rules.d/60-raw.rules
添加以下部分的内容
ACTION=="add",
KERNEL=="sdb1", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add",
ENV{MAJOR}=="8", ENV{MINOR}=="1", RUN+="/bin/raw /dev/raw/raw2 %M %m"
#
start_udev
Starting udev: [ OK
]
4.配置oracleasm
以root用户登陆,执行
# /etc/init.d/oracleasm
configure
Configuring the Oracle ASM library driver.
This will
configure the on-boot properties of the Oracle ASM library
driver. The
following questions will determine whether the driver is
loaded on boot and
what permissions it will have. The current values
will be shown in brackets
('[]'). Hitting
answer will keep that
current value. Ctrl-C will abort.
Default user to own the driver
interface [oracle]:
Default group to own the driver interface [dba]:
Start Oracle ASM library driver on boot (y/n) [y]:
Fix permissions of
Oracle ASM disks on boot (y/n) [y]:
Writing Oracle ASM library driver
configuration: [ OK ]
Loading module "oracleasm": [ OK ]
Mounting
ASMlib driver filesystem: [ OK ]
Scanning system for ASM disks:
[ OK
]
# /etc/init.d/oracleasm createdisk VOL1 /dev/sdb1
Marking disk
"/dev/sdb1" as an ASM disk: [ OK ]
#
[root@server oracleasmlib]#
/etc/init.d/oracleasm listdisks
VOL1
[root@server oracleasmlib]#
/etc/init.d/oracleasm scandisks
Scanning system for ASM disks:
[ OK
]
二、创建ASM实例
1.创建初始化文件
$ su – oracle
$ cd
$ORACLE_HOME/dbs
$ vi
init+ASM.ora
*.asm_diskstring='ORCL:VOL*'
*.background_dump_dest='/oracle/admin/+ASM/bdump'
*.core_dump_dest='/oracle/admin/+ASM/cdump'
*.instance_type='asm'
*.large_pool_size=12M
*.remote_login_passwordfile='SHARED'
*.user_dump_dest='/oracle/admin/+ASM/udump'
2.创建密码文件
$
su – oracle
$ cd $ORACLE_HOME/dbs
$ orapwd file=orapw+ASM
password=dba
3. 创建目录结构
$ su – oracle
$ cd $ORACLE_HOME/dbs
$
mkdir –p $ORALCE_BASE/admin/+ASM/udump
$ mkdir –p
$ORALCE_BASE/admin/+ASM/bdump
$ mkdir –p
$ORALCE_BASE/admin/+ASM/cdump
4. 启动实例
$ export ORACLE_SID=+ASM
$
sqlplus / as sysdba
SQL> startup
ASM instance started
Total
System Global Area 100663296 bytes
Fixed Size 777616
bytes
Variable Size 99885680 bytes
Database
Buffers 0 bytes
Redo Buffers 0
bytes
ORA-15110: no diskgroups
mounted
因为我们是首次启动asm实例,还没有创建diskgroup,所以显示15110错误是正常的。
如果启动实例的时候碰到如下报错:
ORA-29701:
unable to connect to Cluster Manager
那么请检查/etc/inittab
文件,看看是否有下面这行
h1:35:respawn:/etc/init.d/init.cssd run >/dev/null
2>&1 如果没有请添加,如果被注释了请取消注释。
5. 创建
spfile,重新启动
SQL> create spfile from pfile;
SQL> shutdown
immediate;
SQL> startup;
6. 创建 diskgroup
SQL> create
diskgroup dgroup1 external redundancy
2 failgroup fgroup1 disk
'ORCL:VOL1';
Diskgroup created.
SQL> col name for
a10
SQL> select name,state from v$asm_diskgroup;
NAME
STATE
---------- ----------------------
DGROUP1
MOUNTED
如果上述命令返回的 state是 DISMOUNTED,那么我们需要手工将挂载 diskgroup
SQL>
ALTER DISKGROUP dgroup1 MOUNT;
Diskgroup altered.
SQL> show
parameter asm_diskgroups
NAME
TYPE VALUE
------------------------------------ ----------
------------------------------
asm_diskgroups
string
DGROUP1
三、创建ASM数据库
接下来,创建ASM数据库的工作就非常的简单了。执行dbca实用程序,在第六步“storage
options”部分选择“Automatic Storage Management ”,在接下来的“ASM Disk
Groups”步骤中,选择之前创建的“DGROUP1”,再按照普通建库的方式完成数据库的创建就OK了。