asm operation
星期三, 一月 21st, 2009最近有个客户一定要上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;
一、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;
