1. 程式人生 > >richard的專欄([email protecte

richard的專欄([email protecte

一、ASM磁碟和磁碟組管理
1、建立磁碟組
create diskgroup DG2 EXTERNAL REDUNDANCY DISK 'ORCL:A1';
   create diskgroup SYSDGM normal redundancy FAILGROUP flgrp1 disk '/dev/rhdisk52','/dev/rhdisk53' FAILGROUP flgrp2 disk '/dev/rhdisk14','/dev/rhdisk13';
1)磁碟名稱需要大寫
2)磁碟名稱使用V$asm_disk.path

2、磁碟組中新增磁碟
alter diskgroup dg2 add disk 'ORCL:A2';

1)磁碟名稱使用V$asm_disk.path

3、磁碟組中刪除磁碟
alter diskgroup dg2 drop disk 'a1';
1)磁碟名稱使用的是V$asm_disk.name

4、刪除磁碟組
drop diskgroup dg2 including contents;

二、ASM相關檢視
1、檢視是否有資料庫例項連線上ASM例項
select instance_name,db_name,status from v$asm_client;

2、記錄BALANCE操作
select operation,state,power,actual,sofar from v$asm_operation;
alter diskgroup SYSDGM rebalance power 11;

---power0~11,0表示不rebalance,這個引數由ASM_POWER_LIMIT設定。

3、ASM DISK資訊
select path, state, total_mb, free_mb from v$asm_disk;

4、ASM DISKGROUP資訊,包括磁碟大小和剩餘空間
select name,state,type,total_mb,free_mb from v$asm_diskgroup;

三、ASM和表空間管理
1、ASM中建立表空間
create tablespace tgyun datafile '+DG2' SIZE 100M;

2、ASM表空間中新增資料檔案
alter tablespace tgyun add datafile '+dg2' size 10m;


3、ASM表空間中刪除資料檔案
alter tablespace tgyun drop datafile '+DG2/tgyun/datafile/tgyun.257.747278679';
或者
alter tablespace tgyun drop datafile 3;

4、刪除表空間
drop tablespace tgyun including contents;

--檢視當前磁碟組狀態
 SQL> select group_number,name,state,total_mb,free_mb from v$asm_diskgroup;
--解除安裝dg2磁碟組
SQL> alter diskgroup dg2 dismount; 
SQL> select group_number,name,state,total_mb,free_mb from v$asm_diskgroup;
--掛載dg2磁碟組
SQL> alter diskgroup dg2 mount; 
--解除安裝所有磁碟組
SQL> alter diskgroup all dismount; 
SQL> select group_number,name,state,total_mb,free_mb from v$asm_diskgroup; 
--掛載所有磁碟組
SQL> alter diskgroup all mount;
select group_number,name,state,total_mb,free_mb from v$asm_diskgroup; 
--如果當前磁碟組有例項在訪問,則不能被解除安裝 
SQL> alter diskgroup data dismount; 
alter diskgroup data dismount
 * ERROR at line 1: ORA-15032: not all alterations performed 
ORA-15027: active use of diskgroup "DATA" precludes its dismount 

--建立目錄 
SQL> alter diskgroup dg2 add directory '+DG2/TGYUN';  
 Diskgroup altered. 
--使用asmcmd檢視(export ORACLE_SID=+ASM;asmcmd進入) 
ASMCMD> pwd 
+DG2 
ASMCMD> ls -l 
Type  Redund  Striped  Time             Sys  Name
                                        N    TGYUN/ 
--目錄重新命名 
SQL> alter diskgroup dg2 rename directory '+DG2/CHENGFEI' TO '+DG2/TGYUN';  
 Diskgroup altered.  
 ASMCMD> ls TGYUN/ 
--刪除目錄 
SQL> alter diskgroup dg2 drop directory '+DG2/tgyun';
Diskgroup altered.
 ASMCMD> ls 
ASMCMD> 
--新增別名 
SQL> alter diskgroup dg2 add alias '+dg2/TGYUN' for '+dg2/tgyun/datafile/TY.256.754832383'; 

Diskgroup altered. 
--使用asmcmd檢視別名是否成功 
ASMCMD> pwd 
--別名重新命名 
SQL> alter diskgroup dg2 rename alias '+DG2/TGYUN' TO '+DG2/TGYUN.DBF'; 

Diskgroup altered. 
--刪除別名 
SQL> alter diskgroup dg2 drop alias '+dg2/tgyun.dbf'; 

Diskgroup altered. 
說明:
1)asmcmd命令列操作中,目錄檔名不區分大小寫,命令關鍵字區分大小寫
2)磁碟組中的一個檔案,最多隻能建立一個別名,可以通過v$asm_alias檢視檢視別名的相關資訊