Oracle数据仓库论文十篇

2024-06-17

Oracle数据仓库论文 篇1

关键词:Oracle数据仓库,解决方案,应用技术

数据仓库解决方案涉及到多种技术,开展对Oracle数据仓库解决方案应用技术的研究具有非常重要的意义。应用Oracl数据仓库时,会涉及到多方面的因素,执行操作比较繁琐,其建立在全部数据库的基础上。数据库管理及维护、数据管理及存储、数据展示及分析、数据集中及转换、数据库构建及设计等内容都归属为实现Oracle数据仓库解决方案的范畴。

1 体系结构概述

要想充分的了解Oracle数据仓库解决方案所应用的关键技术,首先要明确该数据仓库的体系结构。从整体上来看,其由数据获取层、数据存储层和数据展现层构成。(1)体系结构中的数据获取层对系统运行效率有直接的影响,可以接收到用户提交的申请要求,能够采取规范、科学的措施进行进一步的操作和管理,例如:转化数据的格式、实现数据信息的重新设置和组成等,最终存储于数据库;(2)数据存储层中包含大量的数据信息,这些数据均被存储在多维数据库或者关系型数据库中。该数据系统的关键构成即为数据信息的存储部分,这些数据信息虽然在来源和种类方面各不相同,但形成了完善的库[1]。在此结构层中存放着海量的数据信息,可能发挥深入挖掘数据、联机分析处理的作用,能够在高效、快速地完成处理大量数据信息的任务,删去了迁移信息的操作过程,使得服务功能得到明显的改善,保障了系统功能的拓展及延伸;(3)在数据展现层的作用下,系统能够将大量的数据提供给用户,该层具有分析数据、汇总数据表的功能,在这个过程中会应用到许多先进的技术和数据处理工具,便于用户在统一的界面中对数据进行实时性访问。

2 应用技术

2.1 ETL过程设计

企业在处理相关业务的过程中,数据信息的来源为外部和内部两个方面,在制定解决方案时会应用到这些数据,这就必须要依靠Extract-Transform-Load(ETL)设计技术来实现[2]。ETL过程设计技术能够发挥转换数据及提取数据的功能,并将处理、加工后的数据信心进行存储设置,在Oracle数据仓库中利用数据仓库技术能够使得解决方案的设计和制定更加具体、全面,扩大方案的应用范围,在不同的条件和环境下均发挥作用。同时,还能够结合用户的个性化要求,应用针对性的方法和措施,实现资源的优化配置和高效利用。在数据仓库技术下的数据采集工作能够通过两种途径来实现,即被动和主动,为加载数据任务的完成提供了技术保障。

2.2 建模

企业在应用Oracle数据仓库解决方案的过程中,都是建立在企业实际发展状况和未来规划目标的基础上形成的,因此在一定程度上,可以反映企业数据库的应用和基本业务等状况[3]。基于业务需求上的动力是构建数据仓库的根本原因,这就要求相关研发工作人员同企业业务员进行有效的沟通和交流,加强两个部分之间的联系,从而开发出同企业发展相适应发的数据仓库解决方案[1]。

2.3 数据管理

同传统的技术相比,集维护、组织、存储、分类等功能于一体的数据管理技术具有显著的优势,能够使用户的数据处理工作更加快捷,简化了操作步骤,具体可以划分为3个不同的阶段。Oracle数据库中存储着庞大的数据信息,为业务的实现提供了坚实的数据保障,但对数据管理工作的要求相对较高。在Oracle数据仓库解决方案的设计过程中,数据管理技术的应用将数据的高效管理变为现实。

2.4 元数据管理

Oracle数据库中的Oracle Warehouse Builder(OWB)拥有管理、设计元数据的功能,可以将大量的数据信息统一进行存储,为后期数据库的管理及维护工作奠定基础。作为一种综合性的应用工具,元数据管理技术能够站在一个整体性的角度,对全部数据进行查看,形成生动、直接的Oracle metadata view,映射信息与数据库二者的关系,将更加真实、可靠的信息提供给研发设计和业务工作人员[4]。在该技术的作用下,用户能够获取数据服务整个过程的运行情况,清晰地查看和分析业务操作结果,对企业工作效率的提升大有裨益。

3 ODM(Oracle Data Mining)应用

具有挖掘数据作用的数据仓库,在对数据分析的过程中,无需对数据进行迁移,将少了操作处理环节,提高了处理和响应效率,使用户对其进行分析,获取具有价值的信息,满足自身的需求。应用Oracle数据仓库的解决方案处理企业业务问题时,构建数据模型、数据信息的汇总和整理、评价分析数据模型等工作都需要良好的数据库环境,并依托挖掘数据价值来实现。作为Oracle Advanced Analytics的一个组件,ODM Oracle数据挖掘技术能够构建多种模型,同应用程序相结合,可以发挥极大的作用,也可以用于查询结构化查询语言方面,对企业未来发展的状况进行预测和分析,使得数据能够在短时间内进行高效的传递和共享,可靠性较强。研发设计人员在此技术的支持下,能够提供更具商业价值的服务和产品,使Oracle数据仓库解决方案的制定更加智能化[5]。

4 OLAP多维分析

根据查看操作繁琐性的不同,可以将数据仓库中的访问技术划分成两大类,其中一种是进行多维式数据分析的联机分析处理技术,该技术的应用需要借助一些工具,操作步骤相对繁琐;而另一种技术的操作相对简单,可以对数据库服务器进行直接的访问。将OLAP多维分析技术应用在制定和设计Oracle数据仓库解决方案领域中,虽然保障了系统的数据查找功能,便于用户进行系统、规范性的分析和研究,但对数据仓库的维护和管理工作提出了更高的要求,增大了后期管理难度。应用于数据仓库系统的联机分析处理技术(Online Analytical Processing)针对的是大量数据信息的处理,可以完善解决方案,前期是必须要确保数据库具有强大的空间容量,从而发挥数据分析作用。

数据库中的联机分析处理结果建立在数据仓库的基础上形成的,可以对企业的日常业务进行处理和操作,尤其在复杂的业务操作中发挥着重要作用,使得数据分析结果更加生动、直观,便于用户理解和分析,为企业的发展做出了巨大的贡献。该技术下的多维关系是保障数据信息管理高效性的关键,一方面可以减少数据仓库后期维护和管理所需的成本费用,另一方面还能够对企业发展策略的制定提供支持。

Oracle数据仓库解决方案中的OLAP多维分析技术具有明显的优势,其特点主要表现在以下几个方面:(1)由于用户角色的不同,在系统中所拥有的权利也各不相同,数据仓库中数据的访问操作同用户的权限有直接的关系,只能允许全县范围内的用户使用。联机分析处理数据信息安全性较高,系统会根据用户的权利对相应的操作进行管理,用户管理要求较高[6];(2)Oracle数据仓库中涵盖了大量的数据管理操作要求,能够对大量的数据进行统一、规范的管理,系统性能大大提高;(3)OLAP应用程序接口访问、结构化查询语言的实现都建立在数据仓库中的特定关系基础上,研发工作人员应用OLAP多维分析技术可以对多项数据信息进行查看、分析。

此外,OLAP多维分析技术还可以提供AVM分析工作区管理,用于对数据模型的构建,完成业务操作,明确数据信息在数据库中的关系,并形成一个整体性的数据表,计算能力较强,能够对海量的数据信息进行处理。该技术下的数据运算种类较多,提升了业务能力。OLAP操作编程语言能够对数据仓库中的数据的运算进行表达,通过相应的函数运算,完成加在数据的操作,还可以结合实际需求,对数据库中的信息进行修改、添加或删除等更新操作,为企业业务处理时所需的运算和统计提供了有利的保障。

5 结语

近年来,Oracle数据仓库解决方案获得了广泛的应用,促进了各个行业的发展,提升了企业的管理和服务水平,成为社会各界研究的重点课题。结合以往对Oracle数据仓库解决方案应用技术的研究成果,可以发现实施过程中的关键技术包括建模技术、ETL过程设计技术、元数据管理技术、数据管理技术等。此外,联机分析处理多维分析技术及ODM应用技术的应用,也使得数据仓库解决方案更加完善,提高了系统性能。

参考文献

[1]唐宏,聂能,熊思民,赵明伟.数据仓库实现技术[J].数字通信,2000,(08).

[2]陆剑峰,张浩.数据仓库数据更新的研究及基于Oracle数据库的开发与应用[J].计算机工程与应用,2004,(26).

[3]侯筱婷.基于数据仓库、OLAP和数据挖掘技术的数据分析、展现与预测[D].西安电子科技大学,2007.

[4]张腾飞.基于数据仓库的信用信息系统的分析与设计[D].武汉理工大学,2009.

[5]马洪江.浅论数据仓库在企业管理决策支持系统中的应用[J].成都大学学报(自然科学版),2000,(03).

Oracle数据仓库论文 篇2

随着网络应用的不断发展, 对数据库进行优化变得重要起来。通过对其进行优化, 可以解决数据库系统运行过程中性能的渐进性下降或性能突降等问题, 以保证系统运行的优良性能。下面从5个不同方面介绍Oracle数据库优化设计方案。

1 数据库的物理结构优化

Oracle数据库的物理结构从操作系统一级查看, 是由一个个的文件组成。数据库的数据最终是存储在物理磁盘上的, 因此对于这些物理存储的优化是系统优化的一个重要部分。如果应用系统的数据库比较脆弱, 并在不断地增长或缩小, 这样的系统在非动态变化周期内效率合理, 但是当在动态变化周期内的时候, 性能却很差, 这是由于Oracle的动态扩展造成的。在动态扩张的过程中, Oracle必须根据存储的要求, 在创建行、行变化获取缺省值时, 扩展和分配新的存储空间, 而且表格的扩展往往并不是事情的终结, 还可能导致数据文件、表空间的增长, 这些扩展会导致在线系统反应缓慢。对于这样的系统, 最好的办法就是在建立的时候预先分配足够的大小和合适的增长幅度。在一个对象建立的时候要根据应用充分地计算他们的大小, 然后再根据这些数据来定义对象Initial、Next和Minextents的值, 使数据库在物理存储上和动态增长次数上达到一个比较好的平衡点, 使这些对象既不经常发生增长, 也不过多地占用数据库。

2 充分利用系统全局区域SGA (SYSTEM GLOB AL AREA)

SGA区是由Oracle分配的共享内存结构, 包含一个数据库实例共享的数据和控制信息。SGA区由数据高速缓冲区 (Database Buffer Cached) 、共享池 (Shared Pool) 、重做日志缓冲区 (Redo Logo Cached) 、大型池 (Large Pool) 和其他结构组成。

(1) 数据高速缓冲区。数据高速缓冲区储存的是最近从数据文件中检索出来的数据, 供所有用户共享。当用户要操作数据库中的数据时, 先由服务器进程将数据从磁盘的数据文件中读取到数据高速缓冲区中, 然后在缓冲区中进行处理。用户处理后的结果被存储在数据高速缓冲区, 最后由数据库写入进程 (DBWR) 写到硬盘的数据文件中永久保存。在Oracle数据库中, 采用脏缓存块列表和LRU列表来管理数据高速缓冲区中的缓存块。

(2) 重做日志缓冲区。重做日志缓冲区用于缓存用户对数据库进行修改操作时生成的重做记录。重做日志缓冲区是一个循环缓冲区, 从顶端向低端写入数据, 然后再返回到缓冲区的起始点 (顶端) 循环写入。重做日志缓冲区的大小对数据库性能有较大的影响。较大的重做日志缓冲区, 可以减少对重做日志文件写的次数, 适合长时间运行的、产生大量重做记录的事务。

(3) 共享池。共享池用于缓存最近执行过的SQL语句、PL SQL程序和数据字典信息, 是对SQL语句、PL/SQL程序进行语法分析、编译、执行的区域。合适的共享池大小, 可使编译过的程序代码长驻内存, 大大降低重复执行相同的SQL语句、PL/SQL程序的系统开销, 从而提高数据库的性能。

(4) 大型池。大型池是一个可选的内存配置项, 主要为O-racle多线程服务器、服务器I/O进程、数据库备份与恢复操作、执行具有大量排序操作的SQL语句、执行并行化的数据库等需要大量缓存的操作提供内存空间。

(5) 对这些内存缓冲区的合理设置, 可以大大加快数据查询速度, 一个足够大的内存区可以把绝大多数数据存储在内存中, 只有那些不怎么频繁使用的数据, 才从磁盘读取, 这样就可以大大提高内存区的命中率。

3 数据库的逻辑结构优化

Oracle数据库的逻辑结构是由一些数据库对象组成。逻辑结构优化用通俗的话来说就是通过增加、减少或调整逻辑结构来提高应用的效率, 下面通过对索引的讨论来分析Oracle逻辑结构的优化。

索引是一种可选的与表相关的数据库对象, 用于提高数据的查询效率。索引是建立在表列上的数据库对象, 但是其物理与逻辑结构都不依赖于表。在一个表上是否创建索引、创建多少索引和创建什么类型的索引, 都不会影响对表的使用方式, 只会影响对表中数据的查询效率。数据库中引入索引的目的是为了提高对表中数据的查询效率。如果一个表没有创建索引, 则对该表进行查询时要进行全表扫描;如果对表创建了索引, 在有条件查询时, 系统先对索引表进行查询, 利用索引表可以迅速查询到符合条件的数据。利用索引之所以能提高查询效率, 是因为在索引表中保存了索引值及其相应记录物理地址, 即ROWID, 并且按照索引值进行排序。

4 通过对表的管理进行优化

4.1 表分区

在大量数据处理的项目中, 可以考虑使用分区表来提高应用系统的性能并方便数据管理, 在大型的企业应用或企业级的数据库应用中, 要处理的数据量通常可以达到几十到几百GB, 有的甚至可以达到TB级。虽然存储介质和数据处理技术的发展也很快, 但仍然不能满足用户的需求, 为了使用户大量的数据在读写操作和查询中速度更快, Oracle提供了对表和索引进行分区的技术, 以改善大型应用系统的性能。

4.2 碎片整理

当要满足一个空间要求时, 数据库不再合并相邻的自由范围 (除非别无选择) , 而是寻找表空间中最大的自由范围来使用。这样将逐渐形成越来越多的离散的、分隔的、较小的自由空间, 即碎片。随着时间推移, 基于数据库的应用系统的广泛使用, 产生的碎片会越来越多将对数据库有以下两点主要影响:

(1) 导致系统性能减弱

当要满足一个空间要求时, 数据库将首先查找当前最大的自由范围, 而“最大”自由范围逐渐变小, 要找到一个足够大的自由范围已变得越来越困难, 从而导致表空间中的速度障碍, 使数据库的空间分配越发远离理想状态;

(2) 浪费大量的表空间

尽管有一部分自由范围 (如表空间的pctincrease为非0) 将会被SMON (系统监控) 后台进程周期性地合并, 但始终有一部分自由范围无法得以自动合并, 浪费了大量的表空间。

为了消除区间交叉将静态的或只有小增长的表放置在一个表空间中, 而把动态增长的对象分别放在各自的表空间中。在create table、create index、create tablespace、create cluster时, 在storage子句中的参数的合理设置, 可以减少碎片的产生。

4.3 行链接 (Row chaining) 与行迁移 (Row Migration)

当一行的数据过长而不能插入一个单个数据块中时, 可能发生两种事情:行链接 (row chaining) 或行迁移 (row migration) :

(1) 行链接

当第一次插入行时, 由于行太长而不能容纳在一个数据块中时, 就会发生行链接。在这种情况下, oracle会使用与该块链接的一块或多块数据块来容纳该行的数据。行连接经常在插入比较大的行时才会发生, 如包含long, long row, lob等类型的数据。在这些情况下行链接是不可避免的。

(2) 行迁移

当修改不是行链接的行时, 当修改后的行长度大于修改前的行长度, 并且该数据块中的空闲空间已经比较小而不能完全容纳该行的数据时, 就会发生行迁移。注意, 即使发生了行迁移, 发生了行迁移的行的rowid还是不会变化, 这也是行迁移会引起数据库I/O性能降低的原因。

Oracle在大多数情况下, 行链接是无法克服的。当在不同的表中有大量的链接行, 并且哪些表的行的长度不是很长时, 你可以通过用更大的block size重建数据库的方法来解决它。行迁移主要是由于设置的PCTFREE参数过小, 导致没有给update操作留下足够的空闲空间引起。为了避免行迁移, 所有被修改的表应该设置合适的PCTFREE值, 以便在每个数据块内为数据修改保留足够的空间。可以通过增加PCTFREE值的办法来避免行迁移, 但这种解决办法是以牺牲更多的空间为代价的, 这也就是我们通常所说的以空间换效率。而且通过增加PCTFREE值的办法只能缓解行迁移现象, 而不能完全解决行迁移, 所以较好的办法是在设置了合适的PCTFREE值的后, 在发现行迁移现象比较严重时, 对表的数据进行重组。

5 通过对数据后台的处理进行优化

一般来说, 优化大致可分为两个方面:

(1) 数据库本身的优化。首先和硬件平台有很大的关系, 检查一下硬件配置是否能胜任这样的工作, 如果硬件本身比较差, 那优化的效果也是很有限的。同时, Oracle的启动参数设置合理不合理对系统的性能影响非常大。你的应用有大量的BATCH运行, 属于报表系统类型, 如果能适当调整DB_BLOCK_SIZE, SHARE_POOL等参数, 同时调整ROLLBACK_SEGMENT, 应该能比较大的改善系统的性能。

(2) 程序代码的优化。代码优化有很多GUIDE LINE, 比如查询优化的13条原则, 数据更新时CONSTRANITS的处理等等, 大部分情况下要靠经验来判断效果如何。很难一下子讲清楚。你可以考虑跟踪整个执行过程, 然后把其中占用时间最长的几个操作找出来, 集中精力对这几个部分进行分析 (用一些第3方工具来定量的分析) 。

6 结束语

优化Oracle数据库对提高计算机系统的可用性和效率, 具有非常重要的意义, 特别是在Oracle数据库设计开发阶段, 对逻辑结构和物理结构进行有效的优化设计, 创建一个规划布局合理的数据库, 能从根本上大大提高应用系统的整体性能, 对于以后的数据库性能调整和利用都有很大的益处。

参考文献

[1]孙风栋.Oracle数据库基础教程[M].北京:电子工业出版社, 2008.

[2]Bob Bryla Biju Thomas OCP:Oracle新特性学习指南[M].北京:电子工业出版社, 2005.

oracle数据库迁移 篇3

摘 要:本文介绍了Oracle数据库基于Linux系统迁移的研究问题。在数据库领域一直处于领先地位的Oracle数据库以其良好的可移植性、可靠性和高效性,倍受各级用户的推崇和喜爱。随着Oracle数据库的不断更新和发展,其使用用户的群体也在不断的增加,因此对Oracle数据库的存储迁移技术的研究在国内外如雨后春笋般不断发展。

关键词:oracle,数据迁移,跨平台

中图分类号: TP391 文献标识码: A 文章编号: 1673-1069(2016)25-195-2

0 引言

伴随着IT行业的迅速发展,IT系统中数据的安全性,已经是对企业运营产生了重大影响。而数据库的安全迁移也为IT系统的可持续运行和数据安全提供一道保护屏障。而且近年来频繁出现的自然灾害或者突发事件也让越来越多的人们意识到,原有的数据存储方式已经无法满足企业的需要。本文正是从数据库迁移的实际操作中总结整理而成。

1 oracle数据库文件构成

数据库是一种物理的存储结构,它是由多种物理文件组成的,在Oracle数据库系统中分为,核心文件和非核心文件两大类[1]。其中核心文件由数据文件,控制文件,日志文件,参数文件组成,非核心文件由密码文件,告警日志文件,各种跟踪文件组成。

控制文件:控制文件是一个二进制的文件,它描述了数据库当前的物理状态,记录了RMAN备份的元数据。控制文件包含有数据库的名称、数据库的创建信息、表空间的信息、数据文件的状态、日志文件的信息、备份的信息、检查点的信息等。

数据文件:,一个数据库中一定至少有一个数据文件(system01.dbf),如果一个数据库存在多个数据文件,应该分别把它们存放在不同的磁盘上,这样做不仅可以提高数据的存取速度,有利于提高数据库的性能,而且还能防止数据文件同时被损坏,实现高度容灾。

日志文件:数据库日志文件包括归档日志和非归档日志,记录了数据库的所有修改信息,归档日志会在数据库切换日志时,备份历史日志,日志记录的是数据库改变的信息、因此当数据库损坏时可以通过日志文件实现数据库的完全恢复、不完全恢复,而非归档日志不会备份历史日志,只能恢复到数据库最后一次备份时的状态[2]。

临时文件:创建数据库对象的时候指定的是使用表空间,一个表空间至少包含一个数据文件,临时文件是临时表空间对应的数据文件,并不是已用完就被删除的,而是指这个文件存储的对象是临时存在的对象。临时文件主要用于大量的排序的时候,如果不能在数据库的内存中做排序,就会把临时文件作为中转。

参数文件:参数文件是记录数据库系统配置的文件,每次数据库一启动,Oracle就会自动地从参数文件中读取系统参数的设置来配置并启动数据库。如内存的大小分配,此次启动可以打开的进程数和会话数等。

2 Oracle数据库迁移的迁移方案

oracle数据库状态分类:

nomount:此状态可以读取初始化参数文件,启动实例,可以进行数据库的创建。

mount:数据库维护状态,读取控制文件。

open: 打开数据文件,日志文件,是数据库可以对全体用户提供服务了。

数据库物理迁移过程大体可分为以下四个步骤:

第一步:加载初始化文件

oracle启动后,数据库默认会读取一个二进制的初始化文件spfile.ora,可在系统启动时指定初始化文件的路径,如startup pfile="pfilesid.ora" nomount或者startup spfile="spfilesid.ora" nomount。初始化过程可根据系统错误提示内容,用pfile进行编辑处理,然后重新startup就可以了。

第二步:加载控制文件,保证在初始化文件中,控制文件的路径正确

在初始化文件中定义控制文件的位置,在确保控制文件路径正确的情况下,才能对控制文件进行加载,其命令是alter database mount。

第三步:加载数据库,包括重做日志文件

加载控制文件之后,执行命令alter database open对数据库进行开启,整个数据库启动过程完成了。

第四步:启动数据库成功之后,就说明迁移成功,可以观察数据是否丢失,然后启动监听和配置文件等。

3 Oracle数据库迁移具体实践

下面以把数据库从文件系统迁移到ASM磁盘组为例进行演示步骤:

首先,ASM是把多个磁盘组织为一个磁盘组,作为Oracle的逻辑卷管理器,利用ASM技术可以把数据均匀分布在这些磁盘上来解决从文件区到物理磁盘块的映射问题。这种设计除了定位文件区非常快速之外,还在增加或删除磁盘时有所帮助,因为文件区的位置不需要调整[3]。

把数据库从文件系统迁移到ASM磁盘组主要是把数据库的控制文件,数据文件和日志文件分别放在不同的磁盘组上,实现对这些文件的一个冗余放置,还简化了对数据文件的管理。

3.1 迁移数据库

①迁移数据库前先在RMAN下备份数据库,设置系统冗余度,并打开优化器和控制文件的自动备份功能

②创建迁移的控制文件存放的目录

③修改参数文件把控制文件的默认位置修改到ASM磁盘组上,然后用Pfile来生成spfile文件

SQL> create pfile from spfile;

④利用RMAN工具恢复控制文件,将数据库启动到mount状态;加载控制文件,如果出现错误,就说明控制文件所在的路径和参数文件路径不一致,要修改初始化参数,文件中控制文件的参数,然后重新加载。

4 总结与展望

数据库管理技术是现今社会中信息科学与技术的重要组成部分,数据库迁移技术的研究保证了数据安全以及高效的存储[4][5]。在实际操作过程中,Oracle数据库基于Linux系统的迁移过程中会出现各种各样的情况,如果想要安全完整的迁移数据库,一定要先做好备份,然后反复的实验验证,最终才能保证数据库完整安全的迁移。

参 考 文 献

[1] 张敏.数据库安全研究现状与展望[J].中国科学院院刊,2011.03.

[2] 赵钦,周丹.政府办公自动化信息系统数据迁移解决方案[J].广西科学院学报,2008.24.

[3] 段卫国,李俊春.Oracle 数据库数据迁移技术研究[J].信息技术,2015.8.

[4] Kathy Rich.Oracle Data Pump,10g Release 2 (10.2)[M].Oracle Database Utilities, 2005.

Oracle数据库碎片数据库 篇4

我们知道, Oracle 作为一种大型数据库,广泛应用于金融、邮电、电力、民航等数据吞吐量巨大,计算机网络广泛普及的重要部门。对于系统管理员来讲,如何保证网络稳定运行,如何提高数据库性能,使其更加安全高效,就显得尤为重要。作为影响数据库性能的一大因素 -- 数据库碎片,应当引起 DBA 的足够重视,及时发现并整理碎片乃是 DBA 一项基本维护内容。

1 、碎片是如何产生的

---- 当生成一个数据库时,它会分成称为表空间( Tablespace )的多个逻辑段( Segment ),如系统( System )表空间 , 临时( Temporary )表空间等。一个表空间可以包含多个数据范围( Extent )和一个或多个自由范围块,即自由空间( Free Space )。

---- 表空间、段、范围、自由空间的逻辑关系如下:

---- 当表空间中生成一个段时,将从表空间有效自由空间中为这个段的初始范围分配空间。在这些初始范围充满数据时,段会请求增加另一个范围。这样的扩展过程会一直继续下去,直到达到最大的范围值,或者在表空间中已经没有自由空间用于下一个范围。最理想的状态就是一个段的数据可被存在单一的一个范围中。这样,所有的数据存储时靠近段内其它数据,并且寻找数据可少用一些指针。但是一个段包含多个范围的情况是大量存在的,没有任何措施可以保证这些范围是相邻存储的,如图〈 1 〉。当要满足一个空间要求时,数据库不再合并相邻的自由范围(除非别无选择),而是寻找表空间中最大的自由范围来使用。这样将逐渐形成越来越多的离散的、分隔的、较小的自由空间,即碎片。例如:

2 、碎片对系统的影响

---- 随着时间推移,基于数据库的应用系统的广泛使用,产生的碎片会越来越多,将对数据库有以下两点主要影响:

---- ( 1 )导致系统性能减弱

---- 如上所述,当要满足一个空间要求时,数据库将首先查找当前最大的自由范围,而 “ 最大 ” 自由范围逐渐变小,要找到一个足够大的自由范围已变得越来越困难,从而导致表空间中的速度障碍,使数据库的空间分配愈发远离理想状态;

---- ( 2 )浪费大量的表空间

---- 尽管有一部分自由范围(如表空间的 pctincrease 为非 0 )将会被 SMON (系统监控)后台进程周期性地合并,但始终有一部分自由范围无法得以自动合并,浪费了大量的表空间。

3 、自由范围的碎片计算

---- 由于自由空间碎片是由几部分组成,如范围数量、最大范围尺寸等,我们可用 FSFI--Free Space Fragmentation Index (自由空间碎片索引)值来直观体现:

FSFI=100*SQRT(max(extent)/sum(extents))*1/SQRT(SQRT(count(extents)))

---- 可以看出, FSFI 的最大可能值为 100 (一个理想的单文件表空间)。随着范围的增加, FSFI 值缓慢下降,而随着最大范围尺寸的减少, FSFI 值会迅速下降。

---- 下面的脚本可以用来计算 FSFI 值:

rem FSFI Value Compute

rem fsfi.sql

column FSFI format 999,99

select tablespace_name,sqrt(max(blocks)/sum(blocks))*

(100/sqrt(sqrt(count(blocks)))) FSFI

from dba_free_space

group by tablespace_name order by 1;

spool fsfi.rep;

/

spool off;

---- 比如,在某数据库运行脚本 fsfi.sql, 得到以下 FSFI 值:

TABLESPACE_NAME FSFI

------------------------------ -------

RBS 74.06

SYSTEM 100.00

TEMP 22.82

TOOLS 75.79

USERS 100.00

USER_TOOLS 100.00

YDCX_DATA 47.34

YDCX_IDX 57.19

YDJF_DATA 33.80

YDJF_IDX 75.55

---- 统计出了数据库的 FSFI 值,就可以把它作为一个可比参数,

在一个有着足够有效自由空间,且 FSFI 值超过 30 的表空间中,很少会遇见有效自由空间的问题。当一个空间将要接近可比参数时,就需要做碎片整理了。

4 、自由范围的碎片整理

---- ( 1 )表空间的 pctincrease 值为非 0

---- 可以将表空间的缺省存储参数 pctincrease 改为非 0 。一般将其设为 1 ,如:

alter tablespace temp

default storage(pctincrease 1);

---- 这样 SMON 便会将自由范围自动合并。也可以手工合并自由范围:

alter tablespace temp coalesce;

5 、段的碎片整理

---- 我们知道,段由范围组成。在有些情况下,有必要对段的碎片进行整理。要查看段的有关信息,可查看数据字典 dba_segments ,范围的信息可查看数据字典 dba_extents 。如果段的碎片过多,将其数据压缩到一个范围的最简单方法便是用正确的存储参数将这个段重建,然后将旧表中的数据插入到新表,同时删除旧表。这个过程可以用 Import/Export (输入 / 输出)工具来完成。

---- Export 命令有一个(压缩)标志,这个标志在读表时会引发 Export 确定该表所分配的物理空间量,它会向输出转储文件写入一个新的初始化存储参数 -- 等于全部所分配空间。若这个表关闭, 则使用 Import ()工具重新生成。这样,它的数据会放入一个新的、较大的初始段中。例如:

exp user/password file=exp.dmp compress=Y grants=Y indexes=Y

tables=(table1,table2);

---- 若输出成功,则从库中删除已输出的表,然后从输出转储文件中输入表:

imp user/password file=exp.dmp commit=Y buffer=64000 full=Y

---- 这种方法可用于整个数据库。

---- 以上简单分析了 Oracle 数据库碎片的产生、计算方法及整理,仅供参考。数据库的性能优化是一项技术含量高,同时又需要有足够耐心、认真细致的工作。

ORACLE数据库性能的调整 篇5

1 性能调整与优化概述

目前, 性能调整作为一项活动在进行, 活动可以通过优化应用程序、修改系统参数和改变系统配置来有效的改变系统的性能。其中性能的调整主要包括了对硬件配置、操作系统和数据库管理系统的配置的调整, 并且对所访问的组件的应用进行详细的分析和优化。性能优化主要是指具备目的性的对所需调整的组件进行有效的改善, 使数据库的吞吐量逐渐变大, 所对应的响应时间逐渐达到最小化。对于数据库性能的调整和优化来说, 要尽可能的减少磁盘访问, 从中获取所需的数据, 数据库性能的调整和优化在一定程度上说是相互循环的, 想要性能达到相应的优化目的, 就必须进行适当的性能调整, 最后再查看优化的结果, 通过这种反复的检查, 最终达到较为满意的结果。

2 数据库系统性能评价指标

2.1 系统吞吐量

系统的吞吐量是指在单位时间内数据库所完成的SQL语句的数目, 这主要是以每秒钟的事务量来进行表示。想要有效的提高系统的吞吐量, 就必须通过减少服务时间, 并在相同的资源环境内做更加多的工作, 或者减少总的响应时间, 从而使工作能够做的更加快。

2.2 用户响应时间

用户的响应时间主要是指用户在提交SQL语句以后来获取相应的结果集的第一行所需要的时间, 并且根据应用做出相应的反应时间, 这个时间一般都是使用毫秒和秒来进行表示。这里的响应时间包括两个方面:系统的服务时间和用户的等待时间。也可以这么说, 想要获取满意的用户相应时间可以通过两个方法来进行, 一种是减少系统服务的时间, 以此来提高数据库的吞吐量, 另一种是减少用户等待的时间, 以此来减少用户访问同一数据库资源所产生的冲突率。

2.3 数据库命中率

由于ORACLE用户进程中所需要的数据一般都是通过缓冲区来进行高速缓存来获取的, 但是用户能否对数据的要求在内存中得到相应的满足, 并且给出快速的响应, 就可以使用缓冲区的告诉缓存命中率来进行有效的衡量, 该比率等于高速缓存命中总数除以对高速缓存的查找总数。此外, 由于从磁盘中读数据的开销要比高速缓存中读数据要开销较大一些。因此, 一般情况下必须使该命中率具备一定的高度。

3 ORACLE数据库性能调整和优化

3.1 调整和优化CPU的使用

CPU是服务器中一个重要的资源, 在使用操作命令的时候, 我们可以准确的看到CPU的整体使用情况。一般情况下, UNIX操作系统的服务器可以使用sar-u命令来查看CPU的使用效率, 对于Windows操作系统来说, 其服务器可以使用性能管理器来查看CPU的使用效率。当服务器处于良好的状态时, 一般是在工作的高峰期, 其CPU的使用率达80%以上。但是如果在繁忙的时期, CPU的使用率处于较低的状态, 那么代表服务器的CPU资源较为富余, 如果在空闲时间, CPU的使用率仍然在80%以上, 那就说明服务器存在一定的问题, 或者说服务器缺乏响应的CPU资源。

3.2 调整和优化网络I/O

由于网络的带宽会在一定程度上影响系统的整体性能, 从而较少了网络的负载。因此, 其可以起到改善系统性能的作用。减少网络I/O主要是将应用逻辑集中在数据库的服务器上, 可以有效的使用ORACLE数据库的触发器、完整约束性、存储函数和存储过程来使在网络上传输的只是调用过程的名字和输出结果, 这样可以有效的减少网络I/O负荷量。

3.3 调整数据库内存分配

由于每一个ORACLE实例都是由一组ORACLE后台进程和系统全局区的一个内存区所组成的。用户进程对这个内存区发送相应的事务, 并且把这里作为调整缓存读取命中的数据的区域, 从而有效的实现加速的最终的目的。此外, 由于SGA的缺省参数设置只能运用在配置很低的计算机上。因此, 在使用的时候要根据数据库的运行情况来对SGA的大小进行相应的调整, 并且在初始化的参数文件中, 有一些参数对SGA的大小有着一定的决定性影响。

4 结论

综上所述, 在应用系统的运行过程中, ORACLE数据库性能调整与优化起着极其重要的作用。工作人员需要根据实际的情况, 来对系统进行相应的调整, 从而使得相关应用的性能得到有效的改善。

摘要:由于ORACLE具备功能和灵活性突出的优越性, 因此它是一个功能极其强大和灵活关系型的数据系统。在数据库的应用类型上是较为复杂的, 不同类型的应用对其系统的要求也是不同的, 所以为了能够满足不同类型的应用系统, 就必须对系统性能进行定期的诊断和调整, 以此来提高系统的运行效率。

关键词:ORACLE,数据库,优化和调整

参考文献

[1]孙风栋, 闫海珍.Oracle 10g数据库系统性能优化与调整[J].计算机技术与发展, 2009 (2) .

[2]廉彦平.Oracle数据库性能优化策略[J].科技信息:学术研究, 2008 (29) .

NUB恢复ORACLE数据库 篇6

NUB(Veritas Net Backup)是公认的企业级备份和恢复软件的领导者,越来越多的企业采用NBU备份ORACLE数据库。NBU备份的ORACLE数据,依据不同的情况及用户期望的目标,可以有不同的恢复方式。本文所陈述的是在一种极端情况下的数据库恢复,即原来运行的数据库软硬件平台已不复存在,仅留下备份数据,需要将ORACLE数据库恢复到一个新建的数据库平台上。理解了这种恢复方式,则其他恢复方式都可以看做这种恢复方式的简化操作。

2 运行环境

2.1 原始数据库的运行环境

原始数据库运行于Linux平台,采用2台服务器组成RAC集群,数据库的数据文件存储在ASM的+YTNC存储组中,数据库实例分别是ytcdb1和ytcdb2。Hosts文件内容如下:

其中netbackup为NBU备份服务器主机及备份介质服务器。

2.2 新建数据库运行环境

新建数据库运行环境运行于Linux平台,采用2台服务器组成RAC集群,数据库的数据文件存储在ASM的+DBDIR存储组中,安装数据库时仅安装程序,不创建数据库。CRS程序安装目录为/oracle/crs,数据库程序安装目录为/oracle/ora。

Hosts文件内容如下:

新环境包含ytcdb03、ytcdb04的CRS集群及ASM实例,不包括任何数据库。

3 安装NBU客户端

CRS环境下的数据库恢复,仅需在其中一个集群成员上完成,本文选择在ytcdb03上实施数据库恢复。在ytcdb03上安装NBU客户端,确保ytcdb03能够与netbackup建立通讯。NBU程序安装于/usr/openv/netbackup/bin。

4 查看备份数据

以上为2016年9月2日22时59分开始做的一个数据库全备份,其中/c-588629775-20160903-05中含有这个备份数据的最新的参数文件及控制文件,本文将从这个全备份中恢复数据。

5 恢复参数文件spfile

我们所需要的参数文件位于备份集c-588629775-20160903-05中,其原始存储位置位于ASM的+YTNC存储组中,在恢复的时候要重定位到ASM的+DBDIR存储组中。以下为恢复参数文件的RMAN程序:

6 编辑参数文件

由于参数文件中控制文件的位置、归档日志位置、闪回区位置等都是指向原始运行平台的位置,所以,参数文件恢复之后,要对参数文件进行修改,主要是修改控制文件、归档日志、闪回区位等在新环境下的位置。

6.1 设置oracle环境变量

6.2 启动数据库到nomount状态

6.3 利用spfile生成可编辑的pfile文件

6.4 编辑pfile文件

将以上涉及存储位置的行对应修改为:

6.5 用新的pfile文件启动数据库

6.6 创建新的spfile文件

7 恢复控制文件

参数文件准备好以后,就可以恢复控制文件了。控制文件的存储位置是有参数文件确定的,在恢复时不需要指定存储位置。控制文件恢复的RMAN程序如下:

8 恢复数据文件

8.1 将数据库启动到mount状态

在恢复数据文件之前,我们要将数据库启动到mount状态。由于在恢复控制文件之前已将数据库启动到nomount状态,因此可以用如下SQL命令将数据库置于mount状态。

8.2 查看原始数据文件

到目前为止,控制文件中仍然保存着原始数据库的数据文件名称及存储位置,我们先要确定原始数据库有哪些数据文件及存储在什么位置,可以通过查询v$datafile获得原始数据库文件名及存储位置。

8.3 恢复数据文件

恢复数据文件最主要的是重定向数据文件的存储位置,将数据文件恢复到新环境下的ASM存储组中。恢复数据文件的RAM程序如下:

8.4 修改redolog文件位置

原始redolog文件的名称及存储位置可以通过查询图v$Logfile获得:

利用SQL命令修改redolog文件的存储位置:

8.5 修改tempfile文件位置

原始tempfile文件的名称及存储位置可以通过查询图v$tempfile获得:

利用SQL命令修改tempfile文件的存储位置:

9 恢复数据库

恢复数据库仍然必须使用RMAN程序,并且同样要连接到NBU的磁带库,因为恢复数据库时要查找所需的归档日志。恢复数据库的RMAN程序如下:

注意程序执行完毕时的错误提示:

由于NBU采用在线备份(热备份),在备份时数据库仍然在运行,在线归档日志在不断变化,NBU并不备份在线归档日志。把数据库恢复到一个新的数据库平台上,由于没有在线归档日志,实际上是一种不完全恢复,因此,在数据库恢复时会报需要在线归档日志的错误,只能忽略。

1 0 打开数据库

由于数据库恢复过程中无法应用在线归档日志。因此,在打开数据库时,需要使用RESETLOG参数,强制数据库放弃原来的在线归档日志,使用新的在线归档日志。

1 1 在集群中添加数据库

数据库成功恢复并打开之后,需要将数据库添加到CRS集群中,添加数据库的关键是spfile文件的位置及数据库程序的安装位置。

以oracle登录:

其中:oracle数据库安装目录为/oracle/ora,数据库名称为ytcdb。

查看数据库添加结果:

1 2 在集群中添加数据库实例

以oracle登录:

查看数据库实例添加结果:

1 3 重启数据库集群

1 3.1 分别在ytcdb03和ytcdb04重启CRS。

1 3.2 查看CRS集群状态

1 4 结语

NBU恢复oracle数据库依据不同的目的及环境状况可以有不同的恢复方式,本文论述的是原始数据库运行环境被彻底破坏,需要将数据库恢复到一个新的运行环境时的恢复方法,可以说基本囊括了常见的数据库恢复方法。针对不同的数据库故障,参照本文,适当省略不必要的步骤,可以轻松完成各种故障现象下的oracle数据库恢复。

参考文献

Oracle数据仓库论文 篇7

1 oracle数据库的审计技术

Oracle数据库审计主要包括强制审计,管理员(sys)用户审计和标准审计。

1.1 强制审计

强制审计是指,即使没有启用数据库审计,ORACLE数据库仍然记录三个特别重要的事件,它们是:(1)具有SYSOPER或SYSDBA权限的用户,不论以操作系统认证还是以数据库认证的方式连接到数据库时,都强制产生一条审计记录,提供用户的账户信息;(2)数据库启动时,强制产生一条审计记录,列出了启动实例的操作系统用户,终端id,日期和时间;(3)数据库关闭时,强制产生一条审计记录,列出了关闭数据库实例的操作系统用户,终端id,日期和时间。

强制审计记录保存在操作系统中,但是对于不同的操作系统,保存位置不同,在windows平台下,审计记录写入事件查看器中,在linux平台下,审计记录保存在$oracle_home/rdbms/audit中。例如:以下是一条在windows下具有sysdba权限的用户连接数据库时产生的审计记录。

从以上内容可知,用户从lcm客户机连接数据库,以操作系统认证,操作系统用户为LCMliang。

1.2 审计管理员(sys)用户

强制审计只是对sys用户连接数据库的过程进行审计,如果要对sys用户的操作进行审计,可以使用初始化参数AUDIT_SYS_OPERATIONS启用管理员的操作审计。

默认情况下AUDIT_SYS_OPERATIONS为false,不对管理员的操作进行审计。若要启用管理员操作的审计,执行下列命令后重起数据库,即可打开管理员操作的审计。

Sys用户的审计记录写入操作系统文件,而不写入数据库的SYS.AUD$表中。Windows平台下,审计记录写入事件查看器中,Unix中,如果没有指定AUDIT_FILE_DES参数,默认写入$ORACLE_BASE/admin/$DB_UNIQUE_NAME/adump。

1.3 标准审计

1.3.1 标准审计

是一种功能强大而又灵活的数据库审计技术,由AUDIT和NOAUDIT命令执行,oracle提供了四种标准审计选项:

(1)语句审计对某类数据库对象操作的一组或多组sql语句进行审计。例如:AUDIT TABLE将审计CREATE TABLE,TRUNCATE TABLE,COMMENT ON TABLE,and DELETE[FROM]TABLE。

(2)权限审计审计授予某系统权限的sql语句。例如:AUDIT CREATE ANY TRIGGER,对使用系统权限CREATE ANY TRIGGER的语句进行审计。

(3)对象审计审计某些对象操作的某些语句。例如:ALTER TABLE on the emp table。

(4)网络审计审计网络协议或网络层的意外错误。

1.3.2 标准审计的基本语法

以下是标准审计的基本语法,具体含义和使用方法可以参考oracle文档。

1.3.3 标准审计的审计记录与启用

审计信息包括审计的操作、执行操作的日期与时间。审计记录既可以存储在数据字典SYS.AUD$中,称为数据库的审计跟踪(database audit trail),可以通过DBA_AUDIT_TRAIL视图来查看;也可以存储在操作系统文件中,称为操作系统的审计跟踪(operating system audit trail),审计记录在操作系统的存储位置由参数audit_file_dest设置。

通过设置初始化参数AUDIT_TRAIL,可以启用和禁用数据库审计,默认情况下不启用审计,即AUDIT_TRAIL为none或false。

db or true-启用审计,审计记录存储在数据库的审计跟踪即SYS.AUD$中。

db,extended-在db基础上,增加SQL_BIND和SQL_TEXT信息。

xml-启用审计,审计记录在操作系统文件中以XML格式存储。

xml,extended-在xml基础上,增加SQL_BIND和SQL_TEXT信息。

os-启用审计,审计记录在操作系统文件中。

在oracle10g中,AUDIT_TRAIL=XML,审计记录以xml文件写入操作系统,可以通过sql查询V$XML_AUDIT_TRAIL视图,查看XML审计记录。

1.3.4 标准审计内容的增强

对于Oracle 10g之前的版本,审计信息仅限于少数项,如:发出该语句的用户、时间、终端标识号等等,对比oracle9i与oracle10g的DBA_AUDIT_TRAIL视图,oracle10g中增加了许多内容,审计操作捕获了许多重要的信息如:扩展的细粒度时间戳标记、操作系统进程ID、事务标识符、SQL语句正文、绑定变量的值、修改时的SCN等。

2 使用触发器审计

前面介绍的审计方法只是对用户的操作命令进行审计,没有对操作的内容审计,对于基于内容的审计可以使用oracle触发器。oralce不但提供了dml触发器、ddl触发器、还提供了logon、logoff、startup、shutdown、servererror数据库事件触发器。触发器审计提供了透明的审计方法,审计时不必修改应用程序,应用程序也感觉不到触发器审计操作。缺点是不支持select、truncate等操作的审计,能够审计的信息较少,而且对于每一行或每一条语句都进行审计,比较消耗系统资源。使用触发器审计的过程包括以下步骤:(1)创建审计表,用来存放审计信息,主要有执行操作的用户身份信息、执行的dml操作、更新前后的新值与旧值、操作涉及的列等;(2)创建更新审计表的过程;(3)创建执行审计的触发器。

3 利用logmnr审计

我们知道,对oracle数据库的每个操作首先记录在日志文件中,日志中记录的信息包括:数据库的更改历史、更改类型(INSERT、UPDATE、DELETE、DDL等)、更改对应的SCN号、以及执行这些操作的用户信息等,通过分析各个时间段的日志文件内容,可以查看数据库的各种操作。因此可以使用logmnr对数据库的dml、ddl操作进行审计,缺点是不能对select操作审计。要查看日志文件的内容,用logmnr工具格式化日志文件,Logmnr生成的信息存储在V$LOGMNR_CONTENTS视图中,其中的信息非常丰富。

4 oracle数据库细粒度审计

4.1 标准审计

在宏观级别上跟踪用户在对象上执行的操作,例如审计对某个表的SELECT语句,可以跟踪是谁从表中选择了数据,但是不知道选择了什么数据;使用触发器或Oracle Log Miner实用程序可以捕获更改的内容,但因为SELECT语句既不启动触发器,也不记入到日志中,所以这两种技术在涉及到SELECT语句的地方也无能为力。

Oracle9i推出了一种称为细粒度审计(FGA)的新特性,该特性允许对单个的SELECT语句进行审计。除了跟踪语句之外,FGA还提供一种方法来模拟用于SELECT语句的触发器,即在用户每次选择特定的数据集时执行一段代码,作为对审计的响应。在oracle10g中,细粒度审计的功能更加完善,不但支持select操作的审计,还支持dml的审计。

与标准审计相比,FGA有四大优势:(1)能进行布尔类型的条件检查,就是说当某些条件满足时,才会审计;(2)拥有sql捕获能力,正如标准审计中audit_trail设置为db_extended一样,(3)拥有列敏感性,可以单独对某列的值进行审计,当敏感列被查询并满足布尔条件时,才会审计;没有指定条件时,敏感列被查询或被操纵时即进行审计;(4)拥有时间处理能力,可以对指定的时间段期间的操作进行审计,该时间段以外不进行审计。但FGA只能够处理四种类型的语句:SELECT、INSERT、UPDATE和DELETE。相比而言,常规审计可以处理其它许多语句和权限,甚至会话连接和断开。

4.2 启用细粒度审计

细粒度审计扩张了标准审计的能力,它的实现和管理使用oracle提供的程序包DBMS_FGA,所有的记录存储在FGA_LOG$表中,也可以查看dba_fga_audit_trail视图中的审计记录。

5 利用回闪事务审计

Oracle10g提供了完善的闪回技术,利用闪回版本查询或闪回事务查询可以查看过去某个时间的数据,可以利用这些特性对数据库的操作进行审计。

5.1 闪回版本查询

闪回版本查询,利用保存的回滚信息,可以看到表在特定的时间段内的任何修改,了解表在该期间的任何变化。oracle提供的伪列可以查看表列的新值、旧值、操作发生的时间以及操作的类型等信息。如:VERSION_OPERATION列显示对该行执行了什么操作(Insert/Update/Delete);列versions_starttime、versions_endtime显示了查询返回的行第一次修改和最后一次修改(第一个版本和最后版本)对应的时间;VERSIONS_STARTSCN和VERSIONS_ENDSCN显示第一次修改和最后一次修改对应的系统更改号;列versions_xid显示了更改该行的事务标识符。以下是一个使用闪回版本查询审计的实例。

(1)给每个员工增加10%的工资

5.2 回闪事务查询

Oracle Flashback Transaction Query特性能够检查数据库在一个事务级别的任何改变,利用该特性可以审计事务。它其实是Flashback Version Query查询的一个扩充,Flashback Version Query说明了可以审计一段时间内表的所有改变,但仅仅能发现问题,对于错误的事务,没有好的处理办法。而Flashback Transaction Query提供了从FLASHBACK_TRANSACTION_QUERY视图中获得事务的历史信息以及Undo_sql(回滚事务对应的sql语句),也就是说审计一个事务到底做了什么,甚至可以回滚一个已经提交的事务。通过查询FLASHBACK_TRANSACTION_QUERY视图,利用上例返回的事务id,可以获得执行过的事务的信息。

6 利用数据库各种日志审计

我们知道,oracle数据库包含各种各样的日志文件和跟踪文件,这些文件包括数据库alert警告日志、各种后台进程的跟踪文件、sql语句跟踪、数据库监听器日志及跟踪文件等,利用这些文件不仅可以检测数据库运行的故障和性能情况,还可以对数据库的各种操作进行跟踪审计。例如:alert警告日志包含数据库启动和关闭的整个记录、对数据库及实例级的各种操作、日志信息等;数据库监听器(listener)日志包括客户连接数据库的所有信息,哪个客户、连接时间、断开时间、客户的ip地址等信息;sql语句跟踪,可以根据数据库运行的情况打开sql跟踪选项,数据库执行的每个sql语句都会记录在后台跟踪文件中。这些信息都可以对数据库操作进行有效的审计。

7 结论

Oracle数据库审计是数据库安全管理的重要环节,安全管理人员应根据数据库的安全需要,设计合理的审计方案,过多的审计选项不但产生很多无用信息,还会影响数据的性能;过少的审计选项不能满足数据库安全需要。另外,对于审计记录的保护,防止审计信息的丢失和篡改,确保审计记录的安全也是重要的工作;如何从大量的审计记录中挖掘出有用信息,也是一个值得考虑的问题。oracle最近发布了一个称为oracle audit vault的工具,可以收集、管理和挖掘审计信息,关于该工具的使用可以参考oracle otn网站提供的应用文档。

参考文献

[1]Sumit Jeloka,opal Mulagund,Nina Lewis etc.Oracle Database Security Guide,10g Release 2(10.2)B14266-01 2005:127-141.

[2]Sumit Jeloka,opal Mulagund,Nina Lewis etc.Oracle Database Security Guide,10g Release 2(10.2)B14266-01 2005:191-227.

[3]Michele Cyran,Paul Lane,Omar Alonso etc.Oracle Database Concepts,10g Release 2(10.2)B14220-01 2005,Oracle.256-260.

[4]Michele Cyran,Paul Lane,Omar Alonso etc.Oracle Database Concepts,10g Release 2(10.2)B14220-01 2005,Oracle.329-329.

[5]David Knox.Effective Oracle Database 10g Security by Design[M].the United States of America:The Mc Graw-Hill Companies,2004.

[6]Diana Lorentz,Sundeep Abraham,Drew Adams etc.Oracle Database SQL Reference,10g Release 2(10.2)B14200-012005,Oracle.813-823.

[7]Diana Lorentz,Sundeep Abraham,Drew Adams etc.Oracle Database SQL Reference,10g Release 2(10.2)B14200-012005,Oracle.1242-1245.

Oracle数据仓库论文 篇8

很多朋友只用了oracle的删除,但很多情况下,他会发现重新安装时,点了下一步安装界面就消失了,往往无奈下只好重装系统,其实只是你数据库没删干净,删干净就不会出现这种情况了。

实现方法:

1、开始->设置->控制面板->管理工具->服务

停止所有Oracle服务。

2、开始->程序->Oracle - OraHome81->Oracle Installation Products->

Universal Installer

卸装所有Oracle产品,但Universal Installer本身不能被删除

5、运行regedit,选择HKEY_LOCAL_MACHINESOFTWAREORACLE,按del键删除这个入口。

6、运行regedit,选择HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices,滚动

这个列表,删除所有Oracle入口。

7、运行refedit,

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesEventlogApplication,

删除所有Oracle入口,

8、开始->设置->控制面板->系统->高级->环境变量

删除环境变量CLASSPATH和PATH中有关Oracle的设定

9、从桌面上、STARTUP(启动)组、程序菜单中,删除所有有关Oracle的组和图标

10、删除Program FilesOracle目录

11、重新启动计算机,重起后才能完全删除Oracle所在目录

12、删除与Oracle有关的文件,选择Oracle所在的缺省目录C:Oracle,删除这个入

口目录及所有子目录,并从Windows2000目录(一般为C:WINNT)下删除以下文

件ORACLE.INI、oradim73.INI、oradim80.INI、oraodbc.ini等等。

13、WIN.INI文件中若有[ORACLE]的标记段,删除该段

14、如有必要,删除所有Oracle相关的ODBC的DSN

15、到事件查看器中,删除Oracle相关的日志

说明:

如果有个别DLL文件无法删除的情况,则不用理会,重新启动,开始新的安装。安装时,选择一个新的目录,则,安装完毕并重新启动后,老的目录及文件就可以删除掉了

(责任编辑:铭铭 mingming_ky@126.com TEL:(010)68476636)

Oracle数据仓库论文 篇9

鉴于数据库对于企业运作的重要性,除了要求高可用外,同时也要求数据库可以容灾,当数据库系统遭遇雷击、地震、火灾、水灾等自然灾害或者黑客、战争、恐怖袭击等人为灾难而无法继续提供服务时,数据库灾备系统能够及时接管业务,从而保证业务持续性。

事实上,数据库系统的容灾环境就是当前对外服务的生产数据库环境的一个备份,基于此,本文着重研究了企业生产环境中Oracle数据库系统的容灾技术以及各自应用的场景、优缺点,希望能对后续的生产实践提供有价值的参考。

1 数据库备份分类

备份是保证数据库可用性的重要措施。根据备份对象的不同,可以分为物理备份和逻辑备份,两者的比较如表1所示;根据备份的时间特点,又可分为静态备份和动态备份,两者的比较如表2所示。

2 影响oracle数据库容灾的关键因素分析

2.1 带宽

容灾环境一般离主站点较远,至少也是跨机房。所以,在两个站点之间同步数据的网络带宽不容忽视。

在对数据实时性要求很严格的环境中(或称实时容灾),要求网络带宽能够满足业务峰值时的数据传输;如果允许数据同步过程有一个延时范围(或称异步容灾),则必须保证带宽大于或等于一个数据同步周期(如一天时间)内的平均数据传输量。比较典型的例子有Oracle Data Guard容灾中的最大保护模式与最大性能模式对网络带宽的要求,如图1所示。

上述讨论的带宽是容灾环境正常运行时所需要的带宽,对于动态容灾还有个数据初始化的问题。当数据库的初始数据较小时,可以考虑进行压缩备份再经网络传输到容灾环境;相反,当数据较大时,可以考虑采用手工备份,拷贝到移动设备再运送到容灾环境的方式,避免长时间的网络传输、带宽占用。此外,可以为容灾环境设计专门的容灾、备份网络,避免对生产环境产生负面影响。

2.2 磁盘I/O

当oracle数据库的并发访问压力较大时,磁盘I/O较CPU、内存等因素更容易成为数据库的性能瓶颈。与网络带宽要求一样,在对数据实时性要求很严格的环境中,容灾站点的IOPS必须满足数据同步所需的峰值IOPS需求;在实时性要求不高的系统,必须确保磁盘I/O在一个同步周期内足以完成上个周期内的数据同步。如果考虑故障切换后,要求容灾站点对外服务,这时容灾站点的IOPS要求与主站点一样。

通常,在oracle数据库环境中,建议采用raid10保证磁盘的I/O性能与数据冗余。

随着近年来SSD(Solid State Drive)技术的发展,可以采用SSD盘解决数据库的I/O问题。与传统硬盘不一样,SSD的内部没有机械装置,突破了传统硬盘的性能瓶颈,并且价格逐渐走低。SSD的I/O速度至少比传统硬盘快1个数量级,此外还具有低功耗、无噪音、抗震动和低热量的特点。

值得一提的另外一种固态技术就是Fusion-io公司的产品[1],如基于io Memory平台的io Drive,io Drive2,io Drive Duo,io Drive2 Duo,io Drive Octal。Fusion-io具有所有传统SSD的优点,能提供接近缓存的I/O处理能力。与传统的SSD很大的一个区别在于Fusion-io采用PCIe插槽连接到服务器,大大简化了I/O处理环节,降低了I/O响应时间。对于高并发、读取频繁的oracle数据库应用来说非常合适。

2.3 RPO/RTO指标

容灾环境保证DB可用,甚至高可用,需要根据业务特点确定好数据库的RPO/RTO策略。考虑到容灾环境的构建、维护成本,RPO/RTO策略不同,就可以采取不同的实施方案。对于允许较大RPO/RTO数据库系统,可以采用磁带方式进行备份、恢复;对于小的RPO/RTO策略,可以考虑数据库的异步、同步复制方案,或者采取基于阵列的磁盘异步、同步复制方案。

2.4 网络安全与成本

远程数据同步中,黑客或者其他攻击者很容易截取、篡改传输内容。因此在数据传输链路上可以采用专线或者VPN方式来保证,数据本身可以考虑采用软、硬件方式进行加密、解密,防火墙只开放必要的数据传输端口,有效的身份认证等等,确保数据传输的安全、可靠和完整。

成本包括实施成本与后续运维成本,成本问题关系着最终的容灾方案实施,与以上因素均有关系。对容灾环境要求越高,成本越高。根据容灾环境设计目标,如果完全针对容灾,当主站点出现故障,要求在指定的RPO/RTO内切换至容灾环境,则容灾站点的软硬件环境配置要与主站点一样,灾备环境能承担所有的业务压力。如果只是作为一个静态或者动态备份,则可以降低硬件需求。

3 Oracle数据库层次的容灾

3.1 静态冷备方式

该种方式比较原始,也较常用。除了正常对外服务的生产数据库外,另外有一套相似的数据库备份环境位于别的IDC。通过定期备份机制对生产数据库进行备份,备份介质可以是磁带也可以是磁盘,备份完毕,将磁带备份离线存储或者及时将最新的备份传回灾备环境并进行恢复。

Oracle数据库的备份机制依据该数据库系统的RTO/RPO指标来严格实施,这种实现方式的RPO通常在小时级。备份的方式一般采用该数据库支持的物理备份方式(甚至可能是逻辑备份方式),定期进行基准备份、增量备份,或者先进行数据库全备,再定期备份数据库日志等等。

该种方式的弊端是灾备环境资源闲置;故障切换时一般需要较长时间进行数据恢复。优点是实施和维护简单,成本相对较低。适合于大数据量的场景,如数据仓库。

3.2 动态物理备份方式

动态物理备份的容灾方式,一般是利用数据库日志的同步/异步传输机制将日志信息传输到容灾数据库上,再进行实时/延时日志应用,从而保证主库与备库数据的动态同步。

有关动态物理备份容灾,业界比较成功的有Oracle Data Guard(physical standby),IBM DB2HADR,IBM Informix HDR,Microsoft SQL Server Mirror等等。

以Oracle Data Guard容灾为例,Oracle Data Guard中的physical standby在业内广泛使用。从备份的角度看,它也可以视为数据库的一个动态备份。该种方式的容灾是数据库级别的容灾。Data Guard有三种保护模式,即最大保护模式、最大可用模式和最大性能模式。一般选择最大性能模式进行容灾,日志传输可采用归档进程对联机日志进行远程归档。在对主库与备库数据同步要求比较高的场景中,主库可以采用LGWR进程进行同步或者异步重做日志传输,拉近RPO,减少RTO。

备库可以根据容灾需求选择实时应用或者延时应用重做日志,延时一段时间,可达到容灾、防止误操作的效果,具体情况视RPO、RTO以及存储空间而定。

图2是一个Oracle数据库的Data Guard级联容灾环境(其他数据库可能不支持多个备库)。

此类物理方式的备库有以下三个优点。

1)最大的优点是创建了一个源数据库的完整、一致的备份。

2)技术成熟,实施简单,后续维护方便。

3)一般主、备库分布于不同的服务器上,除了容灾外,还具有硬件容错功能;如果延迟备库日志的应用,该种方式还能从一定程度上避免误操作。

缺点:

1)对于业务繁忙的数据库、数据仓库并不适合。Oracle data guard可能会由于force logging的启用,导致源端产生大量的重做日志,会对源端存储空间、I/O性能以及网络状况产生很大的影响。同时,归档日志传到目标端,也会影响目标端的空间和I/O性能,甚至会导致standby来不及恢复、归档日志在目标端严重堆积的现象。

2)对网络要求比较高,要求网络带宽必须大于或等于主库写日志的平均速度。Informix HDR主、备机之间采用半双工通信协议,对网络延迟敏感,通常要求网络要非常稳定。

3)备库一般不打开,只是进行日志同步。Oracle 11g中出现的active data guard与snapshot standby database新特性改进了这一局限性,active data guard中备库可以在open状态下应用日志,但是数据库还是只读,snapshot standby database允许在任意快照时间点将备库以读写方式打开,使用完毕可再回到正常的physical standby状态[2]。IBM DB2 V9.7.1开始也引入了备用数据库可读的功能。Informix 11.5之前,HDR备机支持只读方式,从11.5开始,HDR备机支持读写操作。

4)要求主、备数据库的版本、位数一致,操作系统环境一致。

3.3 动态逻辑备份方式

动态逻辑备份方式的容灾(或称数据复制)较动态物理备份方式复杂,实现的方式也更为灵活。总的说来,该种方式的容灾主要通过对主库上的数据变更先进行捕捉,再进行SQL整理,最后在备库上进行SQL应用,达到主库与备库数据同步的目的。

在实际生产实施场景中,逻辑动态容灾技术的拓扑结构如图3所示。

在各大数据库系统中,诸于此类的复制技术还有很多,此外还有第三方的复制软件(如Quest Share Plex)等,不一一列举。

一般地,此类复制技术具有以下六个优点。

1)源库与目标库都开放,可以同时对外提供服务。

2)目标数据库可以跨系统平台,跨数据库版本,甚至可以进行异构数据库之间的复制。

3)复制灵活,可以将一个数据库分散进行容灾,也可以将多个分散的数据库进行集中容灾。

4)应用部署灵活,可以充分利用备库资源,将主库所支撑的部分业务有效地分离出去,进而减小主库压力。

5)故障切换速度很快,甚至无需切换。

6)主库与备库之间的数据复制可以是同步或接近同步,或者异步。

缺点:

1)比较复杂,维护难度较大。

2)对源表结构设计有规范性要求,对某些特殊的数据类型不支持,另外主键、外键、唯一性约束、索引、触发器等对复制过程也会产生影响。

3)双向复制,需要解决数据冲突问题。

4 结束语

本文以Oracle数据库的备份分类为基础,从数据库备份的角度出发详细阐述了影响Oracle数据库容灾技术的关键因素,并将Oracle数据库级别的容灾划分为三种方式,并分别研究了每种容灾方式的工作机理、特性与具体场景。实际上,数据库容灾并不一定单独存在,生产实践中总是会结合服务器硬件进行容灾,构建集群,使数据库系统既能实现高可用、负载均衡,又满足容灾要求,这对其他数据库的容灾有一定的指导和参考价值。

参考文献

[1]http://www.fusionio.com/platforms/.

Oracle数据仓库论文 篇10

在企业经营过程中, Oracle数据库对企业发展是必不可少的, 具有一定的助力作用。但是, 在该数据库应用的过程中, 存在一定的安全问题, 从某种意义上来说, 应当注重数据库的安全防护。数据库安全防护工作的有效开展, 能够确保企业核心数据的安全管理, 一旦防护工作不够完善, 导致企业核心数据被黑客入侵、篡改等, 将会造成一系列不必要的损失, 对企业经营管理造成影响。一旦企业数据被同行业竞争对手获取, 将会造成一定的经济损失。鉴于此, 提高Oracle数据库的安全系数, 确保用户使用安全已成为当前重要的问题, 进而有效实现安全管理。无论是对各企业、公司, 还是对现阶段的整个社会发展, 提升Oracle数据库的安全管理, 都具有一定的现实意义。

二、探析Oracle数据库安全问题

针对当前Oracle数据库的安全问题来说, 主要包括两个部分:

第一, Oracle数据库系统的安全问题探析。该数据库系统的安全问题又包括两个方面, 通过这两个方面能够深入了解到Oracle数据库系统存在安全问题的原因, 这两个方面分别是数据库的存取以及数据库的使用。在用户使用过程中, 为了确保其自身的安全, 系统将会对用户的访问进行授权, 通过授权方可有效使用。在Oracle数据库系统中, 采用的安全机制种类较多, 通过安全机制的运用可以确保用户的安全使用, 比如, 角色分配机制以及资源限制机制等等。

第二, Oracle数据库数据安全探析。数据安全问题主要包括:①人为破坏。在使用过程中, 因为无意操作, 进而造成数据损坏;②意外损坏。这种损坏方式主要是事故灾害, 用户在使用过程中, 这种意外发生现象是不受控制的。比如, 在用户使用过程中, 应用程序存在bug现象;③恶意破坏。这种方式主要指的是黑客非法入侵以及内部技术人员的破坏等。所以, 针对这样的问题, 应采取一定的安全措施。

三、 Oracle数据库安全技术与策略

首先, 用户身份认证。在用户使用过程中, 常常会出现一些安全问题, 比如, 访问受限、非法入侵等等。之所以会存在这些问题, 主要是因为访问过程中没有对用户身份进行有效的明确规定, 在这样的情况下, 使得所有人员都可以随意通过网络连接端口进入数据库系统中, 进而对数据库中的数据信息进行检索与复制。所以, 针对这些问题应采取用户身份认证的策略, 从根本上解决数据库安全问题[1]。比如, 针对不同身份的用户采取不同的授权方式, 进而令用户拥有属于自己的使用权限。当用户进入Oracle数据库系统中时, 需要用户自行登录, 此时应输入权限设置时的用户名以及密码, 在这个过程中, 采取身份验证的策略, 能够确保Oracle数据库安全系数的提升。

其次, 采取数据恢复技术。这种安全技术形式主要是针对内存缓冲区, 对缓冲过程中造成的数据损坏现象进行修复, 同时对外部存储设备上丢失的数据采取一定的恢复措施, 予以紧急修复的技术形式。在用户使用过程中, 一旦Oracle数据库硬件发生故障, 便会直接导致存储硬盘中的一些相关数据丢失, 不仅如此, 一旦有黑客以及病毒等非法入侵, 便会导致数据无法正常有效使用。面对种种情况, 管理人员应当采取适当的解决方式, 以保证数据的安全管理。管理人员可以采取手动方式, 对最新数据库以及常用文件、信息等进行备份, 将完成备份的数据重新装入数据库, 并采取数据库恢复指令, 进而将丢失的数据信息予以还原, 降低安全隐患造成的影响。

结束语

通过本文的研究可以发现, Oracle数据库在应用过程中, 具有一定的制约, 其中以安全问题最为明显, 各种安全问题会严重威胁人们日常生活中的隐私以及信息安全。所以, 为了有效确保数据库的安全性能, 提升安全系数, 应采取通过身份认证的方式, 以真实的身份进入, 并采取数据恢复措施, 完善Oracle的审计机制等, 以此实现Oracle数据库的安全应用。在确定数据库安全性能提升以后, 能够有效确保数据安全, 进而避免因数据损坏、泄漏等造成的损失。

摘要:随着全球经济一体化进程的加速, 计算机网络的普及, 使得人们日常生活更为便利, 计算机网络已成为现代生活必不可少的重要组成部分。但是, 以Oracle为主的数据库在应用过程中, 存在一定的安全问题, 对用户隐私造成了一定的威胁。为了加强Oracle数据库的安全管理, 本文简述了Oracle数据库的重要影响, 探析了安全问题, 阐述了具体的安全技术及策略, 以期进一步促进研究工作的开展。

关键词:Oracle数据库,安全技术,数据恢复

参考文献

上一篇:云计算技术发展展望下一篇:t检验