asm是从ORACLE 从10g以来推出的一个新的存储管理的特性,其重要目的还是简化了SA的日常管理工作。
如果是要是在windows 环境下使用ASM,则必须先在ASM环境下创建号raw partition,(在某些特殊的情况下也可以让其使用非raw device,这时需要在asm初始化参数文将中将ORACLE的隐含参数_asm_allow_only_raw_disks=false)
然后执行asntool list显示可以使用ASM管理的“磁盘”
显示结果如下:
C:>asmtool -list
NTFS DeviceHarddisk0Partition1 10001M
FAT32 DeviceHarddisk0Partition3 22889M
NTFS DeviceHarddisk1Partition1 50006M
ORCLDISKDATA0 DeviceHarddisk1Partition2 133M
ORCLDISK DeviceHarddisk1Partition3 133M
ORCLDISKDATA2 DeviceHarddisk1Partition4 40005M
从上面显示的结果可以看出可以被使用的磁盘为:
ORCLDISK DeviceHarddisk1Partition3 133M
执行如下命令:
C:>asmtool -addprefix DATA DeviceHarddisk1Partition3
然后再执行
C:>asmtool -list
NTFS DeviceHarddisk0Partition1 10001M
FAT32 DeviceHarddisk0Partition3 22889M
NTFS DeviceHarddisk1Partition1 50006M
ORCLDISKDATA0 DeviceHarddisk1Partition2 133M
ORCLDISKDATA1 DeviceHarddisk1Partition3 133M
ORCLDISKDATA2 DeviceHarddisk1Partition4 40005M
可以看到给磁盘可以被使用了。
下面的例子模拟了将文件系统上的文件模拟为asm磁盘的例子(非raw device),类似于目前公司大部分系统的数据库建立在文件系统上:
asmtool -create f:asmtooldisk01 128
asmtool -create f:asmtooldisk02 128
硬盘为closed状态,表示还没有加入磁盘组中。
对于文件系统模拟磁盘的,可以得到如下结果:
SQL> select path,mount_status from v$asm_disk;
PATH MOUNT_STATUS
-------------------- --------------
F:ASMDATADISK02 CLOSED
F:ASMDATADISK01 CLOSED
必须执行localconfig add命令增加CSS服务,其作用主要是用来同步rdbms instance和asm instance的,执行该命令的时候它会产生如下结果:
a.创建投票盘的repository
b.创建本地的CSS服务,可以用如下命令来检查该服务的运行状态:
crsctl check cssd
Cluster Synchronization Services appears healthy,
管理他可以使用多种方式;
1.SQLPLUS命令行
2.asmcmd交互模式或者非交互模式:
asmcmd ls -s或者asmcmd -a sysasm -p 在asmcmd>提示符下输入各种命令
这些命令与常见的UNIX命令都相似,比如ls,pwd,du,cp,rm,mkdir,rmdir
不同的有五个命令:
md_backup(备份全部mount或者加-g 参数一次备份指定的磁盘组);md_restore恢复磁盘组,该命令可以将原来的磁盘组恢复到一个新的磁盘 组,只需要增加-o olddgname:newdgname;第三个不同的命令是remap 是一个对磁盘组进行修复的命令也比较有用,命令格式如下:
remap dgname diskname startblock endblock;lsct显示用用asm管理的客户端,执行lsct的显示结果如下:
DB_Name Status Software_Version Compatible_version Instance_Name Disk_Gr
oup
myt CONNECTED 11.1.0.6.0 11.1.0.0.0 myt MYC
从上面的现实可以清楚的看到dbname为myt,instance name也为myt连接到了磁盘组名称为myc的asm上了,如果要查询该ASM磁盘组上到底分布了那些文件,最直接的办法就是去查v$asm_file这个数据字典
FILE_NUMBER INCARNATION BYTES
----------- ----------- ----------
256 644431349 10493952
如果要查看该数据文件所在的磁盘组到底采用了什么样的模板来组织管理extent,可以使用如下命令:
select name,group_nuber,stripe from v$asm_template;
NAME GROUP_NUMBER STRIPE
-------------------- ------------ ------------
PARAMETERFILE 1 COARSE
DUMPSET 1 COARSE
CONTROLFILE 1 FINE
ARCHIVELOG 1 COARSE
ONLINELOG 1 FINE
DATAFILE 1 COARSE
TEMPFILE 1 COARSE
BACKUPSET 1 COARSE
AUTOBACKUP 1 COARSE
XTRANSPORT 1 COARSE
CHANGETRACKING 1 COARSE
NAME GROUP_NUMBER STRIPE
-------------------- ------------ ------------
FLASHBACK 1 FINE
DATAGUARDCONFIG 1 COARSE
ASM_STALE 1 COARSE
14 rows selected.
从上面的表中可以清晰的看出,数据文件使用的是coarse 默认是1M,CONTROLFILE 和ONLINELOG使用的是fine,默认是128K大小
所以磁盘组中的数据文件的特性是受ASM磁盘组的template(模范来控制的),控制的属性包括:redundancy和stripe。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/48620/viewspace-997791/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/48620/viewspace-997791/