暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

ASM实例

eygle 2019-09-19
984

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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论