Chinaunix首页 | 论坛 | 博客
  • 博客访问: 670512
  • 博文数量: 168
  • 博客积分: 2928
  • 博客等级: 中校
  • 技术积分: 1904
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-04 09:56
文章分类

全部博文(168)

文章存档

2010年(168)

我的朋友

分类: Oracle

2010-10-20 09:35:47

SYSASM 角色

自动存储管理 (ASM) 是在 Oracle 数据库 10g 中引入的,它在某种程度上打破了 DBA 和系统管理员之间在存储分配功能上的界限。ASM 实例由 DBA 管理,正如常规的 DBA 工作需要以 SYSDBA 角色进行连接一样。但是随着时间的推移,角色变得更加清楚,我们看到发生了基本的分工。因此,一些 ASM 操作返还给系统管理员。在某些情况下,会出现单独的一类“ASM 管理员”,他们只进行 ASM 管理,并不涉及数据库管理。

然而,这个新角色的出现引发了一个冲突:需要用 SYSDBA 角色来管理 ASM 实例,但运行在同一台服务器上的生产数据库的许多 DBA 感觉很难共享该角色。

Oracle 数据库 11g 消除了这个冲突。有一个新角色 SYSASM,只用于管理 ASM 实例。这类似于针对 ASM 实例的 SYSDBA 角色。下面将演示如何连接到 ASM 实例:

$ sqlplus / as sysasm

SQL*Plus: Release 11.1.0.6.0 - Production on Fri Sep 28 20:37:39 2007

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

Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining
and Real Application Testing options

SQL>

注意连接子句“as sysasm”。在 Oracle 数据库 11g 第 1 版中,该 SYSASM 角色被授予具有 SYSDBA 权限的操作系统组(大多数情况下为“dba”)。换言之,Unix 中属于 dba 组的用户也可以作为 SYSASM 进行连接。(今后的版本会更改这种安排;sysdba 和 sysasm 角色将分成不同的 OS 组。)
以 sys 用户身份连接到 ASM 实例后,您可以更新在口令文件中更新的 SYS 口令:

SQL> alter user sys identified by oracle
2  /

User altered.

尽管这个 ASM 实例不带数据库,您仍然可以创建用户:

SQL> create user asmoper identified by dumboper
2  /

User created.

现在,您可以将 SYSASM 角色授予该用户:

SQL> grant sysasm to asmoper;

Grant succeeded.

进行授权之后,asmoper 用户(而非 SYS 用户)可以执行所有 ASM 管理功能。该用户可以通过子句 as sysasm 进行连接,该子句类似于常规数据库中的“as sysdba”子句。

$ sqlplus asmoper/dumboper as sysasm

这个特性实现了迫切需要的 ASM 和 DBA 职权分离。


阅读(6421) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~