APP下载

证券行业Oracle数据库维护及优化研究

2016-05-14唐明晔

软件导刊 2016年5期
关键词:数据备份数据安全

唐明晔

摘要:Oracle数据库具有可用性强、可扩展性好、安全稳定等特点,在各行各业得到了广泛应用。但其操作相对于其它数据库而言更为复杂,技术含量也较高。着重探讨了Oracle数据库的日常维护与优化策略,以此来提高Oracle数据库的稳定性和安全性,达到优化数据库性能的目的。

关键词:Oralce数据库;数据备份;数据安全

DOIDOI:10.11907/rjdk.161421

中图分类号:TP392

文献标识码:A 文章编号:1672-7800(2016)005-0171-02

0 引言

在证券公司中,所有业务活动都离不开数据的写入、更改和查询,不论是核心还是非核心系统,在后台都至少有一个数据库,Oracle数据库服务器往往是整个系统的核心,其稳定性和性能高低是整个系统健康运行的基础。Oracle数据库功能较强,具有灵活性、稳定性等特点,这对数据库维护提出了更高要求[1]。证券公司的交易具有实时性的特点,需要数据库有较高的性能和稳定性,数据库管理员在交易前能及时发现数据库的故障隐患,在发生故障时能够及时处理。证券公司的一些业务系统会产生大量数据,业务活动中,这些数据会被用来进行分析和处理,容易造成繁琐的查询操作,占用数据库相当比重的系统资源,这就需要数据库具有足够的存储空间和较强的性能。因此,为了保证数据库有足够的数据存储空间、完备的备份措施、可靠的用户安全性,并且能够适应实时交易对性能和稳定性的要求,需要定时检查数据的各种状态及操作系统状况,根据各种不同业务对于数据库的需要,分别优化不同系统的数据库性能,在确保数据库稳定的前提下提高数据库的性能。

1 Oracle数据库维护

对Oracle数据库的运行状态、备份情况、日志文件及其空间、性能等进行实时监控,对系统资源的使用情况作定期检查,及时发现数据库的安全性问题并加以解决,检测数据库的各项性能指标,查找数据库出现问题的原因,是控制数据库风险的必要措施。只有这样,才能提高数据库安全性,提升数据库运行效率,尽可能保证系统稳定运行。

1.1 数据库备份

数据库中数据的安全性和完整性至关重要,及时备份数据库,能够最大限度地减少因为数据库损坏而造成的损失。数据库备份可分为物理备份和逻辑备份[2]。物理备份可分为冷备份及热备份,冷备份是在数据库停止的状况下,备份数据库中的物理文件,热备份是在数据库已打开的状态下使用归档模式备份数据库的方法,相对于冷备份,热备份的操作较复杂,系统消耗较大,但可以实现某一时间点上的恢复。在数据库损坏时,如果前一天做过一个冷备份,也有当天的热备份,就可以利用这些备份文件恢复更多的数据。

逻辑备份分为用户备份、表备份、完全备份[3]。用户备份是将指定用户的所有对象导出,表备份是将指定的表导出备份,完全备份是将数据库中的所有对象导出。逻辑备份的备份和恢复都比较简单,能够通过脚本自动执行备份和恢复,但是只能恢复到上次备份时间点,不能恢复到当前时间点,这样会使得部分数据丢失。平时注意将完全备份和热备份等多种备份方式结合使用,可以在数据库发生故障时,更完整地恢复数据。

1.2 日志检查

作为数据库管理员,应该了解告警日志是什么以及如何进行告警文件的错误检查。实时监控数据库的告警日志可以帮助数据库管理员及时了解数据库的变化与异常,以便及时处理。

每日应检查数据库的告警日志文件(Alert_SID.log),告警日志包含“Error”、“Failed”、“ORA-”等数据库系统出错提示信息,这些信息对监控数据库的作用很大,可根据错误信息分析并解决某些数据库问题。Oracle在运行过程中,会在告警日志文件中记录增加数据文件以及创建、删除表空间等数据库相关操作;记录数据库重做日志的每一个切换时间,并检查点操作没有执行完而发生的不可切换的原因;当数据库出现坏块、表空间不够、数据库内部错误时,会记录错误数据。应定期检查日志文件,及时发现问题并解决。

1.3 系统磁盘空间检查

磁盘空间不足会使归档日志等数据写入数据库失败,导致应用服务器在启动时报错,无法连接到数据库。要避免这种情况发生,需要定期检查系统磁盘空间,如果文件系统的剩余空间过小或增长较快,需对其进行确认并删除不用的文件以释放空间。

1.4 表空间检查

表空间不足,会造成数据库性能下降。在数据库中,可通过设置表空间来限制用户所能够使用的磁盘空间大小。System表空间会记录用户对象的一些信息,若系统表空间已满,则创建用户对象失败。碰到这种情况,可以尝试清理或转移存放于系统表空间的用户对象。表空间尽量让剩余空间百分比保持在10%以上,如果低于10%就增加数据文件或者增加数据文件的大小。

1.5 Oracle数据库性能检查

检查Oracle数据库性能情况,包括CPU、I/O、内存等性能,记录db_cache_size,适当加大数据库高速冲缓存区大小。检查共享池命中率,如低于95%,则需要调整应用程序使用绑定变量,或者调整数据库参数shared pool的大小。检查数据库的CPU、IO、内存等使用情况,使用vmstat、iostat、sar、top等命令进行信息收集并检查这些信息,判断资源使用情况。系统剩余的CPU和内存平均值下降至10%以下时视为CPU使用率异常,需记录该数值,并将状态记为异常。检查缓冲区命中率,如果命中率低于90%,可以通过调整数据库参数加以解决。

1.6 用户密码修改检查

在数据库系统上往往存在很多用户,如第三方数据库监控系统、初始安装数据库时的演示用户、管理员用户等,这些用户的密码往往是写定的,被很多人知道,会被别有用心的人利用以攻击系统甚至修改数据。需要修改密码的用户包括数据库管理员用户SYS、SYSTEM等。登陆系统后,通过命令查看是否存在已经不再使用或是陌生的帐号,若存在,则记录为异常。

2 数据库性能优化

Oracle数据库的优化对于提升服务器系统的可用性和性能具有重要意义。随着公司业务的调整与发展,数据库优化也是一个持续而长久的过程,只要性能得以提高,调整和优化就算是有效的。

2.1 避免I/O磁盘争用

磁盘争用通常发生在多个进程试图同时访问同一个物理磁盘的情况下,因此将磁盘的I/O均匀分布在多个可用磁盘上,可有效地减少磁盘的竞用[4]。使用分布I/O减少磁盘竞争,如将数据文件、重做日志文件和归档文件分开,以避免同一时间、同一硬盘同时读写不同的数据。可分割表数据,分开表和索引,减少与Oracle无关的磁盘I/O。

2.2 LGWR I/O调整

I/O每次写的大小依赖于LOG缓冲区的大小,该值由LOG BUFFER设置,缓冲区太大会延迟写操作,太小可能导致频繁的I/O操作。如果I/O操作的平均值很大,则LOG文件会成为瓶颈,可使用STRIPE REDO LOG文件避免该问题。

2.3 检查点调整

检查点是一个内部事件,当检查点自动执行时,会触发数据库写进程将数据缓冲中的数据块写到磁盘上的数据文件中。检查点的频繁发生会加快数据库的恢复,但是增加了I/O次数,会降低系统性能。

2.4 Oracle内存优化

内存的大小和分配与数据库的运行速度有直接关系,合理的配置内存能提高数据库的性能。数据库需配置的内存主要有系统全局区(SGA)和程序缓存区(PGA)[5],SGA对系统内的所有进程都是共享的,各种数据库的操作主要是在该系统全局区内完成。系统全局区由共享池、数据缓冲区、重做日志缓冲区和大型池等组成,通过合理设置这些内存缓存区,将大部分频繁使用的数据存储在内存中,即可大大提高内存区的命中率,加快数据读取速度。程序缓冲区是为某个用户进程所服务的,主要包含排序区、会话区、堆栈区和游标区4个部分。其中,排序区是数据库管理员需要注意的,如果用户有很多需要排序的操作,为用户设置较大的排序区,能够提高用户访问数据的效率。

3 结语

数据库在建立并投入运行后,必须对数据库的运行情况进行有效的监控分析,在数据库出现问题时及时对数据库进行维护和管理。在业务发展期,数据库管理员需要根据新的需求对数据库作适当优化。本文探讨了证券行业Oracle数据库运行维护及优化策略,以更好地保障数据安全和系统稳定。

参考文献:

[1]芮胜利.维护Oracle数据库安全的方法[J].计算机与网络,2012,38(22):69-70.

[2]刘强,罗玲.浅谈数据库系统的日常维护与优化[J].媒体时代,2015(10):215-216.

[3]郭凤清.探讨Oracle数据库日常维护与优化[J].科技风,2014(24):120.

[4]巢子杰.Oracle数据库优化探究[J].软件导刊,2010,9(2):142-144.

[5]韦安云.Oracle数据库的性能调整与优化方法探析[J].电脑知识与技术,2015(21):129-133.

(责任编辑:孙 娟)

猜你喜欢

数据备份数据安全
泉州高速公路收费系统远程数据备份研究
海洋数据备份平台的设计和实现
No.4 IDC:2019年上半年数据备份与恢复市场同比增长10.0%
云计算中基于用户隐私的数据安全保护方法
建立激励相容机制保护数据安全
大数据云计算环境下的数据安全
云环境中数据安全去重研究进展
大数据安全搜索与共享
健全大数据安全保障体系研究
数据备份与恢复技术在门户中的应用探讨