Linux Centos5.8 ORACLE-ASM安装和配置

一、准备:

oracle版本:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 操作系统:Centos 5.8

二、首先安装oracle数据库软件,

然后向虚拟机中添加1块5G的硬盘,重启虚拟机

三、安装软件包

查看好系统版本,本机是redhat 5,内核版本如下: [root@linux129 dev]# uname -a Linux linux1292.6.18-194.el5#1 SMP Tue Mar 16 21:52:43 EDT 2010 i686 i686 i386 GNU/Linux 上oracle官方网站,搜索关键字oracle asm red hat 5。去下载如下asm的三个rpm软件包(本机器下载的是标红的三个软件包,安装包一定要下载正确的版本否则第五步会出错,导致后续配置无法进行): http://www.oracle.com/technetwork/topics/linux/downloads/rhel5-084877.html Intel IA32 (x86) Architecture Library and Tools Drivers for kernel 2.6.18-194.el5  

四、安装上述的三个rpm软件包:

[root@linux129 asm]# rpm -ivh *.rpm warning: oracleasm-2.6.18-194.11.3.el5-2.0.5-1.el5.i686.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159 Preparing... ########################################### [100%] 1:oracleasm-support########################################### [ 33%] 2:oracleasm-2.6.18-194.el###################################### [ 67%] 3:oracleasmlib ########################################### [100%]

五、?分区

对在第二步中添加进来的磁盘/dev/sdb进行分区(注意:这里是仅进行分区,而不需要进行格式化。 [root@linux129 dev]# fdisk /dev/sdb 省略 查看并确认分区的情况: [root@linux129 dev]# fdisk –l /dev/sdb 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???????? 200???? 1606468+? 83? Linux /dev/sdb2???????????? 201???????? 400???? 1606500?? 83? Linux /dev/sdb3???????????? 401???????? 650???? 2008125?? 83? Linux

六、配置ASM

[root@linux129 asm]# /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 <ENTER> 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 [ ]:oinstall 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 ]   Initializing the Oracle ASMLib driver:??????? 要是失败的话,查看日志/var/log/oracleasm   [root@linux129 oracle]# cat /var/log/oracleasm   Creating /dev/oracleasm mount point: /dev/oracleasm Loading module "oracleasm": failed Unable to load module "oracleasm" 提示找不到模块 手动查找模块   [root@linux129 oracle]#? find / -name oracleasm.ko /lib/modules/2.6.18-308.24.1.el5/kernel/drivers/addon/oracleasm/oracleasm.ko 手动安装模块 [root@linux129 oracle]# insmod /lib/modules/2.6.18-308.24.1.el5/kernel/drivers/addon/oracleasm/oracleasm.ko 重新执行 [root@linux129 oracle]# /etc/init.d/oracleasm enable    

七、系统添加磁盘:

[root@linux129 asm]# /etc/init.d/oracleasm createdisk VOL1 /dev/sdb1 Marking disk "VOL1" as an ASM disk:?????????????????????? [ OK ] [root@linux129 asm]# /etc/init.d/oracleasm createdisk VOL2 /dev/sdb2 Marking disk "VOL2" as an ASM disk:?????????????????????? [ OK ] [root@linux129 asm]# /etc/init.d/oracleasm createdisk VOL3 /dev/sdb3 Marking disk "VOL3" as an ASM disk:?????????????????????? [ OK ]

八、创建ASM初始化文件init+ASM.ora

在$ORACLE_HOME/dbs目录下(可以理解为是ASM实例的pfile文件): [oracle@localhostdb_1]$ cat>>/oracle/ora10g/product/10.2.0/db_1/dbs/init+ASM.ora<<EOF > *.asm_diskstring='ORCL:VOL*' > *.background_dump_dest='/oracle/ora10g/admin/+ASM/bdump' > *.core_dump_dest='/oracle/ora10g/admin/+ASM/cdump' > *.instance_type='asm' > *.large_pool_size=24M > *.remote_login_passwordfile='SHARED' > *.user_dump_dest='/oracle/ora10g/admin/+ASM/udump' > EOF 注:/oracle/ora10g/product/10.2.0/db_1/是本机器的$ORACLE_HOME路径。

九、创建结构目录

[oracle@linux129 db_1]$ mkdir -p /oracle/ora10g/admin/+ASM/udump [oracle@linux129 db_1]$ mkdir -p /oracle/ora10g/admin/+ASM/bdump [oracle@linux129 db_1]$ mkdir -p /oracle/ora10g/admin/+ASM/cdump

十、创建asm实例的密码文件:

[oracle@localhost dbs]$ orapwd file=orapw+ASM password=123456

十一、我们来测试一个asm实例能否启动:

[oracle@linux129 ~]$ sqlplus SQL*Plus: Release 10.2.0.1.0 - Production on Tue Aug 31 20:10:11 2010 Copyright (c) 1982, 2005, Oracle. All rights reserved. Enter user-name:sys as sysdba Enter password: Connected to an idle instance. SQL> startup ORA-29701: unable to connect to Cluster Manager

十二、添加CSS,以解决上面出现的问题。

需要以root来执行命令: [root@localhost~]#/oracle/ora10g/product/10.2.0/db_1/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. localhost CSS is active on all nodes. Oracle CSS service is installed and running under init(1M)

十三、再次启动ASM实例,

由于我们没有创建磁盘组,所以提示没有mount diskgroup正常: [root@linux129 ~]# su - oracle [oracle@linux129 ~]$ echo $ORACLE_SID +ASM [oracle@linux129 ~]$ sqlplus SQL*Plus: Release 10.2.0.1.0 - Production on Tue Aug 31 20:16:46 2010 Copyright (c) 1982, 2005, Oracle. All rights reserved. Enter user-name: sys as sysdba Enter password: Connected to an idle instance. SQL> startup ASM instance started Total System Global Area? 96468992 bytes Fixed Size???????????????? 1217908 bytes Variable Size???????????? 70085260 bytes ASM Cache???????????????? 25165824 bytes ORA-15110: no diskgroups mounted

十四、执行dbca,开始创建数据库

第一步的时候,选择新建数据: 第三步的时候,数据库实例的SID要和ASM中的asm_diskstring参数中的SID一致本例中是SID) 第六步时。指定存储项为ASM: 点击Next的时候,提示需要关闭asm实例: SQL>SHUTDOWN IMMEDIATE; 第七步时,点击Create New创建新的Disk Group: 给新的磁盘组取名为DATA1,并把三块硬盘都加入到改组,冗余项选择normal: 经过上述操作后,一个磁盘组DATA1已经创建好,并且已经加载上: 指定数据文件创建的位置,默认创建在DATA1磁盘组下: 第九步,指定Flash Recovery Area的位置和大小,按照默认的即可: 第十步,选择安装样例数据库: 第十一步,字符集我们可以进行如下的选择: 第十二步,查看数据库存储相关信息: 第十三步,点击Finish来结束配置过程,进行数据库的创建 安装过程中的截图:   安装完成后的截图: 至此,单机上安装ASM已经完成。

十五、登入数据库,测试

1、登入ASM实例
我们现在可以登陆asm实例,查看下一些相关的视图: [oracle@linux129 ~]$ echo $ORACLE_SID +ASM [oracle@linux129 ~]$ sqlplus / as sysdba SQL*Plus: Release 10.2.0.1.0 - Production on Tue Aug 31 20:56:29 2010 Copyright (c) 1982, 2005, Oracle. All rights reserved. Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining oracleions SQL> SELECT GROUP_NUMBER,INSTANCE_NAME,DB_NAME,STATUS FROM v$asm_client; GROUP_NUMBER? INSTANCE_NAME?? DB_NAME? STATUS ----------------------?? -------------------------- --------------- ------------------ 1????????? ORCL?????? ORCL?????? CONNECTED 查看ASM中的数据文件: SQL> set linesize 500 SQL> SELECT FILE_NUMBER,BLOCKS,BLOCK_SIZE/1024 BLOCK_KB,BYTES/1024/1024 AS MB,SPACE/1024/1024 AS MB,TYPE FROM v$asm_file; FILE_NUMBER??? BLOCKS? BLOCK_KB??????? MB??????? MB TYPE ----------- ---------- ---------- ---------- ---------- ---------------------------------------------------------------- 256???? 61441?? ??????8 480.007813?????? 965 DATAFILE 257???? 30721???????? 8 240.007813?????? 485 DATAFILE 258????? 4481???????? 8 35.0078125??????? 75 DATAFILE 259?????? 641???????? 8 5.0078125??????? 12 DATAFILE 260?????? 431??????? 16? 6.734375??????? 24 CONTROLFILE 261?????? 431??????? 16? 6.734375??????? 24 CONTROLFILE 262??? 102401??????? .5 50.0004883?????? 115 ONLINELOG 263??? 102401??????? .5 50.0004883?????? 115 ONLINELOG 264??? 102401??????? .5 50.0004883 ??????115 ONLINELOG 265??? 102401??????? .5 50.0004883?????? 115 ONLINELOG 266??? 102401??????? .5 50.0004883?????? 115 ONLINELOG   FILE_NUMBER??? BLOCKS? BLOCK_KB??????? MB??????? MB TYPE ----------- ---------- ---------- ---------- ---------- ---------------------------------------------------------------- 267??? 102401??????? .5 50.0004883?????? 115 ONLINELOG 268????? 2561???????? 8 20.0078125??????? 42 TEMPFILE 269???? 12801???????? 8 100.007813?????? 205 DATAFILE 270???????? 5??????? .5 .002441406???????? 2 PARAMETERFILE  
2、登陆ORCL实例
[oracle@linux129 ~]$ export ORACLE_SID=ORCL [oracle@linux129 ~]$ sqlplus? / as sysdba SQL*Plus: Release 10.2.0.1.0 - Production on Tue Aug 31 20:53:52 2010 Copyright (c) 1982, 2005, Oracle. All rights reserved. Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining oracleions SQL> select instance_name from v$instance; INSTANCE_NAME ---------------- ORCL 查看表空间及其所对应的文件名。发现具体的路径不详,由ASM自动给我们的文件命名进行管理: SQL> select FILE_NAME ,TABLESPACE_NAME from dba_data_files; FILE_NAME???????????????????????????????????????? TABLESPACE_NAME -------------------------------------------------- -------------------------------------------------- +DATA1/orcl/datafile/users.259.728512919????????? USERS +DATA1/orcl/datafile/sysaux.257.728512919???????? SYSAUX +DATA1/orcl/datafile/undotbs1.258.728512919?????? UNDOTBS1 +DATA1/orcl/datafile/system.256.728512919????? ???SYSTEM +DATA1/orcl/datafile/example.269.728513077??????? EXAMPLE  
3、用命令行添加新硬盘
1、以root命令来运行oracleasm命令 [root@linux129 dev]# /etc/init.d/oracleasm createdisk VOL4 /dev/sde1 Marking disk "VOL4" as an ASM disk: [ OK ] 2、登陆至ASM实例中,输入如下命令,需要有add failgroup子句: SQL> alter diskgroup DATA1add failgroupVOL4 disk 'ORCL:VOL4';   可以看到,添加好了VOL4之后,会进行“重平衡”,每个磁盘的使用容量是相同的: SQL> SELECT GROUP_NUMBER,DISK_NUMBER,NAME,TOTAL_MB,FREE_MB 2 FROM v$asm_disk; GROUP_NUMBER????? DISK_NUMBER?? NAME????? TOTAL_MB?? FREE_MB ----------------------????? -------------------????? ---------???? ----------------??? ---------- 1????????? 0????????? VOL1???????? 2047????? 1377 1????????? 1????????? VOL2???????? 2047????? 1376 1????????? 2????????? VOL3???????? 2047????? 1376 1????????? 3????????? VOL4 ????????2047????? 1377   Asm工具初体验 [oracle@linux129 dbs]$ asmcmd asmcmd: command disallowed by current instance type [oracle@linux129 dbs]$ export ORACLE_SID=+ASM [oracle@linux129 dbs]$ asmcmd ASMCMD> ls -l +DATA1/ORCL/DATAFILE [oracle@linux129 ~]$ asmcmd ASMCMD> ASMCMD> ls -l +DATA1/ORCL/DATAFILE Type???? Redund Striped Time??????????? Sys Name DATAFILE MIRROR COARSE? SEP 01 13:00:00 Y?? EXAMPLE.269.728513077 DATAFILE MIRROR COARSE? SEP 01 14:00:00 Y?? SYSAUX.257.728512919 DATAFILE MIRROR COARSE? SEP 01 13:00:00 Y?? SYSTEM.256.728512919 DATAFILE MIRROR COARSE? SEP 01 13:00:00 Y?? UNDOTBS1.258.728512919 DATAFILE MIRROR COARSE? SEP 01 13:00:00 Y?? USERS.259.728512919 ASMCMD> help asmcmd [-p] [command] The environment variables ORACLE_HOME and ORACLE_SID determine the instance to which the program connects, and ASMCMD establishes a bequeath connection to it, in the same manner as a SQLPLUS / AS SYSDBA. The user must be a member of the SYSDBA group. Specifying the -p oracleion allows the current directory to be displayed in the command prompt, like so: ASMCMD [+DATAFILE/ORCL/CONTROLFILE] > [command] specifies one of the following commands, along with its parameters. Type "help [command]" to get help on a specific ASMCMD command. commands: ------- cd du find help ls lsct lsdg mkalias mkdir pwd rm rmalias ASMCMD>  

posted on 2016-11-09 14:16  歪歪121  阅读(173)  评论(0)    收藏  举报