ASM实例的启动需要一个参数文件,在Oracle 10g中,其默认位置和数据库实例的参数文件相同,在$ORACLE_HOME/dbs目录下可以找到这个文件,文件的内容如下:
[oracle@danaly dbs]$ strings $ORACLE_HOME/dbs/spfile+ASM.ora +ASM.asm_diskgroups='ORADG'#Manual Mount *.asm_diskgroups='ORADG' *.asm_diskstring='ORCL:VOL*' *.background_dump_dest='/opt/oracle/admin/+ASM/bdump' *.core_dump_dest='/opt/oracle/admin/+ASM/cdump' *.instance_type='asm' *.large_pool_size=12M *.remote_login_passwordfile='SHARED' *.user_dump_dest='/opt/oracle/admin/+ASM/udump'
这个参数文件定义了实例类型、磁盘组名称等信息,通过这些信息,ASM实例可以加载磁盘组,完成磁盘管理的工作。也可以不通过之前介绍的图形界面,从命令行创建参数文件直接启动ASM实例。
ASM实例的启动类似于数据库实例,不过startup命令默认为startup mount,启动实例将加载默认的磁盘组,也可以通过startup nomount仅启动实例而不加载磁盘组,此外,还可以通过startup restrict模式启动,临时防止数据库实例连接到ASM;ASM实例同样可以通过shutdown命令关闭,shutdown命令的执行会等待数据库实例关闭,而shutdown abort则会强制关闭ASM实例,依赖于ASM的数据库将立即中止。
ASM实例启动之后,可以在系统上看到类似我们熟悉的数据库实例的一组ASM进程(Linux平台):
[root@danaly etc]# ps -ef|grep ASM oracle 24938 1 0 Jan28 ? 00:00:03 asm_pmon_+ASM oracle 24940 1 0 Jan28 ? 00:00:01 asm_psp0_+ASM oracle 24942 1 0 Jan28 ? 00:00:01 asm_mman_+ASM oracle 24944 1 0 Jan28 ? 00:00:01 asm_dbw0_+ASM oracle 24946 1 0 Jan28 ? 00:00:01 asm_lgwr_+ASM oracle 24948 1 0 Jan28 ? 00:00:01 asm_ckpt_+ASM oracle 24950 1 0 Jan28 ? 00:00:13 asm_smon_+ASM oracle 24952 1 0 Jan28 ? 00:00:01 asm_rbal_+ASM oracle 24954 1 0 Jan28 ? 00:01:04 asm_gmon_+ASM oracle 25017 1 0 Jan28 ? 00:00:00 asm_o000_+ASM
这就是ASM实例的后台进程,ASM的实例名通常为+ASM,在RAC环境中,不同节点会增加一个实例号,实例的名称可能为+ASM1、+ASM2等。
ASM实例的启动大约需要100MB左右的内存,在不同平台上可能会有所不同。以下是在Linux环境下的一个ASM的SGA显示:
[oracle@danaly dbs]$ export ORACLE_SID=+ASM [oracle@danaly dbs]$ sqlplus "/ as sysdba" SQL> show sga Total System Global Area 83886080 bytes Fixed Size 1217836 bytes Variable Size 57502420 bytes ASM Cache 25165824 bytes
由于在Oracle 10g中,ASM实例和数据库实例都通过同一用户管理,经常发生误操作的情况,在Oracle 11g中,Oracle推荐将Grid以独立的用户安装部署(以下测试环境以grid用户安装GI),这样就可以减少不必要的麻烦和误操作,现在启动和关闭ASM实例需要以SYSASM身份来进行:
[grid@enmou1 ~]$ sqlplus "/ as sysdba" SQL*Plus: Release 11.2.0.2.0 Production on Thu Mar 17 12:36:55 2011 Copyright (c) 1982, 2010, Oracle. All rights reserved. Connected to an idle instance. SQL> startup ORA-01031: insufficient privileges SQL> connect / as sysasm Connected to an idle instance. SQL> startup ASM instance started Total System Global Area 283930624 bytes Fixed Size 2225792 bytes Variable Size 256539008 bytes ASM Cache 25165824 bytes ASM diskgroups mounted ASM diskgroups volume enabled 现在参数文件初始化就创建在ASM磁盘组中: SQL> show parameter spfile NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ spfile string +CRSDG/asm/asmparameterfile/re gistry.253.746019559
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。