Chinaunix首页 | 论坛 | 博客
  • 博客访问: 328040
  • 博文数量: 81
  • 博客积分: 2107
  • 博客等级: 大尉
  • 技术积分: 742
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-30 09:38
文章分类

全部博文(81)

文章存档

2011年(2)

2010年(28)

2009年(45)

2008年(6)

我的朋友

分类: Oracle

2010-09-03 09:36:44

Oracle ASM for linx as 4 x86-64 创建过程

1、划分区

Disk /dev/sdb: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         499     4008186   83  Linux
/dev/sdb2             500         585      690795   83  Linux
/dev/sdb3             586         622      297202+  83  Linux
/dev/sdb4             623         652      240975   83  Linux

其中以下分区用于创建ASM盘  
/dev/sdb2
/dev/sdb3
/dev/sdb4

2、下载和内核相关的asm rpm包,其网址为


当前内核为
[root@dbsvr /]# uname -a
Linux dbsvr 2.6.9-42.EL #1 Wed Jul 12 23:15:20 EDT 2006 x86_64 x86_64 x86_64 GNU/Linux

[root@dbsvr admin]# more /etc/issue
Red Hat Enterprise Linux AS release 4 (Nahant Update 4)
Kernel \r on an \m

下载asm包的版本为
[root@dbsvr tmp]# rpm -qa|grep asm
oracleasm-support-2.1.3-1.el4
oracleasm-2.6.9-42.EL-debuginfo-2.0.5-1.el4
oracleasmlib-2.0.4-1.el4
oracleasm-2.6.9-42.EL-2.0.5-1.el4

3、安装rpm包
其安装顺序为
[root@dbsvr tmp]# rpm -ivh oracleasm-support-2.1.3-1.el4.x86_64.rpm
Preparing...                ########################################### [100%]
   1:oracleasm-support      ########################################### [100%]
[root@dbsvr tmp]# rpm -ivh  oracleasm-2.6.9-42.EL-2.0.5-1.el4.x86_64.rpm
Preparing...                ########################################### [100%]
   1:oracleasm-2.6.9-42.EL  ########################################### [100%]
[root@dbsvr tmp]# rpm -ivh oracleasm-2.6.9-42.EL-debuginfo-2.0.5-1.el4.x86_64.rpm
Preparing...                ########################################### [100%]
   1:oracleasm-2.6.9-42.EL-d########################################### [100%]
[root@dbsvr tmp]# rpm -ivh  oracleasmlib-2.0.4-1.el4.x86_64.rpm
Preparing...                ########################################### [100%]
   1:oracleasmlib           ########################################### [100%]
  
4、配置asm lib

[root@dbsvr tmp]# /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 without typing an
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) [n]: y
Scan for Oracle ASM disks on boot (y/n) [y]: y
Writing Oracle ASM library driver configuration: done
Initializing the Oracle ASMLib driver: [FAILED]
 
gmm注:我到这步也失败了,并且我的SELINUX已经是disabled的。
解决办法:尝试运行了
  [root]# oracleasm update-driver 然后配置成功

晕,出问题了,尝试将SELINUX设置disabled
[root@dbsvr tmp]#  vi /etc/sysconfig/selinux

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#       enforcing - SELinux security policy is enforced.
#       permissive - SELinux prints warnings instead of enforcing.
#       disabled - SELinux is fully disabled.
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
#       targeted - Only targeted network daemons are protected.
#       strict - Full SELinux protection.
SELINUXTYPE=targeted

[root@dbsvr tmp]#  setenforce 0
[root@dbsvr tmp]#  /usr/sbin/sestatus
SELinux status:         enabled
SELinuxfs mount:        /selinux
Current mode:           permissive
Mode from config file:  disabled
Policy version:         18
Policy from config file:targeted

Policy booleans:
allow_syslog_to_console inactive
allow_ypbind            inactive
dhcpd_disable_trans     inactive
httpd_builtin_scripting active
httpd_disable_trans     inactive
httpd_enable_cgi        active
httpd_enable_homedirs   active
httpd_ssi_exec          active
httpd_tty_comm          inactive
httpd_unified           active
mysqld_disable_trans    inactive
named_disable_trans     inactive
named_write_master_zonesinactive
nscd_disable_trans      inactive
ntpd_disable_trans      inactive
pegasus_disable_trans   inactive
portmap_disable_trans   inactive
postgresql_disable_transinactive
snmpd_disable_trans     inactive
squid_disable_trans     inactive
syslogd_disable_trans   inactive
use_nfs_home_dirs       inactive
use_samba_home_dirs     inactive
use_syslogng            inactive
winbind_disable_trans   inactive
ypbind_disable_trans    inactive

[root@dbsvr tmp]# reboot

Broadcast message from root (pts/2) (Sun Aug 23 17:01:10 2009):

The system is going down for reboot NOW!
[root@dbsvr tmp]# /usr/sbin/sestatus
SELinux status:         disabled

[root@dbsvr tmp]# /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 without typing an
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]:
Scan for Oracle ASM disks on boot (y/n) [y]:
Writing Oracle ASM library driver configuration: done
Initializing the Oracle ASMLib driver: [  OK  ]
Scanning the system for Oracle ASMLib disks: [  OK  ]

可以利用 /etc/init.d/oracleasm 的 'enable' 和 'disable' 选项来启用或禁用自动启动。

[root@dbsvr tmp]# /etc/init.d/oracleasm disable
Writing Oracle ASM library driver configuration: done
Dropping Oracle ASMLib disks: [  OK  ]
Shutting down the Oracle ASMLib driver: [  OK  ]

[root@dbsvr tmp]# /etc/init.d/oracleasm enable
Writing Oracle ASM library driver configuration: done
Initializing the Oracle ASMLib driver: [  OK  ]
Scanning the system for Oracle ASMLib disks: [  OK  ]

5、对磁盘组的操作

1)创建asm磁盘组

[root@dbsvr tmp]# /etc/init.d/oracleasm createdisk VOL1 /dev/sdb2
Marking disk "VOL1" as an ASM disk: [  OK  ]
[root@dbsvr tmp]# /etc/init.d/oracleasm createdisk VOL2 /dev/sdb3
Marking disk "VOL2" as an ASM disk: [  OK  ]
[root@dbsvr tmp]# /etc/init.d/oracleasm createdisk VOL3 /dev/sdb4
Marking disk "VOL3" as an ASM disk: [  OK  ]

注意:磁盘名称是 ASCII 大写字母、数字和下划线。它们必须以字母开始。

2)当然不再被 ASM 使用的磁盘也可以取消标记

[root@dbsvr tmp]#  /etc/init.d/oracleasm deletedisk VOL1
Removing ASM disk "VOL1": [  OK  ]

3)可以查询任意的操作系统磁盘,以了解它是否被 ASM 使用:

[root@dbsvr tmp]# /etc/init.d/oracleasm querydisk /dev/sdb2
Device "/dev/sdb2" is marked an ASM disk with the label "VOL1"
[root@dbsvr tmp]# /etc/init.d/oracleasm querydisk /dev/sdb3
Device "/dev/sdb3" is marked an ASM disk with the label "VOL2"
[root@dbsvr tmp]# /etc/init.d/oracleasm querydisk /dev/sdb4
Device "/dev/sdb4" is marked an ASM disk with the label "VOL3"

4)可以列出和查询现有的磁盘:

[root@dbsvr tmp]# /etc/init.d/oracleasm listdisks
VOL1
VOL2
VOL3

[root@dbsvr tmp]# /etc/init.d/oracleasm listdisks
VOL1
VOL2
VOL3
[root@dbsvr tmp]# /etc/init.d/oracleasm querydisk VOL1
Disk "VOL1" is a valid ASM disk


当向 RAC 设置中添加磁盘时,需要通知其他节点该磁盘的存在。在一个节点上运行 'createdisk' 命令,然后在其他每一个节点上运行 'scandisks':

[root@dbsvr tmp]# /etc/init.d/oracleasm scandisks
Scanning the system for Oracle ASMLib disks: [  OK  ]


5、利用dbca建库时,需要运行脚本,注意是root用户,但环境变量是oracle

[root@dbsvr bin]# localconfig add
/etc/oracle does not exist. Creating it now.
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
Configuration for local CSS has been initialized

Adding to inittab
Startup will be queued to init within 90 seconds.
Checking the status of new Oracle init process...
Expecting the CRS daemons to be up within 600 seconds.
CSS is active on these nodes.
        dbsvr
CSS is active on all nodes.
Oracle CSS service is installed and running under init(1M)

建库时报ora-12547错误,需要安装如下包:

[root@dbsvr tmp]# rpm -qa|grep libaio
libaio-0.3.105-2
libaio-0.3.105-2
libaio-devel-0.3.105-2

附:ASM实例可以手工创建,也可以通过dbca创建,如手工创建
1、创建asm参数
[oracle@dbsvr dbs]$ more spfile+ASM.ora


+ASM.asm_diskgroups='ASMDISK'#Manual Mount
*.asm_diskgroups='ASMDISK'
*.background_dump_dest='/oracle/app/admin/+ASM/bdump'
*.core_dump_dest='/oracle/app/admin/+ASM/cdump'
*.instance_type='asm'
*.large_pool_size=12M
*.remote_login_passwordfile='SHARED'
*.user_dump_dest='/oracle/app/admin/+ASM/udump'


2、创建diskgroup组
SQL> ALTER DISKGROUP ALL MOUNT
Sun Aug 23 18:26:49 2009
Loaded ASM Library - Generic Linux, version 2.0.4 (KABI_V2) library for asmlib interface
Sun Aug 23 18:29:24 2009
SQL> CREATE DISKGROUP asmdisk External REDUNDANCY  DISK '/dev/sdb2' SIZE 674M ,'/dev/sdb3' SIZE 290M ,'/dev/sdb4' SIZE 235M ,'/dev/sdc1' SIZE 1913M;
阅读(856) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~