数据库oracle简介

数据库oracle简介,第1张

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。

ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。

特点

1、完整的数据管理功能:[2]

1)数据的大量性

2)数据的保存的持久性

3)数据的共享性

4)数据的可靠性

2、完备关系的产品:

1)信息准则---关系型DBMS的所有信息都应在逻辑上用一种方法,即表中的值显式地表示;

2)保证访问的准则

3)视图更新准则---只要形成视图的表中的数据变化了,相应的视图中的数据同时变化

4)数据物理性和逻辑性独立准则

3、分布式处理功能:

ORACLE数据库自第5版起就提供了分布式处理能力,到第7版就有比较完善的分布式数据库功能了,一个ORACLE分布式数据库由oraclerdbms、sqlNet、SQLCONNECT和其他非ORACLE的关系型产品构成。

4、用ORACLE能轻松的实现数据仓库的 *** 作。

这是一个技术发展的趋势,不在这里讨论。

优点

■ 可用性强

■ 可扩展性强

■ 数据安全性强

■ 稳定性强

一般意义上来说是 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强》排行榜中名列第三十六。

你登陆使用的用户auto就是用户,auto以什么身份(通常有Normal,DBA,SYSOPER),这个身份就是角色,你在auto用户下创建了表,那么表就是模式对象,表属于关系模式,所以模式是数据的呈现方式

ORACLE数据库中的权限和角色

Oracle数据库是一种大型关系型的数据库,我们知道当使用一个数据库时,仅仅能够控制哪些人可以访问数据库,哪些人不能访问数据库是无法满足数据库访问控制的。DBA需要通过一种机制来限制用户可以做什么,不能做什么,这在Oracle中可以通过为用户设置权限来实现。权限就是用户可以执行某种 *** 作的权利。而角色是为了方便DBA管理权限而引入的一个概念,它实际上是一个命名的权限集合。

1 权限

Oracle数据库有两种途径获得权限,它们分别为:

① DBA直接向用户授予权限。

② DBA将权限授予角色(一个命名的包含多个权限的集合),然后再将角色授予一个或多个用户。

使用角色能够更加方便和高效地对权限进行管理,所以DBA应该习惯于使用角色向用户进行授予权限,而不是直接向用户授予权限。

Oracle中的权限可以分为两类:

•系统权限

•对象权限

11 系统权限

系统权限是在数据库中执行某种 *** 作,或者针对某一类的对象执行某种 *** 作的权利。例如,在数据库中创建表空间的权利,或者在任何模式中创建表的权利,这些都属于系统权限。在Oracle9i中一共提供了60多种权限。

系统权限的权利很大,通常情况下:

① 只有DBA才应当拥有alter database系统权限,该权限允许用户对数据库物理结构和可用性进行修改。

② 应用程序开发者一般应该拥有Create Table、Create View和Create Type等系统权限,用于创建支持前端的数据库模式对象。

③ 普通用户一般只具有Create session系统权限(可以通过Connection角色获得),只有Create Session系统权限的用户才能连接到数据库

④ 只有具有Grant Any PRivilege系统权限用户,或者获取了具有With Admin Option选项的系统权限的用户,才能够成为其它用户授予权限。

12对象权限

对象权限是针对某个特定的模式对象执行 *** 作的权利。只能针对模式对象来设置和管理对象权限。

对于模式对象:表、视图、序列、存储过程、存储函数、包都可以对象设置权限。不同类型模式对象具有不同的对象权限。比如,表、视图等对象具有查询(Select)、修改(Update)、删除(Delete)等对象权限,而存储过程、存储函数等对象则具有执行(Execute)等对象权限。

但是并不是所有的模式对象都可以设置对象权限。比如簇、索引、触发器以及数据库链接等模式就不具有对象权限。这些模式对象的访问控制是通过相应的系统权限来实现的,比如,要对索引进行修改,必须拥有Alter Any Index系统权限。

用户自动拥有他的模式中所有对象的全部对象权限,他可以将这些对象权限授予其他的用户或角色。比如,Test1用户创建了一个表Table1,在没有授权的情况下,用户Test2不能查询、修改、删除这个表。如果Test1将ETP表的Select对象权限授予了Test2,则该用户就可以查询Table1表了。如果在为其它用户授予对象权限时用了With Grant Option选项,被授予权限的用户还可以将这个权限在授予其他用户。

2 角色

21角色的概念

角色就是多个相关权限的命名集合。通过角色来进行对用户授予权限,可以大大简化DBA的工作量。比如,处于统一部门中的30多个用户都需要访问数据库中的一系列表,DBA可以将这些表的中合适的对象权限授予一个角色,然后在把这个角色授予这些用户,这样进行 *** 作要比为没有用户进行授权要便捷多了,而且要对这些用户的权限进行统一修改,只需要修改角色的权限即可。

22角色的优点

通过角色为用户授予权限,而不是直接向各个用户授权,具有以下优点:

•简化权限管理 DBA将用户群分类,然后为每一类用户创建角色,并将该角色授予这类用户所需要的权限,最后在将改角色授予该类中的各个用户。这样不仅简化了授权 *** 作,而且当这类用户的权限需求发生改变时,只需要把角色的权限进行改动,而不必修改每一位用户的权限。

•动态权限管理 角色可以被禁用或激活。当角色被禁止使用时,拥有该角色的用户不再拥有授予改角色的权限了。这样就可以对多个用户的权限进行动态控制了。

•灵活的编程能力 角色是存储在数据字典中的,并且可以为角色设置口令。这样就能够在应用程序中对角色进行控制。比如禁用或者激活等 *** 作。

下面以Oracle9i为例,给出具体的实现用户授权:

(1)设定各种角色,及其权限

CREATE ROLE checkerrole DENTIFIEDBYxm361001;

CREATE ROLE defaultrole IDENTIFIEDBYdefaultrole;

GRANT SELECT,UPDATE ON

accountpaytable TO checkerrole;

GRANT CONNECT TO defaultrole;

(2)创建用户

CREATE USER xiaoli IDENTIFIEDBY xiaoli;

(3)授权

GRANT checkerrole TO xiaoli;

GRANT defaultrole TO xiaoli;

(4)设定用户缺省的角色

ALTER USER xiaoli DEFAULTROLE defaultrole;

(5)注册过程

CONNECT xiaoli/xiaoli@oracle

此时用户只有其缺省角色的权限。

(6)激活角色

SET ROLE checkerrole IDENTIFIEDBY xm361001;

---- *** 作成功后,xiaoli拥有checkerrole的权限。

----这里的角色和口令是固定的,在应用系统中可以由应用管理人员自行设置则更为方便安全

;

ORACLE由两部分:实例和数据库

实例由以下组成: SGA,Shared pool,Database buffer cache,Redo log buffer cache

数据库由物理文件组成,其中必须有的文件是:数据文件,控制文件,重做日志

另外还有:参数文件,口令文件,归档日志文件(这三个不是必须的)

ORACLE SERVER 由两个部分组成,

1INSTANCE:又由内存结构和后台进程组成

2DATABASE:又由数据文件,日志文件和控制文件组成<这三个文件是必需的>

CONTROL FILE是用来连接实例和DATABASE的

SQL>SHUTDOWN IMMEDIATE

SQL>STARTUP NOMOUNT

SQL>ALTER DATABASE MOUNT

以上三个过程就是通过CONTROL FILE来连接实例和数据库

SQL>ALTER DATABASE OPEN

在OPEN的过程对DATABASE的数据文件和重做日志文件进行一次性的验证,验证它们的状态

ORACLE INSTANCE:存取数据库的一个手段

一个DATABASE与INSTANCE之间是1:N的关系,一个INSTANCE只能 *** 作一个DATABASE,由内存结构(共享池,

BUFFER CACHE,REDO LOG BUFFER CACHE)及相应的进程结构组成(PMON<程序监控进程>,SMON<系统监控进

程>,CKPT<检查点进程>)

SQL>SHOW SGA ---显示DATABASE内存结构信息

SQL>SET WRAP OFF

SQL>SET LINESIZE 200

以上这两个是设置行宽

SQL>SELECT FROM V$BGPROCESS;

将看到在这个系统中所有可能使用到的进程,其中PADDR并不每个进程都分配到有效的地址,即并不是每个进程都是必须的

SQL>SELECT FROM V$BGPROCESS WHERE PADDR<>\'00\'

将显示所有必需的进程

ESTABLISHING A CONNECTION AND CREATING A SESSION

连接到ORACLE实例包括建立一个用户连接及创建会话

ORACLE MEMORY STRUCTURE (内存结构)

由两部分组成:

1SGA

SGA是动态的,其最大值由SGA_MAX_SIZE指定,SGA的内存由SGA COMPONENTS来动态调整

2PGA 是不共享的,即其包含的信息是不一样的,有两个可享的内存可以由SGA配置

<1> LARGE POOL

<2> JAVA POOL

SQL>SHOW PARAMETER SHARED

SQL>SHOW PARAMETER DB_CACHE

SQL>SHOW PARAMETER LOG

以上三个命令是用于查看相关内存信息

SQL>ALTER SYSTEM SET DB_CACHE_SIZE=20M;

所有内存大小总和不能大于SGA_MAX_SIZE的值,当提示信息出现号或乱码时,是由于系统的语言问题

可以通过ALTER SESSION SET NLS_LANGUAGE=\'AMERICAN\'或ALTER SESSION SET NLS_LANGUAGE=\"SIMPLE

[Page]

CHINESE\"

SHARED POOL (共享池)

含:<1>LIBRARY CACHE 库缓存

<2>DATA DICTIONARY CACHE 数据字典缓存,有的地方又称行CACHE,由SHARED_POOL_SIZE指定大小

SQL>ALTER SYSTEM SET SHARED_POOL_SIZE=64M;

LIBRARY CACHE 主要为提高代码的共享,存储的是最近使用的SQL和PL/SQL代码

<1>用最近最少使用(LRU)算法

<2>包括两个结构 1:共享SQL代码 2:共享PL/SQL代码

<3>不可直接定义,而由SHARED POOL SIZE决定

DATA DICTONARY CACHE

执行此命令的过程是:首先确认是否存在AUTHORS,,然后确认字段存不存在,再检查语法,最后验证权限,而

这些信息就属于DATA DICTIONARY CACHE的内容其包含的信息有:DATABASE FILES,表,索引,字段,用户,

权限和其他数据库对象

此文章主要是对Oracle数据库锁机制的详细研究 首先我们要介绍的是Oracle数据库锁的类型 同时也阐述 在实际应用中我们经常会遇到的与锁相关的异常情况 特别对经常遇到的由于等待锁而使事务被挂起的问题进行了定位及解决 并对死锁这一比较严重的现象 提出了相应的解决方法和具体的分析过程

数据库是一个多用户使用的共享资源 当多个用户并发地存取数据时 在数据库中就会产生多个事务同时存取同一数据的情况 若对并发 *** 作不加控制就可能会读取和存储不正确的数据 破坏数据库的一致性

加锁是实现数据库并发控制的一个非常重要的技术 当事务在对某个数据对象进行 *** 作前 先向系统发出请求 对其加锁 加锁后事务就对该数据对象有了一定的控制 在该事务释放锁之前 其他的事务不能对此数据对象进行更新 *** 作

在数据库中有两种基本的锁类型 排它锁(Exclusive Locks 即X锁)和共享锁(Share Locks 即S锁) 当数据对象被加上排它锁时 其他的事务不能对它读取和修改 加了共享锁的数据对象可以被其他事务读取 但不能修改 数据库利用这两种基本的锁类型来对Oracle数据库的事务进行并发控制

在实际应用中经常会遇到的与锁相关的异常情况 如由于等待锁事务被挂起 死锁等现象 如果不能及时地解决 将严重影响应用的正常执行 而目前对于该类问题的解决缺乏系统化研究和指导 本文在总结实际经验的基础上 提出了相应的解决方法和具体的分析过程

Oracle数据库的锁类型

根据保护的对象不同 Oracle数据库锁可以分为以下几大类 DML锁(data locks 数据锁) 用于保护数据的完整性 DDL锁(dictionary locks 字典锁) 用于保护数据库对象的结构 如表 索引等的结构定义 内部锁和闩(internal locks and latches) 保护数据库的内部结构

DML锁的目的在于保证并 况下的数据完整性 本文主要讨论DML锁 在Oracle数据库中 DML锁主要包括TM锁和TX锁 其中TM锁称为表级锁 TX锁称为事务锁或行级锁

当Oracle执行DML语句时 系统自动在所要 *** 作的表上申请TM类型的锁 当TM锁获得后 系统再自动申请TX类型的锁 并将实际锁定的数据行的锁标志位进行置位 这样在事务加锁前检查TX锁相容性时就不用再逐行检查锁标志 而只需检查TM锁模式的相容性即可 大大提高了系统的效率

TM锁包括了SS SX S X等多种模式 在Oracle数据库中用 - 来表示 不同的SQL *** 作产生不同类型的TM锁 如表 所示

在数据行上只有X锁(排他锁) 在 Oracle数据库中 当一个事务首次发起一个DML语句时就获得一个TX锁 该锁保持到事务被提交或回滚 当两个或多个会话在表的同一条记录上执行DML语句时 第一个会话在该条记录上加锁 其他的会话处于等待状态 当第一个会话提交后 TX锁被释放 其他会话才可以加锁

当Oracle数据库发生TX锁等待时 如果不及时处理常常会引起Oracle数据库挂起 或导致死锁的发生 产生ORA 的错误 这些现象都会对实际应用产生极大的危害 如长时间未响应 大量事务失败等

TX锁等待的分析

在介绍了有关地Oracle数据库锁的种类后 下面讨论如何有效地监控和解决锁等待现象 及在产生死锁时如何定位死锁的原因

监控锁的相关视图 数据字典是Oracle数据库的重要组成部分 用户可以通过查询数据字典视图来获得数据库的信息 和锁相关的数据字典视图如表 所示

TX锁等待的监控和解决在日常工作中 如果发现在执行某条SQL时数据库长时间没有响应 很可能是产生了TX锁等待的现象 为解决这个问题 首先应该找出持锁的事务 然后再进行相关的处理 如提交事务或强行中断事务

死锁的监控和解决在数据库中 当两个或多个会话请求同一个资源时会产生死锁的现象 死锁的常见类型是行级锁死锁和页级锁死锁 Oracle数据库中一般使用行级锁 下面主要讨论行级锁的死锁现象

当Oracle检测到死锁产生时 中断并回滚死锁相关语句的执行 报ORA 的错误并记录在Oracle数据库的日志文件alertSID log中 同时在user_dump_dest下产生了一个跟踪文件 详细描述死锁的相关信息

在日常工作中 如果发现在日志文件中记录了ora 的错误信息 则表明产生了死锁 这时需要找到对应的跟踪文件 根据跟踪文件的信息定位产生的原因

如果查询结果表明 死锁是由于bitmap索引引起的 将IND_T_PRODUCT_HIS_STATE索引改为normal索引后 即可解决死锁的问题

表 Oracle的TM锁类型

锁模式 锁描述 解释 SQL *** 作

none

NULL 空 Select

SS(Row S) 行级共享锁 其他对象只能查询这些数据行 Select for update Lock for update Lock row share

SX(Row X) 行级排它锁 在提交前不允许做DML *** 作 Insert Update Delete Lock row share

S(Share) 共享锁 Create index Lock share

SSX(S/Row X) 共享行级排它锁 Lock share row exclusive

lishixinzhi/Article/program/Oracle/201311/18509

131 数据库对象

Dba_xxx 数据库所有对象

All_xxx 用户可访问的所有对象

User_xxx 用户所拥有的所有对象

User_tables

User_objects

User_catalog;

132 注释数据字典

All_col_comments

User_col_comments

All_tab_comments

User_tab_comments

133 约束数据字典

User_constraint

User_cons_columns

134 序列数据字典

User_sequences

135 视图数据字典

User_views

136 索引数据字典

User_indexes

User_ind_columns

大庆油田设计院地理信息中心 单文冬

74

137 权限数据字典

Role_sys_privs 授予角色的系统权限

Role_tab_privs 授予角色的对象权限

User_role_privs 用户可以访问的角色

User_tab_privs_made 在用户的对象上授予的权限

User_tab_privs_recd 授予用户的对象权限

User_col_privs_made 在用户对象的列上授予的对象权限

User_col_privs_recd 授予用户的在指定列上的对象权限

138 触发器数据字典

User_triggers

Dba_triggers

All_triggers

139 体系结构数据字典

V$sga

V$sgainfo

V$sga_dynamic_components

V$sga_dynamic_free_memory

V$parameter

V$instance

1310 数据库视图

V$database

V$controlfile

V$datafile

V$logfile

V$bgprocess

V$parameter

V$sga

1311 控制文件视图

V$controlfile

V$controlfile_record_section

V$logfile

V$datafile

大庆油田设计院地理信息中心 单文冬

75

V$tempfile

V$tablespace

1312 分析日志的信息

V$logmnr_dictionary

V$logmnr_parameters

V$logmnr_contents

1313 查看检查点的信息

查看控制文件中的scn

V$datafile: checkpoint_change#, name

查看数据文件中的scn

V$datafile_header: checkpoint_change#, name

查看重做日志中的scn

V$log: group#, status, first_change#

1314 归档信息

V$database: name, log_mode

V$instance: archiver

1315 日志信息

日志组

V$thread: groups, current_group#, sequence#

日志组和成员

V$log: group#, members, status, sequence#, bytes

V$logfile: group#, status, member

1316 归档日志信息

Select name, sequence# from v$archived_log;

Select destination from v$archive_dest;

1317 表空间视图及数据文件视图

临时表空间

V$sort_segment

大庆油田设计院地理信息中心 单文冬

76

V$tempseg_usage

表空间组

Dba_tablespace_groups

表空间信息

Dba_tablespaces

V$tablespace

数据文件信息

Dba_data_files

V$datafile

临时文件信息

Dba_temp_files

V$tempfile

1318 用户信息及权限

Dba_users

V$pwfile_users

Dba_ts_quota

V$session

System_privilege_map 显示所有系统权限

Dba_sys_privs 显示用户所具有的系统权限

User_sys_privs 显示当前用户的系统

Session_privs 显示当前会话的系统权限

Dba_tab_privs 显示用户所具有的对象权限

Dba_col_privs 显示用户所具有的列权限

User_tab_privs 显示当前用户的对象权限

User_col_privs 显示当前用户的对象权限

1319 角色信息

显示角色所具有的系统权限 role_sys_privs

显示角色所具有的对象权限 role_tab_privs

显示用户的默认角色 dba_role_privs

显示当前用户的所有角色 user_rol_privs

显示当前会话激活的角色 session_roles

大庆油田设计院地理信息中心 单文冬

77

1320 Profile 信息

Dba_users 显示用户的profile

Dba_profiles 显示profile 的口令限制和资源限制

1321 审计信息

显示审计记录 dba_audit_trail

显示已经设置的审计 dba_stmt_audit_opts

显示权限审计 dba_priv_audit_opts

还有很多。不列举了。

以上就是关于数据库oracle简介全部的内容,包括:数据库oracle简介、Oracle是什么、oracle中的用户、角色、模式以及模式对象,分别指什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/sjk/9288107.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存