单节点Windows系统上的ASM.docx
- 文档编号:8963379
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:18
- 大小:146.48KB
单节点Windows系统上的ASM.docx
《单节点Windows系统上的ASM.docx》由会员分享,可在线阅读,更多相关《单节点Windows系统上的ASM.docx(18页珍藏版)》请在冰豆网上搜索。
单节点Windows系统上的ASM
单节点Windows系统上的ASM
BLOG:
ASM(AutomaticStorageManagement)是Oracle10g的一个重要新特性,在实现数据库I/O自动负载平衡,数据文件镜像等方面起着重要的作用。
即使是单节点的数据库,Oracle也推荐使用ASM。
但一般文档上提到ASM时,都需要有磁盘组或者多块磁盘才能实现,这使得很多人无法建立学习和实践的环境。
下面的实验将带你在windowsxp的操作系统中建立ASM环境,并将已有的数据库转移到ASM中,同时该实验
1.不需要磁盘组或者多块磁盘
2.不需要在Windowsxp中安装虚拟机,Linux等复杂的步骤
1.建立ASMInstance
1.建立模拟磁盘
建立ASMInstance,首先要在一个磁盘上模拟出多块磁盘。
Oracle的asmtool可以实现这个功能。
Asmtool是Oracle10gforWindows的一个自带工具,位于ORACLE_HOME\bin目录下。
这样我们就在C:
\asmdisks目录中生成了5个文件,每个大小为1G。
ASMinstance会把它们当成5块1G的硬盘。
2.配置CSS(ClusterSynchronizationServices)
CSS主要用来同步ASMinstance和它的client,也即databaseinstance。
这一步就算不是在cluster环境中也是必须的,可以由Oracle自带的localconfig命令来完成。
Localconfig命令也位于ORACLE_HOME\bin目录下。
检查CSSdaemon状态:
“CSSappearshealthy”表明该进程正在运行。
3.创建ASMInstance的initial文件
ASMInstance有自己的初始参数文件,可以为spfile或者文本文件。
通过在文件名中嵌入SID,来区分ASMInstance和DatabaseInstance。
单节点的环境中,ASMSID默认为+ASM,RAC中各节点上的SID默认为+ASMnode#。
打开记事本编辑初始参数文件。
4.用oradim创建OracleASM实例。
其中:
-NEW:
indicatesthatyouarecreatinganewinstance.Thisisamandatoryparameter
-ASMSIDSID:
isthenameoftheAutomaticStorageManagement(ASM)instancetocreate
STARTMODE:
indicateswhethertostarttheinstancewhentheOracleDatabaseserviceisstarted.Defaultismanual
5.连接到ASMInstance。
6.创建磁盘组
注意MOUNT_STATUS为"CLOSED",因为磁盘组还没创建。
再检查磁盘状态,MOUNT_STATUS变成"CACHED",表示磁盘已经成为磁盘组的一部分,并且正在被ASMInstance访问。
关闭ASMInstance,
在init+ASM.ora中加入参数ASM_DISKGROUPS='DGROUP1',并创建spfile。
启动ASMInstance。
这样我们就建成了ASMInstance和DiskGroup,并将ASM的initial文件转成spfile。
我们可以在此基础上建立数据库,也可以把已有的数据库转到ASM上。
2.将数据库转移到ASM上
我们用RMAN实现这一功能。
在转移数据库以前,先设若干跟文件存储位置相关的参数。
ALTERSYSTEMRESET命令用来在SPFILE中删除(unset)参数,此处用来删除control_file参数,因为移到ASM上后需要重建controlfile。
将数据库重启到nomount状态。
启动RMAN。
由于参数CREATE_FILE_DEST和RECOVERY_FILE_DEST都进行了设置,所以创建了2份controlfile。
转移数据库时使用命令BACKUPASCOPYDATABASE...
数据库转移完成,用SQL*PLUS进入数据库检查状态。
可以看到controlfile和datafile都已经建在ASM磁盘上了,但是logfile和tempfile还在原先位置上。
转移tempfile。
转移logfile,先增加3个组。
删除logfilegroup1的时候会有些麻烦,因为你执行SQL>altersystemswitchlogfile以后,GROUP1的状态并不是INACTIVE,而是ACTIVE。
得执行多次该命令,才能使GROUP1处于INACTIVE状态。
当然重启数据库也是个办法。
当GROUP1处于INACTIVE状态时,我们就可以DROPGROUP1。
这样我们把整个数据库都移到了ASM上。
3.ASM上的数据库维护
1.新的后台进程
察看数据库的V$SESSION视图,可以发现增加了两个新的进程:
1.RBAL--performnsglobalopenstothedisksindiskgroupsinthedatabaseinstance
2.ASMB--runsindatabaseinstancesandconnectstoforegroundprocessinASMinstance
ASMInstance所包含的进程如下图,其中
1.RBAL--backgroundprocessisresponsibleforcoordinatingrebalanceactivityfordiskgroups
2.ARBn--wheren=0,1,2...Performsdataextentmovements
2.数据库关闭状态下增加一块磁盘
3.在线删除一块磁盘
随后察看各磁盘的空余空间,可以看到dgroup1_0005的空余空间逐渐变大,直至1000M(即整个磁盘C:
\ASMDISKS\DISK6的大小),再将disk6状态mount变成closed;而其余几个磁盘的在差不多等量地变小。
察看v$asm_operation中的信息,可以看到operation的状态,当前进度和估计剩余时间等一些信息变化。
此外还可以增删DISKGROUP,ALIAS,TEMPLATE等。
用DBControl管理ASM
ASMInstance建起来后,DBControl并不会自动管理该实例。
可以用下面步骤将ASMInstance加到DBControl中。
其中addasm.txt文件内容如下:
其中CN-PC-HZ1132为测试机器名,sys/oracle为ASMInstance的用户名和密码。
重启EMAgant:
给ASMInstance创建一个密码文件:
点击StartProgramsOracle-OraDb10g_home1DatabaseControl–orcl,启动DBControl。
点击主页中Host链接,如下图所示:
再点击Targettab页。
就可以在DBControl中看到+ASMInstance,点击该链接进去,输入ASMInstance的用户名和密码,就可以做各种管理ASMInstance的操作以及察看各种信息。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 节点 Windows 系统 ASM