ORACLE AUTOMATIC STORAGE MANAGEMENT翻译-第二章ASM Instance(4)完

ASM安全
这个小节主要描述与ASM相关的各种安全配置话题,像
配置ASM需要的userids、groupids;ASM权限如
SYSOPER,SYSDBA和新的SYSASM权限,最后还有ASM
使用的ORACLE密码文件,orapwd。

一个ASM实例多个UNIX Userids
如果使用一个不同于RDBMS实例的用户和独立的ASM_HOME,
那么每个RDBMS实例的ORACLE 用户必须是ASM实例dba组的
成员;ASM的ORACLE用户不必是RDBMS实例DBA组的成员。
如果你想用不同的UNIX userid并使用多个其他UNIX userid创
建的ASM实例来管理他们自己的存储,你可以为每个数据库
创建自己的dba组(不同于ASM dba组的),例如数据库可以使用
名字为dba1,dba2等DBA组。如果你想RDBMS实例以共享使用
相同的磁盘组,那么所有的RDBMS实例需要以read/write权限访问
磁盘组。ASM实例需要以read/write权限访问所有的磁盘。对于
RDBMS实例来说,你可以限制实例可以访问哪些磁盘。

ASM权限
在ORACLE 10G,通过SQLPLUS访问ASM实例与访问标准的数据库
实例一样,可以以SYSDBA或SYSOPER权限访问。然而,注意那是
因为没有数据字典在ASM实例中,权限认证是通过操作系统级别或
ORACLE password文件来完成的。有代表性的是SYSDBA权限通过
操作系统用户组进行赋权。在UNIX系统上,一般使用的是dba group。
默认dba组拥有访问本节点上所有实例的SYSDBA权限,包括ASM实例。
使用SYSDBA权限连接ASM,拥有管理本地系统磁盘组的完全的管理
访问权限。
     注意在WINDOWS系统中,ORACLE一般运行在local system或administrator
用户下,OSOPER和OSDBA组是硬编码组分别与ORA_OPER和ORA_DBA关联。
     从ORACLE DATABASE 11g开始,一个叫SYSASM的权限成为访问ASM 
实例的主要手段,大多数ASM实例的管理命令不再使用与SYSDBA。SYSDBA
仍然可用向后兼容,如果使用了SYSDBA,在ASM alert日志中就会有如下信息
写入:
Warning: Deprecated privilege SYSDBA for command 'STARTUP'
SYSASM权限的目的是把ASM认证与RDBMS认证分开。SYSASM权限拥有
对ASM实例的全部控制权。认证通过OSASM用户组,类似于SYSDBA权限,
只是SYSDBA认证是通过OSDBA实现的。对于ORACLE Database 11g ASM来说,
使用SYSASM取代SYSDBA认证是最佳实践。
     下面展示了如何使用SYSASM并且配置一个新的拥有SYSASM角色的用户:
[oracle11@racnode1~]$ sqlplus "/ as sysasm"
创建ASMUSER,使用如下命令:
SQL> CREATE USER ASMUSER IDENTIFIED BY ASMUSER1;
SQL> GRANT SYSASM, SYSOPER TO ASMUSER;
使用ASMUSER连接ASM实例:
[oracle@racnode1 ~]$ sqlplus "ASMUSER/ASMUSER as sysasm"
SQL> select * from v$pwfile_users;
USERNAME SYSDBA SYSOPER SYSASM
---------------------------- ----- ------- ------
SYS          TRUE  TRUE FALSE
ASMUSER  FALSE TRUE TRUE
在ORACLE ASM 10g中,用户使用SYSOPER连接ASM实例权限与使用SYSDBA连接
权限大致相同,除了查询v$视图权限外。使用SYSOPER连接ASM实例使用如下命令:
[oracle11@racnode1~]$ sqlplus " as sysoper"
从ORACLE DATABASE 11g起,ASM SYSOPER权限的职责与数据库SYSOPER基本相同。
下面的命令是SYSOPER用户可用的命令:
STARTUP/SHUTDOWN
ALTER DISKGROUP MOUNT/DISMOUNT
ALTER DISKGROUP ONLINE/OFFLINE DISK
ALTER DISKGROUP REBALANCE
ALTER DISKGROUP CHECK
所有其他命令像CREATE DISKGROUP,ADD/DROP/RESIZE DISK,等等-都需要SYSASM
权限,这些命令都不能为SYSOPER权限用户所用。
     所有的管理命令--包括STARTUP,SHUTDOWN,和ALTER/CREATE/DROP DISKGROUP
都登陆到ASM实例。例如,所有ALTER DISKGROUP 命令总是记录在alert log当实例发出
命令以后。如果有需要,通过SYS USER从ASM实例发出的操作都会记录到
.aud文件中。要做到这点需要配置如下初始化参数:
audit_sys_operations = TRUE
_disable_instance_params_check = TRUE
注意,与RDBMS实例不同,audit trail信息不能存放在ASM实例的AUD$中,因为
ASM没有数据库来存放这些表。因此输出通常dump到.aud文件里,这些文件
通常存放在默认位置--$ORACLE_HOME/rdbms/audit。
init.ora中的AUDIT_FILE_DEST控制audit文件默认位置,在WINDOWS上,这些
日志打印到WINDOWS SYSTEM LOG中。

ASM与orapwd
ASM实例使用ORACLE password文件供远程ASM访问,非常像RDBMS实例
供远端数据库访问。
注意
RDBMS实例与ASM实例完全分离,因此ASM拥有自己的password文件,
不与RDBMS实例共享。
     为了配置EM远程访问ASM,ASM的password文件不需存在。如果ASM实例
是DBCA配置的,orapwd文件会自动创建。如果ASM实例是手动配置的
必须使用owapwd命令手工创建密码文件:
[oracle11@racnode1~]$ orapwd file=$ORACLE_HOME/asm/orapw+ASM1 \
password=oracle
标准orapwd工具用于管理ASM实例的密码文件,只是限制修改sys密码。
注意
在RAC系统中集群中的每个ASM实例必须都有owapwd文件。
使用ASM实例中V$PWFILE_USERS视图来查看密码文件中的内容:
SQL> SELECT * FROM V$PWFILE_USERS;
USERNAME SYSDB SYSOP SYSAS
------------------------------ ----- ----- -----
SYS TRUE TRUE FALSE
在ORACLE DATABASE 11g中,可以使用与RDBMS中一样的命令来修改ASM密码文件。
然而只能更新本地orapwd文件。

ASM管理
随着ASM的出现,卷管理和存储管理的责任似乎变得模糊了。ASM管理定义
角色可以有一些变种,依赖组织层(管理层)。如下是一些典型部署(案例):
  • 由一个ASM管理员管理特定的ASM实例。ASM管理员可以来自Sysadmin(sa)
  • ASM的软件可以由RDBMS用户来安装。这样可以加强ASM管理角色。
  • 负责管理企业数据库DBA或ORACLE软件负责人同时管理ASM实例存储。
系统管理员(SA)管理OS LUNs(logical unit numbers),修改设备文件属组
同时把ASM磁盘与其他主机逻辑卷管理器

不管如何分权和划分权责,下面的动作还是要为ASM存储做的:
确定ASM存储需求
     根据应用/数据库来确定存储类型,如SATA(Serial Advanced Technology 
Attachment)还是FC( Fibre Channel)。如果你部署一个分层存储这是一个非常
重要的问题。例如,DATA磁盘组可能需要高端FC盘,而Flash磁盘组只需要SATA
磁盘就可以了。
确定数据库需要多少空间。
确定数据库操作的IOPS数。结合IOPS需求来确定数据库对后端存储磁盘的
需求。这个步骤必须要要存储管理员和系统管理员系统完成。

从磁盘阵列预分配磁盘
     从存储阵列创建LUNs。这些LUNs可以从RAID(RAID 10 或 RAID 5)组中来
划分,映射给合适的主机。
在主机层预分配磁盘。
     root用户在OS上确认这些LUNs可以被主机识别。为这些LUNs调整
权限和属组。

属组和权限修改完成后,ASM可以发现这些盘了。这些盘就可以被添加到
已存在的磁盘组或用于创建新的磁盘组了。

创建必要的磁盘组
     ASM识别存储阵列提供的磁盘以后,确定如何把这些磁盘分配给磁盘组。
     使用已有磁盘组或创建新磁盘组。

如下的ASM v$视图描述了ASM的数据结构和组建:
V$ASM_ALIAS This view displays all system- and user-defined aliases.
There is one row for every alias present in every diskgroup mounted by the
ASM instance. The RDBMS instance displays no rows in this view.

V$ASM_ATTRIBUTE This Oracle Database 11gview displays one row
for each ASM attribute defined. These attributes are listed when they are
defined in CREATE DISKGROUPor ALTER DISKGROUPstatements.
DISK_REPAIR_TIMERis an example of an attribute.

V$ASM_CLIENT This view displays one row for each RDBMS instance
that has an opened ASM diskgroup.

V$ASM_DISK This view contains specifics about all disks discovered by
the ASM instance, including mount status, disk state, and size. There is one
row for every disk discovered by the ASM instance.

V$ASM_DISK_IOSTAT This displays information about disk I/O statistics
for each ASM client. If this view is queried from the database instance, only
the rows for that instance are shown.

V$ASM_DISK_STAT This view contains similar content as the V$ASM_
DISK, except V$ASM_DISK_STATreads disk information from cache and
thus performs no disk discovery. This view is primarily used for quick access
to the disk information without the overhead of disk discovery.

V$ASM_DISKGROUPV$ASM_DISKGROUPdisplays one row for every ASM
diskgroup discovered by the ASM instance on the node.

V$ASM_DISKGROUP_STAT This view contains all the similar view contents
as the V$ASM_DISKGROUP, except that V$ASM_DISK_STATreads disk
information from the cache and thus performs no disk discovery. This view
is primarily used for quick access to the diskgroup information without the
overhead of disk discovery.

V$ASM_FILE The V$ASM_FILEview displays information about ASM
files. There is one row for every ASM file in every diskgroup mounted by the
ASM instance. In a RDBMS instance, V$ASM_FILEdisplays no rows.

V$ASM_OPERATION This view describes the progress of an influx ASM
rebalance operation. In a RDBMS instance, V$ASM_OPERATIONdisplays
no rows.

V$ASM_TEMPLATE This view contains information on user- and systemdefined templates.

V$ASM_TEMPLATEdisplays one row for every template
present in every diskgroup mounted by the ASM instance. In a RDBMS
instance,V$ASM_TEMPLATEdisplays one row for every template present
in every diskgroup mounted by the ASM instance with which the RDBMS
instance communicates

如下视图可以在RDBMS和ASM实例中访问
见P68

总结
ASM实例管理ASM metadata。ASM实例与ORACLE实例非常相似也有
SGA和绝大多数的后台进程。ASM可以执行类似RDBMS实例的命令。
ASM实例不挂在数据库,但是挂载磁盘组。ASM管理metadata使得
ASM数据文件可以被数据库使用。ASM实例和数据库实例必须可以访问
所有的ASM磁盘。当文件打开或创建时ASM实例提供extent map给RDBMS实例。
RDBMS实例基于extent map直接读写磁盘。ASM实例没有在I/0路径中。

-----------------------------------------------------------------------------------------------------------------
本站注明原创和翻译的均为原创文章,文章允许转载,但必须以链接方式注明源地址,
否则追究法律责任!文章中难免有疏漏欢迎网友批评指正。

QQ:       173386747

Email:    hailong.sun1982@gmail.com

Blog:     http://blog.csdn.net/card_2005


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值