1、升級SLES9核心、安裝asm相關包,注意版本要一致。
2、/etc/init.d/oracleasm configure 配置asm driver 使用者為oracle dba組,並且自動啟動。
3、準備好裸磁碟用fdisk 分區了,沒有格式化成任何檔案系統,有的話可以dd初始化之)
4、建立asm 磁碟
例如:/etc/init.d/oracleasm createdisk d1 /dev/sdb1
5、刪除asm 磁碟
/etc/init.d/oracleasm deletedisk d1 (千萬不要將使用的磁碟都刪掉,否則資料庫將崩潰)
6、 利用dbca 建立資料庫
選用asm , 建立diskgroup ,選上disk ,磁碟開始狀態是Candidate ,加入磁碟組後變為Provisioned ,如果是 Member狀態說明曾是某個磁碟組的成員,要使用之則先要用dd命令清掉磁碟上存在的舊ASM資訊,文法:dd if=/dev/zero of= /dev/sdd1 bs=8192 count=100可以設定參數:power limit 1-11),越小,則Asm 利用來rebalance asm 配置改變時)的i/o頻寬越小,當然越慢,對系統的效能影響越小。Redundancy 一般選external 就是也就是不考慮冗餘,如果選normal 則是mirror, 至少要一個FailGroup選High 就是triple mirror,3倍鏡像,需要三個FailGroup ,這裡的FailGroup其實就是將磁碟組的磁碟劃分成幾個組,彼此鏡像。還有就是discoverString 一般就是ORCL:* 。接下來dbca 將會建立ASM執行個體和資料庫執行個體
7、修改 /etc/oratab 將ASM 和資料庫執行個體的N改為Y
關於啟動的BUG Bug: 3458327 - Automatic Startup On Reboot Fails When Database Uses ASM ORA--29701: unable to connect to Cluster Manager 目前的版本10.1.0.3.0 的一個Bug. 解決辦法:(1)修改/etc/inittab 檔案將h1:35:respawn:/etc/init.d/init.cssd run >/dev/null 2>&1剪下到l3:3:wait:/etc/init.d/rc 3 之前
(2)修改 /etc/init.d/oracle 檔案,在啟動資料庫+ Starting Database(s)...前增加如下指令碼
echo "Waiting css daemon start for 300 seconds!" let count=0 while [ $count -lt 30 ]; do sleep 10 let count=count+1 let flag=count%5 let seconds=$count*10 if [ fag –eq 0 ] ; then echo -n $seconds else echo -n "." fi done 300秒的依據是系統INIT會將init.cssd阻塞5分鐘。“INIT: Id "h1" respawning too fast: disabled for 5 minutes”(3)在rc3.d 和rc5.d 裡將S21init.cssd ->S13init.cssd S13oracle S21oracle
8、管理ASM 磁碟組
(1)web 方式
在資料庫伺服器上先檢查ORACLE_SID , export|grep ORACLE_SID 看是否為要管理的資料庫不是則 export ORACLE_SID=”xxx”然後emctl start dbconsole 記下url , 在用戶端使用瀏覽器管理. 用sys dba 身份登入, 選擇administration選擇Storage 的Disk Groups ,然後以sys 的身份登入密碼在建立資料庫時選擇asm時設定的)然後就可以實現對asm的管理了:建立/刪除/掛載/卸載磁碟組,增加/刪除磁碟,修改配置Disk Discovery Path,Rebalance Power, Auto Mount Disk Groups 。
(2)sqlplus 命令列方式
在資料庫伺服器先要 export ORACLE_SID=+ASM , 然後sqlplus sys/passwd as sysdba 登入執行建立磁碟組 ,增刪磁碟組的磁碟等操作。Alter diskgroup dgName drop disk diskname;
ALTER DISKGROUP DG1 ADD DISK 'ORCL:D4' ; //可能比較耗時,因為要將資料轉移
CREATE DISKGROUP dg4 EXTERNAL REDUNDANCY DISK 'ORCL:D1' //建立磁碟組
ALTER SYSTEM SET ASM_DISKGROUPS = 'DG1','DG2','DG3','dg4' //設定他自動mount