oracle asm管理

1、asm优点

概念:

auto storage manage

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

性能比较:raw > asm > filesystem

管理方便性 filesystem > asm > raw

逻辑结构

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

物理结构:SAN存储 NFS存储

数据文件()

ASM结构::

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

|

ASM文件

asm功能和特点

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

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

允许调整重新平衡速度

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

只支持oracle DB文件

可识别支持集群环境

可自动安装

asm优点:

可以让ASM免除如下:

I/O性能优化

数据文件移动和重新组织

文件名管理

逻辑卷管理

文件系统管理

集群文件系统管理

裸设备管理

raid 0 1 (卷)

raid1 2快盘  内容一模一样

raid0  2块盘   各一半

raid5  3块盘   一半  一半   全部

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

2、管理asm实例

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

asm后台进程:

arcn归档进程

ckpt检查点进程

dbwn数据写进程

diag诊断进程

jnnn作业队列进程

lgwr日志写进程

pmon进程监视器

pspo进程衍生进程

qmnn 队列监视器

reco恢复器进程

smon系统监视器

mman内存管理器进程

vktm虚拟计时器进程

如果集群还有如下进程:

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

lmdn全局入队服务守护进程

lmsn 全局高速缓存服务进程

lckn锁定进程

ps -ef | grep asm --colour

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

数据库请求创建文件

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

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

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

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

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

asm动态性能视图

v$asm_alias v$asm_attribute

v$asm_client

v$asm_disk

v$asm_disk_iostat

v$asm_disk_stat

v$asm_operation

v$asm_template

asm系统权限:

sysasm  osasm

sysdba  osdba

sysoper osoper

命令行登录:

sqlplus  / as sysasm

SQL> show parameter spfile;

NAME     TYPE VALUE

------------------------------------ ----------- ------------------------------

spfile     string +DATA/asm/asmparameterfile/reg

istry.253.943292165

SQL> create pfile from spfile;

File created.

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

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

asm实例的启动及关闭

SQL> show parameter name;

NAME     TYPE VALUE

------------------------------------ ----------- ------------------------------

db_unique_name     string +ASM

instance_name     string +ASM

lock_name_space     string

service_names     string +ASM

查看asm组

SQL> select name,state from v$asm_diskgroup;

NAME       STATE

------------------------------ -----------

DATA       MOUNTED

FRA           MOUNTED

SQL> select GROUP_NUMBER,INSTANCE_NAME,DB_NAME from v$asm_client;

GROUP_NUMBER INSTANCE_N DB_NAME

------------ ---------- ----------

########## +ASM +ASM

########## orcl orcl

########## orcl orcl

为了安全 先关闭数据库

su - oracle

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> shutdown immediate

ASM diskgroups volume disabled

ASM diskgroups dismounted

ASM instance shutdown

asm启动到nomount状态

SQL> startup nomount

ASM instance started

Total System Global Area  283930624 bytes

Fixed Size    2212656 bytes

Variable Size  256552144 bytes

ASM Cache   25165824 bytes

查看目前磁盘组:

SQL> show parameter asm_diskgroup

NAME     TYPE VALUE

------------------------------------ ----------- ------------------------------

asm_diskgroups     string FRA

SQL> select name,state from v$asm_diskgroup;

NAME       STATE

------------------------------ -----------

FRA       DISMOUNTED

DATA       DISMOUNTED

挂着磁盘组:

alter diskgroup data mount;

alter diskgroup fra mount;

SQL> alter diskgroup data mount;

Diskgroup altered.

SQL> alter diskgroup fra mount;

Diskgroup altered.

SQL>

查看磁盘组状态:

SQL> select name,state from v$asm_diskgroup;

NAME       STATE

------------------------------ -----------

FRA       MOUNTED

DATA       MOUNTED

SQL>

############

SQL> shutdown immediate

ASM diskgroups volume disabled

ASM diskgroups dismounted

ASM instance shutdown

SQL> startup

ASM instance started

Total System Global Area  283930624 bytes

Fixed Size    2212656 bytes

Variable Size  256552144 bytes

ASM Cache   25165824 bytes

ASM diskgroups mounted

ASM diskgroups volume enabled

SQL> show parameter diskgroup

NAME     TYPE VALUE

------------------------------------ ----------- ------------------------------

asm_diskgroups     string FRA, DATA

SQL> select name,state from v$asm_diskgroup;

NAME       STATE

------------------------------ -----------

DATA       MOUNTED

FRA           MOUNTED

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

#卸载磁盘组

alter diskgroup data dismount;

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

startup  restrict;

SQL> startup  restrict;

ASM instance started

Total System Global Area  283930624 bytes

Fixed Size    2212656 bytes

Variable Size  256552144 bytes

ASM Cache   25165824 bytes

ASM diskgroups mounted

ASM diskgroups volume enabled

SQL> select name,state from v$asm_diskgroup;

NAME       STATE

------------------------------ -----------

DATA       RESTRICTED

FRA           RESTRICTED

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

SQL> startup

ORA-01078: failure in processing system parameters

ORA-01565: error in identifying file ‘+DATA/orcl/spfileorcl.ora‘

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

ORA-15056: additional error message

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

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

ORA-15236: diskgroup DATA mounted in restricted mode

ORA-06512: at line 4

############

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

crs_stat -t

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

把磁盘组打开到mount状态

srvctl start diskgroup -g data

srvctl start diskgroup -g fra

srvctl stop diskgroup -g data

srvctl stop diskgroup -g fra

##############

asmcmd

[[email protected] ~]$ asmcmd

ASMCMD>

ASMCMD> shutdown --help

Unknown option: help

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

help:  help shutdown

ASMCMD> shutdown --immediate

ASM diskgroups volume disabled

ASM diskgroups dismounted

ASM instance shutdown

Connected to an idle instance.

有这么多命令???????

ASMCMD> -- help

commands:

--------

md_backup, md_restore

lsattr, setattr

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

mkdir, pwd, rm, rmalias

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

offline, online, rebal, remap, umount

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

spmove, spset, startup

chtmpl, lstmpl, mktmpl, rmtmpl

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

mkgrp, mkusr, orapwusr, passwd, rmgrp, rmusr

volcreate, voldelete, voldisable, volenable, volinfo

volresize, volset, volstat

ASMCMD>

ASMCMD> startup --help

Unknown option: help

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

help:  help startup

3、管理ASM磁盘组

8个2G

2个磁盘组 DATA FRA

SQL> select name from v$datafile;

NAME

--------------------------------------------------------------------------------

+DATA/orcl/datafile/system.256.943301251

+DATA/orcl/datafile/sysaux.257.943301251

+DATA/orcl/datafile/undotbs1.258.943301251

+DATA/orcl/datafile/users.259.943301251

+DATA/orcl/datafile/example.265.943301433

SQL> select name from v$controlfile;

NAME

--------------------------------------------------------------------------------

+DATA/orcl/controlfile/current.260.943301383

+FRA/orcl/controlfile/current.256.943301385

磁盘组的冗余度:

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

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

高冗余:asm提供3向镜像

fdisk -l

fdisk /dev/sdj

fdisk /dev/sdk

fdisk /dev/sdl

fdisk /dev/sdm

fdisk /dev/sdn

fdisk /dev/sdo

fdisk /dev/sdp

fdisk /dev/sdq

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

start_udev

raw -aq

ll /dev/raw

chown oracle.oinstall /dev/raw/raw1*

chmod 660 /dev/raw/raw1*

sqlplus / as sysasm

set lines 180;

col name for a20;

col path for a50;

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

SQL> select name,path from v$asm_disk order by 1;

NAME     PATH

-------------------- --------------------------------------------------

DATA_0000     /dev/raw/raw1

DATA_0001     /dev/raw/raw2

DATA_0002     /dev/raw/raw3

DATA_0003     /dev/raw/raw4

FRA_0000     /dev/raw/raw5

FRA_0001     /dev/raw/raw6

FRA_0002     /dev/raw/raw7

FRA_0003     /dev/raw/raw8

/dev/raw/raw12

/dev/raw/raw11

/dev/raw/raw15

NAME     PATH

-------------------- --------------------------------------------------

/dev/raw/raw16

/dev/raw/raw18

/dev/raw/raw17

/dev/raw/raw13

/dev/raw/raw14

创建磁盘组:

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;

SQL> 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;

Diskgroup created.

SQL> select name,state from v$asm_diskgroup;

NAME     STATE

-------------------- -----------

DATA     MOUNTED

FRA         MOUNTED

TEST     MOUNTED

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

set pages 1000;

SQL> select group_number,name,state,total_mb,free_mb from v$asm_diskgroup;

GROUP_NUMBER NAME  STATE TOTAL_MB    FREE_MB

------------ -------------------- ----------- ---------- ----------

1 DATA  MOUNTED    8188       4557

2 FRA  MOUNTED    8188       7954

3 TEST  MOUNTED    2044       1938

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;

GROUP_NUMBER NAME  NAME       PATH

------------ -------------------- -------------------- --------------------

1 DATA  DATA_0000       /dev/raw/raw1

1 DATA  DATA_0001       /dev/raw/raw2

1 DATA  DATA_0002       /dev/raw/raw3

1 DATA  DATA_0003       /dev/raw/raw4

2 FRA  FRA_0000       /dev/raw/raw5

2 FRA  FRA_0001       /dev/raw/raw6

2 FRA  FRA_0002       /dev/raw/raw7

2 FRA  FRA_0003       /dev/raw/raw8

3 TEST  TEST_1       /dev/raw/raw11

3 TEST  TEST_2       /dev/raw/raw12

3 TEST  TEST_3       /dev/raw/raw13

3 TEST  TEST_4       /dev/raw/raw14

12 rows selected.

修改磁盘组:

删除磁盘组:

drop diskgroup test including contents;

往磁盘组中添加磁盘:

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;

从磁盘组中删除磁盘:

alter diskgroup test  drop disk A5;

取消磁盘操作undrop

alter diskgroup test  undrop disk A5;

查看asm的兼容性:

SQL> select name ,DATABASE_COMPATIBILITY,COMPATIBILITY from v$asm_diskgroup where name=‘FRA‘;

NAME     DATABASE_COMPATIBILITY  COMPATIBILITY

-------------------- ------------------------------------------------------------ -----------------

-------------------------------------------FRA     10.1.0.0.0  11.2.0.0.0

SQL> select name ,DATABASE_COMPATIBILITY,COMPATIBILITY from v$asm_diskgroup where name=‘TEST‘;

NAME

------------------------------

DATABASE_COMPATIBILITY

------------------------------------------------------------

COMPATIBILITY

------------------------------------------------------------

TEST

10.1.0.0.0

10.1.0.0.0

修改asm兼容性(asm和rdbms)

alter diskgroup test  set attribute ‘compatible.asm‘=‘11.2.0.0.0‘;

alter diskgroup test  set attribute ‘compatible.rdbms‘=‘11.2.0.0.0‘;

SQL> select name ,DATABASE_COMPATIBILITY,COMPATIBILITY from v$asm_diskgroup where name=‘TEST‘;

NAME

------------------------------

DATABASE_COMPATIBILITY

------------------------------------------------------------

COMPATIBILITY

------------------------------------------------------------

TEST

11.2.0.0.0

11.2.0.0.0

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

#drop test_1;不记录磁盘变化

alter diskgroup test offline disk test_1 drop after 0 h;

select name,repair_timer,state from v$asm_disk_stat;

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

重新上线:

alter diskgroup test add disk ‘/dev/raw/raw11‘ name test_1;

SQL> alter diskgroup test add disk ‘/dev/raw/raw11‘ name test_1;

alter diskgroup test add disk ‘/dev/raw/raw11‘ name test_1

*

ERROR at line 1:

ORA-15032: not all alterations performed

ORA-15033: disk ‘/dev/raw/raw11‘ belongs to diskgroup "TEST"

清空磁盘:

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

重新添加:

SQL> alter diskgroup test add disk ‘/dev/raw/raw11‘ name test_1;

Diskgroup altered.

###repair_timer小于3.6小时

alter diskgroup test offline disk test_1 drop after 3.6 h;

时间: 2024-11-10 00:14:30

oracle asm管理的相关文章

Oracle ASM数据库日常管理维护_超越OCP精通Oracle视频课程培训25

oracle视频教程目标  Oracle视频教程,风哥本套oracle教程培训学习ASM基础知识,ORACLE单机与RAC的ASM安装配置说明,ORACLE单机与RAC ASM启动与关闭,图形界面和命令行下ASM磁盘组的创建与维护,ASM环境下的表空间管理,ASMCMD管理工具介绍,配置ASM监听实现远程连接管理,同机迁移数据库从ASM磁盘至文件系统,异机迁移数据库从文件系统至ASM磁盘等. 适用人群IT相关从业人员.Oracle数据库技术人员.想加工资的.想升职的都可以.  视频在线学习地址:

Oracle ASM

一 Oracle ASM簡介 Oracle 10g推出的管理磁盤的新方式,用於取代LVM技術.主要用于RAC環境 二 Oracle ASM的配置安裝 1.安裝asm包 RedHat Linux5.x 環境主要安裝如下三個包: oracleasm-support ,oracleasmlib,oracleasm-2.6.18-164.el這幾個包都可以在oracle官網下載到. RedHat Linux 6.5版本安裝如下三個包: kmod-oracleasm-2.0.6.rh1-3.el6.x86

[转]Oracle DB 管理ASM实例

? 描述使用ASM 的好处 ? 管理ASM 实例 ? 创建和删除ASM 磁盘组 ? 扩展ASM 磁盘组 ? 通过使用各种实用程序检索ASM 元数据 Automatic Storage Management Automatic Storage Management (ASM) 将文件系统与卷管理器纵向集成在一起,这是一项专门为Oracle DB 文件建立的技术.使用ASM 可管理单个对称多处理(SMP) 计算机,或通过管理集群的多个节点来支持Oracle Real Application Clus

Oracle ASM学习之(1)--ASM Instance管理

Oracle ASM学习之(1)--ASM Instance管理    About Oracle ASM Instances An Oracle ASM instance is built on the same technology as an Oracle Database instance. An Oracle ASM instance has a System Global Area (SGA) and background processes that are similar to t

Oracle ASM 详解

ASM:Automatic Storage Management, 是Oracle 主推的一种面向Oracle的存储解决方案, ASM 和 RDBMS 非常相似,ASM 也是由实例和文件组成, 也可以通过sqlplus 工具来维护. ASM 实例的创建和删除也可以用DBCA 这个命令来操作.在dbca 的第一个界面选择配置自动存储管理就可以了. ASM 实例需要CSS 进程, 如果是非RAC 环境, 在启动ASM 实例之前会提示用脚本 $ORACLE_HOME/bin/localconfig a

【转载】Oracle ASM

1.说说你个人理解的存储解决方案的发展趋势. Oracle 7&8 :这个时期的数据库备份方案已经可以使用RMAN 命令,它起源于Oracle 版本8,7的时候还不具备这个功能.可以把数据存储在操作系统的文件系统上和裸设备上.一提到裸设备可能刚进入DBA行当的朋友们不是很熟悉,下面随便简单介绍一下吧. 裸设备:我们把这三个字分开说吧,设备就是指的物理磁盘,像老一点的IDE磁盘,现在常用的SCSI磁盘SAS磁盘等.裸指的是这个磁盘上没有文件系统,一般磁盘在插入到主板上后必须为其创建文件系统(win

Oracle内存管理(之四)

[深入解析--eygle]学习笔记 1.3 SGA管理 SGA指系统全局区(System Global Area),是一块用于加载数据.对象并保存运行状态和数据库控制信息的一块内存区域,在数据库实例启动时分配,当实例关闭时释放,每个实例都拥有自己的SGA区. 在第一章曾经?到,当数据库启动到nomount状态时,SGA已经分配,同时启动后台进程,在SQL*Plus中通过show sga命令可以看到SGA的分配情况: [email protected] SQL>show parameter sga

Oracle OMF管理数据文件

1.什么是OMF? Oracle managed file的缩写,简单的理解,就是oracle自己管理自己的文件,可以是dbf,redolog 等等,具体可以参考官方文档Adiministrator中的17.Using Oracle Managed Files 2.如何查看当前系统是否使用了OMF? show parameter db_create; 参数的值是空的,说明我们没有使用OMF. 3.开启OMF alter system set db_create_file_dest='/oracl

《oracle asm instance &amp;amp; add asm diskgroup》

摘要:<oracle asm instance & add asm diskgroup> 2009/7/1 自从将oracle 9i升级到oracle 10g后,为了后公司的项目,就一直想实践ASM及RAC, 因为对ASM的建立一直不是很了解,东凑西凑,看了许多google上的参考数据后,还是觉得oracle自家的文档写的最详细, 原来ASM架构也是一个小型的oracle database instance, 用途就是管理ASM使用,所以要先建立ASM instance,这次是透过DB