oracle asm管理

前端之家收集整理的这篇文章主要介绍了oracle asm管理前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

oracle asm管理@H_301_1@

1、asm优点@H_301_1@

概念:@H_301_1@

auto storage manage@H_301_1@

db+instance<=====> raw裸设备@H_301_1@


@H_301_1@

性能比较:raw > asm > filesystem@H_301_1@

管理方便性 filesystem > asm > raw@H_301_1@


@H_301_1@

逻辑结构@H_301_1@

数据库<--表空间(tablespace)<---段(segment)<----区(extend)<---数据块(block)@H_301_1@


@H_301_1@

物理结构:SAN存储 NFS存储@H_301_1@

数据文件()@H_301_1@


@H_301_1@

ASM结构::@H_301_1@

ASM磁盘组《---ASM磁盘《---ASM分配单元《---磁盘物理块@H_301_1@

|@H_301_1@

ASM文件@H_301_1@


@H_301_1@

asm功能和特点@H_301_1@

文件而不是逻辑卷进行条带化,更加细粒化@H_301_1@

提供联机磁盘重新配置和动态重新平衡@H_301_1@

允许调整重新平衡速度@H_301_1@

与每一个文件为基础提供冗余@H_301_1@

支持oracle DB文件@H_301_1@

可识别支持集群环境@H_301_1@

自动安装@H_301_1@


@H_301_1@


@H_301_1@

asm优点:@H_301_1@

可以让ASM免除如下:@H_301_1@

I/O性能优化@H_301_1@

数据文件移动和重新组织@H_301_1@

文件名管理@H_301_1@

逻辑卷管理@H_301_1@

文件系统管理@H_301_1@

集群文件系统管理@H_301_1@

裸设备管理@H_301_1@


@H_301_1@


@H_301_1@


@H_301_1@

raid 0 1 (卷)@H_301_1@


@H_301_1@

raid1 2快盘 内容一模一样@H_301_1@

raid0 2块盘 各一半@H_301_1@

raid5 3块盘 一半 一半 全部@H_301_1@

raid 1 和 raid 0 4块盘分成2组 2组对称@H_301_1@


@H_301_1@


@H_301_1@


@H_301_1@


@H_301_1@

2、管理asm实例@H_301_1@

asm实例是asm进程和内存组件的结合@H_301_1@


@H_301_1@

asm后台进程:@H_301_1@

arcn归档进程@H_301_1@

ckpt检查点进程@H_301_1@

dbwn数据写进程@H_301_1@

diag诊断进程@H_301_1@

jnnn作业队列进程@H_301_1@

lgwr日志写进程@H_301_1@

pmon进程监视器@H_301_1@

pspo进程衍生进程@H_301_1@

qmnn 队列监视器@H_301_1@

reco恢复器进程@H_301_1@

smon系统监视器@H_301_1@

mman内存管理器进程@H_301_1@

vktm虚拟计时器进程@H_301_1@


@H_301_1@

如果集群还有如下进程:@H_301_1@

lmon全局入队服务监视器进程@H_301_1@

lmdn全局入队服务守护进程@H_301_1@

lmsn 全局高速缓存服务进程@H_301_1@

lckn锁定进程@H_301_1@


@H_301_1@


@H_301_1@

ps -ef | grep asm --colour@H_301_1@

数据库实例请求创建oracle DB文件的过程:@H_301_1@


@H_301_1@

数据库请求创建文件@H_301_1@

asm前台进程创建一个持续操作目录(COD)条目并在磁盘组中为新的文件分配空间@H_301_1@

asmb数据库进程接收新文件的区映射@H_301_1@

现在文件处于打开状态,数据库进程直接初始化该文件@H_301_1@

初始化后,数据库进程请求提交文件创建,这会导致asm@H_301_1@

前台进程清除cod条目并将文件的acd信息写入磁盘,为将磁盘标记为已经创建。@H_301_1@


@H_301_1@

asm动态性能视图@H_301_1@

v$asm_alias v$asm_attribute@H_301_1@

v$asm_client@H_301_1@

v$asm_disk@H_301_1@

v$asm_disk_iostat@H_301_1@

v$asm_disk_stat@H_301_1@

v$asm_operation@H_301_1@

v$asm_template@H_301_1@


@H_301_1@

asm系统权限:@H_301_1@

sysasm osasm@H_301_1@

sysdba osdba@H_301_1@

sysoper osoper@H_301_1@


@H_301_1@

命令行登录:@H_301_1@

sqlplus / as sysasm@H_301_1@


@H_301_1@

sql> show parameter spfile;@H_301_1@


@H_301_1@

NAME TYPE VALUE@H_301_1@

------------------------------------ ----------- ------------------------------@H_301_1@

spfile string +DATA/asm/asmparameterfile/reg@H_301_1@

istry.253.943292165@H_301_1@

sql> create pfile from spfile;@H_301_1@


@H_301_1@

File created.@H_301_1@


@H_301_1@

目录: /u01/app/oracle/product/11.2.0/grid/dbs/@H_301_1@

startup pfile='/u01/app/oracle/product/11.2.0/grid/dbs/init+ASM.ora';@H_301_1@


@H_301_1@

asm实例的启动及关闭@H_301_1@


@H_301_1@

sql> show parameter name;@H_301_1@


@H_301_1@

NAME TYPE VALUE@H_301_1@

------------------------------------ ----------- ------------------------------@H_301_1@

db_unique_name string +ASM@H_301_1@

instance_name string +ASM@H_301_1@

lock_name_space string@H_301_1@

service_names string +ASM@H_301_1@


@H_301_1@

查看asm组@H_301_1@

sql> select name,state from v$asm_diskgroup;@H_301_1@


@H_301_1@

NAME STATE@H_301_1@

------------------------------ -----------@H_301_1@

DATA MOUNTED@H_301_1@

FRA MOUNTED@H_301_1@


@H_301_1@


@H_301_1@

sql> select GROUP_NUMBER,INSTANCE_NAME,DB_NAME from v$asm_client;@H_301_1@


@H_301_1@

GROUP_NUMBER INSTANCE_N DB_NAME@H_301_1@

------------ ---------- ----------@H_301_1@

########## +ASM +ASM@H_301_1@

########## orcl orcl@H_301_1@

########## orcl orcl@H_301_1@


@H_301_1@

为了安全 先关闭数据库@H_301_1@

su - oracle@H_301_1@

sql> shutdown immediate;@H_301_1@

Database closed.@H_301_1@

Database dismounted.@H_301_1@

ORACLE instance shut down.@H_301_1@


@H_301_1@


@H_301_1@

sql> shutdown immediate@H_301_1@

ASM diskgroups volume disabled@H_301_1@

ASM diskgroups dismounted@H_301_1@

ASM instance shutdown@H_301_1@


@H_301_1@

asm启动到nomount状态@H_301_1@

sql> startup nomount@H_301_1@

ASM instance started@H_301_1@


@H_301_1@

Total System Global Area 283930624 bytes@H_301_1@

Fixed Size 2212656 bytes@H_301_1@

Variable Size 256552144 bytes@H_301_1@

ASM Cache 25165824 bytes@H_301_1@


@H_301_1@

查看目前磁盘组:@H_301_1@

sql> show parameter asm_diskgroup@H_301_1@


@H_301_1@

NAME TYPE VALUE@H_301_1@

------------------------------------ ----------- ------------------------------@H_301_1@

asm_diskgroups string FRA@H_301_1@

sql> select name,state from v$asm_diskgroup;@H_301_1@


@H_301_1@

NAME STATE@H_301_1@

------------------------------ -----------@H_301_1@

FRA DISMOUNTED@H_301_1@

DATA DISMOUNTED@H_301_1@


@H_301_1@

挂着磁盘组:@H_301_1@

alter diskgroup data mount;@H_301_1@

alter diskgroup fra mount;@H_301_1@

sql> alter diskgroup data mount;@H_301_1@


@H_301_1@

Diskgroup altered.@H_301_1@


@H_301_1@

sql> alter diskgroup fra mount;@H_301_1@


@H_301_1@

Diskgroup altered.@H_301_1@


@H_301_1@

sql>@H_301_1@


@H_301_1@

查看磁盘组状态:@H_301_1@

sql> select name,state from v$asm_diskgroup;@H_301_1@


@H_301_1@

NAME STATE@H_301_1@

------------------------------ -----------@H_301_1@

FRA MOUNTED@H_301_1@

DATA MOUNTED@H_301_1@


@H_301_1@

sql>@H_301_1@


@H_301_1@

############@H_301_1@

sql> shutdown immediate@H_301_1@

ASM diskgroups volume disabled@H_301_1@

ASM diskgroups dismounted@H_301_1@

ASM instance shutdown@H_301_1@

sql> startup@H_301_1@

ASM instance started@H_301_1@


@H_301_1@

Total System Global Area 283930624 bytes@H_301_1@

Fixed Size 2212656 bytes@H_301_1@

Variable Size 256552144 bytes@H_301_1@

ASM Cache 25165824 bytes@H_301_1@

ASM diskgroups mounted@H_301_1@

ASM diskgroups volume enabled@H_301_1@

sql> show parameter diskgroup@H_301_1@


@H_301_1@

NAME TYPE VALUE@H_301_1@

------------------------------------ ----------- ------------------------------@H_301_1@

asm_diskgroups string FRA,DATA@H_301_1@


@H_301_1@

sql> select name,state from v$asm_diskgroup;@H_301_1@


@H_301_1@

NAME STATE@H_301_1@

------------------------------ -----------@H_301_1@

DATA MOUNTED@H_301_1@

FRA MOUNTED@H_301_1@


@H_301_1@

startup 与 startup mount 、 startup open 在asm上面 是一样的@H_301_1@


@H_301_1@

#卸载磁盘组@H_301_1@

alter diskgroup data dismount;@H_301_1@


@H_301_1@


@H_301_1@

另外一种 保护模式:(修复模式)@H_301_1@

startup restrict;@H_301_1@

sql> startup restrict;@H_301_1@

ASM instance started@H_301_1@


@H_301_1@

Total System Global Area 283930624 bytes@H_301_1@

Fixed Size 2212656 bytes@H_301_1@

Variable Size 256552144 bytes@H_301_1@

ASM Cache 25165824 bytes@H_301_1@

ASM diskgroups mounted@H_301_1@

ASM diskgroups volume enabled@H_301_1@

sql> select name,state from v$asm_diskgroup;@H_301_1@


@H_301_1@

NAME STATE@H_301_1@

------------------------------ -----------@H_301_1@

DATA RESTRICTED@H_301_1@

FRA RESTRICTED@H_301_1@


@H_301_1@

这时启动数据库报错 因为asm保护模式@H_301_1@

sql> startup@H_301_1@

ORA-01078: failure in processing system parameters@H_301_1@

ORA-01565: error in identifying file '+DATA/orcl/spfileorcl.ora'@H_301_1@

ORA-17503: ksfdopn:2 Failed to open file +DATA/orcl/spfileorcl.ora@H_301_1@

ORA-15056: additional error message@H_301_1@

ORA-17503: ksfdopn:DGOpenFile05 Failed to open file +DATA/orcl/spfileorcl.ora@H_301_1@

ORA-17503: ksfdopn:2 Failed to open file +DATA/orcl/spfileorcl.ora@H_301_1@

ORA-15236: diskgroup DATA mounted in restricted mode@H_301_1@

ORA-06512: at line 4@H_301_1@


@H_301_1@


@H_301_1@

############@H_301_1@

srvctl stop asm -f 强制关闭磁盘组@H_301_1@


@H_301_1@

crs_stat -t@H_301_1@


@H_301_1@

srvctl start asm 启动磁盘组,但是没有mount@H_301_1@


@H_301_1@

把磁盘组打开到mount状态@H_301_1@

srvctl start diskgroup -g data@H_301_1@

srvctl start diskgroup -g fra@H_301_1@


@H_301_1@


@H_301_1@

srvctl stop diskgroup -g data@H_301_1@

srvctl stop diskgroup -g fra@H_301_1@


@H_301_1@

##############@H_301_1@


@H_301_1@


@H_301_1@

asmcmd@H_301_1@

[oracle@oel ~]$ asmcmd@H_301_1@

ASMCMD>@H_301_1@


@H_301_1@

ASMCMD> shutdown --help@H_301_1@

Unknown option: help@H_301_1@

usage: shutdown [--immediate] [--abort]@H_301_1@

help: help shutdown@H_301_1@


@H_301_1@

ASMCMD> shutdown --immediate@H_301_1@

ASM diskgroups volume disabled@H_301_1@

ASM diskgroups dismounted@H_301_1@

ASM instance shutdown@H_301_1@

Connected to an idle instance.@H_301_1@


@H_301_1@

有这么多命令???????@H_301_1@

ASMCMD> -- help@H_301_1@

commands:@H_301_1@

--------@H_301_1@


@H_301_1@

md_backup,md_restore@H_301_1@


@H_301_1@

lsattr,setattr@H_301_1@


@H_301_1@

cd,cp,du,find,help,ls,lsct,lsdg,lsof,mkalias@H_301_1@

mkdir,pwd,rm,rmalias@H_301_1@


@H_301_1@

chdg,chkdg,dropdg,iostat,lsdsk,lsod,mkdg,mount@H_301_1@

offline,online,rebal,remap,umount@H_301_1@


@H_301_1@

dsget,dsset,lsop,shutdown,spbackup,spcopy,spget@H_301_1@

spmove,spset,startup@H_301_1@


@H_301_1@

chtmpl,lstmpl,mktmpl,rmtmpl@H_301_1@


@H_301_1@

chgrp,chmod,chown,groups,grpmod,lsgrp,lspwusr,lsusr@H_301_1@

mkgrp,mkusr,orapwusr,passwd,rmgrp,rmusr@H_301_1@


@H_301_1@

volcreate,voldelete,voldisable,volenable,volinfo@H_301_1@

volresize,volset,volstat@H_301_1@


@H_301_1@

ASMCMD>@H_301_1@


@H_301_1@

ASMCMD> startup --help@H_301_1@

Unknown option: help@H_301_1@

usage: startup [--nomount] [--restrict] [--pfile <pfile.ora>]@H_301_1@

help: help startup@H_301_1@


@H_301_1@


@H_301_1@

3、管理ASM磁盘组@H_301_1@

8个2G@H_301_1@


@H_301_1@

2个磁盘组 DATA FRA@H_301_1@


@H_301_1@

sql> select name from v$datafile;@H_301_1@


@H_301_1@

NAME@H_301_1@

--------------------------------------------------------------------------------@H_301_1@

+DATA/orcl/datafile/system.256.943301251@H_301_1@

+DATA/orcl/datafile/sysaux.257.943301251@H_301_1@

+DATA/orcl/datafile/undotbs1.258.943301251@H_301_1@

+DATA/orcl/datafile/users.259.943301251@H_301_1@

+DATA/orcl/datafile/example.265.943301433@H_301_1@


@H_301_1@

sql> select name from v$controlfile;@H_301_1@


@H_301_1@

NAME@H_301_1@

--------------------------------------------------------------------------------@H_301_1@

+DATA/orcl/controlfile/current.260.943301383@H_301_1@

+FRA/orcl/controlfile/current.256.943301385@H_301_1@


@H_301_1@

磁盘组的冗余度:@H_301_1@

外部冗余:asm不提供如何数据镜像@H_301_1@

正常冗余:asm提供数据双向镜像@H_301_1@

高冗余:asm提供3向镜像@H_301_1@

fdisk -l@H_301_1@


@H_301_1@

fdisk /dev/sdj@H_301_1@

fdisk /dev/sdk@H_301_1@

fdisk /dev/sdl@H_301_1@

fdisk /dev/sdm@H_301_1@

fdisk /dev/sdn@H_301_1@

fdisk /dev/sdo@H_301_1@

fdisk /dev/sdp@H_301_1@

fdisk /dev/sdq@H_301_1@


@H_301_1@

vim /etc/udev/rules.d/60-raw.rules@H_301_1@


@H_301_1@

start_udev@H_301_1@

raw -aq@H_301_1@


@H_301_1@

ll /dev/raw@H_301_1@

chown oracle.oinstall /dev/raw/raw1*@H_301_1@

chmod 660 /dev/raw/raw1*@H_301_1@


@H_301_1@


@H_301_1@

sqlplus / as sysasm@H_301_1@

set lines 180;@H_301_1@

col name for a20;@H_301_1@

col path for a50;@H_301_1@

select name,path from v$asm_disk order by 1;@H_301_1@


@H_301_1@

sql> select name,path from v$asm_disk order by 1;@H_301_1@


@H_301_1@

NAME PATH@H_301_1@

-------------------- --------------------------------------------------@H_301_1@

DATA_0000 /dev/raw/raw1@H_301_1@

DATA_0001 /dev/raw/raw2@H_301_1@

DATA_0002 /dev/raw/raw3@H_301_1@

DATA_0003 /dev/raw/raw4@H_301_1@

FRA_0000 /dev/raw/raw5@H_301_1@

FRA_0001 /dev/raw/raw6@H_301_1@

FRA_0002 /dev/raw/raw7@H_301_1@

FRA_0003 /dev/raw/raw8@H_301_1@

/dev/raw/raw12@H_301_1@

/dev/raw/raw11@H_301_1@

/dev/raw/raw15@H_301_1@


@H_301_1@

NAME PATH@H_301_1@

-------------------- --------------------------------------------------@H_301_1@

/dev/raw/raw16@H_301_1@

/dev/raw/raw18@H_301_1@

/dev/raw/raw17@H_301_1@

/dev/raw/raw13@H_301_1@

/dev/raw/raw14@H_301_1@


@H_301_1@


@H_301_1@


@H_301_1@

创建磁盘组:@H_301_1@

create diskgroup test normal redundancy failgroup fg1 disk '/dev/raw/raw11' name test_1,'/dev/raw/raw12' name test_2 failgroup fg2 disk '/dev/raw/raw13' name test_3,'/dev/raw/raw14' name test_4;@H_301_1@


@H_301_1@

sql> create diskgroup test normal redundancy failgroup fg1 disk '/dev/raw/raw11' name@H_301_1@

test_1,'/dev/raw/raw14' name test_4;@H_301_1@

Diskgroup created.@H_301_1@


@H_301_1@

sql> select name,state from v$asm_diskgroup;@H_301_1@


@H_301_1@

NAME STATE@H_301_1@

-------------------- -----------@H_301_1@

DATA MOUNTED@H_301_1@

FRA MOUNTED@H_301_1@

TEST MOUNTED@H_301_1@


@H_301_1@

查看磁盘组及单前大小及空闲大小@H_301_1@

set pages 1000;@H_301_1@

sql> select group_number,name,state,total_mb,free_mb from v$asm_diskgroup;@H_301_1@


@H_301_1@

GROUP_NUMBER NAME STATE TOTAL_MB FREE_MB@H_301_1@

------------ -------------------- ----------- ---------- ----------@H_301_1@

1 DATA MOUNTED 8188 4557@H_301_1@

2 FRA MOUNTED 8188 7954@H_301_1@

3 TEST MOUNTED 2044 1938@H_301_1@

@H_301_1@

select a.group_number,a.name,b.name,b.path from v$asm_diskgroup a,v$asm_disk b where a.group_number=b.group_number order by 1,2,3,4;@H_301_1@

GROUP_NUMBER NAME NAME PATH@H_301_1@

------------ -------------------- -------------------- --------------------@H_301_1@

1 DATA DATA_0000 /dev/raw/raw1@H_301_1@

1 DATA DATA_0001 /dev/raw/raw2@H_301_1@

1 DATA DATA_0002 /dev/raw/raw3@H_301_1@

1 DATA DATA_0003 /dev/raw/raw4@H_301_1@

2 FRA FRA_0000 /dev/raw/raw5@H_301_1@

2 FRA FRA_0001 /dev/raw/raw6@H_301_1@

2 FRA FRA_0002 /dev/raw/raw7@H_301_1@

2 FRA FRA_0003 /dev/raw/raw8@H_301_1@

3 TEST TEST_1 /dev/raw/raw11@H_301_1@

3 TEST TEST_2 /dev/raw/raw12@H_301_1@

3 TEST TEST_3 /dev/raw/raw13@H_301_1@

3 TEST TEST_4 /dev/raw/raw14@H_301_1@


@H_301_1@

12 rows selected.@H_301_1@


@H_301_1@

@H_301_1@

修改磁盘组:@H_301_1@


@H_301_1@

删除磁盘组:@H_301_1@

drop diskgroup test including contents;@H_301_1@


@H_301_1@


@H_301_1@

往磁盘组中添加磁盘:@H_301_1@

alter diskgroup test add disk '/dev/raw/raw15' name A5,'/dev/raw/raw16' name A6,'/dev/raw/raw17' name A7,'/dev/raw/raw18' name A8;@H_301_1@


@H_301_1@

从磁盘组中删除磁盘:@H_301_1@

alter diskgroup test drop disk A5;@H_301_1@


@H_301_1@

取消磁盘操作undrop@H_301_1@

alter diskgroup test undrop disk A5;@H_301_1@


@H_301_1@

查看asm的兼容性:@H_301_1@

sql> select name,DATABASE_COMPATIBILITY,COMPATIBILITY from v$asm_diskgroup where name='FRA';@H_301_1@


@H_301_1@

NAME DATABASE_COMPATIBILITY COMPATIBILITY@H_301_1@

-------------------- ------------------------------------------------------------ -----------------@H_301_1@

-------------------------------------------FRA 10.1.0.0.0 11.2.0.0.0@H_301_1@


@H_301_1@

sql> select name,COMPATIBILITY from v$asm_diskgroup where name='TEST';@H_301_1@


@H_301_1@

NAME@H_301_1@

------------------------------@H_301_1@

DATABASE_COMPATIBILITY@H_301_1@

------------------------------------------------------------@H_301_1@

COMPATIBILITY@H_301_1@

------------------------------------------------------------@H_301_1@

TEST@H_301_1@

10.1.0.0.0@H_301_1@

10.1.0.0.0@H_301_1@


@H_301_1@

修改asm兼容性(asm和rdbms)@H_301_1@


@H_301_1@

alter diskgroup test set attribute 'compatible.asm'='11.2.0.0.0';@H_301_1@

alter diskgroup test set attribute 'compatible.rdbms'='11.2.0.0.0';@H_301_1@


@H_301_1@

sql> select name,COMPATIBILITY from v$asm_diskgroup where name='TEST';@H_301_1@


@H_301_1@

NAME@H_301_1@

------------------------------@H_301_1@

DATABASE_COMPATIBILITY@H_301_1@

------------------------------------------------------------@H_301_1@

COMPATIBILITY@H_301_1@

------------------------------------------------------------@H_301_1@

TEST@H_301_1@

11.2.0.0.0@H_301_1@

11.2.0.0.0@H_301_1@


@H_301_1@

select name,path from v$asm_disk order by 1,2;@H_301_1@


@H_301_1@

#drop test_1;不记录磁盘变化@H_301_1@

alter diskgroup test offline disk test_1 drop after 0 h;@H_301_1@

select name,repair_timer,state from v$asm_disk_stat;@H_301_1@

select name,2;@H_301_1@


@H_301_1@

重新上线:@H_301_1@

alter diskgroup test add disk '/dev/raw/raw11' name test_1;@H_301_1@


@H_301_1@

sql> alter diskgroup test add disk '/dev/raw/raw11' name test_1;@H_301_1@

alter diskgroup test add disk '/dev/raw/raw11' name test_1@H_301_1@

*@H_301_1@

ERROR at line 1:@H_301_1@

ORA-15032: not all alterations performed@H_301_1@

ORA-15033: disk '/dev/raw/raw11' belongs to diskgroup "TEST"@H_301_1@


@H_301_1@

清空磁盘:@H_301_1@

dd if=/dev/zero of=/dev/raw/raw11 bs=1M count=10;@H_301_1@


@H_301_1@

重新添加:@H_301_1@

sql> alter diskgroup test add disk '/dev/raw/raw11' name test_1;@H_301_1@


@H_301_1@

Diskgroup altered.@H_301_1@


@H_301_1@

###repair_timer小于3.6小时@H_301_1@

alter diskgroup test offline disk test_1 drop after 3.6 h;@H_301_1@

猜你在找的Oracle相关文章