通过JDBC连接oracle数据库的几个技巧

通过JDBC连接oracle数据库的几个技巧,第1张

;         java数据库连接(jdbc)api是一系列能够让java编程人员访问数据库的接口,各个开发商的接口并不完全相同。以下是一些技巧,这些技巧能够使我们更好地发挥系统的性能和实现更多的功能。

1、在客户端软件开发中使用thin驱动程序

在开发java软件方面,oracle的数据库提供了四种类型的驱动程序,二种用于应用软件、applets、servlets等客户端软件,另外二种用于数据库中的java存储过程等服务器端软件。在客户机端软件的开发中,我们可以选择oci驱动程序或thin驱动程序。oci驱动程序利用java本地化接口(jni),通过oracle客户端软件与数据库进行通讯。thin驱动程序是纯java驱动程序,它直接与数据库进行通讯。为了获得最高的性能,oracle建议在客户端软件的开发中使用oci驱动程序,这似乎是正确的。但我建议使用thin驱动程序,因为通过多次测试发现,在通常情况下,thin驱动程序的性能都超过了oci驱动程序。

2、关闭自动提交功能,提高系统性能

在第一次建立与数据库的连接时,在缺省情况下,连接是在自动提交模式下的。为了获得更好的性能,可以通过调用带布尔值false参数的connection类的setautocommit()方法关闭自动提交功能,如下所示:

connsetautocommit(false);

值得注意的是,一旦关闭了自动提交功能,我们就需要通过调用connection类的commit()和rollback()方法来人工的方式对事务进行管理。

3、在动态sql或有时间限制的命令中使用statement对象

在执行sql命令时,我们有二种选择:可以使用preparedstatement对象,也可以使用statement对象。无论多少次地使用同一个sql命令,preparedstatement都只对它解析和编译一次。当使用statement对象时,每次执行一个sql命令时,都会对它进行解析和编译。这可能会使你认为,使用preparedstatement对象比使用statement对象的速度更快。然而,我进行的测试表明,在客户端软件中,情况并非如此。因此,在有时间限制的sql *** 作中,除非成批地处理sql命令,我们应当考虑使用statement对象。

此外,使用statement对象也使得编写动态sql命令更加简单,因为我们可以将字符串连接在一起,建立一个有效的sql命令。因此,我认为,statement对象可以使动态sql命令的创建和执行变得更加简单。

4、利用helper函数对动态sql命令进行格式化

在创建使用statement对象执行的动态sql命令时,我们需要处理一些格式化方面的问题。例如,如果我们想创建一个将名字o'reilly插入表中的sql命令,则必须使用二个相连的“''”号替换o'reilly中的“'”号。完成这些工作的最好的方法是创建一个完成替换 *** 作的helper方法,然后在连接字符串心服用公式表达一个sql命令时,使用创建的helper方法。与此类似的是,我们可以让helper方法接受一个date型的值,然后让它输出基于oracle的to_date()函数的字符串表达式。

           5、利用preparedstatement对象提高数据库的总体效率

在使用preparedstatement对象执行sql命令时,命令被数据库进行解析和编译,然后被放到命令缓冲区。然后,每当执行同一个preparedstatement对象时,它就会被再解析一次,但不会被再次编译。在缓冲区中可以发现预编译的命令,并且可以重新使用。在有大量用户的企业级应用软件中,经常会重复执行相同的sql命令,使用preparedstatement对象带来的编译次数的减少能够提高数据库的总体性能。如果不是在客户端创建、预备、执行preparedstatement任务需要的时间长于statement任务,我会建议在除动态sql命令之外的所有情况下使用preparedstatement对象。

6、在成批处理重复的插入或更新 *** 作中使用preparedstatement对象

如果成批地处理插入和更新 *** 作,就能够显著地减少它们所需要的时间。oracle提供的statement和 callablestatement并不真正地支持批处理,只有preparedstatement对象才真正地支持批处理。我们可以使用addbatch()和executebatch()方法选择标准的jdbc批处理,或者通过利用preparedstatement对象的setexecutebatch()方法和标准的executeupdate()方法选择速度更快的oracle专有的方法。要使用oracle专有的批处理机制,可以以如下所示的方式调用setexecutebatch():

preparedstatement pstmt3d null;

try {

((oraclepreparedstatement)

pstmt)setexecutebatch(30);

pstmtexecuteupdate();

}

调用setexecutebatch()时指定的值是一个上限,当达到该值时,就会自动地引发sql命令执行,标准的executeupdate()方法就会被作为批处理送到数据库中。我们可以通过调用preparedstatement类的sendbatch()方法随时传输批处理任务。

7、使用oracle locator方法插入、更新大对象(lob)

oracle的preparedstatement类不完全支持blob和clob等大对象的处理,尤其是thin驱动程序不支持利用preparedstatement对象的setobject()和setbinarystream()方法设置blob的值,也不支持利用setcharacterstream()方法设置clob的值。只有locator本身中的方法才能够从数据库中获取lob类型的值。可以使用preparedstatement对象插入或更新lob,但需要使用locator才能获取lob的值。由于存在这二个问题,因此,我建议使用locator的方法来插入、更新或获取lob的值。

8、使用sql92语法调用存储过程

在调用存储过程时,我们可以使用sql92或oracle pl/sql,由于使用oracle pl/sql并没有什么实际的好处,而且会给以后维护你的应用程序的开发人员带来麻烦,因此,我建议在调用存储过程时使用sql92。

9、使用object sql将对象模式转移到数据库中

既然可以将oracle的数据库作为一种面向对象的数据库来使用,就可以考虑将应用程序中的面向对象模式转到数据库中。目前的方法是创建java bean作为伪装的数据库对象,将它们的属性映射到关系表中,然后在这些bean中添加方法。尽管这样作在java中没有什么问题,但由于 *** 作都是在数据库之外进行的,因此其他访问数据库的应用软件无法利用对象模式。如果利用oracle的面向对象的技术,可以通过创建一个新的数据库对象类型在数据库中模仿其数据和 *** 作,然后使用jpublisher等工具生成自己的java bean类。如果使用这种方式,不但java应用程序可以使用应用软件的对象模式,其他需要共享你的应用中的数据和 *** 作的应用软件也可以使用应用软件中的对象模式。

实际上 为了保证ORACLE数据库运行在最佳的性能状态下 在信息系统开发之前就应该考虑数据库的优化策略 优化策略一般包括服务器 *** 作系统参数调整 ORACLE数据库参数调整 网络性能调整 应用程序SQL语句分析及设计等几个方面 其中应用程序的分析与设计是在信息系统开发之前完成的

分析评价ORACLE数据库性能主要有数据库吞吐量 数据库用户响应时间两项指标 数据库吞吐量是指单位时间内数据库完成的SQL语句数目 数据库用户响应时间是指用户从提交SQL语句开始到获得结果的那一段时间 数据库用户响应时间又可以分为系统服务时间和用户等待时间两项 即

数据库用户响应时间=系统服务时间 + 用户等待时间

上述公式告诉我们 获得满意的用户响应时间有两个途径 一是减少系统服务时间 即提高数据库的吞吐量 二是减少用户等待时间 即减少用户访问同一数据库资源的冲突率

性能优化包括如下几个部分

ORACLE数据库性能优化之一 调整数据结构的设计

这一部分在开发信息系统之前完成 程序员需要考虑是否使用ORACLE数据库的分区功能 对于经常访问的数据库表是否需要建立索引等

ORACLE数据库性能优化之二 调整应用程序结构设计

这一部分也是在开发信息系统之前完成 程序员在这一步需要考虑应用程序使用什么样的体系结构 是使用传统的Client/Server两层体系结构 还是使用Browser/Web/Database的三层体系结构 不同的应用程序体系结构要求的数据库资源是不同的

ORACLE数据库性能优化之三 调整数据库SQL语句

应用程序的执行最终将归结为数据库中的SQL语句执行 因此SQL语句的执行效率最终决定了ORACLE数据库的性能 ORACLE公司推荐使用ORACLE语句优化器(Oracle Optimizer)和行锁管理器(row level manager)来调整优化SQL语句

ORACLE数据库性能优化之四 调整服务器内存分配

内存分配是在信息系统运行过程中优化配置的 数据库管理员可以根据数据库运行状况调整数据库系统全局区(SGA区)的数据缓冲区 日志缓冲区和共享池的大小 还可以调整程序全局区(PGA区)的大小 需要注意的是 SGA区不是越大越好 SGA区过大会占用 *** 作系统使用的内存而引起虚拟内存的页面交换 这样反而会降低系统

ORACLE数据库性能优化之五 调整硬盘I/O 这一步是在信息系统开发之前完成的

数据库管理员可以将组成同一个表空间的数据文件放在不同的硬盘上 做到硬盘之间I/O负载均衡

ORACLE数据库性能优化之六 调整 *** 作系统参数

例如 运行在UNIX *** 作系统上的ORACLE数据库 可以调整UNIX数据缓冲池的大小 每个进程所能使用的内存大小等参数

lishixinzhi/Article/program/Oracle/201311/17687

Oracle是系统软件。

代表性的系统软件包括:

1、 *** 作系统。 *** 作系统管理计算机的硬件设备,使应用软件能方便、

高效地使用这些设备。如dos,windows等。

2、语言处理程序。如汇编、C等。

3、数据库管理。数据库管理系统有组织地、动态地存贮大量数据,

使人们能方便、高效地使用这些数据。 如oracle,DB2等。

4、辅助程序。系统辅助处理程序也称为“软件研制开发工具”、

“支持软件”、“软件工具”,主要有编辑程序、调试程序、

装备和连接程序、调试程序。

学习数据库对我来说是一直都计划学的 没接触的时候总是觉得它比较深奥或是不可接近的电脑知识 尽管自己对电脑非常感兴趣 其实还是有些心理上的陌生感 学习电脑就和我们平时的其它科目学习一样感觉它有永无止境的知识 在这从初接触电脑时连个电脑的键盘都不敢动到现在连硬盘都也修理 其中的过程是多么长啊 数据库是我在高中时候听过 到了大学渐渐了解了些 但就其原理性的内容还不知道 也就是根本就不清楚什么是数据库 只是知道一个所谓的中国字典里的名词 我认识它是从我接触网页制作开始的 初用FrontPage做网页也就是弄几个框图 没什么东西但还觉得不错 后来听朋友说这是最简单最普通的东东 朋友告诉我真真的网页起码也用到数据库这些东西了 有什么前台的后台的 听我的都晕头转向了 感觉自己是一个长不大的菜鸟了 之后我就去查找相关资料发现在数据库有很多种 这才对它有所了解     大一 大二的时候想学可不知道怎么学 从什么地方学起 当时也没注意选课本上有这类的课程 到了大三正式的课程也轻松些了 仔细观摩了选修课发现有数据库 有数据库原理和Oracle数据库 当时感觉Oracle数据库既然是单独一门课程一定会讲的比较细 也能学到真正实用的内容 选上了这门课以后发现和我想的基本是一样的 老师对学生也比较和蔼可亲 对我们要求也不是很紧 让每个人都觉得轻轻松松就能把这门课程学完 没有多么紧张的作业 也没有太苛刻的要求     当老师在最后说这个课程结束了 回顾一下以前老师给我们讲过的东西 真的有很多是我们应该去注意的 学习完Oracle数据库后感觉Oracle可分两大块 一块是开发 一块是管理 开发主要是写写存储过程 触发器什么的 还有就是用Oracle的Develop工具做form 有点类似于程序员 当然我可不是什么程序员 有几个程序员朋友他们是我的偶像 开发还需要有较强的逻辑思维和创造能力 自己没有真正做过 但感觉应该会比较辛苦 是青春饭 管理则需要对Oracle数据库的原理有深刻的认识 有全局 *** 纵的能力和紧密的思维 责任较大 因为一个小的失误就会down掉整个数据库 相对前者来说 后者更看重经验 这些东西都是从老师哪里和朋友的讨论中得到的心得 也希望其他朋友能多多向老师和朋友请教 如果是个人单独靠自己来完成一个完美的数据库我觉得比较困难 现在基本上都是团队类型的 而且他们的效率高开发的周期也快 在烟台的 NET俱乐部认识几个比较历害的人 他们的团队精神我比较佩服 像我这样一个大学生和他们说起来太菜了 由于数据库管理的责任重大 很少公司愿意请一个刚刚接触Oracle的人去管理数据库 对于我们这些初出茅庐的新手来说 个人认为可以先选择做开发 有一定经验后转型 去做数据库的管理 当然 这个还是要看人个的实际情况来定 其实在烟台大学里学生中有做的好的也是有 只不过通常象这些兄弟们我觉得很少能发现在 因为我只知道一个 在烟雨楼台的BBS版块里有个程序版块 这位版主以前就是学校网络中心的牛人 他曾告诉我学习的方法就是 看书 思考 写笔记 做实验 再思考 再写笔记 我觉得说的很对 对于新手来说就要这样 不断的去努力奋斗 最后一定能得到自己想要的成果     对于学习Oracle数据库从网络上找资料我认为是比较好的 现在的网络又这么的发达应该去充分利用 我知道Oracle的官方网站 这里有Oracle的各种版本的数据库 应用工具和权威的官方文档 虽然我是个新手 但是常到哪些相关的数据库论坛或是网站觉得每次的收获都不小 网络对我来说可是个重要的东西 除了Oracle数据库对于其它的一些电脑知识都从网络里学习了不少 我常用的一个搜索网站就是大家都熟悉的百度了()     以前没接触过它 现在认识了它才知道Oracle的体系很庞大 要学习它 首先要了解Oracle的框架 它有物理结构(由控制文件 数据文件 重做日志文件 参数文件 归档文件 密码文件组成) 逻辑结构(表空间 段 区 块) 内存分配(SGA和PGA)算机的实际内存中得以分配 如果实际内存不够再往虚拟内存中写 后台进程(数据写进程 日志写进程 系统监控 进程监控 检查点进程 归档进程 服务进程 用户进程) SCN(System Change Number) 这些东西感觉都比较专业 我对它们也就是个知道 想要真真去认识我还得努力去做 虽然懂得还不是很多 起码会了基本的软件 *** 作 老师说我们用的都是客户端 服务端看不到 也不知道服务端是什么样的 只知道客户端就挺多东西的 没有真正的去学习利用是很难掌握的      Oracle数据库的学习使我对数据库的有了新的进步 以后再看到也就不至于什么也不懂 其实那么多数据库我觉得学好一门就行 只是他们的语言可能不大一样 学好一门后就可去认识其它的 这样应该有事半功倍的效果 就像我学习C语言 当时不能说是学习的棒 但不算差 所以我对以后的语言感觉都不是很困难 了解了VB C++还有网页中用的Html语言 asp语言都能看懂 起码可以对别人的东西进行了一下修改 因此 我感谢Oracle数据库老师给了我有用的知识 以便我在以后学习或认识更多的内容能有新的方法和思维 也能更加有效和快速的去消化吸收新的东西 希望在今后中 Oracle能给我更多帮助 让我在我熟悉的VB中运用上去 我以前的一个目标是要为学校的选课做一个选课助手来帮助大学 就用我的VB 不过因为种种原因一直没有完成 也包括我对数据库的不了解 因为学了Oracle以后知道第一项内容是通过SQL查询后得到的 如果去把它们联系起来还不是真正明白 不过我相信我的目标能在学习Oracle后得到进展 lishixinzhi/Article/program/Oracle/201311/18934

一般意义上来说是 Oracle 公司的一个软件产品,是数据库软件

Oracle

开放分类: 软件公司、纳斯达克上市公司、美国公司、数据库软件、甲骨文

1oracle是殷墟(Yin Xu)出土的甲骨文(oracle bone inscriptions)的英文翻译的第一个单词。

2甲骨文股份有限公司是全球最大的数据库软件公司,总部位于美国加州的红木滩。

公司类型 上市公司 (NASDAQ: ORCL)

口号 Oracle is the information company

成立于 加利福尼亚 (1977年)[1]

总部位于 美国加州红木滩市

重要人物 劳伦斯·埃里森 Lawrence (Larry) J Ellison, 首席执行官

产业 数据库软件

雇员数目 35000+

产品

数据库服务器

应用服务器

开发工具

中间件产品

BI

客户关系管理

供应链管理

JDE

收入 179亿美元 (2007财年)

主要产品

甲骨文公司主要的产品目前分为两大类:

服务器(服务器)及工具(主要竞争对手:国际商用机器、微软)

数据库服务器:2008年最新版本11G

应用服务器: Oracle Application Server

开发工具:Oracle JDeveloper,Oracle Designer,Oracle Developer,等等

应用软件(主要竞争对手:德国SAP公司。)

企业资源计划(ERP)软件。已有10年以上的历史。2005年,并购了开发企业软件的人科软件公司(PeopleSoft)以增强在这方面的竞争力。

客户关系管理(CRM)软件。自1998年开始研发这种软件。2005年,并购了开发客户关系管理软件的希柏软件公司(Siebel)。

Oracle公司是全球最大的信息管理软件及服务供应商,成立于1977年,总部位于美国加州 Redwood shore。2000财年(99年6月到2000年5月)营业额达101亿美元,再创Oracle公司销售额历史新高,比去年增长了13亿美元,盈利增长61%,达到21亿美元。Oracle公司现有员工超过三万六千人,服务遍及全球145个国家。Oracle公司拥有世界上唯一一个全面集成的电子商务套件Oracle Applications R11i,它能够自动化企业经营管理过程中的各个方面,深受用户的青睐,促使Oracle应用软件在2000财年第四季度的销售额达447亿美元,与SAP公司的同期应用软件销售额352亿美元相比,多出近1亿美元,这一事实表明,Oracle已经是世界最大的应用软件供应商。Oracle电子商务套件涵盖了企业经营管理过程中的方方面面,虽然它在不同的方面分别面对不同的竞争对手,而Oracle电子商务解决方案的核心优势就在于它的集成性和完整性,用户完全可以从Oracle公司获得任何所需要的应用功能,更重要的是,它们具有一致的基于Internet技术的应用体系结构,而如果用户想从其它厂商处获得Oracle电子商务所提供的完整功能,不仅需要从多家厂商分别购买不同的应用,而且需要另请咨询公司把这些不同的应用装配起来,还必须确保它们能够协同地工作。

先进的产品和高效率的企业运作,是Oracle公司利润得以继续增长的重要原因,一年前,Oracle公司确定了通过采用自身的Internet电子商务解决方案,实现每年节省10亿美元企业日常运作费用的目标,这一数据相当于将我们的年度利润率提高10%。

四年前电子商务在全球范围内还仅处于萌芽状态时,Oracle公司便前瞻性地作出了从领先的数据库厂商向以Internet计算为基础的完整的电子商务解决方案供应商转型的战略部署。这一前瞻性战略为Oracle带来了巨大的利益,今天,Oracle能够领先于竞争对手提供包括平台产品、应用产品和完善的服务在内的先进的、完整的、集成的电子商务解决方案,可以无缝集成供应链管理(SCM)、企业资源管理(ERP)、客户资源管理(CRM)和企业商业智能(BI)和电子商务应用IP(Internet Pocurement)、Exchange、Portal-to-go等产品。Oracle从低端到高端的所有方案100%基于Internet应用体系结构,都可以通过Web安全、直接地访问,使企业能够通过Web完成包括报价、定单、支付、执行、服务等在内的企业业务过程的所有环节,帮助企业将现有业务内容快速转移到电子商务,迅速获得来自电子商务的高效益。

Oracle应用产品包括财务、供应链、制造、项目管理、人力资源和市场与销售等150多个模块,荣获多项世界大奖,现已被全球近7600多家企业所采用。由于在电子商务方面的杰出表现,Oracle公司在美国Mongan Stanley公司最新公布的权威性全球企业1000强中,从去年的第122名一跃成为第13名,成为全球第二大独立软件公司和最大的电子商务解决方案供应商。目前, Amazon和Dell等全球十个最大的Internet电子商务网站、全球十个最大的B-to-B网站中的九个、93%的上市COM公司、65家“财富全球100强”企业均不约而同地采用Oracle电子商务解决方案。

Oracle中国公司

1989年Oracle公司正式进入中国市场,成为第一家进入中国的世界软件巨头,标志着刚刚起飞的中国国民经济信息化建设已经得到Oracle的积极响应,由Oracle首创的关系型数据库技术开始服务于中国用户。1991年7月,经过了近两年时间的努力开拓,为了更好地与迅速发展的业务相适应,Oracle在北京建立独资公司。今天的Oracle中国公司拥有超过3500名员工,并在全国十二个城市设立了分公司。

为了帮助中国用户及时、充分利用世界最先进的计算机软件技术与产品,Oracle中国公司在产品汉化方面投入了大量的资源,目前,Oracle的大部分产品均已实现了全面中文化,中文版产品的更新节奏与美国本土基本同步一致。与此同时,Oracle在中国得到了数以百计的国内计算机企业的合作与支持,除了惠普、Sun、康柏、Cisco、Intel等Oracle全球联盟合作伙伴和普华永道咨询有限公司、安达信企业咨询有限公司、安盛咨询、德勤企业管理咨询公司、凯捷安永咨询(亚太)有限公司等Oracle全球系统集成商外,Oracle公司在中国还建立起完整的合作伙伴体系,6家增值经销商、72家独立软件开发商、3家应用软件合作伙伴、180家授权分销商和4家授权培训中心,他们共同构成了基于Oracle技术产品基础的全国性市场开拓、系统集成、增值开发与技术服务体系,为Oracle在中国的业务发展提供了强有力的支持。由他们开发的数百个基于Oracle平台的商品化应用软件包,已经广泛应用于国内的政府部门、电信、邮政、公安、金融、保险、能源电力、交通、科教、石化、航空航天、民航等各行各业。

甲骨文公司主要产品简介

1 Oracle电子商务套件(Oracle E-Business Suite)

Oracle电子商务套件是行业中第一个集成的基于互联网的商务应用套件,它将前台与后台运营中的关键业务流程自动化。Oracle电子商务套件涵盖了营销、销售、服务、合同、定单管理、产品设计、采购、供应链、制造、财务、项目管理、人力资源与专业服务自动化在内的企业中每一个领域的业务。2001年全球共有1100多家企业实施了Oracle电子商务套件,目前全球已经有超过12000家用户正在获益于Oracle电子商务套件所带来的前所未有的好处。

自从Oracle电子商务套件首次面世以来,甲骨文公司已经推出了6种电子商务套件的增强版本,从而形成了一整套成熟的、功能齐全的应用套件。Oracle电子商务套件能够使用户在实施业务应用时拥有前所未有的可选择性与灵活性,它的开放式基础架构与单一数据模型使用户在部署套件中的应用软件时拥有多种选择,既可以单独使用,也可以组成业务流,还可以作为一个整体的集成套件来部署。Oracle电子商务套件既可以作为用CD ROM为载体的传统软件的形式,也可以作为一种在线服务的形式来提供给用户。

2 Oracle10g —— 新一代电子商务平台

Oracle10g是业界第一个完整的、智能化的新一代Internet基础架构,Oracle10g电子商务平台实际上是指Oracle数据库10g、Oracle应用服务器10g和Oracle开发工具套件10g的完整集成。

Oracle数据库10g是第一套具有无限可伸缩性与高可用性,并可在集群环境中运行商业软件的互联网数据库,具有400多个领先的数据库功能,在集群技术、高可用性、商业智能、安全性、系统管理等方面都实现了新的突破。作为甲骨文公司长达十年的软件技术研发成果,真正应用集群技术(Real Application Clusters)能够提供近乎无限的扩充能力与整体可用性,为用户带来透明的、高速增长的集群功能。

Oracle应用服务器10g是J2EE认证的、最轻、最快、最具伸缩性的应用服务器,提供了企业门户软件、无线支持、高速缓存、轻量级J2EE引擎、商务智能、快速应用开发、应用与业务集成、Web 服务等多种应用开发功能,形成完整的电子商务应用开发和部署环境。使用了Oracle应用服务器10g的用户可以通过升级软件来取代升级硬件,大大的节省了基础设施的成本花费。

Oracle开发工具套件10g是一套完整的集成开发工具,可用于快速开发使用Java和XML语言的互联网应用和Web服务,支持任何语言、任何 *** 作系统、任何开发风格、开发生命周期的任何阶段以及所有最新的互联网标准。

9i之后的Oracle的硬件要求很高,(Windows版本)9i建议配512M内存,10g建议配1G内存。

Oracle数据库的体系结构

Oracle数据库包括Oracle数据库服务器和客户端。

Oracle数据库服务器:

Oracle Server是一个对象一关系数据库管理系统。它提供开放的、全面的、和集成的信息管理方法。每个Server由一个 Oracle DB和一个 Oracle Server实例组成。它具有场地自治性(Site Autonomy)和提供数据存储透明机制,以此可实现数据存储透明性。每个 Oracle数据库对应唯一的一个实例名SID,Oracle数据库服务器启动后,一般至少有以下几个用户:Internal,它不是一个真实的用户名,而是具有SYSDBA优先级的Sys用户的别名,它由DBA用户使用来完成数据库的管理任务,包括启动和关闭数据库;Sys,它是一个 DBA用户名,具有最大的数据库 *** 作权限;System,它也是一个 DBA用户名,权限仅次于 Sys用户。

客户端:

为数据库用户 *** 作端,由应用、工具、SQL NET组成,用户 *** 作数据库时,必须连接到一服务器,该数据库称为本地数据库(Local DB)。在网络环境下其它服务器上的 DB称为远程数据库(Remote DB)。用户要存取远程 DB上的数据时,必须建立数据库链。

Oracle数据库的体系结构包括物理存储结构和逻辑存储结构。由于它们是相分离的,所以在管理数据的物理存储结构时并不会影响对逻辑存储结构的存取。

1逻辑存储结构

它由至少一个表空间和数据库模式对象组成。这里,模式是对象的集合,而模式对象是直接引用数据库数据的逻辑结构。模式对象包括这样一些结构:表、视图、序列、存储过程、同一词、索引、簇和数据库链等。逻辑存储结构包括表空间、段和范围,用于描述怎样使用数据库的物理空间。而其中的模式对象和关系形成了数据库的关系设计。

数据块(Block):是数据库进行UO *** 作的最小单位,它与 *** 作系统的块不是一个概念。oracle数据库不是以 *** 作系统的块为单位来请求数据,而是以多个Oracle数据库块为单位。

段(Segment):是表空间中一个指定类型的逻辑存储结构,它由一个或多个范围组成,段将占用并增长存储空间。

其中包括:

数据段:用来存放表数据;.

索引段:用来存放表索引;

临时段:用来存放中间结果;

回滚段:用于出现异常时,恢复事务。

范围(Extent):是数据库存储空间分配的逻辑单位,一个范围由许多连续的数据块组成,范围是由段依此分配的,分配的第一个范围称为初始范围,以后分配的范围称为增量范围。

年表

约70年代 一间名为Ampex的软件公司,正为中央情报局设计一套名叫Oracle的数据库,Ellison是程序员之一。

1977 年艾利森与女上司Robert Miner创立“软件开发实验室”(Software Development Labs),当时IBM发表“关联数据库”的论文,艾利森以此造出新数据库,名为甲骨文。

1978 年 公司迁往硅谷,更名为“关系式软件公司” (RSI),两年后,共有8名员工,年收入少于100万美金。最先提出“关联数据库”的IBM采用RSI的数据库。1982年再更名为甲骨文(Oracle)。

1984年 三年内,先后进军加、荷、英、奥地利、日、德、瑞士、瑞典、澳洲、芬兰、法、香港、挪威、西班牙。1986年上市时,年收入暴升至5500 万美元,同年3月招股,集资3150万美元。

1987年 年收入达到 131 亿美元,甲骨文一年后成为世界第四大软件公司。两年内再进军墨西哥、巴、中、塞浦路斯、马来西亚及新西兰。一年后,收入再升一倍至282亿美元。

1990年 甲骨文两年内挥军进入智利、希腊、韩、葡、土、委内瑞拉、台、比利是、阿根延、哥伦比亚、哥斯达黎加及菲等地,但市甲骨文首次录得亏蚀,市值急跌80%,艾利森首次安排资深管理人员参与经营。

1992年 旗鉴产品Oracle 7面世,该公司重拾升轨,年收入达到 1179 亿美元。曾被视为甲骨文接班人、但后来被踼出局的Raymond Lane担任营运总监。

1995年 艾利森宣布PC已死,把全数产品推向因特网发展,并另组“网络电脑公司”(Network Computer),销售“网络电脑”,最终被淘汰收场。

2000年 科网接近尾声时,推出E-Business Suite,抢占应用产品市场,与昔日的生意伙伴构成严重利益冲突。同期微软及IBM数据技术提升,此后Oracle新增订单数目的占有率,在两年内下跌66%,业务倒退10%。

2003年 敌意收购仁科软件公司(Peoplesoft),引起业界轰动。两公司的争嗌新闻层出不穷。同年美国司法部落案阻止甲骨文收购。

补充内容:

oracle11g

2007年7月12日,甲骨文公司在美国纽约宣布推出数据库Oracle 11g,这是Oracle数据库的最新版本。甲骨文介绍说,Oracle 11g有400多项功能,经过了1500万个小时的测试,开发工作量达到了36万人/月。

有意思的是,根据甲骨文以往几个版本的发行经验,发布新版Oracle数据库的频率在3年左右,以此类推,Oracle 11g应该在07年年底发布,选择在7月份发布,不知道是否和代号Katmai的SQL Server 2008有关,因为目前还处于测试阶段的SQL Server 2008将在08年2月发布,业内用Oracle 10g和SQL Server 2003做比较也曾一度惹恼了甲骨文。

XML显高温

当XML面世之时,也许没有哪个数据库厂商会对这种技术给以足够的关注,然而在今天,XML已经开始对数据存储产生巨大的影响。到现在,这种可扩展标记语言已是各种数据,特别是文档的首选格式,国际主流的数据库厂商们自然也随行就市,全都推出了兼容传统关系型数据与XML数据混合应用的新一代数据库产品。

XML在数据存储方面有一个明显的优点,那就是可以直接将逻辑关系编写在XML文件当中。一个时髦的XML数据库应该提供哪些功能呢归纳起来应该有四个基本功能:使用、存储、查询和产生XML的能力。

在Oracle 10g中,曾被人们津津乐道的最重要的改进是增加了对XML schema(XML语法)转换的支持,它允许用户通过将现有的数据映射为新的schema来实现XML schema转换。而不必把所有XML数据输出后再重新输入进去,其它事情将由数据库自动完成。

在Oracle 11g中, XML DB的性能又获得很大提高,XML DB是Oracle数据库的一个组件,客户可以以本机方式存储和 *** 作XML数据。11g增加了对二进制XML数据的支持,现在客户可以选择适合自己特定应用及性能需求的XML存储选项。

当然,不仅仅是甲骨文看好XML,为吸引Oracle用户,IBM公司DB2 9打XML旗号直接把XML作为其新产品的最大卖点;微软和Sybase也宣称它们的产品也可以实现高性能XML存储与查询,使现有应用更好地与XML并存。

网格计算有点冷

新的Oracle 11g仍使用g(Grid)作为后缀,以代表这是一个包含了网格技术基础的数据库。甲骨文称,Oracle 11g能更方便地在低成本服务器和存储设备组成的网格上运行。不过,目前仅有IBM DB2数据库也支持网格计算技术。

网格计算将多个服务器和存储器当作一台大型电脑协调使用,使它们在高速网络上动态地共享计算机资源,以满足不断变化的计算需求。简而言之,即将多个服务器和存储器当作一台主机协调使用。网格计算被广泛视为未来的计算方式。

尽管微软对网格计算的兴趣也很浓厚,承诺要让Windows能够更好地适应高数据强度的计算网格。但微软除了在内部研究之外,似乎一直在这个话题上非常沉默。对于数据库中网格计算,微软和Sybase方面表示,网格应用在技术上还需解决一些问题(如:多节点性能问题) ,网格技术要成为商业应用的主流,还需要几年时间在应用和产品上进一步完善。

不容乐观的是,在咨询公司Quocirca发布的调查显示,我国网格实际采用率仍然偏低,总体网格指数在15个被调查国家中只排第9位,处于中下游,甲骨文表示,中国用户可能对网格的价值还没有真正接受。很多中国企业有一种观望的心态,觉得应用网格存在风险。

11g安全了吗

有业内人士曾表示,Oracle 10g只能算是一个过渡版本。因为06年,下一代安全软件机构NGSS对微软SQL Server和Oracle数据库做了一个弱点对比,结果表明Oracle的数据库产品存在更多的弱点。

NGSS的研究人员称,Oracle有233个缺陷点,而SQL Server只有59个。这些缺陷在SQL Server7、2000以及2005中,在Oracle8、9以及10g版本中被报道,并被修复。分析机构ESG也发布调查报告表示,在安全性方面微软击败了甲骨文,似乎甲骨文数据库“无懈可击”的安全神话已不复存在。

针对那些不断对甲骨文安全性能表示批评的专家,甲骨文终于开始猛烈还击。2006年底,甲骨文全球技术事业部的安全经理Eric Maurice在公司的博客上表示,甲骨文在开发和安全方面的技术水平居业界领先位置。与微软数据库的安全性能比较,不过是别有用心的人在玩数字游戏,甲骨文不会让外部的压力改变其既定的安全策略。

到现在,起码可以从资料上看到,Oracle的安全认证获得最高认证级别的ISO标准认证,而SQL Server并没有获得什么安全认证。从这方面证明了Oracle的安全性不应该被受到如此指责。

从甲骨文此次推出的11g可以看到,在安全方面除了10g已经存在的数据阀门和加密外,11g又增加了四项安全功能,即安全备份、非对称数据的授权安全检索、监控、管理和报警。

Oracle 11g数据库增强了Oracle透明数据加密功能,将这种功能扩展到了卷级加密之外。11g还增加了表空间加密功能,可用来加密整个表、索引和所存储的其它数据。存储在数据库中的大型对象也可以加密。

看来甲骨文很注重11g在安全上的表现,闪回交易技术可以撤销错误交易以及任何相关交易,并行备份和恢复功能。另外,一种新的顾问软件—数据恢复顾问,可自动调查问题,智能地确定恢复计划并处理多种故障情况。

Oracle 11g的Oracle Data Guard组件可用于对生产数据库的报告、备份、测试和“滚动”升级。通过将工作量从生产系统卸载到备用系统,并组成一个更经济的灾难恢复解决方案。

也许正是在安全性上的增强,才使得甲骨文公司数据库服务器技术高级副总裁Andy Mendelsohn自信地表示:“Oracle 11g真正克服了挑战并实现了真正的创新。”

一个疯狂的发烧友在自家的车库中改造了小型IDC,并利用Sun Enterprise 220R Server架设了Oracle 10g数据库

增强信息生命周期管理和存储管理能力:引入了更多的自助式管理和自动化功能;

◆透明的加密:Oracle将这种功能扩展到了卷级加密之外;

◆提高信息可用性:免受计划停机和意外宕机影响;

◆更快的XML:通过XML DB组件,客户可以本机方式存储和 *** 作XML数据;

◆增强了自助式管理和自动化能力:增加了自动SQL和存储器微调等管理功能;

◆增强了应用开发能力:提供多种开发工具供开发人员选择,包括Java实时编译器。

开源数据库成熟时

以MySQL、PostgreSQL为代表的开源数据库系统,已成为取代闭源数据库的一种颇具吸引力的选择。

成熟的开源数据库,让Oracle这样的闭源厂商难以腾飞

知名的网络游戏The Matrix Online(骇客帝国Online),每天有数万名网上玩家同时在线,为了能够支撑庞大的在线游戏玩家同时进行游戏,Sony Online Entertainment(索尼在线娱乐公司,以下简称SOE)需要密集使用数据库。

以往SOE会使用大量的Oracle RAC集群提供服务,但是由于Oracle数据库的授权证十分昂贵及欠缺d性,加上公司需要更多额外数据库。所以从2005年开始,该公司就开始寻求既具有较低总拥有成本,又具有较好灵活性的开源数据库以取代Oracle数据库。

踢开Oracle

SOE对数据库的需求相当可观,其数据库应用程序是关键任务应用程序的最恰当诠释:每天有数十万在线玩家在玩SOE的游戏,而每款游戏都是一个数据库及其密集的应用程序。

事实上,SOE在应用开放源代码的应用上有很长历史,曾经就使用过Linux、Tomcat、Apache、Hibernate架设系统,此次的开源抉择,SOE更注重寻觅能够利用其宝贵资产(内部能够熟练使用Oracle的数据库人才)的方法,在选择开源数据库时,列出了四项标准:

1、能够充分发挥其现有数据库管理员和开发人员的潜能;

2、易于将SOE现有的Oracle应用程序迁移到新的数据库;

3、能够提供商用级别质量可靠性,包括备份和恢复标准,以支持关键任务应用程序;

4、可扩展,具有高性能。

在选择开源数据库之前,SOE需要使用许多Oracle 9i RAC群集。另外,SOE在其后台运营中部署了数据库。与如今的很多企业一样,SOE希望开源软件能够提供应对这些业务挑战的解决方案。

根据SOE对不同开放源码数据库的评估,他们选择了兼容Oracle数据库的EnterpriseDB,因为SOE有八成以上的特定Oracle应用程式,可以在极少、甚至无需修改的情况下在EnterpriseDB执行,以现有开支比较,利用EnterpriseDB后,每款线上游戏的整体拥有成本可降低80%,每年节省总额过百万,在2007至2008年度,SOE将使用数百台EnterpriseDB数据库集群服务器。

开源更有前途

使用Oracle数据库的企业一般都会对开源数据库感兴趣,主要有三个方面原因:首先,通过部署开源数据库,这些企业可以显著降低数据库的总拥有成本(TCO),有时降幅甚至高达90%;其次,他们通常可以从其他厂商获得更大的许可灵活性以及业务便利;最后,这些企业会发现其他厂商更渴望为他们提供出色技术。

对于开源数据库,企业多少也会有些担心,因为许多企业仅限于将开源数据库用于一些简单的应用程序,如一些网站的支持应用。因为这些企业普遍认为开源数据库可能不够稳定,可靠性或者可扩展性不够高,因而无法满足他们的关键任务应用需求。另外,企业可能还觉得更改数据库的代价,例如,与应用程序重新编码,人员重新培训相关的成本,可能会超出预期的节省目标。

MySQL、FireBird、EnterpriseDB和Postgre(PostgreSQL的前身)都是非常健壮的开源数据库,而EnterpriseDB又是基于PostgreSQL进行开发的,不仅保留了PostgreSQL的稳定性,而且可实现50%的速度增长,系统可以自动监测是否有补丁程序存在,大大减轻管理员的工作。

近几年来,美国一些大企业纷纷采用开放源码数据库,它们往往在总部采用商业数据库,而在分支机构的Linux服务器上采用开源产品。这些数据库除了费用便宜,还各有独到之处。与商业化产品相比,开源数据库结构简单,但功能不简单,读取 *** 作快捷,易管理,甚至不需要全职的管理员。由此吸引了像Cisco、Yahoo这样的大公司,以及众多的中小企业。而在国内,我们熟悉的新浪、网易等大型门户网站也是开源数据库的使用者。

该企业品牌在世界品牌实验室(World Brand Lab)编制的2006年度《世界品牌500强》排行榜中名列第三十六。

数据库开发主要是业务应用系统的数据处理与管理部分,通常将数据库开发分为6个阶段:需求分析、数据库设计、实现、测试、运行和维护,前三项是重点和关键。Oracle数据库开发人员,需要具备上述相关的主要技能。

以上就是关于通过JDBC连接oracle数据库的几个技巧全部的内容,包括:通过JDBC连接oracle数据库的几个技巧、ORACLE数据库性能优化概述、Oracle是系统软件还是应用软件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9280043.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存