Oracle数据接口论文八篇

2024-06-29

Oracle数据接口论文 篇1

.NET框架是微软新一代视窗服务体系的核心, C#语言是.NET框架提供的开发语言的一种, 是惟一专门为.NET框架设计的语言。C#语言从C和C++语言演化而来的, 有着广泛的应用基础, 随着微软的.NET框架的逐渐流行, C#语言成为移植到其他操作系统上的.NET版本中使用的主要语言。

应用C#语言开发的各类应用程序经常需要某种形式的数据库访问。Oracle数据库是大型关系型数据库, 拥有强大的功能, 具有广泛的应用基础和前景。所以使用C#开发的应用程序经常会选择Oracle数据库作为数据支撑, 所以探讨C#语言与Oracle数据库的接口有着重要的应用价值。

一、接口的基本理论

软件接口技术是指不同类型的软件在同一环境下彼此之间进行的程序模块调用、参数传递、数据共享、功能等相互支持与补充的方式与技术。C#语言与Oracle数据库的接口是指使用C#语言编程的应用程序对Oracle数据库的数据调用、数据更改等操作的支持技术。

ADO.NET是C#用于以关系型的、面向表的格式访问数据的一种模式, 它不仅能够指向数据源, 还能实现其它数据格式的访问。ADO.NET支持两种数据操作模式。一种是通过管理提供者类直接与数据库交互;另一种是断开方式, 通过驻留在内存中的数据集对数据库进行操作, 最后再实现连接同步。

二、.NET框架中与接口相关的数据类型或变量:

总的来说, .NET框架中与接口相关的数据类型包括了数据管理提供者类对象和数据库用户类对象两种。

2.1 数据库管理提供者类对象

.NET框架包括了四种数据提供者, 分别用于不同的数据库标准。SQL Server.NET提供者、Oracle.NET提供者、OLE DB.NET提供者、ODBC.NET提供者, 分别用于不同的数据库标准。对于每种数据提供者, 包括了如下对象。

(1) 数据库连接对象

数据库连接对象是一个与数据库进行连接的对象, 包含着与数据源创建连接的信息。用于SQL Server.NET提供者的数据库连接对象是SQl Connection, 用于Oracle.NET提供者的数据库连接对象就是Oracle Connection, 用于OLE DB.NET提供者的数据库连接对象就是Ole Db Connection, 用于O D B C.N E T提供者的数据库连接对象就是ODBCConnection。

(2) 数据库命令对象

此对象用于对数据源发出命令, 对于不同的数据提供者, 该对象的名称也不同, 用于Oracle.NET提供者的命令对象是Oracle Command。

(3) 命令构造对象

此对象用于构建SQL命令, 在基于单一表查询的对象中进行数据修改, 用于Oracle.NET提供者的命令对象是Oracle Commandbuilder。

(4) 数据读取对象

专门用于读取数据。用于Oracle.NET提供者的数据读取对象是Oracle Datareader。

(5) 数据适配器对象

该对象取得数据并且在数据与数据集之间建立的一座桥梁。用于Oracle.NET提供者的数据读取对象是Oracle Data Adpter。

2.2 数据库用户对象

数据库用户对象用于定义ADO.NET断开的客户端对象。

(1) 数据集对象

数据集是数据的内存驻留形式, 它提供了独立于数据源的一致关系编成模型。此对象表示一组相关表, 在应用程序中这些表作为一个单元来引用。

(2) 数据表对象

数据表对象代表数据集中的一个表, 此对象允许访问其中的行与列, 即Data Column对象和Data Row对象。

(3) 数据关系对象

数据关系对象代表通过共享列而发生关系的两个表之间的关系。

(4) 数据源对象

数据源是一个数据库的名字, 表示程序要连接的数据库对象。

三、具体实现的方法步骤:

第一步:正确安装和配置Oracle客户端软件

要实现Oracle客户端与服务器的连通, 客户端需要安装两个软件:一是数据供应程序 (即ODP.NET工具) , 另一个是Oracle客户端连通性软件。微软提供的数据供应程序包含在.NET框架中, 客户端正确安装.NET框架后不需要单独下载或安装, 而Oracle客户端软件需要单独下载安装。当客户端安装好这两个软件后, 可以通过客户端使用SQL*Plus确认连通性, 如果能够与Oracle数据库相连, 那么证明客户端已经正确地安装和配置了Oracle客户端软件。

第二步:添加引用

ADO.NET附带了4个数据库客户命名空间, 分别用于SQL Server、Oracle、ODBC数据源和通过OLEBC实现的数据库。

1. 添加引用

添加一个指到数据驱动程序的引用。具体方法是在解决方案内, 选择“引用”节点, 右键单击并选择“添加引用”, 在系统弹出的添加引用对话框列表中选择System.Data.Oracle Client。

2. 添加C#的using语句

在添加引用之后, 在代码文件的顶部的命名空间或类声明之前添加C#的using语句, 虽然从技术上来说不是必须的, 但这样做的好处是我们不再需要使用冗长的完整名称来引用数据库对象。语句为:

第三步:建立应用程序和Oracle数据库的连接

1.确定连接字符串和对象

Oracle连接字符串和Oracle名称解析是不可分的。假定我们在Oracle tnsnames.ora文件中定义了一个数据库别名Ora Db, 如下:

要使用上面所述的在tnsnames.ora文件中定义的My Db别名, 需要使用以下语法:

第四步:关联连接字符串与连接对象

通过将连接字符串传递给连接对象的构造器, 连接字符串与连接对象建立关联。语法如下:

第五步:打开数据库

在连接字符串与连接对象建立关联之后, 使用Open方法来创建实际的连接。

oracle_conn.Open () ;

第六步:应用Oracle Command对象发送命令

第七步:对命令对象发送操作指令, 执行SQL命令

执行SQL命令有返回标量值和不返回标量值两种情况。从数据库中检索数据可以通过实例化一个Data Reader对象并使用Execute Scalar或Execute Reader方法来实现。在下面这个简化的例子中, Data Reader的返回值是一个字符串, 它用来设置标签控件的文本的属性值。

类似INSERT、UPDATE和DELETE等的数据修改操作不检索数据, 可以使用Execute Non Query方法实现。

第八步:关闭数据库

可以调用连接对象的Close方法或Dispose方法来关闭到数据库的连接。Dispose方法调用Close方法。

四、应用实例

4.1 设计思路

本实例将建立一个题库数据库管理系统, 实现题目的浏览、增加、修改和删除功能。

首先在服务器端新建一个方案test并且建立一个数据表question, 此表包含question (问题) 、answer (答案) 、difficulty (难度) 、mark (分值) 、type (题型) 等字段。然后在客户端安装.NET框架和Oracle客户端连通性软件后, 建立一个新项目, 选择C#语言作为开发语言, 选择windows应用程序模板, 项目名称取为My Try。在该项目下新建一个窗体Frm_manage, 在窗体内添加两个testbox分别命名为testbox1、testbox2用来显示题库中题目和答案的内容, 添加三个listbox分别命名为listbox_type、listbox_mark、listbox_hard用来显示题型、分值和难度, 添加三个button按钮分别命名为button_add、button_delete、button_Modify用来触发增加题目、删除题目和修改题目等事件, 如图1。

3.2核心代码

四、总结

本文阐述了C#语言与Oracle数据库的接口方法与接口步骤, 对使用C#语言开发的应用程序对Oracle数据库的访问有指导作用。

参考文献

[1]路川、胡新杰等.Oracle10g宝典.-北京:电子工业出版社, 2006.1

[2] (美) 沃森 (Waston, K.) , (美) 内格尔 (Nagel, C.) 等著, 齐立波翻译.C#入门经典.-北京:清华大学出版社, 2006.5

[3]刘秋香、张永胜等.C#下利用ADO.NET访问SQL Server技术.计算机应用, 2004.11

Oracle数据接口论文 篇2

1 影响查询优化器决策的因素

Oracle数据库引擎访问数据基本上有两种方式, 一种是扫描整个表, 一种是基于冗余访问结构 (如索引) 进行查找或基于表本身的机构 (比如哈希聚簇) 进行查找。查询优化器对于访问数据选用全表扫描还是索引扫描, 基于对这两种访问方式相应开销的估算, 影响优化器决策的因素主要有以下几个:

1) 进行全表扫描需要读取的数据块数目。

2) 进行索引查询需要读取的数据块数目, 这主要基于对WHERE子句谓词返回的记录数目的估计。

3) 进行全表扫描时多块读的相关开销以及为满足索引查询进行的单块读的开销。

4) 内存缓存中的索引块和数据块数目的假设。

当查询优化器正确的选择执行计划后, 并不意味着特定执行计划一定运行良好。所以有时可以通过调整SQL语句或访问结构, 来达到优化的目的。判断数据访问最有效的标准是处理数据时消耗的资源最少, 当然最有效不一定是最快。

2 影响数据访问的因素

一般对全表扫描和索引扫描来说, 在WHERE子句的条件选择性不是很高时, 全表扫描是最合适的检索路径, 而在条件的选择性很高时, 索引或聚簇方法将更合适。

其中影响索引的因素主要有缓存区高速缓存区的命中率、记录大小和数据的分布情况。索引检索有助于获得更高的高速缓存命中率;就IO而言, 无论记录多大, 索引访问的开销几乎是相同的, 而记录越大, 全表扫描必须读取的数据块就越多, 代价越高。对于数据的分布, 如果表中记录大体按照索引列的顺序存储, 那么索引访问需要更少的数据库并大大减少逻辑IO的开销。而对于全表扫描, 如果需要访问表的所有或大部分记录的话, 那么全表扫描是最合适的方法。

3 全表扫描避免的优化

对于这两种访问方式的优化就是对于该使用索引的, 却使用了全表扫描, 而应该使用全表扫描的却使用了索引。因此对应的优化方法主要有两类, 一类是让索引起到该起的作用, 避免意外的表扫描, 一类优化必要的全表扫描。

即使存在适当的索引或散列检索路径, 由于SQL语句的写法, 优化器也可能无法利用这些访问路径, 因此避免意外的表扫描主要有以下几个原则及解决方法:

1) 避免使用不等条件。如果使用不等条件, Oracle一般不会使用索引, 因此如果认为某个查询使用索引更加高效, 那么请使用IN、OR或>来重写查询。

2) 空值查询。当索引中列的数据都为空值时, B*树索引中的条目将不会创建, 因此不能使用某列的B*树索引查找空值, 而应该将列定义成非空并设置默认值, 而后用默认值检索。

3) 在列上使用函数或表达式而无意中禁用了索引, 因此应避免在WHERE子句中的索引列应用函数或操作, 而是在与索引进行比较的值上应用函数或操作。

4) 对于无法避免在索引列使用函数或表达式是, 可以考虑使用基于相同函数或表达式的函数索引。

5) 对于多列查询可以对多列使用组合索引或使用多个索引合并。

6) 利用Oracle的统计信息或创建虚拟列等技术, 帮助优化器做出精确的估算, 从而更准确的选择出数据的访问方式。

4 全表扫描的优化

以上讨论的避免全表扫描的方法并不总是能获得最优的访问, 尤其是访问表的大部分数据时, 更是如此。有许多的全表扫描优化技术, 主要的几个技术包括:

1) 通过让表变小来减少扫描所需要的逻辑读取的数量。通过提高数据库IO的效率降低扫描所需要的物理块读取的数量。

2) 通过缓存或抽样降低扫描的开销。

3) 通过使用并行查询选项为扫描分配更多的资源。

4) 执行快速的全索引扫描来代替全表扫描。

5) 对表进行分区, 只读取所选择的分区。

特别需要注意的是, 完成全表扫描的工作数量主要取决于需要扫描的数据块数量, 因此也有很多有效的方法来减少扫描的数据块数量, 主要有以下四种方式:

1) 通过重建表来降低高水位线。当需要进行全表扫描时, Oracl会去读取从第一个被分配的块到曾经包含数据的最高那个块之间的每一个块。因此如果一张表上经常发生大量的删除操作, 高水位线将比实际需要的位置更高, 每块里的记录条数减少, 检索时IO的开销就会增加。

2) 通过修改PCTFREE和PCTUSED参数来向每个块里放入更多的记录。该方法由于自动段存储管理的广泛使用, 而现在几乎没有意义, 但是对使用早期的数据库版本来说有一定的作用。

3) 减少记录的长度, 可能是通过将大的且并不常访问的列迁移到独立的表中。如果表经常进行全表扫描而且包含大量的不常访问的列, 就可以将这些列迁移到其他的表中来减少需要扫描的块, 尤其是很少访问的长列。

4) 压缩表中的数据, 压缩表也能生成更小的表, 从而使扫描速度更快。

5 总结

大多数情况下, 优化器会自动选择好数据的访问方式, 但是当优化器不能选择最优的访问路径时或需要一个不同的访问路径, 需要系统管理维护人员能够评估优化器的选择, 并给出一个更优的访问路径, 这就需要利用以上的优化方法如创建索引、聚簇或表分区等来影响优化器做出更正确的决策。

同时在索引访问和全表扫描之间没有通用的一个平衡点, 如果需要访问表的所有或大部分记录, 那么全表扫描时最快的方式, 如果从大表里检索一条记录, 那么基于该列的索引将提供更有效的访问路径, 在这两个极端之间, 要预见哪种方式更高效是很难的。

参考文献

[1]Sam R.Alapati, Darl Kuhn, Bill Padfield.Oracle Database 11g性能优化攻略[M].朱浩波, 译.北京:人民邮电出版社, 2013:50.

[2]Christian Antognini.Oracle性能诊断艺术[M].童家旺, 胡怡文, 冯大辉, 译.北京:人民邮电出版社, 2009:269-274.

[3]GuyHarrison.Oracle性能优化求生指南[M].郑勇斌, 胡怡文, 童家旺, 译.北京:人民邮电出版社, 2012:197-209.

[4]李展涛, 曹英忠.基于Oracle数据库的SQL语句优化[J].微型机与应用, 2011, (21) :11.

Oracle数据接口论文 篇3

关键词:oracle;同义词;数据接口

中图分类号:TP315文献标识码:A文章编号:1007-9599 (2011) 07-0000-01

Strengthen the MIS System Data Interface Management Control by Oracle Synonyms Technology

Wang Heng

(Tianjin Port China Coal Hua Neng Coal Terminal Co.,Ltd.,Tianjin300452,China)

Abstract:Using the oracle synonyms technology to improve the data interface security,and improve the transparency of data object,and simplify the data query compilation.

Keywords:Oracle;Synonyms;Data interface

近年来,随着电子计算机技术的普及与创新,数据库技术也获得了长足发展,并成为现代计算机信息系统与应用系统的核心技术。Oracle数据库以其结构合理、稳定性高、功能强大的优点逐渐成为世界范围内数据库的首选,作为大型数据库管理技术,其发展迅速,随着用户数量的增加和应用范围的不断扩展,使用者对Oracle要求也越来越高,希望其发挥更加强大的数据管理作用。在企业管理信息系统中,绝大多数的数据是持久化存储到数据库中的,所以保证数据的安全、稳定成为数据库管理工作的重中之重。

一、现状分析

目前,MIS系统已与多个管理信息系统建立接口,包括集团科设部系统、集团煤炭系统、铁路TMIS系统、公司电量采集系统和磅房称重系统。在运行的数据库应用中,实现方式为:以一个等价于DBA(Database Administrator,数据库管理员)权限的用户创建所有的表、试图、存储过程、触发器等数据库对象,然后由应用开发人员通过代码对这些数据库对象进行操作。这种方式会造成一定问题隐患。

(一)随着用户对数据库的掌握和理解的深入,一部分用户掌握了SQL(Structured Query Language,结构化查询语言)语句的使用,绕开应用程序直接使用交互式SQL,利用种方式访问数据库对象时,可能会产生一系列的安全问题,从而导致数据的不一致。

(二)在应用程序开发时,采用前台应用程序直接调用数据库对象的方式,这就为系统恶意攻击者提供了很大的便利,攻击者只需要对应用程序所引用的对象进行分析,就可以很容易的了解后台数据库的基本逻辑结构。

(三)在分布式远程数据库接口访问时,程序开发人员需要完整描述应用数据库对象的详细信息,包括:远程主机名、数据库名、用户名和用户对象,在语句编写方面会非常繁琐,并且如果有一点差错就还造成数据库找不到应用对象,查找问题依然复杂。

二、实施对策

在充分研究Oracle数据库原理和挖掘Oracle自身管理功能的基础上,发现利用Oracle的同义词技术可以解决上述问题。

从本质上讲,同义词就是数据库对象的一个别名,用于简化对象访问和提高对象访问的安全性。在使用同义词时,Oracle数据库将它翻译成对应方案对象的名字,与视图类似,同义词并不占用实际存储空间,只在数据字典中保存了同义词的定义。

下面以磅房称重系统接口访问MIS系统现场作业受理单为例描述一下具体实施过程(出于安全考虑,有些重要信息以“A”或“?”形式标识)。

(1)查看公司MIS系统的global_name

Select * from global_name;

查询结果为 njAA.AA.oracle.com

(2)建立数据库连接(database link)

Create database link njAA.AA.oracle.com Connect to njAA indentified by ????(登录密码)using‘scAAA’;

(3)将现场作业受理单表(hy_plan_zysl_info)建立同义词

Create public synonym syno_zysl_info for hy_plan_zysl_info@njAA.AA.oracle.com;

查询本地同义词syno_zysl_info的用户会自动地将查询指向服务名“njAA.AA.oracle.com”指定的现场作业受理单表(hy_plan_zysl_info)。

建立好同义词后,将磅房称重系统中访问现场作业受理单表的语句与未建立同义词时的语句进行比较,SQL语句为:

Select * from syno_zysl_info;(使用同义词)

Select * from 10.128.???.???.njAA.AA.oracle.com.njAA.hy_plan_zysl_info;(未使用同义词)

我们可以清楚看到,SQL语句的编写为原来长度缩短为原来的三分之一左右,清晰明了,避免如此长的主机名、实例名、用户名和对象名书写错误,并且实现数据库对象透明,更重要的是系统的恶意攻击者不会通过这么明细的语句信息掌握后台数据库的基本逻辑结构,大大增强了系统的安全性。

三、总结

利用该方法,在不用修改应用程序任何代码和对用户不造成影响的情况下,达到了数据接口的安全性提升、编写代码简化和数据库对象透明的目的。通过此项数据库技术的应用,也为信息化工作的创新开阔了思路,在充分挖掘现有资源的基础上,进行技改技革,实现增强信息管理控制力的目标。

参考文献:

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

Oracle数据库是现在使用最广泛的大型数据库之一, 选用Oracle作为数据库的应用系统一般规模比较大, 需要处理的用户数目较多, 对于这样的数据库系统来说, 效率是最重要的指标之一, 在实际应用中, 随着系统数据库中数据的增加, 访问量的加大, 数据库系统性能将会下降, 数据库的优化逐渐突显出其重要作用。

二、优化策略

Oracle数据库的性能优化, 可以从数据库的体系结构、软件结构、模式对象以及具体的业务和技术实现出发, 进行统筹考虑。优化是有目的地更改系统的一个或多个组件, 使其满足一个或多个目标的过程。下面从几个不同方面介绍Oracle数据库优化设计方案。

1 oracle内存优化

内存是Oracle数据库体系结构中最为重要的部分之一, 也是影响数据库性能的第一个因素。Oracle的内存可以按照共享和私有的角度分为系统全局区和进程全局区, 也就是SGA和PGA, 优化内存结构通常是对系统全局区 (SGA) 进行调整, SGA是Oracle数据库的心脏, 用户的进程对这个内存区发送事务, 并且以这里作为高速缓存读取命中的数据, 以实现加速的目的。正确的SGA大小对数据库的性能至关重要, 对于PGA我们通常采用PGA的自动调整。内存优化主要包括以下几个部分:

(1) 优化SQL共享池

设置共享池的目的为了缓存已经被解析过的SQL, 而使其能被重用, 不再解析。通过确保大多数语句能够在共享池中查找到它们自己的一个已分析版本, 就可以提高语句分析和执行的效率, 降低资源消耗。共享池中存放的信息是应用程序需要经常访问的, 因此需要保持这些信息的高命中率。共享池大小是否合适, 主要体现在库缓冲区和数据字典高速缓冲区的命中率上。

(2) 优化缓冲区高速缓存

缓冲区高速缓存的命中率, 对性能至关重要。缓冲区高速缓存越大, Oracle可装入内存的数据就越多, 磁盘的I/O就越少, 系统性能就越好。

(3) 调整重做日志缓冲区

重做日志缓冲区如果分配太小, 会导致没有足够的空间来放重做条目而等待, LGWR进程会频繁将LOG_BUFFER中的数据写入磁盘增加I/O的次数, 影响系统性能。

(4) PGA的自动调整

为实现自动的PGA管理, Oracle要修改的初始化参数:

(1) PGA_AGGREGATE_TARGET, 此参数用来指定所有SESSION总计可以使用最大PGA内存。

(2) WORKAREA_SIZE_POLICY, 此参数用于开关PGA内存自动管理功能, 该参数有两个选项:AUTO和MANU-AL, 当设置为AUTO时, 数据库使用Oracle提供的自动PGA管理功能, 当设置为MANUAL时, 则仍然使用以前手工管理的方式。

通过使用Oracle所提供的自动管理PGA的特性, Oracle会自动忽略*_AREA_SIZE等初始化参数, 自动调整SQL内存区, 每个查询被分配的内存都基于它的具体要求。因此, 在启动工作区自动管理, 并对PGA_AGGRE-GATE_TARGET参数进行适当的设置后, 不需要对HASH_AREA_SIZE, SORT_AREA_SIZE等参数进行设置。

另外, 内存调整还包括对大池、JA-VA池等的优化, 在这里没有论述, 经常需要调整的是上面几种内存结构。

2 优化磁盘I/O

对于数据库系统来说, 磁盘I/O操作是数据库性能最重要的方面, 影响磁盘I/O性能的主要原因有磁盘竞争、I/O次数过多和数据块空间的分配管理。减少磁盘I/O操作的最根本的方法就是利用高速缓存存放频繁使用的数据信息, 最小化磁盘I/O, 降低Oracle服务器查找和返回行所花费时间的最有效的方法之一就是利用索引、分区。

(1) 索引Index的优化设计

索引是数据库中重要的数据结构, 是优化的基础, 索引把表中的逻辑值映射到Row ID, 因此索引能进行快速定位数据的物理地址。索引必须充分利用才能加快数据库访问速度, 建立索引根本目的是提高查询效率, 利用索引行记录定位, 减少磁盘的读写次数, 从而达到提高查询速度的目的。一个建有合理索引的数据库应用系统可能比一个没有建立索引的数据库应用系统效率高几十倍, 但并不是索引越多越好, 在那些经常需要修改的数据列上建立索引, 将导致索引B*树的不断重组, 造成系统性能的下降和存储空间的浪费, 对于索引的使用, 要注意以下原则:

(1) 该字段是否为关键词, 表的主键和外键必须有索引;

(2) 该字段是否为连接操作字段, 对经常与其他表进行连接的表的连接字段应该建立索引;

(3) 该字段出现在where子句的频率, 经常出现在where子句中的字段应该建立索引;

(4) 选择性高的字段应该建立索引。索引的选择性是指索引列里不同值的数目与表中记录数的比;

(5) 对查询型的表, 建立多个索引会大大提高查询速度, 对更新型的表, 如果索引过多, 会增大开销, 对数据库的插入、删除操作频繁, 不要建立过多索引;

(6) 应对经常出现在检索条件中的数据域建立索引, 如果某些数据域经常一起出现在检索条件中, 那么建立复合索引, 对于复合索引, 索引中的数据域的顺序要和实际应用的检索和连接顺序保持一致。

(2) 使用Oracle分区技术

分区将数据在物理上分隔开, 不同分区的数据可以制定保存在处于不同磁盘上的数据文件里。这样, 当对这个表进行查询时, 只需要在表分区中进行扫描, 而不必进行FTS (Full Table Scan, 全表扫描) , 明显缩短了查询时间, 另外处于不同磁盘的分区也将对这个表的数据传输分散在不同的磁盘I/O, 一个精心设置的分区可以将数据传输对磁盘I/O竞争均匀地分散开。

3 CPU性能调整

服务器的CPU使用情况对数据库的性能影响很大, 调整CPU可以更有效地利用服务器的各种资源, 提高数据库的运行速度和效率。

(1) 尽量利用多个CPU处理器来执行事务处理和查询

CPU的快速发展使得Oracle越来越重视对多CPU的并行技术的应用, 只要可能, 应该将数据库服务器和应用程序的CPU请求分开, 或将CPU请求从一个服务器移到另一个服务器。

(2) 使用PQO方式进行数据查询

PQO方式不仅可以在多个CPU间分配SQL语句的请求处理, 当所查询的数据处于不同的磁盘时, 一个个独立的进程可以同时进行数据读取。

4 SQL语句优化

对数据库进行的各种操作 (包括添加、删除、查询等等) 最终都是通过数据库的SQL语句来执行, 因此SQL语句的执行效率最终决定了Oracle数据库的性能高低, SQL语句的书写, 通常应该遵循以下原则:

(1) 尽量避免对全表扫描, 对经常查询的表创建合理索引, 对大表的查询应在索引上进行。

(2) 使用相同绑定变量对数据库进行查询, 这样可以充分利用SQL共享池中的已经分析的语法树。

(3) 限制动态SQL的使用, 虽然动态SQL很好用, 但是即使在SQL共享池中有一个完全相同的查询值, 动态SQL也会重新进行语法分析。

(4) 避免不带任何条件的SQL语句的执行。

(5) 如果对有些表中的数据有约束, 最好在建表的SQL语句用描述完整性来实现, 而不是用SQL程序中实现。

(6) 在字符串查询中尽可能少用通配符。

(7) 连接查询时, 要有充分的连接条件

(8) 尽量使用exists替代in, not exists替代not in这样的操作

(9) 用union all替换union, union在进行表链接后会筛选掉重复的记录, 所以在表连接后会对所产生的结果集进行排序运算, 删除重复的记录再返回结果。大部分应用中是不会产生重复记录的, 最常见的是过程表与历史表union。因此, 采用union all操作符替代union, 因为union all操作只是简单的将两个结果合并后就返回。

Oracle数据库安全策略研究 篇6

1 Oracle数据库安全问题分析

作为全球最大的数据库系统之一, Oracle数据库有着较为稳定的安全性能。一般来说, 互联网的数据库系统安全主要是基于五个层次, 即物理层安全、操作系统层安全、网络层安全、数据库系统层安全和应用系统层安全等。在这五个层次中, 任何一个安全环节出现状况, 都有可能导致整个系统的破坏和崩溃。这里, 我们着重于分析两个方面的安全问题。一方面就是数据库系统安全问题, 另外一个方面就是数据库数据安全问题。

1.1 Oracle数据库系统安全问题的分析

所谓Oracle数据库的系统安全, 指的就是该数据库系统在进行数据库的控制、存取和使用方面而涉及到的安全机制。该种数据库的系统安全性主要来自于对用户进行访问权限的限制, 仅仅给予用户特定的访问权限, 并不是无所制约的使用权限, 从而能够确保数据库系统的自身安全。当前, Oracle数据库系统有六种安全机制, 即数据库用户和模式机制、权限分配机制、角色分配机制、存储设置和空间份额机制、资源限制机制以及审计机制。这些安全机制主要是为了防止非授权的数据库存取, 防止非授权的对模式对象的存取, 控制磁盘使用, 控制系统资源使用以及审计用户动作。这些安全机制做到越好, 其系统安全性能就越高。

1.2 Oracle数据库数据安全问题的分析

这种数据库数据安全主要是指数据库内部数据在遭受安全侵害时, 数据库能够对相关数据进行保护并有相关的恢复机制进行配套使用。目前来说, Oracle数据库的数据安全问题主要有:地震、水灾等非人力所能控制的意外事故灾害, 由授权用户造成的人为疏忽或无意损害, 存心不良的编程人员、技术支持人员等的恶意破坏等。这三种类型的数据安全隐患都是必须及时防范的。

2 Oracle数据库安全策略分析

现代计算机技术和网络技术的不断进步与发展, 很多企业都不得不使用先进的网络技术, 各大企业必须顺应时代发展的潮流, 建立并不断完善基于计算机网络技术的企业网, 其中最为重要的就是信息系统数据库, 它是很多企业进行日常运营的重要生产平台。由于企业的很多生产数据都集中在信息系统的后台数据库中进行统一存储和处理, 这就使得数据库在整个企业的运营中具有十分重要和关键的作用。然而, 在现实操作过程中, 并不是所有企业都非常重视数据库系统安全的, 很多时候都会遭受攻击和威胁, 有时候一个数据库安全漏洞有可能引发整个系统的崩溃, 从而给企业造成巨额损失。也有些数据库安全问题是由自身设计问题引起的, 但是更多的则是由企业应有人员工作失职而造成的。因此, 我们应该选择一个好的数据库产品, 并制定出相关的数据库安全策略, 在执行的过程中严格遵照这些策略来进行, 主要可以从这么四个方面来进行数据库安全维护策略的实施。

2.1 数据安全策略

这里的数据安全策略主要是指对数据库中数据的修改权限控制以及数据加密。就前者来说, 当前主要是通过角色控制和视图等方法来实现, 而后者则是还没有得到应有的重视。事实上, 我们认为只要数据库中的数据是可读的, 就有可能遭受一定的攻击和危险。我们只能说把这种危险降低到最小值, 这就需要我们对这些数据库中的数据进行加密处理。一旦这些数据库中的数据按照一定的规则变为密文数据, 用户就可以通过相关密钥来使用, 同时, 还可以使得这些数据库中的数据保持较高的安全特性。当前, 我们对于数据库中的数据进行加密的技术主要有两种, 即DBMS内核层加密和DBMS外围层加密。所谓DBMS内核层加密就是指可以实现加密与数据库管理系统的无缝耦合, 但是, 其加密功能强而易降低数据库运行性能。DBMS外围层加密则有多样性选择, 但是却会增大整个系统的通信压力。因此, 这两种加密技术各有利弊。我们对这些数据库进行保护, 其实现的主要手段是备份数据库, 一旦发生障碍的时候, 就可以对这些文件进行恢复。应该来说, 数据库的备份就是数据库数据的一个副本, 其中包含了数据库所有重要的组成部分, 比如说控制文件、数据文件等。我们对数据库中的数据进行备份的方式主要有物理备份和逻辑备份两种。其中, 物理备份也称文件系统备份, 是不管数据文件的逻辑内容如何进行的全盘拷贝, 它又分为冷备份和热备份两种。而逻辑备份则是利用SQL语言从数据库中抽取数据并存为二进制文件的过程, 支持全部、累计、增量三种方式。而且, 在逻辑备份的时候, 数据库应该处于打开的状态。对于数据库安全恢复来说, 主要有物理恢复和逻辑恢复。其中, 物理恢复又可分为非归档模式和归档模式。逻辑恢复则是利用import命令来实现数据恢复, 其必须是在数据库联机状态下进行。

2.2 用户安全策略

对于Oracle数据库来说, 其用户经常会由于使用不当而造成一定的危险, 这是因为数据库用户是连接数据库、存取表和记录的重要通道, 一旦他们发生问题和障碍, 就会直接影响到Oracle数据库的安全问题。因此, 我们应该加强对于数据库用户账户的有效管理, 从而切实达到对于这种数据库系统安全的最终目的。具体来讲, 由于Oracle数据库的用户非常多, 一般用户到数据库管理员都是这种数据库的直接用户。因此, 我们应该尽快建立一个可靠有效的口令安全策略, 加强对数据库用户的账号管理工作, 防止敏感数据的泄露或破坏, 使用profile文件来限制用户使用系统和数据库资源, 防止无关人员对数据库进行的任何干扰, 让每一个合法用户能够创建相应的用户账号及口令。除了防止未授权用户使用数据库系统, 还要防止一些合法用户对未授权的子系统进行使用。我们可以进行基于角色的用户权限管理, 这是Oracle提供的一种数据库权限管理机制, 用户被赋予角色, 是保护数据库系统安全的重要策略之一, 它可以根据不同的职能岗位划分角色, 提供了一种灵活的方法, 实现了最基本的安全原则, 即最小特权原则和职责分离原则, 进一步加大了数据库的安全性能。Oracle数据库安全管理的核心内容就是有关权限的管理, 就是根据不同的授予权限来进行分类, 对一般用户和指定用户进行管理。

2.3 系统安全策略

所谓系统安全策略主要是指数据库系统自身的安全问题, 就是对数据库的备份与恢复工作。应该来说, Oracle的备份和恢复工具是当前最为先进的企业级数据库系统, 它能够简化、自动化及改善备份与恢复操作, 最大的特性就是增量备份方式, 是数据库系统为达到安全目标和相应的安全级别所定义的安全技术、方法、机制的总和。数据库系统的安全性在很大程度上依赖于数据库的管理, 操作系统的稳定对数据库来说十分重要。维护管理数据库用户的安全性是保护数据库系统安全的重要手段之一。数据库安全性管理者可能只是拥有create、alter或drop数据库用户的一个特殊用户。对于一般用户权限, 数据库管理员可以决定用户组分类。数据库应用程序开发者是一类需要特殊权限组完成自己工作的数据库用户。此外, 数据加密是Oracle数据库系统的最后一道防线, 操作系统 (OS) 层加密, 数据库管理系统 (DBMS) 内核层加密, 数据库管理系统 (DBMS) 外层实现加密, 通过这些层层加密, 使得数据库具有更高的安全性能。

2.4 审计策略

这里的Oracle数据库审计安全策略主要是指监视和记录用户的数据活动, 它主要是要记录关于数据库操作的信息, 如操作时间、执行用户等。这是因为任何网络系统都不可能是完美无瑕的, 都或多或少的存在安全漏洞, 并没有一个绝对可靠的安全性措施。因此, 我们应该做好数据库的审计策略, 尤其要针对一些高度敏感的保密数据, Oracle数据库就要以审计作为主要的预防手段, 让窃密者不能有办法打破数据库的控制。这就是说要让Oracle数据库管理人员能够有效的审计用户, 主要是对用户的实际操作情况进行有效的监控和记录, 随时跟踪并记录他们的数据的访问活动, 其中监控的内容有:数据被非授权用户删除、用户越权操作、权限管理不正确、用户获得不应有的系统权限等, 一旦发生任何数据库破坏, 就可以及时排除不安全因素, 及时挽救或恢复相关数据。这里的审计方法主要有:权限审计、语句审计和方案对象审计, 应该有选择地使用审计。

3 结束语

总之, 我们应该在网络信息时代, 针对网络安全隐患采取必要的Oracle数据库安全策略, 主要是针对数据库安全体系结构进行保护, 对数据文件进行加密, 增加数据库数据的破解难度, 也增加加密文件的可扩展性, 让外部入侵者在防护屏障外得以阻止, 还要从内部采取安全策略, 这就是说我们应该做好尽量采用安全性较高的网络操作系统并进行必要的安全配置, 使用适合数据库的文件系统, 及时给Windows和Oracle安装补丁, 还要实施诸如用户口令策略, 设置用户权限策略, 数据备份与存储策略, 视图策略, 连接监控策略等数据库系统安全策略, 从而真正从内外部切实保障数据库的安全。

参考文献

[1]陈从锦, 杨昱.Oracle数据库的安全防护概述[J].中山大学学报论丛, 2003 (4) .

[2]李卓玲, 费雅洁, 孙宪丽.Oracle大型数据库及应用[M].北京:高等教育出版社, 2004.

[3]萨师煊, 王珊.数据库系统概论[M].北京:高等教育出版社, 2000.

[4]谈竹奎, 况志军.Oracle数据库管理员高级技术指南[M].北京:中国铁道出版社, 2003.

[5]滕永昌.Oracle数据库管理员使用大全[M].北京:清华大学出版社, 2004.

Oracle数据接口论文 篇7

【关键词】Domino 关系数据 oracle数据库 相互融合

【中图分类号】TP311.13 【文献标识码】A 【文章编号】1672-5158(2013)03-0103-02

前言

Domino拥有一个文档数据库管理系统,擅长于存储非结构化信息,并提供全文检索、版本控制、留痕迹修改功能,有别于一般的关系型数据库,如oracle、mysql、SQL server等,对单一的消息和工作流系统来说是不错的架构,由于对关系数据处理能力非常弱,相对于关系型数据库数据维护困难,查询和数据统计效率就比较低下,如果想做较大规模的业务整合或者业务开发,会是困难重重,因此与关系型数据库如何的融合是个课题。

1 Domino重要概念介绍

Domino是一种群组工作软件。使用了Domino的服务器称为Domino服务器。Domino的功能强大,界面丰富,主要用于辅助多人协同工作,从而突破平台、技术、组织和地理上的限制,充分实现信息与技术方面的共享。Domino系统的的关键专业术语有:组织单元,人员,服务器,验证字,验证者,标识符,目录,Domino域等等。组织单元(Orgnization Unit)类似就是相当于现实生活中单位内部的一个部门或者单位的一个分支机构。在Domino环境中,人员就是Domino系统的用户。服务器(Server)是用于存放数据信息的计算机。验证字(certificate)在Domino环境中的组织单元,人员等都必须要有自己的验证字,才能用在互相访问和信息交换中验证自己的身份。验证者(Certifier)又名证明者,证明人,在DOMINO环境中,组织和组织单元被称为验证者,组织验证者是最高级别的验证者,组织单元验证者是由组织验证者产生的,人员和服务器的验证字是经过组织或组织单元验证者验证后产生的。标识符(ID)是把组织,组织单元,人员,服务器的验证字有关信息,保存在一个后缀名为ID的磁盘文件中,这个文件就是组织,组织单元,人员或服务器的ID。Domino目录用来存放组织,组织单元,人员,服务器及其配置信息的数据库,其文件名一般是names.nsf。Domino域(Domino domain)共享同一个Domino目录的一组Domino服务器。简而言之就是使用同一个names.nsf的一组Domino服务器。

2 Domino 与关系数据库的融合关键

关系数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据,标准数据查询语言SQL就是一种基于关系数据库的语言,关系模型是由关系数据结构、关系操作集合、关系完整性约束三部分组成。

在项目开发过程中,Domino很多功能需要Java代理及外接数据库才好实现,核心的问题是:如何把原先的关系型数据库中的内容全部导入Domino 中是因为企业现在的所有数据都集中在一个关系型数据库中,因此希望domino数据库能与旧的关系库互操作,而不必在数据库转换上浪费更多资源。对于企业来说,如果企业数据存放在不止一个关系库中,那么就需要购买若干个此类产品,而且实现过程较为复杂。

因此能否通过Lotus Script编写一个通用的数据库转换程序就成为系统开发的关键之一。具体解决方法如下:

第一步 在控制面板——>32位ODBC数据源中建立用户数据源

Test;

第二步 在Domino R5中新建一个数据库Try,并建立一个空白表单Connection,此表单没有任何内容,然后在表单上创建一个“操作”,起名为“Read”;

第三步 在“Read”操作的编程窗口中选择编程语言为Lotus Script;

第四步 在编程窗口的对象窗口中点击“Option”事件,并写入如下脚本: Uselsx "*lsxodbc" // 使用Lotus Script 扩展对象中的ODBC类

第五步 选中“Declare”事件,在其中写入:

Dim session As NotesSession Dim db As NotesDataBase

Dim doc As NotesDocument

Dim qry As ODBCQuery

Dim result As ODBCResultSet

Dim con As ODBCConnection

定义程序中使用到的各种对象。

第六步 选中“Click”事件,在其中写入:

Sub Click(Source As Button)

Set New Value

Set session = New NotesSession

Set con = New ODBCConnection

// 新建ODBCConnection对象实例

Set qry = New ODBCQuery

// 新建ODBCQuery对象实例

Set result = New ODBCResultSet

// 新建ODBCResultSet对象实例

取得当前数据库信息

Set db = session.CurrentDataBase

Set doc = New NotesDocument(db)

// 新建文档 doc.form = "connection"

// 新建文档的表单指向connection

Call con.Disconnect()

// 保证con对象当前没有连接其他数据源

If con.ConnectTo("test") Then

// 如果连接成功

Set qry.connection = con

// 将建立好连接的con交给query对象

qry.SQL = "SELECT * FROM Table1"

// SQL 语句

Set result.Query = qry

// 将已经连接上数据源并写好SQL

语句的query对象赋给result对象

Call result.Execute()

// 循环直到结果集为空

Call result.NextRow()

// 指针指向下一条记录

For i = 1 To result.Numcolumns

// 根据字段的索引值得到字段的名字value = result.GetValue(field)

// 取得字段值 If Isdate(value) Then

// 将关系库中的值写到Notes当前库的当前表单中

Next Call doc.save(True,True)

// 当一条记录的所有字段都被写入 Notes库后保存此文档

Set db = session.CurrentDataBase Set doc = New NotesDocument(db)

// 断开与数据源的连接

Else Messagebox("Could not connect to server")

End If End Sub

最后,保存表单并运行,用鼠标点击Read 操作后,关系数据库中的信息就融入到Notes的文档型数据库中了。

3 domino与Oracle数据库融合关键

Oracle数据库是一个功能超级强大的数据库系统。它由是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,因为它具备强大的功能和卓越的性能所以被广泛的使用在各个领域中,并担任着极为重要的角色,如集团财务管控系统大都采用Oracle数据库。

在了解domino与关系数据有着可交互的关系,并且知道oracle数据库可以通过用HS+ODBC技术导入到domino中,经过一步一步的了解和认识可以大胆的设想domino与oracle数据库可以融合的可操作性。

在一个像Access这样的应用程序中创建数据库框架通常会更容易一些,因为Access可以非常轻松地提供完成任务所需的各种功能。一旦设计了数据库,就要为其创建ODBC数据源。

1. 双击Control Panel(控制面板)中的32位ODBC小程序。会看到ODBC Data Source Administrator(ODBC数据源管理员)对话框,对系统级数据库来说,使用System DSN(系统数据源名)选项卡;对文件级数据源使用File DSN(文件数据源名)选项卡。你还会看到一个数据库的缺省选项。

2. 单击Add按钮。会看到Create New Data Source(创建新的数据源)对话框。技巧检查ODBC Data Source Administrator(ODBC数据源管理员)对话框的About选项卡,可以确定你正在使用的ODBC驱动程序的最新版本。

3. 选择一个数据源。这里采用选择Access数据源。单击Finish(完成),会看到某种类型的配置对话框,注释如果选择的数据源那么所需的配置步骤也和这里说明的不同故每个ODBC驱动程序都要求不同类型的配置。

4.单击Select(选择)按钮。你会看到一个File Open-type(文件打开类型)对话框,可以在那里选择一个现有的数据库。ODBC驱动程序会自动选择正确的文件扩展名。技巧并不是一定要提前设计数据库。请注意,Access ODBC驱动程序还包括一个创建新数据库的按钮。很多ODBC驱动程序都提供了这种功能,但并不是全都这样。单击这个按钮会启动数据库管理器应用程序,并允许设计数据库。

5. 选择系统数据库选项。在大多数情况下要选择None(无),除非为应用程序特别创建了一个系统数据库。如果确实添加了系统数据库,它会出现在ODBC Microsoft Access 97 Setup(设置)对话框的System DSN(系统DSN)选项卡上。

6. 单击Advanced(高级)按钮,会看到Set Advanced Options(设置高级选项)对话框,如下图所示。无需对很多项做修改。但是,要把客户名添加到LoginName(注册名)域中,把客户口令添加到Password(口令)域中。这允许客户在访问的数据库时,根本不用了解访问的细节——甚至不用了解被记录的客户名。技巧为最优化潜在的区域,可以浏览一下 ODBC驱动程序提供的一系列高级选项。由于Windows使用了一些处理器循环对线程实施管理,所以使用了过多的线程又会降低应用程序的速度。

7. 设置完所需的高级选项后单击OK。

8. 再次单击OK关闭ODBC Microsoft Access 97 Setup(设置)对话框。应该看到,新的设置项已经添加到ODBC Data Source Administrator(ODBC数据源管理员)对话框中。如果今后要为数据库更改这些设置,只要简单地加亮它并单击Configure(配置)。删除数据库配置也很容易,只要加亮DSN并单击Remove(删除)即可。创建系统DSN和制作用户DSN差不多。两者间一个显著的差别是,使用它们的目的不同。

4 结论

本文所研究的Domino与oracle数据库的融合技术。在详细了解Domino这种软件中,认识其是一个群组软件,深入探讨其群组中的每一个构件,分析他们所具有的作用,对Domino与数据之间的互相操作进行变换,再将此变换转入到Domino与oracle数据库的相互融合,进行实例操作。本项目在实际操作中已成功运行。

参考文献:

[1]陈骅; Oracle数据库中业务数据文本导出[J];电脑编程技巧与维护;2006年08期

[2]宋初一;时宏杰;姜艳清;满达图;;一种与基于Lotus-Domino的办公自动化系统进行数据交换的方法[J];内蒙古民族大学学报(自然科学版);2008年02期

[3]王飞;白改朝;;Oracle数据库中自带Java的简单应用[J];电脑知识与技术;2008年25期

[4]甲骨文推出Oracle融合中间件11g[N]. 电脑报. 2009年

[5]邵建强;;如何利用Java将Excel文件中的数据导入SQL Server[J];软件导刊;2008年03期

[6]邢小萍;Oracle身陷两重困境[N];网络世界;2009年

[7]李彦澎;夏阳;;基于Domino的企业级工作流引擎[J];微计算机信息;2009年15期

[8]尹茂林;基于Domino平台的知识管理系统的设计与实现[D];哈尔滨工业大学;2011年

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)

上一篇:公路施工企业管理下一篇:特殊教育语文