通过验证访问ASM实例



=================================================================================================================================================
要想了解如何访问
ASM实例,必须先要了解ASM系统权限.

[@more@]

1. ASM权限

因为ASM实例没有数据字典信息,无法使用ASM验证方式验证登陆到实例用户的合法性,因此只能使用操作系统验证的方式验证连接到ASM实例的用户的合法性.


a ) SYSASM系统权限,属于系统创建的组OSASM,如asmadmin,完全管理ASM的权限

b ) SYSDBA系统权限,属于系统创建的组OSDBA(属于ASM),如asmdba,能够访问ASM上面的数据,创建和删除ASM文件,授予和收回访问ASM文件的权限,不能创建和RESIZE磁盘组.

c ) SYSOPER系统权限,属于系统创建的组OSOPER(属于ASM),如asmoper,能够STARTUP,SHUTDOWN实例,MOUNT,DISMOUNT磁盘组,不能访问V$ASM_*视图,不能CREATE,DROP,RESIZE,ADD磁盘组

2. 访问ASM实例

a) 使用操作系统验证本地访问ASM实例

拥有OSASM, OSDBA for ASM, or OSOPER for ASM组的用户使用OS验证方式登陆ASM实例.

其实操作系统验证访问ASM实例,在实例还没有起来的时候,具有SYSASM/SYSOPER的用户可以进入启动ASM实例界面,对实例进行startup操作,操作系统验证的作用就在于此。数据库验证方式也是这样的作用。


[grid@dbhouse disks]$ sqlplus "/as sysasm"


SQL*Plus: Release 11.2.0.3.0 Production on Sat Nov 17 16:40:34 2012


Copyright (c) 1982, 2011, Oracle. All rights reserved.


Connected to an idle instance.


SQL> startup






b) 使用密码文件本地访问ASM实例

b.1) 设置参数remote_login_passwordfile


SQL> show parameter login


NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

remote_login_passwordfile string EXCLUSIVE



b.2) 需要密码文件:/u01/app/11.2.0/grid/dbs/orapw+ASM



b.3) 用户与密码本地登录ASM实例.


[grid@dbhouse disks]$ sqlplus sys/grid as sysasm ###用户名和密码


SQL*Plus: Release 11.2.0.3.0 Production on Sat Nov 17 16:47:36 2012


Copyright (c) 1982, 2011, Oracle. All rights reserved.



Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production

With the Automatic Storage Management option






使用密码的方式本地登录ASM实例,在我看来,是防止操作系统验证失效的情况下,启用的登录ASM实例的第二套方案。

c) 使用Net Services和密码文件远程访问ASM实例


C:Users123>sqlplus sys/grid@asm11g as sysasm


SQL*Plus: Release 11.2.0.2.0 Production on 星期六 11 17 18:01:48 2012


Copyright (c) 1982, 2010, Oracle. All rights reserved.



连接到:

Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production

With the Automatic Storage Management option


SQL>







这种方式登录ASM实例,纯粹是方便远程维护ASM实例而设定的.如果ASM实例没有启动,那么这种登录ASM实例将失败,因为,连接字符串asm11g无法获取ASM实例的services name

在我看来,使用操作系统验证访问ASM实例的作用在于启动ASM实例,使用密码文件验证访问ASM实例的作用在于便利了远程维护,同理,访问数据库实例亦然。

仅此而已。

=============================================================================================================================================================
                                                未解决问题
=============================================================================================================================================================
最近通过EM对database进行远程管理,由于存储用的是ASM,于是需要具有OSASM,OSDBA,ODOPER权限的用户登录EM,数据库版本用的是oracle11gR2,切换到grid以sysasm登录上去,创建了test用户,并grant sysasm给test,结果发现test用户也可以登录到另外一个和当前库共用ASM的database instance,部分网友说是我配制的问题,问题还没有解决,后续弄明白了会加上,如果看到这篇文章的学友有了解原因的,请及时评论或给我发消息沟通哈,谢谢!

请使用浏览器的分享功能分享到微信等