程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> ORACLEAUTOMATICSTORAGEMANAGEMENT翻譯-第二章ASMInstance(4)

ORACLEAUTOMATICSTORAGEMANAGEMENT翻譯-第二章ASMInstance(4)

編輯:Oracle教程

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路徑中。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved