2019年(65)
分类: 服务器与存储
2019-07-23 16:31:38
|
在Oracle 9i之后,oracle使用oracle磁盘管理组件(Oracle Disk Manager)来管理数据文件,提高oracle数据库的输入输出数据吞吐量。Veritas提供了ODM的扩展,可以在VxFS文件系统的基础上,为oracle提供更高的读写速率和更简便的管理,其在VxFS文件系统上的读写速率和裸设备属于同一量级。
Oracle磁盘管理的原理是通过直接将用户数据拷贝到裸设备上,减少内核对数据文件加锁和减少多余cache的手段,来提高数据读写速度,所以它基本应用在裸设备上,由oracle来管理和控制对于裸设备的读写。Veritas的ODM也是同样的原理,但是它可以将数据写在storage foundation管理的文件系统上面。
它与Quick IO的区别在于使用Quick IO需要转换数据库文件,然而ODM的使用对于用户来说是透明的。另外oracle 9i之前的用户只能使用Quick IO功能,ODM不支持,同时Quick IO和ODM不能同时使用。
现在来说明一下ODM的用法:
1, 确认ODM的序列号已经安装;
# /opt/VRTS/bin/vxlictest -n
"VERITAS Storage Foundation
for Oracle" -f
"ODM"
2, 确定ODM软件包已经安装(以solaris为例):
# pkginfo |grep VRTSodm
3, 确认odm的库文件存在:
# ls –l /opt/VRTSodm/lib/sparcv9/libodm.so
(64位操作系统)
# ls –l /opt/VRTSodm/lib/libodm.so
(32位操作系统)
4, 确认Quick IO没有被使用
$ dbed_checkconfig -S $ORACLE_SID -H $ORACLE_HOME
5, 停止oracle 数据库。如果Quick IO 不存在,可以忽律步骤6-7;
6, 将quick IO数据文件转换为ODM文件格式:
# /opt/VRTS/bin/qio_getdbfiles -T ora –a
得出Quick
IO的数据库文件
# /opt/VRTS/bin/qio_convertdbfiles -T ora –u
将刚才得出的数据库文件转换为非Quick IO的文件
7, 查看ODM是否在当前数据库已经被使用:
$ grep ODM /oracle/admin/ORCL/bdump/alert_ORCL.log
如果该命令得出“Oracle instance running with
ODM: Veritas #.# ODM Library, Version #.#”,则说明ODM已经是启动的了;否则就是没有启动。
8, 将原来的odm库文件用Veritas的替换:
# mv /oracle/lib/libodm9.so
/oracle/lib/libodm9.so.old
将原有的库文件备份;
# ln -s /opt/VRTSodm/lib/sparcv9/libodm.so
/oracle/lib/libodm9.so
用Veritas的库文件替换
9, 关闭cache quick IO功能;
# vxtunefs -o qio_cache_enable=0 $ORACLE_BASE/oradata
10,
重新启动oracle数据库
11,
验证ODM已经启动
$ grep ODM /oracle/admin/ORCL/bdump/alert_ORCL.log
可以得出Veritas
ODM的版本信息
$ dbed_checkconfig -S $ORACLE_SID -H $ORACLE_HOME
可以在输出中看到“NOTICE: It appears that your
system is ODM enabled.”
这样,oracle的ODM功能就成功启动了,至于数据库读写速度加快了多少,有兴趣的读者可以自己试试看。