Oracle数据库在*nix平台下一般认为要比NT下稳定的多,因此基本上所有的生产环境都倾向于是用*nix平台,Solaris作为纯正血统的开放源代码Unix实现,比Linux更是多了很多特性,例如Zones,DTrace,ZFS和本文要使用的SMF,都是相当不错的特性 。
SMF(Service Management Facility)是作为传统的init.d的替代技术而开发的,但是SMF不仅仅代替init.d负责Solaris上的各项服务程序(daemon)的自动启动和关闭,最重要的新功能是能够自动监控并修复(实际上就是尝试按照服务的依存次序重新启动)发生问题的各项系统服务 。Oracle数据库当然也属于这样一种系统服务,实际上运行Oracle数据库很可能是企业最重要的购买一台Unix服务器的理由,因此,将Oracle数据库纳入SMF系统服务管理架构中就很有意义了,因为这样不仅可以实现传统上的Oracle启动和关闭脚本的功能,而且可以在Oracle异常中止运行时,立即启动Oracle,大大提高Oracle数据库的可用性 。
Padraig博客上第一次(据我所知^_^)发布了如何将Oracle数据库纳入SMF的配置过程,很遗憾blogspot.com站点国内被和谐了,所以这里还是复述一下Oracle在SMF下的配置过程,也方便一些更喜欢读中文的读者:
1. 下载Joost Mudlers提供的ora-smf-1.5.pkg安装包,并安装(最重要的一步,感谢Joost Mudler,奇怪的是网上找不到他的blog和文档):
#cd/var/svc/manifest/application
#mkdirdatabase
#cd~
#pkgadd–dorasmf-1.5.pkg
这一步骤不能在Solaris提供的虚拟服务器中做,必须安装在物理服务器,或者说必须安装在global zone下,因为只有global zone才能允许写/lib/svc/目录下的文件,虚拟服务器(container)对于这个目录是只读的,在global zone下安装完orasmf-1.5后,所有的虚拟服务器都已经有了通过SMF管理oracle数据库的能力,但是真正管理Oracle还需要配置几个*.xml文件和安装Oracle软件,配置xml和安装Oracle必须在你打算运行的服务器上进行(如果你已经使用Zone功能的话,就是在虚拟服务器上) 。
2. 配置相关xml文件:
cvpdbviq02oraclemesodst$cd/var/svc/manifest/application/database
cvpdbviq02oraclemesodst$ls-l
total34
-r--r--r-- 1rootroot2123Sep2915:39oracle-database-instance.xml
-r--r--r-- 1rootbin5722Dec28 2005oracle-database-service.xml
-r--r--r-- 1rootroot2088Sep2915:39oracle-listener-instance.xml
-r--r--r-- 1rootbin4295Dec28 2005oracle-listener-service.xml
cvpdbviq02oraclemesodst$
只需要配置*-instance.xml两个文件即可,例如像这样:
我的oracle-database-instance.xml实例
name='application/oracle/database'
type='service'
version='1'>
project='oracle'
resource_pool=':default'>
group='dba'
supp_groups=':default'
privileges=':default'
limit_privileges=':default'/>
上边的配置文件是oracle数据库实例,下面这个则是oracle侦听服务的:
我的oracle-listener-instance.xml实例
name='application/oracle/listener'
type='service'
version='1'>
推荐阅读
- 解读SMF:Solaris系统服务管理好帮手
- Solaris 9下安装使用针式打印机
- 施用化肥也能生产绿色蔬菜
- OPPO k5中设置应用快捷方式的简单操作方法
- 红外线烤灯的功效与作用 红外线烤灯有什么作用
- Solaris服务管理工具SMF常规任务使用
- E1版i398刷机完毕,使用感受
- B站大会员怎么用积分兑换?B站大会员用积分兑换的方法
- 在Solaris 10 ZFS上安装Oracle 9i
- 适于蔬菜的钾肥种类及使用方法