asm operation

最近有个客户一定要上ASM,没办法之前学习过,不过一直没用,重新温习下,下篇介绍下KFED的使用
 
一、
ASM的相关参数
 
instance_type:有2个,ASM或者RDBMS
DB_UNIQUE_NAME
ASM_POWER_LIMIT:
ASM_DISKGROUPS
ASM_DISKSTRING
 
二、配置一个
ASM实例
 
touch init+ASM.ora
添加一句
instance_type=asm
 
export ORACLE_SID=+ASM
 
sqlplus / as sysdba
 
create spfile from pfile='/tmp/init+ASM.ora';
 
startup nomount;
 
三、启动和关闭
ASM
 
startup force/nomount/mount
shutdown normal/immediate/transactional/abort
 
四、创建磁盘组
 
三种级别
 
normal redundancy
 
high redundancy
 
external redundancy
 
 
 
CREATE DISKGROUP disk_group_1 NORMAL REDUNDANCY
 
FAILGROUP failure_group_1 DISK
    
'/dev/raw/raw1' NAME diska1,
    
'/dev/raw/raw2' NAME diska2,
 
FAILGROUP failure_group_2 DISK
    
'/dev/raw/raw3' NAME diskb1,
    
'/dev/raw/raw4' NAME diskb2
 
 
删除一个磁盘组及其相关磁盘
 
drop diskgroup disk_group including contents
 
添加磁盘
 
alter diskgroup disk_group add disk '/dev/disk*3','/dev/disk*4';
 
删除磁盘
 
 
alter diskgroup disk_group drop disk diska2
 
 
 
调整磁盘组或者磁盘的大小
 
 
 
ALTER DISKGROUP disk_group_1
 
RESIZE DISK diska1 SIZE 100G;
 
ALTER DISKGROUP disk_group_1
 
RESIZE DISKS IN FAILGROUP failure_group_1 SIZE 100G;
 
-- Resize all disks in a disk group.
ALTER DISKGROUP disk_group_1
 
RESIZE ALL SIZE 100G;
 
 
撤销
DROP
 
 
ALTER DISKGROUP disk_group_1 UNDROP DISKS;
 
 
手动平衡数据
 
 
ALTER DISKGROUP disk_group_1 REBALANCE POWER 5;
 
 
手动
MOUNT单个或者磁盘组
 
ALTER DISKGROUP ALL DISMOUNT;
ALTER DISKGROUP ALL MOUNT;
ALTER DISKGROUP disk_group_1 DISMOUNT;
ALTER DISKGROUP disk_group_1 MOUNT;
 
 
四、创建目录
 
-- Create a directory.
ALTER DISKGROUP disk_group_1 ADD DIRECTORY '+disk_group_1/my_dir';
 
-- Rename a directory.
ALTER DISKGROUP disk_group_1 RENAME DIRECTORY '+disk_group_1/my_dir' TO '+disk_group_1/my_dir_2';
 
-- Delete a directory and all its contents.
ALTER DISKGROUP disk_group_1 DROP DIRECTORY '+disk_group_1/my_dir_2' FORCE;
 
 
五、别名
 
-- Create an alias using the fully qualified filename.
ALTER DISKGROUP disk_group_1 ADD ALIAS '+disk_group_1/my_dir/my_file.dbf'
 
FOR '+disk_group_1/mydb/datafile/my_ts.342.3';
 
-- Create an alias using the numeric form filename.
ALTER DISKGROUP disk_group_1 ADD ALIAS '+disk_group_1/my_dir/my_file.dbf'
 
FOR '+disk_group_1.342.3';
 
-- Rename an alias.
ALTER DISKGROUP disk_group_1 RENAME ALIAS '+disk_group_1/my_dir/my_file.dbf'
 
TO '+disk_group_1/my_dir/my_file2.dbf';
 
-- Delete an alias.
ALTER DISKGROUP disk_group_1 DELETE ALIAS '+disk_group_1/my_dir/my_file.dbf';
 
 
六、
 
删除文件
 
 
-- Drop file using an alias.
ALTER DISKGROUP disk_group_1 DROP FILE '+disk_group_1/my_dir/my_file.dbf';
 
-- Drop file using a numeric form filename.
ALTER DISKGROUP disk_group_1 DROP FILE '+disk_group_1.342.3';
 
-- Drop file using a fully qualified filename.
ALTER DISKGROUP disk_group_1 DROP FILE '+disk_group_1/mydb/datafile/my_ts.342.3';
 
 
 
ASM 相关视图
 
 
V$ASM_ALIAS
 
V$ASM_CLIENT
V$ASM_DISK
V$ASM_DISKGROUP
V$ASM_FILE
V$ASM_OPERATION
V$ASM_TEMPLATE
V$ASM_DISKGROUP_STAT
 
 
其中
ASM DISK HEAEDER状态有以下几种
 
SQL> select name,header_status from v$asm_disk;
 
NAME                                               HEADER_STATU
------------------------------------------------
-- ------------
                                                  
CANDIDATE
TEST_ASM_0001                                      MEMBER
TEST_ASM_0000                                      MEMBER
TEST_ASM_0002                                      MEMBER
TEST_ASM_0003                                      MEMBER
TEST_ASM_0004                                      MEMBER
TEST_ASM_0005                                      MEMBER
TEST_ASM_0006                                      MEMBER
 
 
Former - This state declares that the disk was formerly part of a diskgroup
Candidate - When a disk is in this state, it indicates that it is available to beadded to a diskgroup.
Member - This state indicates that a disk is already part of a diskgroup.
Provisioned - This state is similar to candidate, in that its available to diskgroups.
However, the provisioned state indicates that this disk has been
configured or made available using ASMLIB
 
 
ASM的一些隐含参数
 
select a.ksppinm "Name", b.ksppstvl "Value"
 
from x$ksppi a, x$ksppcv b
 
where a.indx = b.indx
  
and ksppinm like '\_%asm%' escape '\'
order by a.ksppinm;



评论暂缺

(Required)
(Required, will not be published)