1 公司数据库现状概述
1.1 公司现有主要系统
现在公司主要系统有SRM,lightway,SAP,MES,OA协同办公,PDM,smart一卡通等,公司已经部分建立数据库的管理体系和数据应用系统,已有BI针对结构化数据进行分析,但数据资源潜力还未能充分发挥。
1.2 企业数据库管理和应用的特点
企业数据库主要特点是:结构性文档较少,非结构性文档较多。企业需要通过制度、流程、系统等搭建企业的自动化和系统化的数据库管理和应用体系,最后实现对业务和决策的支持。
智能化数据库管理,应该从下表去考虑:
1.3公司数据库应用的优势和症结
针对公司实际情况,对公司现阶段数据库应用的优劣分析如下:
1.3.1 优势
1) 对数据库管理及应用价值有深入认识
公司数据从采集、整理、整合、分析到应用和反馈的信息链完整,数据库管理和应用体系互相配合,紧密联系。
2) 具有数据整合管理思想
公司OA、SAP、SRM/SUPPLYWEB等业务系统,支撑销售、采购、财务等各部门的业务。各个子系统都已经建立起数据接口,数据整合合理有效。
3) 重视有效的数据管理,有合理数据质量监控机制、更新机制、备份机制
数据是企业的长期财富,处于发展时期不通的数据会为企业带来不同的价值。公司已建立合理完整的数据归档机制,对历史数据保存合理。
4) 保障体系完整
公司针对数据库保障,有日常备份和灾难性备份机制,有专业数据库管理和开发人员,针对数据库安全性(数据完整性,可用性,保密性)建立了合理流程和制度。
1.3.2 缺点
1) 缺乏对数据库应用的整体考虑,数据库应用效率过低
现阶段公司数据库模式较为粗放,一般是一个应用使用一个数据库,导致硬件资源没有有效合理应用,部分硬件资源被浪费。
2) 缺乏对公司应用数据库的统一化管理,缺少性能预警机制
现阶段如果需要对数据库进行管理,需要登录每个数据库巡检,不同数据库如:sql和oracle,必须使用不同工具巡检,对未来由于数据量增长和数据碎片的产生无法预判,无法判断其性能下降曲线。
2 公司数据库现状的改进方向
由于公司短时间内无法更改架构,且如果实施代价较高,现针对统一化和预警机制做一些探讨。
2.1 统一化管理
现阶段公司业务管理考虑如下:
需要有稳定和可扩展的基础架构,良好的用户管理,数据的安全和事故管理监控。
在监控上,公司已经上了HP的监控软件,主要针对网络,存储空间,数据库性能(内存,CPU)和警告日志进行监控,一旦发现低于阀值,激活报警系统,根据事件的严重性,通过短信或者邮件报警。
该方法能够解决监控的部分问题,但不够细化,针对该问题,可以考虑使用ORACLE Cloud Control 12C,该工具可以实现down机,系统级报警,oracle数据库状态,需要打的补丁等情况的全面预警,同时oracle12C grid control可以实现多个数据库和server同时管理,可以通过图形化设定自动备份时间,oracle性能自动诊断等功能。
该图是oracle 12c的Infiniband的网络监控插件,该插件可以保障公司SAP Dataguard的archived log的安全传输,对网络瓶颈会发出预警。
这里面是oracle12C对数据库存储的管理,该图是exadata的存储,公司使用EMC存储,同样可以进行管理。
2.2 预警机制的建立
2.2.1数据库系统预警机制的建立
数据库预警主要是考虑日志报警,安全报警,性能监控。
1) 日志报警
主要监控oracle数据库的alert.log日志,查看Error信息和ORA报错信息。
2) 安全报警
利用Oracle审计机制,对用户和敏感表进行审计。
3) 性能报警
对oracle数据库性能,有AWR、ASH、ADDM等工具,可以通过这些来监控数据库性能。对数据库的故障监控,有alertlog,checkpoint,表空间,DG的状态,RAC的状态等需要监控,可相应配置监控点。同时需要注意连接数,归档日志空间,Buffer Cache Hit Ratio等,可以利用soptlight on Oracle工具。
对以上监控,可以使用EM和plsql+shell脚本实现,可以通过email和短信的方式报警,可以使用免费工具nagios配合,实现server和数据库的监控。
2.2.2 操作系统的监控
1) OS层性能监控
针对操作系统,有top工具和vmstat工具,对CPU可以使用sar、mpstat、uptime工具。对I/O可以使用iostat工具,内存可以使用sar和free工具。
2) tns和listener的监控
这些监控,通过tnsping和lsnrctl status监控即可。
2.2.3 报警级别
1) 根据信息影响范围和业务的重要性,可以把报警分为三级:
Info:仅提示信息,不会对业务产生影响,不会导致down机,可以在以后处理。如:EM Agent down的报错。
Waring:警告信息,紧急度不高,但是也要及时处理。如:Oracle Buffer Cache Hit Ratio变化过大。
Critial:错误报警,需要马上解决。如listener 挂起,ORA-12514错误。
2) 考虑到误报和报警麻木,对各级别报警采用提示和确认的方法结合使用。
A:第一次报警发短信或email。
B:然后如果n(n>1)次连续报警,将报警自动上升一级(即Info——Waring——Critial)并发送短信或email,解决后,反馈OK信息。
3 结束语
数据是企业应用的核心部分,做为数据的载体,数据库也起着至关重要的作用。针对公司未来数据库管理发展方向,公司智能化管理更为重要。实施智能化的数据管理和应用体系,通过制度、流程、系统等构建起的企业自动化、系统化的数据管理及应用体系,最终达到业务支持和决策支持的高度将是我们努力的方向。
参考文献:
[1] (美)Craig Shallahamer .Forecasting Oracle Performance[M]. APress2007.
[2] 杨英.插值方法预测并调整oracle性能研究[D].重庆邮电大学学报:自然科学版,2008(4).