--------------- --------------- --- ------------------
+ASMGROUP1/wwl/datafile/asm.270.780300769 ? ? ? ? ?ASM ? ? ? ? ? ? ? ? ? ? ? ? 100 YES ? ? ? ? 32767.9844
+ASMGROUP1/wwl/datafile/asm.271.780300809 ? ? ? ? ?ASM ? ? ? ? ? ? ? ? ? ? ? ? 100 YES ? ? ? ? 32767.9844
?
SQL> alter system set db_create_file_dest='/oracle/oradata/wwl';
System altered.
linux
?
一、 ?ASM实例相关操作:
?
ASM实例的管理,启动,关闭
?
ASM实例的启动和
数据库实例的启动有严格的先后关系,ASM启动一定早于数据库实例,关闭一定晚于ASM实例,因为它是数据库数据文件存储位置。如果ASM没有起来,起数据库将会报ORA-17503;ORA-15077的错误,错误信息如下:
SQL>startup
ORA-01078:failure in processing system parameters
ORA-01565:error in identifying file '+ASMGROUP1/WWL/spfileWWL.ora'
ORA-17503:ksfdopn:2 Failed to open file +ASMGROUP1/WWL/spfileWWL.ora
ORA-15077:could not locate ASM instance serving a required diskgroup
SQL>
?
1.1 ?ASM启动的方法:
SQL>startup
ASMinstance started
TotalSystem Global Area ? 83886080 bytes
FixedSize ? ? ? ? ? ? ? ? ?1217836 bytes
VariableSize ? ? ? ? ? ? ?57502420 bytes
ASMCache ? ? ? ? ? ? ? ? ?25165824 bytes
ASMdiskgroups mounted
SQL>select instance_name,status from v$instance;
INSTANCE_NAME ? ?STATUS
----------------------------
+ASM ? ? ? ? ? ? STARTED
SQL>
?
1.2 ?ASM关闭的方法 ?(必须先关闭数据库)
?
没有关闭RDBMS实例关闭ASM将报错ORA-15097,提示已连接RDBMS实例,无法关闭ASM实例,
$ export Oracle_SID=+ASM
$ sqlplus / as sysdba
SQL> shutdown immediate
ORA-15097: cannot SHUTDOWNASM instance with connected RDBMS instance
?
关闭RDBMS实例状态ASM是可以正常关闭的。
$export ORACLE_SID=WWL ? ?---先关闭在ASM上运行的RDBMS实例
$sqlplus / as sysdba
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>
$export ORACLE_SID=+ASM ? ---再关闭ASM实例
$ sqlplus / as sysdba
SQL> shutdown immediate
ASM diskgroups dismounted
ASM instance shutdown
SQL>
?
二、 ?ASM三种磁盘组及磁盘的添加和维护
?
1、ASM磁盘的添加及删除
?
1.1 ? 添加这个步骤所需的磁盘(/dev/sdd -- /dev/sdm ?共10块10G的盘)
?
1.2 ? 通过root用户查看下当前有几个ASM磁盘,磁盘状态,实例状态
# oracleasm listdisks
VOL1
VOL2
# oracleasm querydisk VOL1
Disk"VOL1" is a valid ASM disk
# oracleasm querydisk VOL2
Disk"VOL2" is a valid ASM disk
# ls -l /dev/oracleasm/disks/*
brw-rw---- 1oracle dba 8, 17 Apr 12 05:30 /dev/oracleasm/disks/VOL1
brw-rw---- 1oracle dba 8, 33 Apr 12 05:30 /dev/oracleasm/disks/VOL2
# oracleasm status
Checking if ASMis loaded: yes
Checking if /dev/oracleasm is mounted: yes
?
我们已知数据库当有两块通过ASMLiB已经标记了的磁盘,并且状态是正常的
?
1.3 ? 开始通过ASMLib来标记新的磁盘,用于后面的实验:
l ?报错了,很经典,是由于没有创建分区导致:
# /etc/init.d/oracleasm createdisk VOL3 /dev/sdd
Marking disk"VOL3" as an ASM disk: [FAILED]
l ?先创建分区方法:fdisk /dev/sdd /n/p/1/回车/回车/w,将所有磁盘都创建分区。
# /etc/init.d/oracleasmcreatedisk VOL3 /dev/sdd1
Marking disk "VOL3" as anASM disk: [ ?OK ?] ? ---可以看到,能正常创建
? ? ? ? ? ?# sh oracleasm ? 通过执行脚本命令,新建10个磁盘已全部完成标记
Marking disk "VOL4" as an ASM disk: [ ?OK ?]
Marking disk "VOL5" as an ASM disk: [ ?OK ?]
Marking disk "VOL6" as an ASM disk: [ ?OK ?]
Marking disk "VOL7" as an ASM disk: [ ?OK ?]
Marking disk "VOL8" as an ASM disk: [ ?OK ?]
Marking disk "VOL9" as an ASM disk: [ ?OK ?]
Marking disk "VOL10" as an ASM disk: [ ?OK ?]
Marking disk "VOL11" as an ASM disk: [ ?OK ?]
Marking disk "VOL12" as an ASM disk: [ ?OK ?]
?
1.4 ? 为ASMGROUP1磁盘组添加删除磁盘
?
l ?查看磁盘组的状态
SQL> selectGROUP_NUMBER,NAME,STA