ORACLE中文教程—ASM管理
- 格式:ppt
- 大小:964.50 KB
- 文档页数:53
ASM A 管理正做 与 o A自动㈡ASM orac 启动NOMM 与LVMASM 是OMF 理,在底层将做到了“3M 融LVM 的对比oracle 块在它 ASM diskgASM disk ASM file ASM 可以条带动平衡 I/O 以 与RDBMS M 实例和ora cle 实例管理动和停止实例MOUNT:仅 的一个扩展将存储进行自融合”。
同时也它所管理的磁group ∽ ∽ ∽ 带化和镜像磁以删除“热点实例的对比cle 实例都是的是数据库,例的命令也基仅启动实例AS ,通过ASM 我管理。
同时也是向上兼容盘组的磁盘上 VG PVLV磁盘,从而实”。
LVM 不做是由SGA 和一,而ASM 实基本一样。
SM 介和OMF 的结时,ASM 模式容的体现,简上,与LVM 实现了在数据做硬件级别的一堆后台进程实例用于对磁介绍结合,oracle 式下,备份恢简化RAC 中存基本对应。
据库被加载的的容灾,ASM 程构成,但他盘组的管理在上层将数恢复只能由r 存储端的配置的情况下添加可以实现硬他们所面对的。
数据文件进行rman 来承担置。
加或移除磁盘硬件级别的容的对象是不同行自我担,真盘以及容灾。
的,MOUNT 、OPEN:启动实例并加载磁盘,注意加载的是磁盘组,OPEN选项对于ASM实例无意义,等同于MOUNTFORCE :相当于先执行shutdown abort,然后再startup。
但是,ASM 实例没有数据字典之类的东东存储用户系统。
ASM实例的初始化参数ASM实例的初始化参数形式上与RDBMS实例相同,也有pfile和spfile,如:spfile+ASM1.ora. 但是,毕竟,ASM只有实例,而且加载的是磁盘组,所以相对RDBMS实例的初始化参数要简单。
ASM 需要的内存不多:对大多数系统,只需 64 MB。
因此内存这块相关参数就不说了。
下面说说几个ASM实例特别需要的参数。
㈠INSTANCE_TYPE> show parameter instance_typeNAME TYPE VALUE‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ ‐‐‐‐‐‐‐‐ ‐‐‐‐‐‐ instance_type string asm初始化参数文件中的INSTANCE_TYPE,该参数必须被设置为ASM,标识要启动的实例是ASM,而不是rdbms实例.㈡ ASM_DISKSTRING> show parameter asm_diskstringNAME TYPE VALUE‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ ‐‐‐‐‐‐‐‐ ‐‐‐‐‐‐‐asm_diskstring string设置ASM启动时检查的磁盘,该选项可以同时指定多个值,并且支持通配符。
ASM的文件管理深入解析第一章ASM文件ASM中的文件总体上来说,分为两大类,元文件和数据文件。
数据文件包含Oracle的数据文件、控制文件、重做日志文件、归档日志文件等等。
对于ASM来说,只要是非元文件,就是数据文件。
每一个文件,在ASM中都有一个专门的索引号,也就是编号,ASM文件索引号从1开始。
其中,前255个,也就是1至255号文件,都是元文件。
256之后的是其他各种文件。
元文件中包含了各种ASM的配置、各类数据文件信息还有目录、别名等等信息,都是在元文件中的。
所有V$ASM_开头视图的信息,都来自元文件中。
其中,1号文件包含所有文件的磁盘占用信息,包括元文件、甚至1号文件自身的空间分布信息,也都是在1号文件内部。
每个文件在它里面占用一个块(4096字节,元数据块大小为4K)的空间。
从256号文件开始,是数据库的各类文件。
假设你放在ASM上的第一个文件是一个控制文件A,第二个文件是一个数据文件B。
哪么控制文件A在ASM中的索引号是256,数据文件B的索引号是257。
1号文件总是开始在0号磁盘2号AU,记住这个位置:0号盘2号AU。
这是ASM中定位文件的起点,它的作用,有点相当于磁盘上的引导区,在电脑开机后负责将OS启动起来。
1号文件在最少情况下,至少有两个AU。
上面我们提到过了,在1号文件中,每个文件占用一个元数据块,存放自身的空间分布信息。
每个元数据块大小是4K,一个AU是1M,哪么,每个AU中,可以存储256个文件的空间分布信息。
这其中,0号盘2号AU中,全是元文件的信息。
再具体一点,0号盘2号AU,第一个元数据块被系统占用,从第二个块开始,到255为止,共255个元数据块,对应索引号1至255的文件。
其实,也就是全部的元文件了。
也就是说0号盘2号AU,保存了全部元文件的空间分布信息。
1号文件的第二个AU,从第一个块开始,保存256号文件。
第二个块对应257号文件,等等。
每次从ASM中读数据时,Oracle都要先读到1号文件,从中找出要读的目标文件在磁盘上的分布位置,然后再去读取相应的文件的数据。
EXADATA维护系列之ASM管理与维护1.ASM的概况ASM(Automatic Storage Management)是oracle 10g推出来的新功能,可以直接管理OS 层的磁盘,比如对盘进行条带和镜像,提供一个高可用的存储架构!使用ASM时,强烈建议打开OS层的ASYNC I/O,提高I/O的性能!比如,在EXADATA上,就完全采用ASM的技术对storage servers上的磁盘进行条带话和镜像处理,为上层的database servers提共高可用的shared存储空间ASM 实例与 ORACLE 实例差不多,都是由 sga 和一堆后台进程组成,从功能上来看,区别在于oracle实例管理的是数据库,而asm实例只是管理asm盘阵。
2. connect/startup/shutdown ASM 实例(11g环境)(1)连接asm instance并打开export ORACLE_SID=+ASM1$GRID_HOME/bin/sqlplus /nologconn / as sysasmstartup mount(2)关闭asm instanceshutdown immediate或者使用srvctl命令来管理asm instancesrvctl start asmsrvctl stop asm3.ASM instance里相关的init参数ASM_POWER_LIMIT :指定磁盘rebalance的程度,有0-11个级别,默认值为1,指定的级别越高,则rebalance的操作就会越快被完成(当然这也意味着这个时间段内将占用更多的资源),指定级别较低的话,虽然rebalance操作会耗时更久,但对当前系统的IO及负载影响会更少,这中间的度需要DBA根据实际情况衡量。
另外,这个参数指定的只是一个默认值,在操作过程中,即可以随便动态修改,也可以在语句级命令行时指定power,覆盖该默认值。
ORACLE_ASM_概述Oracle ASM(Automatic Storage Management)是Oracle数据库管理系统中的一项功能强大的存储管理技术。
它提供了一个集成的、高性能的存储解决方案,用于管理数据库文件、控制数据分布和提供高可用性。
下面将对Oracle ASM进行详细的概述。
Oracle ASM的主要目标是简化数据库存储的管理和维护。
它将数据文件和日志文件直接映射到操作系统的文件系统,而无需使用文件系统路径来引用它们。
这样做的好处是,ASM可以自动管理多个存储设备(如磁盘组),并为数据库文件提供统一的访问接口。
这样,数据库管理员就可以更轻松地管理存储设备,并且不需要了解底层的物理存储细节。
ASM使用逻辑概念来管理存储,这使得它与底层的物理存储设备解耦。
例如,ASM使用概念上的“磁盘组”来组织存储设备。
磁盘组是一个逻辑容器,它包含多个物理设备(如磁盘)并提供统一的命名空间。
ASM将数据文件分布在磁盘组的多个磁盘上,以提高性能和可靠性。
它还使用“重定义”来保持文件的完整性,并提供与文件相关的一致性保护机制。
使用ASM,数据库管理员可以更容易地配置和管理数据库存储。
例如,他们可以使用ASM命令来创建和管理磁盘组、向磁盘组添加/删除磁盘、创建/删除ASM实例等。
此外,ASM还提供了许多性能和可靠性方面的优势。
例如,ASM可以自动在磁盘组的多个磁盘上分布数据库文件,以提高I/O性能。
它还可以通过数据文件重定义来自动修复数据坏块,从而提供更高的数据可靠性。
另一个重要的特性是ASM可以与Oracle数据库实例无缝集成。
ASM可以自动识别ASM实例中的数据库文件,并为每个文件提供统一的命名约定。
这意味着数据库管理员可以在ASM文件系统中直接引用数据文件,而无需指定文件系统路径。
这大大简化了数据库管理中的一些重要任务,如备份和恢复操作。
值得注意的是,ASM并不是Oracle数据库的唯一存储选项。
探索ORACLE之ASM概念(完整版)⼀、 ASM(⾃动存储管理)的来由:ASM是Oracle 10g R2中为了简化Oracle数据库的管理⽽推出来的⼀项新功能,这是Oracle⾃⼰提供的卷管理器,主要⽤于替代操作系统所提供的LVM,它不仅⽀持单实例,同时对RAC的⽀持也是⾮常好。
ASM可以⾃动管理磁盘组并提供有效的数据冗余功能。
使⽤ASM(⾃动存储管理)后,数据库管理员不再需要对ORACLE中成千上万的数据⽂件进⾏管理和分类,从⽽简化了DBA的⼯作量,可以使得⼯作效率⼤⼤提⾼。
⼆、什么是ASMASM它提供了以平台⽆关的⽂件系统、逻辑卷管理以及软RAID服务。
ASM可以⽀持条带化和磁盘镜像,从⽽实现了在数据库被加载的情况下添加或移除磁盘以及⾃动平衡I/O以删除“热点”。
它还⽀持直接和异步的I/O并使⽤Oracle9i中引⼊的Oracle数据管理器API(简化的I/O系统调⽤接⼝)。
ASM是做为单独的Oracle实例实施和部署,并且它只需要有参数⽂件,不需要其它的任何物理⽂件,就可以启动ASM实例,只有它在运⾏的时候,才能被其它数据访问。
在Linux平台上,只有运⾏了OCSSD服务(Oracle安装程序默认安装)了才能和访问ASM。
三、使⽤ASM的好处:1、将I/O平均分部到所有可⽤磁盘驱动器上以防⽌产⽣热点,并且最⼤化性能。
2、配置更简单,并且最⼤化推动数据库合并的存储资源利⽤。
3、内在的⽀持⼤⽂件4、在增量增加或删除存储容量后执⾏⾃动联系重分配5、维护数据的冗余副本以提⾼可⽤性。
6、⽀持10g,11g的数据存储及RAC的共享存储管理7、⽀持第三⽅的多路径软件8、使⽤OMF⽅式来管理⽂件四、 ASM冗余:ASM使⽤独特的镜像算法:不镜像磁盘,⽽是镜像盘区。
作为结果,为了在产⽣故障时提供连续的保护,只需要磁盘组中的空间容量,⽽不需要预备⼀个热备(hot spare)磁盘。
不建议⽤户创建不同尺⼨的故障组,因为这将会导致在分配辅助盘区时产⽣问题。
Oracle-ASM磁盘组属性磁盘组属性常见属性access_control.enabled:定了⼀个磁盘组的ASM File Access Control是否启⽤,参数的值可以设置为true或者false(默认)access_control.umask:与通常os层⾯的umask类似。
⽤来设置ASM⽂件的属主,属组和其他⽤户的权限。
这个特性对磁盘组中所有⽂件⽣效。
属性的值是3位数的组合,每⼀位可以是0,2,6数字中的⼀个。
默认情况下为066设置为0:表⽰不排除任何权限设置为2:表⽰排除掉写权限设置为6:表⽰把读写权限都排除au_size:指定分配单元(AU)⼤⼩,并且只能在创建磁盘组时设置cell.smart_scan_capable:仅适⽤于 Oracle Exadata 存储的配置compatible.advm:指定磁盘组的 Oracle ⾃动存储管理集群⽂件系统 (Oracle ACFS) 和 Oracle ASM 动态卷管理器 (Oracle ADVM) 兼容性级别。
compatible.asm:指定了可以使⽤磁盘组的ASM实例的最低软件版本compatible.rdbms:指定磁盘组的数据库兼容性级别disk_repair_time:指定了ASM保持磁盘offline状态的时间,超过这个时间之后,将该盘drop。
COMPATIBLE.ASM属性要设置为11.1或者更⾼sector_size:指定了磁盘组中磁盘的扇区⼤⼩,只能在创建磁盘组时指定可以设置为512,4096或者4k,默认值依OS平台⽽定要修改该属性的值,需要把COMPATIBLE.ASM和COMPATIBLE.RDBMS设置为11.2或者更⾼。
CONTENT.CHECK:控制磁盘组在rebalance时,是否进⾏内容校验。
该属性的值可以设置为true或者false内容校验包括⽤户数据的HARD(Hardware Assisted Resilient Data)校验,⽂件⽬录中⽂件类型和⽂件⽬录信息的校验,以及镜像内容的对⽐CONTENT.TYPE:将磁盘组指定为⼏种类型:DATA, RECOVERY或者SYSTEM。
ASM基础概念——AU、Extents、Mirroring和FailgroupsASM Allocation Units在ASM磁盘组中,最基本的空间分配单位是allocation unit,简称AU,每个ASM 的磁盘在初始化后都会被切割成一个一个的AU。
当磁盘组创建时,可以通过设置AU_SIZE的属性值,来指定AU的大小(在11.1版本以后),AU的大小可以是1,2,4,8,16,32,64MB,如果不指定AU的大小,默认值是1MB(Exadata下为4MB)。
AU size是磁盘组的属性(不是磁盘的属性,不是ASM实例的属性),因此每一个ASM磁盘组都可以有自己的AU size值。
一个或多个AU组成一个extent,一个或多个ASM extent组成了一个ASM的文件,因此一个ASM文件逻辑上是由extent组成的。
我们需要区分物理extent和虚拟extent的概念,一个虚拟extent或者说extent set,在外部冗余的磁盘组中,是由一个物理extent组成,在normal冗余的磁盘组中,是由至少2个物理extent组成,在一个high冗余的磁盘组中,由至少3个物理extent 组成。
在ASM 11.1版本之前,extent的大小是固定的,在ASM 11.1版本之后,出现了可变extent,可变extent的出现是为了更好的支持大数据文件,减少对ASM和数据库实例的SGA要求、提升创建文件和打开文件等操作的性能,初始化的extent 大小等于磁盘组的AU_SIZE设定值,一个文件随着分配的extent越来越多,extent 的size会按照4或16倍的AU_SIZE增大。
这个特性在文件新建或者resize的时候自动起作用,当然ASM磁盘组的属性值COMPATIBLE.ASM 和COMPATIBLE.RDBMS要设置为大于等于11.1。
一个文件的extent大小变化规律遵循如下方式:一个文件的前20000个extent set,extent的size等于磁盘组的AU_SIZE的设定值。
自动存储管理目标•课程目标:–确定自动存储管理(ASM)的特征–为ASM和数据库实例设置初始化文件–执行带ASM文件名的SQL命令–启动和关闭ASM 实例–管理ASM 磁盘组–用RMAN 移植你的数据库到ASM自动存储管理: 回顾•灵活和高性能的集群文件系统•管理Oracle 数据库文件•数据被分散在磁盘上,以平衡负载•综合磁盘镜像•解决许多存储管理的挑战ASM文件系统卷管理操作系统应用数据库ASM 体系结构概要ASM instance SID=asmASM disks ASM disks ASM disk group 1DB instance SID=salesASMBRBAL ARB 0ARB A…ASM disksASM disks ASM disks ASM disk group 2ASM disksDBW 0RBALFGASM 实例任务•为了使用ASM实例,以下任务你必须执行:–创建ASM 实例–设置初始化参数–启动ASM 实例–管理ASM 实例–关闭ASM 实例创建ASM 实例ASM实例初始化参数INSTANCE_TYPE = ASMDB_UNIQUE_NAME = +ASMASM_POWER_LIMIT = 1ASM_DISKSTRING = '/dev/rdsk/*s2', '/dev/rdsk/c1*'ASM_DISKGROUPS = dgroupA, dgroupBLARGE_POOL_SIZE = 8MB改变数据库实例参数…INSTANCE_TYPE = RDBMSLOG_ARCHIVE_FORMATDB_BLOCK_SIZEDB_CREATE_ONLINE_LOG_DEST_nDB_CREATE_FILE_DESTDB_RECOVERY_FILE_DESTCONTROL_FILESLOG_ARCHIVE_DEST_nLOG_ARCHIVE_DESTSTANDBY_ARCHIVE_DESTLARGE_POOL_SIZE = 8MB…启动一个ASM 实例$ export ORACLE_SID='+ASM'$ sqlplus /nologSQL> CONNECT / AS sysdbaConnected to an idle instance.SQL> STARTUP;ASM instance startedTotal System Global Area 147936196 bytesFixed Size 324548 bytesVariable Size 96468992 bytesDatabase Buffers 50331648 bytesRedo Buffers 811008 bytesASM diskgroups mounted访问ASM 实例磁盘组磁盘组存储系统AS SYSDBAAS SYSOPERASM 实例所有操作非破坏性操作ASM 主页关闭一个ASM 实例数据库实例A数据库实例B2ASM 实例3SHUTDOWN NORMAL11DBCA 和存储选项ASM 存储: 概念DatabaseTablespace SegmentExtent Oracle datablockData filePhysicalblockASM diskASM fileAllocation unit(AU)File systemfileorraw deviceASMdisk groupASM 磁盘组•磁盘池作为一个逻辑管理单元•分区的总磁盘空间纳入统一尺寸单位•每个文件均匀分布横跨所有磁盘•使用基于文件类型的coarse-或fine-grain 条带化•管理磁盘组,而不是文档磁盘组ASM 实例故障组控制器1控制器2故障组1故障组2磁盘组A控制器3故障组317131713171317131713171317131713171323456磁盘组镜像•AU 标准镜像•组合每个磁盘上的AU主镜像•外部冗余:推迟到硬件镜像•正常的冗余:–双程镜像–至少有两个故障组•高度冗余:–三程镜像–至少三个故障组磁盘组动态Rebalancing•每当存储配置发生变化,就自动在线rebalance•只有成正比地移动数据到存储•不需要I/O优化•联机移植到新的存储•在系统中使用ASM_POWER_LIMIT配置负载管理磁盘组CREATE DISKGROUPALTER DISKGROUPDROP DISKGROUP ASM实例数据库实例ASM 管理页创建磁盘组页创建和丢弃磁盘组CREATE DISKGROUP dgroupA NORMAL REDUNDANCYFAILGROUP controller1 DISK'/devices/A1' NAME diskA1 SIZE 120G FORCE,'/devices/A2','/devices/A3'FAILGROUP controller2 DISK'/devices/B1','/devices/B2','/devices/B3';DROP DISKGROUP dgroupA INCLUDING CONTENTS;添加磁盘到磁盘组ALTER DISKGROUP dgroupA ADD DISK'/dev/rdsk/c0t4d0s2' NAME A5,'/dev/rdsk/c0t5d0s2' NAME A6,'/dev/rdsk/c0t6d0s2' NAME A7,'/dev/rdsk/c0t7d0s2' NAME A8;ALTER DISKGROUP dgroupA ADD DISK '/devices/A*';磁盘格式化磁盘组rebalancing各种ALTER命令从dgroupA移动一个磁盘:ALTER DISKGROUP dgroupA DROP DISK A5;在一个单独的命令中添加和丢弃一个磁盘:ALTER DISKGROUP dgroupADROP DISK A6ADD FAILGROUP fredDISK '/dev/rdsk/c0t8d0s2' NAME A9;取消一个磁盘丢弃操作:ALTER DISKGROUP dgroupA UNDROP DISKS;ASM 文件数据库文件在磁盘组dgroupA 内部ASM 文件自动扩展CREATE TABLESPACE sample DATAFILE '+dgroupA';12341234自动ASM 文件创建RMANASMCMD适应程序SQL> CREATE TABLESPACE tbsasm DATAFILE '+DGROUP1' SIZE 100M;Tablespace created.SQL> CREATE TABLESPACE hrapps DATAFILE '+DGROUP1' SIZE 10M;Tablespace created.$ asmcmdASMCMD> ls -l DGROUP1/ORCL/DATAFILEType Redund Striped Time Sys NameDATAFILE MIRROR COARSE OCT 05 21:00:00 Y HRAPPS.257.570923611 DATAFILE MIRROR COARSE OCT 05 21:00:00 Y TBSASM.256.570922917 ASMCMD>移植你的数据库到ASM存储库1.干净地关闭你的数据库.2.关闭数据库,并且修改你的服务器参数文件使用OMF.3.编辑和执行下列RMAN 脚本:STARTUP NOMOUNT;RESTORE CONTROLFILE FROM '/u1/c1.ctl';ALTER DATABASE MOUNT;BACKUP AS COPY DATABASE FORMAT '+dgroup1';SWITCH DATABASE TO COPY;SQL "ALTER DATABASE RENAME '/u1/log1' TO '+dgroup1' ";# Repeat RENAME command for all online redo logmembers ...ALTER DATABASE OPEN RESETLOGS;SQL "ALTER DATABASE TEMPFILE '/u1/temp1' DROP";总结•在这课中你应该学会以下内容:–描述ASM的概念–为ASM 和数据库实例成立初始化参数文件–执行带ASM文件名的SQL命令–启动和关闭ASM 实例–管理ASM 磁盘组–用RMAN 移植你的数据库到ASM 数据实验室周炯 37实践概况: 使用自动存储管理•实践含盖以下主题:–创建并启动一个ASM 实例–创建并使用ASM 磁盘组–移植一个tablespace 到ASM 存贮库。
ASM实例和管理一.ASM的特点1.自动调整I/O负载ASM可以在所有可用的磁盘中自动调整I/O负载,不但避免了人工调整I/O难度,而且优化了性能的同时,利用ASM可以在线增加数据库的大小,而无需关闭数据库。
2.条带化储存ASM将文件分为多个分配单元(allocation units,简称AU)进行存储,并在所有磁盘间分配每个文件的AU。
3.在线自动负载均衡当共享存储设备有变化时,ASM中的数据会自动的均分配到现有存储设备中。
同时,还可以调节数据的负载均衡速度。
4.自动管理数据库文件在ASM存储管理中,oracle数据文件是ASM自动管理的。
ASM创建的任何文件一旦不再需要,就会自动删除。
但是,ASM不管理二进制文件、跟踪文件、预警文件和口令文件。
5.数据冗余ASM通过磁盘组镜像可以完成实现数据冗余,而不需要第三方工具来实现。
6.支持各种oracle数据文件ASM存储支持oracle数据文件、日志文件、控制文件、归档日志、RMAN备份集等。
二.ASM的结构图从图中可以看出ASM的物理组成结构,在最顶层是ASM磁盘组,ASM实例和数据库实例可以直接访问这些磁盘组;然后是ASM文件,每个ASM文件只能包含在一个磁盘组中,不过,一个磁盘组中可以包含属于多个数据库的多个ASM文件,并且单个数据库可以使用来自多个磁盘组的存储空间;第三部分是ASM磁盘,多个ASM磁盘组成了ASM磁盘组,但每个ASM磁盘只能属于一个磁盘组;接着是分配单元(AU),分配单元是ASM磁盘组分配的最小连续磁盘空间,ASM磁盘是按照AU进行分区,每个AU的大小为1MB;在这个结构的的最底层是oracle数据块,由于AU是ASM分配的最小的连续磁盘空间,因此,ASM是不允许跨分配单元拆分一个oracle数据块的。
三.ASM的体系结构与后台进程1.要使用ASM,需要启动数据库实例之前,先启动一个名叫“+ASM”的实例,ASM 实例不会装载数据库,它启动的目的是位了管理磁盘组和保护其中的数据。
ORACLE10g创建单实例ASM1、启动CSS服务bash-3.2# /export/home/oracle/app/ora10g/product/10gr2/bin/localconfig add2、创建初始化实例⽂件[oracle@Solarisora10g ~/app/ora10g/product/10gr2/dbs 12:33:48]$cat asmpfile.orainstance_type=asmprocesses=1003、修改磁盘临时归属[root@localhost dev]# ll /dev/sd*brw-r----- 1 root disk 8, 0 09-20 09:28 /dev/sdabrw-r----- 1 root disk 8, 1 09-20 09:29 /dev/sda1brw-r----- 1 root disk 8, 2 09-20 09:28 /dev/sda2brw-r----- 1 root disk 8, 3 09-20 09:29 /dev/sda3brw-r----- 1 oracle oinstall 8, 16 09-20 09:28 /dev/sdbbrw-r----- 1 oracle oinstall 8, 32 09-20 09:28 /dev/sdcbrw-r----- 1 oracle oinstall 8, 48 09-20 09:28 /dev/sddbrw-r----- 1 oracle oinstall 8, 64 09-20 09:28 /dev/sdebrw-r----- 1 oracle oinstall 8, 80 09-20 09:28 /dev/sdf4、修改磁盘永久归属root@localhost ~]# cd /dev/disk/by-id/[root@localhost by-id]# ll总计 0lrwxrwxrwx 1 root root 9 09-21 10:08 scsi-SATA_VBOX_HARDDISK_VB0000af62-dccaad4e -> ../../sdalrwxrwxrwx 1 root root 10 09-21 10:08 scsi-SATA_VBOX_HARDDISK_VB0000af62-dccaad4e-part1 -> ../../sda1lrwxrwxrwx 1 root root 10 09-21 10:08 scsi-SATA_VBOX_HARDDISK_VB0000af62-dccaad4e-part2 -> ../../sda2lrwxrwxrwx 1 root root 10 09-21 10:08 scsi-SATA_VBOX_HARDDISK_VB0000af62-dccaad4e-part3 -> ../../sda3lrwxrwxrwx 1 root root 9 09-21 10:08 scsi-SATA_VBOX_HARDDISK_VB1b9a7262-2935ca32 -> ../../sdclrwxrwxrwx 1 root root 9 09-21 10:08 scsi-SATA_VBOX_HARDDISK_VB28964494-77102e5f -> ../../sdblrwxrwxrwx 1 root root 9 09-21 10:08 scsi-SATA_VBOX_HARDDISK_VB40f9ab9c-3c85ccbd -> ../../sdelrwxrwxrwx 1 root root 9 09-21 10:08 scsi-SATA_VBOX_HARDDISK_VB5fbccb0f-8346180f -> ../../sddlrwxrwxrwx 1 root root 9 09-21 10:08 scsi-SATA_VBOX_HARDDISK_VBf28664f8-5466eeb9 -> ../../sdf[root@localhost udev]# cd /etc/udev/rules.d/[root@localhost rules.d]# ls05-udev-early.rules 51-hotplug.rules 60-pcmcia.rules 61-uinput-stddev.rules 88-clock.rules 90-hal.rules 99-oracle-asmdevices.rules 40-multipath.rules 60-libsane.rules 60-raw.rules 61-uinput-wacom.rules 90-alsa.rules 95-pam-console.rules bluetooth.rules50-udev.rules 60-net.rules 60-wacom.rules 85-pcscd_ccid.rules 90-dm.rules 98-kexec.rules[root@localhost rules.d]# cat 99-oracle-asmdevices.rulesKERNEL=="sd*",BUS=="scsi",ENV{ID_SERIAL}=="SATA_VBOX_HARDDISK_VB28964494-77102e5f", NAME="sdb",KERNEL=="sd*",BUS=="scsi",ENV{ID_SERIAL}=="SATA_VBOX_HARDDISK_VB28964494-77102e5f", NAME="sdb", OWNER="oracle", GROUP="dba", MODE="0660"KERNEL=="sd*",BUS=="scsi",ENV{ID_SERIAL}=="SATA_VBOX_HARDDISK_VB1b9a7262-2935ca32", NAME="sdc", OWNER="oracle", GROUP="dba", MODE="0660"KERNEL=="sd*",BUS=="scsi",ENV{ID_SERIAL}=="SATA_VBOX_HARDDISK_VB5fbccb0f-8346180f", NAME="sdd", OWNER="oracle", GROUP="dba", MODE="0660"KERNEL=="sd*",BUS=="scsi",ENV{ID_SERIAL}=="SATA_VBOX_HARDDISK_VB40f9ab9c-3c85ccbd", NAME="sde", OWNER="oracle", GROUP="dba", MODE="0660"KERNEL=="sd*",BUS=="scsi",ENV{ID_SERIAL}=="SATA_VBOX_HARDDISK_VBf28664f8-5466eeb9", NAME="sdf", OWNER="oracle", GROUP="dba", MODE="0660"[root@localhost rules.d]# start_udev restart启动 udev: [确定]5、修改asm_diskstring、asm_diskgroups、asm_power_limit参数SQL> alter system set asm_diskstring='/dev/sd*';SQL>CREATE DISKGROUP data EXTERNAL REDUNDANCY DISK '/dev/sdb';SQL>alter system set asm_diskgroups='DATA';。
Oracle 表空间扩展(ASM)步骤:(1).以oracle用户登录 sqlplus 环境。
(2).查看 ASM 磁盘组情况SQL> SELECT name, free_mb, total_mb FROM v$asm_diskgroup_stat;(3).确认待扩展表空间SQL> SELECT a.tablespace_name,a.bytes/1024/1024 "sum MB",(a.bytes-b.bytes)/1024/1024 "used MB",b.bytes/1024/1024 "free MB",round(((a.bytes-b.bytes)/a.bytes)*100,2) "percent_used"FROM(SELECT tablespace_name,sum(bytes) bytes FROM dba_data_files GROUP BY tablespace_name) a,(SELECT tablespace_name,sum(bytes) bytes,max(bytes) largest FROM dba_free_space GROUP BY tablespace_name) bWHERE a.tablespace_name=b.tablespace_nameORDER BY ((a.bytes-b.bytes)/a.bytes) desc;(4).查看现有数据文件大小SQL> col "datafile name" format a30SELECT "datafile name",a.blocks*a.block_size/1024/1024 "file size", "tablespace name"FROM v$datafile a, v$tablespace bWHERE a.ts#=b.ts#AND a.blocks*a.block_size/1024/1024 NOT IN('20480')AND ='tablespace_name';其中tablespace_name为待扩展表空间名称,注意为小写。
ASM实例创建及oracle实例的创建⼿⼯建库⼀.安装cssd(cluster synchronization service)服务1.#Rmp -ivh oracleasm-support-2.1.3-1.el5.i386.rmp2.#Rmp -ivh oracleasm-2.6.18-194.el5-2.0.5-1.el5.i386.rmp3.#Rmp -ivh oracleasmlib-2.0.4-1.el5.i386.rmp在安装上⾯的软件时要注意顺序⼆.配置ASM1.#service Oracleasm configureDefault user to own the driver interface [oracle]: oracleDefault group to own the driver interface [oinstall]: oinstallStart Oracle ASM library driver on boot (y/n) [y]: yScan for Oracle ASM disks on boot (y/n) [y]: yWriting Oracle ASM library driver configuration: doneInitializing the Oracle ASMLib driver : [OK]Scanning the system for Oracle ASMLib disks: [OK]2.创建ASM磁盘(1)⾸先对硬盘进⾏分区fdisk /dev/sd*(2)创建ASM磁盘service oracleasm createdisk VOL1 /dev/sd* service oracleasm createdisk VOL2 /dev/sd*service oracleasm createdisk VOL3 /dev/sd*创建好ASM磁盘后启动cssd服务#cd /u01/app/oracle/product/10.2.0/db_1/bin#./configure add检查cssd 服务的状态$ crsctl check cssd上⾯的步骤都是在配置好oracle的安装环境和装好数据库软件的基础上进⾏的上⾯的操作都完成后就可以对安装ASM实例进⾏操作啦!三.⼿⼯创建ASM实例1.⽣成ASM实例的⼝令⽂件在/u01/app/oracle/product/10.2.0/db_1/dbs/⽬录下⽣成ASM实例的⼝令⽂件$orapwd file=orapwd+ASM password=oracle entries=20 force=y 2.编写asm实例的pfile在/u01/app/oracle/product/10.2.0/db_1/dbs/⽬录下编写asm实例的pfilePfile的内容如下所⽰:*.background_dump_dest='/u01/app/oracle/yang/+ASM/bdump' *.core_dump_dest='/u01/app/oracle/yang/+ASM/cdump' *.instance_type='asm'*.large_pool_size=12M*.remote_login_passwordfile='SHARED'*.user_dump_dest='/u01/app/oracle/yang/+ASM/udump'注意:bdump :后台进程trace 和alert log ,就是说alert_sid.log也存在这个⽬录中cdump :core trace,⼀般是⽤来⽇志应⽤程序的除⾮数据库出了问题否则基本上不会有什么信息udump :前台⼿动trace的⽐如sql trace之后session的trace⽂件3.连接数据库Export ORACLE_SID=+ASMSqlplus sys/oracle as sysdba4.创建service parameter fileCreate spfile from pfile;5.创建pfile⾥⾯所指定的⽬录夹如:在/u01/app/oracle 创建⽬录夹yang mkdir -p yang然后接着再在/u01/app/oracle/yang 下创建⽬录夹+ASM ,mkdir -p +ASM 以及在/u01/app/oracle/yang/+ASM 下创建cdump,bdump,udump等6.sqlplus sys/oracle as sysdba 连接asm实例然后启动asm实例此处由于没有创建ASM磁盘组,会报没有磁盘组错误。