Oracle 11g数据库实用教程.doc

上传人:啊飒飒 文档编号:11085345 上传时间:2021-06-28 格式:DOC 页数:30 大小:1.35MB
返回 下载 相关 举报
Oracle 11g数据库实用教程.doc_第1页
第1页 / 共30页
Oracle 11g数据库实用教程.doc_第2页
第2页 / 共30页
Oracle 11g数据库实用教程.doc_第3页
第3页 / 共30页
Oracle 11g数据库实用教程.doc_第4页
第4页 / 共30页
Oracle 11g数据库实用教程.doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《Oracle 11g数据库实用教程.doc》由会员分享,可在线阅读,更多相关《Oracle 11g数据库实用教程.doc(30页珍藏版)》请在三一文库上搜索。

1、第1章 Oracle 11g介绍第1章 Oracle 11g介绍本章对Oracle 11g数据库进行总体的介绍,涉及数据库的基本知识,Oracle数据库的特点、发展历史、版本特性、安装和配置、卸载和基本环境与服务等内容,让读者对Oracle数据库有个大致的了解。本章主要内容包括: 数据库基本知识 Oracle 11g简介 Oracle 11g的安装与卸载 Oracle 11g的基本环境与服务1.1 数据库基本知识数据库是数据管理的实用技术,是信息系统的核心和基础。当今信息资源已成为各个部门的重要财富和资源,从小型单项事务处理系统到大型信息系统,从联机事务处理到联机分析处理,从一般企业管理到计算

2、机辅助设计与制造(CAD/CAM)、计算机集成制造系统(CIMS)、办公信息系统(OIS)、地理信息系统(GIS)等,越来越多新的应用领域采用数据库来存储和处理它们的信息资源。同时,廉价、大容量直接存取设备的出现,促进了数据库系统领域的研究和开发活动。1.1.1 数据库的基本概念 1数据、信息与数据处理在信息社会中,人类生活总是离不开对反映客观世界的各种数据的收集、处理、存储、传播和使用。所谓数据,是人们通过对客观事物的观察和测量得到的事实,是对客观事物的物理状态的反映。信息则是人们对数据进行加工整理后,为某一特定的目的所提供的决策依据,简单地说就是加工后的数据。数据处理是对各种类型的数据进行

3、收集、存储、分类、计算、加工、检索和传输的过程。从某种意义上说,数据与信息在概念上既有区别,又不能截然分开。因此,数据处理与信息处理往往指同一概念。2数据库、数据库管理系统和数据库系统数据库(Database)、数据库管理系统(Database Management System,DBMS)和数据库系统(Database System,DBS)是数据库中常用的术语,三者之间既有联系,又有区别。1)数据库数据库是长期存储在计算机内,有组织、可共享的数据集合。数据库中的数据是按一定的数据模型组织、描述和存储的,具有冗余度低、独立性高、易于扩充、修改方便、数据共享等优点。数据库是数据表及相关操作对象

4、的集合,数据表由一个或多个相关的数据项组成。2)数据库管理系统数据库管理系统是位于用户和操作系统之间的一层数据管理软件,由系统运行控制程序、语言翻译程序和一组公用程序组成,如图1-1所示。图1-1 数据库管理系统示意图3)数据库系统数据库系统通常是指带有数据库的计算机系统。广义地讲,它包括数据库、硬件、软件和各类相关人员。1.1.2 数据库的数据模型 现实世界中,个体间总存在着某些联系,反映到信息世界中是实体间的联系,由此构成实体模型;反映到数据库系统中是记录间的联系,将实体模型数据化,从而转化成数据模型。 1数据模型的三要素数据模型是严格定义的概念的集合,这些概念精确地描述系统的静态特性、动

5、态特性和完整性约束条件。因此,数据模型通常由数据结构、数据操作和数据的约束条件三部分组成。1)数据结构数据结构用于描述系统的静态特性。数据结构是所研究的对象类型(Object Type)的集合。这些对象是数据库的组成成分,包括两类,一类是与数据类型、内容、性质有关的对象,如关系模型中的域、属性、关系等;另一类是与数据之间联系有关的对象,如关系模型中的关系。数据结构是刻画一个数据模型性质最重要的方面。因此在数据库系统中,人们通常按照其数据结构的类型来命名数据模型。例如,层次结构、网状结构和关系结构的数据模型分别命名为层次模型、网状模型和关系模型。2)数据操作数据操作用于描述系统的动态特性。数据操

6、作是指对数据库中的各种对象执行允许操作的集合,包括操作和相关的操作规则。操作分为检索和更新(删除、插入、更改),对数据模型来说,要求定义这些操作的确切含义、操作符号、操作规则(如优先级别)以及实现操作的语言。3)数据的约束条件数据的约束条件是一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和存储规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效和兼容。数据模型应该反映和规定本数据模型必须遵守的完整性约束条件。例如,在关系模型中,任何关系必须满足实体完整性和参照完整性两个条件。此外,数据模型还应该提供定义完整性约束条件的机制,以反映具体应用所涉

7、及的数据必须遵守的特定的语义约束条件。2数据模型的分类数据模型包括层次数据模型、网状数据模型和关系数据模型,分别介绍如下。1)层次数据模型层次数据模型是数据库系统中最早出现的数据模型,它能很好地模拟现实生活中的各种分层组织,层次数据库系统的典型代表是IBM公司的IMS数据库管理系统。层次模型的每个父代可以有多个子代,但每个子代只允许有一个父代。描述层次模型的简图如图1-2所示。 图1-2 层次数据模型示意图对于描述一种简单的树形结构,层次模型非常合适,并且这种模式对于包含大量数据的数据库来说,效率很高。例如,银行的客户系统就很适合用层次模型描述,因为每个客户可能包含多个账户,每个账户可能会进行

8、多个交易。2)网状数据模型网状数据模型是利用集合理论创造出的一种类似树状层次的结构,与树状层次结构不同的是,其中的子代可以拥有多个父代。其实,层次模型是网状模型的一个特例。网状数据模型的简图如图1-3所示。图1-3 网状数据模型示意图网状模型的数据库,在寻找附属于指定的对象的一组记录时,效率非常高。但是在按照某种特定的方式查找数据库记录时,速度会降低。3)关系数据模型关系模型的主要特点是记录由属性之间的关系来进行连接,在保证数据集之间的逻辑关系表达的同时,保持数据集之间的独立性。关系由具有相同属性的两个表中的记录连接组成。关系数据模型的简图如图1-4所示。图1-4 关系数据模型示意图使用关系型

9、数据库模型可以节省程序员的时间,能够进行灵活的查询,但是它的运行速度比别的数据库系统慢。目前比较流行的数据库系统是关系数据库,而面向对象的数据库也日益流行。关系数据库系统的研究成就促成许多商品化关系数据库管理系统的涌现,如Microsoft Access、Oracle、DB2、Sybase、Microsoft SQL Server、Informix、Ingres等。1.1.3 数据库的关系操作 1关系操作概述关系数据库中数据操作的特点是集合操作。不论查询、插入、删除或修改等操作都是面向集合的,即以一个或多个关系作为操作对象,而操作的结果是新的关系。关系数据模型的操作主要包括查询、插入、删除和更

10、新数据,这些操作必须满足关系的完整性约束条件。关系的完整性约束条件包括三大类:实体完整性、参照完整性和用户定义的完整性。常用的关系操作有两类:传统的集合操作和专门的关系操作。传统的集合操作,如并、交、差、广义笛卡儿积等,这类操作将关系看成元组的集合,其操作是从“行”的角度进行的;专门的关系操作,如选择、投影、连接等,这类操作是从“行”和“列”两个方向进行的,不仅涉及元组,而且涉及属性。 选择:是指在关系中选择满足某些条件的元组。例如,在“学生情况表”中找出计算机系的女生的操作即是选择操作。 投影:是指在关系中选择某些属性列。例如,在“学生情况表”中找出所有学生的班级和姓名的操作即是投影操作。

11、连接:是指从两个关系的广义笛卡儿积中选取属性间满足一定条件的元组。例如,对“学生情况表”和“学生选课表”做连接操作,连接条件为:学生情况表.学号=学生选课表.学号这里,“学号”称为连接属性,两个关系中的连接属性应具有相同的数据类型。上例中,连接操作的结果是体现出每个学生选修课程情况的新关系。2SQL概述目前,关系数据库使用的语言是被称为国际标准的SQL语言(Structured Query Language,即结构化查询语言)。关系型数据库的主要功能都是通过SQL语言来实现的。一般来说,数据语言包括数据定义语言(DLL)、数据操作语言(DML)和数据控制语言(DCL)。SQL语言集DLL、DM

12、L、DCL于一体,可以实现数据库生命周期的全部活动。数据库中的数据可以用SQL语言来进行读取、更新、增加和删除记录等操作。SQL结构比较简单,其命令总数不超过30个,常用命令包括CREATE TABLE、ALTER TABLE、DROP TABLE、INSERT、UPDATE、SELECT、DELETE。SQL语句对大小写不敏感,但其关键词常用大写来表示。1.2 Oracle 11g简介1.2.1 Oracle 数据库系统的特点Oracle(甲骨文)公司成立于1979年,是仅次于微软公司的世界第二大软件公司,是加利福尼亚州第一家在世界上推出以关系型数据管理系统(RDBMS)为中心的软件公司。O

13、racle不仅在全球最先推出了RDBMS,并且事实上掌握着这个市场的大部分份额,RDBMS被广泛应用于各种操作环境,包括Windows NT、基于UNIX系统的小型机、IBM大型机以及一些专用硬件操作系统平台。Oracle数据库管理系统是一个以关系型和面向对象为中心管理数据的数据库管理软件系统,其在管理信息系统、企业数据处理、因特网及电子商务等领域有着非常广泛的应用。因其在数据安全性与数据完整性控制方面的优越性能,以及跨操作系统、跨硬件平台的数据互操作能力,使得越来越多的用户将Oracle作为其应用数据的处理系统。Oracle之所以备受用户喜爱,是因为它具有以下突出特点。1支持大数据库、多用户

14、的高性能的事务处理Oracle支持最大数据库,其大小可到几百千兆,可充分利用硬件设备;支持大量用户同时在同一数据上执行各种数据应用,并使数据争用最小,保证数据一致性;Oracle每天可连续工作24小时,正常的系统操作(后备或个别计算机系统故障)不会中断数据库的使用;可控制数据库数据的可用性,可在数据库级或在子数据库级上控制(表空间、段)。2遵守数据存取语言、操作系统、用户接口和网络通信协议的工业标准Oracle是一个开放系统,保护了用户的投资。美国标准化和技术研究所(NIST)对Oracle进行检验,其与ANSI/ISO SQL89标准的二级100%兼容。3实施安全性控制和完整性控制Oracl

15、e为限制各监控数据存取提供系统可靠的安全性。Oracle实施数据完整性,为可接受的数据指定标准(角色、权限、用户)。4支持分布式数据库和分布处理为了充分利用计算机系统和网络,Oracle允许将处理分为数据库服务器和客户应用程序,所有共享的数据管理由数据库管理系统的计算机处理,而运行数据库应用的工作站集中于解释和显示数据。通过网络连接的计算机环境,Oracle将存放在多台计算机上的数据组合成一个逻辑数据库,可被全部网络用户存取。分布式系统像集中式数据库一样具有透明性和数据一致性。5具有可移植性、可兼容性和可连接性由于Oracle软件可在许多不同的操作系统上运行,因此Oracle上所开发的应用可移

16、植到任何操作系统,只需很少修改甚至不需修改。Oracle软件同工业标准相兼容,包括许多工业标准的操作系统,所开发的应用系统可在任何操作系统上运行。可连接性是指Oracle允许不同类型的计算机和操作系统通过网络共享信息。1.2.2 Oracle的发展简史1970年6月,IBM公司的研究员埃德加考特(Edgar Frank Codd)在Communications of the ACM上发表了著名的论文大型共享数据库数据的关系模型(A Relational Model of Data for Large Shared Data Banks),这是数据库发展史上的一个转折,拉开了关系型数据库软件革命

17、的序幕。1977年,拉里艾利森(Larry Ellison)、Bob Miner 和 Ed Oates 共同创建了软件开发实验室(Software Development Laboratories,SDL),这是Oracle公司的前身,公司接手的第一个项目来自美国政府,项目代码为Oracle。他们使用C语言和SQL界面构建一个关系数据库管理系统(Relational Database Management System,RDBMS),并很快发布了第一个版本(仅是原型系统)。1978年,他们将软件开发实验室更名为关系软件公司(Relational Software Inc,RSI)。1979年,

18、RSI首次向客户发布了产品,开发出第一款用于DEC公司的PDP-11计算机的商用SQL 数据库,发布产品的第二版,后来又移植到DEC VAX系统。1982年,RSI更名为Oracle系统公司(Oracle System Corporation),1983年,Oracle公司开发出V3版本,加入了SQL语言,完全用C语言编写,而且性能也有所提升,其他功能也得到增强。1984年,Oracle公司推出V4版本,既支持VAX系统,也支持IBM VM操作系统,这也是第一个加入了读一致性(Read-consistency)的版本。1985年,Oracle公司推出V5版本,该版本可谓Oracle发展史上的里

19、程碑,因为它通过SQL*Net引入了客户端/服务器的计算机模式,同时也是第一个打破640KB内存限制的MS-DOS产品。1988年,Oracle第6版发布,该版本除了改进性能、增强序列生成与延迟写入(Deferred Writes)功能外,还引入了底层锁。另外,该版本还加入了PL/SQL和热备份等功能。这时,Oracle已经可以在许多平台和操作系统上运行。1992年,Oracle第7版发布,是Oracle真正出色的产品,取得了巨大的成功,一举击退了咄咄逼人的Sybase公司。Oracle 7在内存、CPU和I/O的利用方面做了许多体系结构上的变动,是一个功能完整的关系数据库管理系统。1997年

20、6月,Oracle第8版发布,除了增加许多新特性和管理工具外,还加入了对象扩展(Object Extension)特性。Oracle 8支持面向对象的开发及新的多媒体应用,为支持Internet、网络计算等奠定了基础。1998年9月,Oracle公司正式发布Oracle 8i,其中“i”代表Internet,该版本中添加了大量为支持Internet而设计的特性,还为数据库用户提供了全方位的Java支持。Oracle 8i成为第一个完全整合了本地Java运行时环境的数据库,用Java就可以编写Oracle的存储过程。 2001年,Oracle 9i release 1发布,这是Oracle 9i

21、的第一个发行版。在2001年6月的Oracle Open World大会中,Oracle公司发布了Oracle 9i,在Oracle 9i的诸多新特性中,最重要的就是Real Application Clusters(RAC),即Oracle集群服务器。2002年,Oracle 9i release 2发布,它在release 1的基础上增加了集群文件系统(Cluster File System)等特性。2004年,在网格(Grid)计算的潮流中,Oracle公司推出了Oracle 10g,该版本中,Oracle的功能、稳定性和性能的实现都达到了一个新的水平。2007年7月12日,Oracle

22、公司在美国纽约宣布推出数据库软件Oracle 11g,Oracle 11g有400多项功能,经过了1500万个小时的测试,开发工作量达到了3.6万人/月。相对过往版本而言,Oracle 11g具有了与众不同的特性。1.2.3 Oracle 8i、9i、10g、11g版本的区别1Oracle 9i与8i的区别下面介绍Oracle 9i与8i的主要区别。(1)并发集群,8i OPS升级为9i RAC,8i节点间用硬盘交换信息,9i节点间采用高速网线的缓存熔合(Cache Fusion)技术交换信息,交换速度提高100倍以上。(2)9i可以在线修改内核参数和内存分配,8i则不行。(3)数据文件和表空

23、间管理,8i需要手工管理,9i实现自动管理。(4)9i比8i增强了对ANSI SQL99的支持。(5)9i比8i增强了故障后的快速恢复(Fast-start)。(6)8i只支持物理备份(Physical Backup)数据库,9i则增加了支持逻辑备份(Logical Backup)数据库,使备份数据库除了作为主数据库的镜像外,还可以提供其他数据服务。2Oracle 10g与9i版本的区别与Oracle 9i版本相比,10g主要有如下特点。(1)支持网格计算,即多台节点服务器利用高速网络组成一个虚拟的高性能服务器,负载在整个网格中均衡,按需增删节点,避免单点故障。 (2)支持自动存储管理(ASM

24、),增删硬盘不再需要操作系统管理员设置的镜像、负载均衡、物理卷、逻辑卷、分区、文件系统,只要输入一条Oracle命令,ASM会自动管理增加或删除的硬盘。(3)内存自动化,根据需要自动分配和释放系统内存。 (4)快速纠正人为错误的闪回(Flashback)查询和恢复,可以恢复数据库、表,甚至记录。 (5)数据泵高速导入、导出数据,比传统方法导出速度快2倍以上,导入速度快1545倍。 (6)精细审计,记录一切对敏感数据的操作。 (7)存储数据的表空间跨平台复制,极大地提高数据仓库加载速度。 (8)流复制,实现低系统消耗、双向、断点续传、跨平台、跨数据源的复杂复制。 (9)容灾的数据卫士增加了逻辑备

25、份功能,备份数据库日常可以运行于只读状态,充分利用备份数据库。 (10)支持许多新的数据库选件,加强了数据库内部安全管理,如Database Vault工具、数据库活动审计、数据仓库构建等高级功能。 3Oracle 11g与10g版本的区别下面是Oracle 11g与10g版本的区别。(1)11g扩展了Oracle独家具有的提供网格计算优势的功能,来提高用户服务水平、减少停机时间以及更加有效地利用 IT资源,同时还增强全天候业务应用程序的性能、可伸缩性和安全性,利用真正应用测试,尽量降低更改的风险。(2)11g降低了数据库升级以及其他硬件和操作系统更改的成本,显著简化了更改前后的系统测试,以便

26、用户可以识别和解决问题。例如,利用Database Replay在数据库级别轻松捕获实际的生产负载并在测试系统上重新播放,这样有效地全面测试系统更改(包括关键的并发特性)的影响。 (3)利用自学功能自动进行SQL优化、系统全局区和程序全局区的内存缓存区的自动统化,增强了用于分区、数据恢复、流性能和空间管理的访问建议器以及自动数据库诊断监视器方面的功能,提供了Oracle真正应用集群环境中的更好的性能全局视图以及改进的性能比较分析功能。1.2.4 Oracle 11g的新特性Oracle 11g中的“g”是grid的缩写,表示网格。网格计算是一种技术,能对同源、不同计算类型的分布式网络进行无缝的

27、、大规模的扩展,允许不同厂商的计算机共同工作来提供无尽的共享计算机资源。例如,有两台PC机,分别来自不同厂商,内存均为516MB,现系统运行要求1GB的内存,若PC机单独执行肯定不能满足要求,可以通过网格计算和集群技术将两台PC机组合在一起,以满足系统运行需求。Oracle 11g是一个完整的、智能化的新一代Internet基础架构,是新一代的电子商务平台。Oracle 11g电子商务平台实际上是指Oracle数据库11g、Oracle应用服务器11g和Oracle开发工具套件11g的完整集成。Oracle 11g是第一套具有无限可伸缩性与高可用性,并可在集群环境中运行商业软件的互联网数据库,

28、具有400多个领先的数据库功能,在集群技术、高可用性、商业智能、安全性、系统管理等方面都实现了新的突破。作为甲骨文公司长达十年的软件技术研发成果,真正应用集群技术(Real Application Clusters),能够提供近乎无限的扩充能力与整体可用性,为用户带来透明的、高速增长的集群功能。Oracle 11g在由业界标准存储设备和服务器组成的低成本网格上运行,具有卓越的性能、可扩展性、可用性、安全性和易管理性。下面介绍Oracle 11g的一些新特性。1管理(Manageability)Oracle 11g在数据库自动化管理和管理工具等方面得到了进一步的优化和改进。1)自动化(Autom

29、ation)Oracle 11g引入了更多的自助式管理和自动化功能,帮助客户降低系统管理成本。(1)自动的内存管理。Oracle 11g进一步完善了自动的内存管理机制。内存管理一直是DBA的一项重要数据库管理任务,并且随着环境的改变,这项任务常常令DBA感到头疼。Oracle一直不懈地在为DBA减轻管理负担。从Oracle 9i开始,推出自动的PGA管理(PGA_AGGREGATE_ TARGET),再到10g推出自动的SGA管理(SGA_TARGET),直至11g,整个的Oracle内存管理完全实现自动化。DBA只需设定一个参数memory_target,Oracle就能自动管理和调节SGA

30、和PGA的内存分配。(2)自动的健康检查。Oracle 11g进一步增强了自动管理功能。Oracle能够自动地对数据库进行健康检查,对有可能导致数据库在将来出现问题的一些因素给DBA发送警告信息,并针对潜在问题给出一些建议。这种管理方式就是Oracle提出的所谓的前瞻性的数据库管理(Proactive)。在之前,DBA往往是在数据库出现问题时介入,对问题进行处理。这种管理方式是响应式的管理(Reactive)。当数据库出现问题时,即使DBA介入,并且顺利地解决问题,也难免给业务运行带来影响。用户往往希望将一些问题在变严重之前解决掉,从而避免发生大的灾难性事件。Oracle所谓的前瞻性数据库管理

31、即是这么一种理念。仔细深入,会发现从Oracle 11g开始,Oracle数据库加入了很多前瞻性管理的组件和工具。(3)自动地隔离损坏的回滚段。在Oracle 11g中,当某一回滚段发生损坏时,Oracle能自动地将这些回滚段隔离,从而避免后续的事务用到这些损坏的回滚段。2)管理工具在Oracle 11g中,Oracle企业管理器得到进一步增强,增加LOGMINER从重做日志提取事务的图形界面,为使用这一工具检查和回滚事务带来了极大的便利。在Oracle 9i中,企业管理器基于C/S架构,用户如果想要进行日志挖掘,只能调用Oracle提供的接口程 序PL/SQL包,这让一部分想要进行日志查询的

32、用户感到非常不方便。从Oracle 11g开始,Oracle在其基于Web(B/S架构)浏览器的企业管理器(Oracle Enterprise Manager,OEM)中增加了LOGMINER的图形界面,用户可以通过该GUI进行向导式的日志查询,不论是将数据库配置成Database Console还是Grid Control,用户都可以从OEM中获取日志挖掘的图形接口。2可用性(Availability)Oracle 11g在RAC、Data Guard等方面最大限度地提供可用性,Data Guard 提供了一个高效、全面的灾难恢复和高可用性解决方案。在Oracle 10g中,要对STANDB

33、Y数据库进行查询,必须将STANDBY切换过来,在查询时,STANDBY数据库无法同时应用从PRIMARY数据库传过来的重做日志。而在Oracle 11g中,STANDBY数据库可以一边应用重做日志,一边进行实时查询,它不但可以给用户提供冗余的数据保护,还可以用于一些READ-ONLY系统,如报表系统(Report System)、业务智能(BI)、决策支持系统(DSS)等,从而分担主数据库(Primary Database)的工作量,进而提升数据库系统的整体性能。3备份和恢复(Backup and Recovery)Oracle 11g在备份和恢复方面新增了很多功能,在性能、功能性、安全性和

34、可操作性方面都有了不同程度的提高。1)闪回技术的增强Oracle从9i版本开始推出闪回技术(Flashback)。顾名思义,闪回表达的意思是快速的恢复。在之前,要将数据恢复(或者说回退)到之前的某一个时间点(版本),需要动用表空间时间点恢复(Tablespace Point-in-time Recovery,TSPITR)或数据库时间点恢复(Database Point-in-time Recovery,DBPITR)。不论是TSPITR还是DBPITR,其操作难度都非常大,步骤繁琐复杂,需要操作者具备一定的备份恢复知识。闪回技术的推出简化了时间点恢复的步骤,降低了操作的难度。Oracle 9

35、i只推出闪回查询(Flashback Query),用于查询数据在之前某一时间点(基于时间点或系统更改号SCN)的值,也称之为行版本(Row Version)查询。Oracle 11g进一步增强和发展了闪回技术,推出了闪回数据库(Flashback Database)、闪回表(Flashback Table)、闪回删除(Flashback Drop,即通常所称的DDL回退),这使得将数据库回退到某一个时间点或更正用户错误变得简单而方便(如果你曾经有过因为用户不小心错删一个重要表而绞尽脑汁的痛苦经历,就能体会到11g的Flashback Drop的可贵之处)。Oracle 11g进一步增强了闪回

36、技术,推出闪回事务(Flashback Transaction),这是一个非常实用的功能。Flashback Transaction使用户可以回退事务,即使事务已经提交,这对于更正一些用户错误非常有用。例如,用户不小心执行了一些事务,并且在这些事务里对数据库的数据做了一些更改,当用户提交事务后,发现这些更改是错误的,想要回退更改时,Flashback Transaction就发挥作用了。DBA只需要简单地将这些事务闪回,就可以把用户犯下的错误更正过来。在之前的版本中,如果对数据库做了一些配置,虽然也可以综合采用Oracle 11g的Flash Back Database、Flashback T

37、able、Flash Query等功能实现同样的目的,但操作步骤繁多、复杂,需要DBA对相关知识和技术有一定的了解。Oracle 11g的这一新功能大大减轻了操作的复杂度,从而使错误更正变得简单。2)逻辑备份利用Oracle导出工具导出的DUMP文件较大,占用较大磁盘空间。虽然在之前的版本中Oracle也提供压缩的功能,但DUMP文件的压缩比例太小。Oracle 11g进一步改进了DUMP文件的压缩功能,加大了压缩比例,从而减小了磁盘占用空间,进一步节省了数据库备份的成本。4数据库问题诊断(Diagnosability)Oracle 11g在数据库故障诊断方面进一步加强,提供了故障诊断和故障解

38、决的统一框架,建立新的自动诊断信息库。(1)灾难事件打包服务(IPS)。当Oracle数据库出现问题或发生灾难事件时,往往要收集一些相关的信息,如警告日志、跟踪文件、转储信息等,给DBA或Oracle Support人员进行问题分析,以提出解决问题的方案。而对于一些没有多少Oracle经验的技术人员来说,要收集这些信息,必须在DBA或Oracle Support人员的指导下进行,并且完成这些工作须具备一定的Oracle专业知识。Oracle 11g中,这一工作变得简单而自动化。当数据库发生错误或灾难时,Oracle会自动将与错误事件相关的信息(如例程的警告日志内容、进程跟踪文件的内容、发生错误

39、的数据库对象的内部结构等)打包放入到一个事先设定好的目录(该目录称之自动的诊断信息存储库,Automatic Diagnostic Repository,ADR),并且将这些打包好的资料通过FTP等方式传送给DBA或Oracle Support人员。ADR好比飞机上的“黑匣子”,当数据库发生灾难时,可以通过它来找到发生问题的原因,从而提出解决方案。(2)自动诊断信息存储库(ADR)。正如前面所说,ADR好比是Oracle数据库中的“黑匣子”,此处不再赘述。(3)DIAGNOSTIC_DEST参数取代background dump、user dump和core dump参数。Oracle 11g

40、中只需设定DIAGNOSTIC_DEST参数,所有的后台跟踪文件、用户跟踪文件、核心跟踪文件都统一转储到DIAGNOSTIC_DEST目录,不需要再分别设定background_dump_dest、user_dump_dest、core_dump_dest参数。将所有诊断信息统一放到一个目录的好处是方便管理打包。当数据库出现问题时,Oracle Support人员可以在第一时间获得与数据库灾难相关的诊断信息。(4)Support工作台。Oracle 11g提供了Support工作台,用于全面地查看各种数据库诊断信息,并将这些信息打包传送给Oracle Support人员。(5)活动会话历史的增

41、强。活动会话历史(ASH)是描述活动会话的相关信息的接口,DBA可以通过ASH了解到很多活动会话(用户进程)的信息。ASH是Oracle 10g开始推出的,在Oracle 11g中得到增强,显示的信息更加全面、详细。5性能(Performance)Oracle 11g在性能调整与优化方面做了较多的改进,优化了数据库生产效率。1)性能优化(Performance Tuning)Oracle 11g的性能优化得益于数据库引擎的优化,主要体现在自动优化功能、分区计划、SQL执行计划、缓存、索引等方面的性能优化管理。(1)自动的SQL优化功能。事实上,从Oracle 10g开始,Oracle就推出了顾

42、问框架(Advisory Framework),顾问框架由4个组件组成。 SQL Tuning顾问:为有性能问题的SQL语句提供优化建议。 SQL Access顾问:根据SCHEMA对象最新的统计信息,对SQL语句访问路径给出最佳建议。 Segment顾问:监控对象(主要是指表和索引)空间问题和分析增长趋势。 Undo顾问:提供有关回滚表空间管理的建议。例如,根据数据库需要支持闪回到指定的时间或其他回滚确保目标(Undo Guarantee)来给出建议,让DBA设定相关的实例参数以及配置合理的表空间大小来确保达到这一回滚目标。Oracle 11g进一步增强了数据库自动管理、自我优化的功能。所有

43、的这些功能,都是通过一个称为自动数据库诊断监视器(Automatic Database Diagnostic Monitor,ADDM)的工具来实现的,当ADDM侦测到问题SQL时,会自动地调用相应的顾问框架组件,如SQL Tuning Advisor,来对SQL进行自动地优化或给出优化建议。(2)分区顾问。SQL Access Advisor增加了对表和索引的分区顾问。当表或者索引的大小增加到一定程度时,可以调用SQL Access Advisor对如何分区进行评估和分析,以获取最佳的性能。(3)SQL执行计划管理。从Oracle 10g开始就推出了一个新的数据库对象SQL Profile,

44、当优化器生成SQL语句的执行计划时,会参考Profile来生成最佳的计划。事实上这为Oracle的SQL计划管理埋下伏笔。Oracle 11g能够为某一SQL语句管理多个计划。当数据库有变动或者SQL语句产生新的计划时,新的执行计划不一定会立即采用。优化器会根据各种因素,采用一个最佳的执行计划,这确保了SQL语句性能的稳定性。(4)查询结果缓存。查询结果缓存能够大大提升Oracle SQL查询的性能。当然,前提是所发布的是完全一样的SQL语句。这对于那些需反复运行多次的SQL语句的性能非常有益。(5)PL/SQL函数结果缓存。查询结果缓存(Query Result Cache)技术可以使数据库

45、SQL查询的性能获益,同样,Oracle 11g新推出的PL/SQL函数结果缓存技术也可以提升PL/SQL程序的性能。(6)Invisible索引。Invisible索引表示暂时让某一个索引不可见(针对优化器不可见),这提供了一个机制,用于测试某个索引对SQL语句的性能是否有影响,从而评估是否有必要创建此索引。2)性能测试(Performance Test)Oracle 11g提供了许多性能调整优化的测试手段与方法。(1)数据库重演(Database Replay)。我们经常会碰到这种情况,当将开发数据转换为生产数据库、对生产数据库进行了升级(包括软件、硬件的升级)、对数据库的结构进行了变更,

46、改变了一些数据库对象以后,数据库性能明显降低,或者出现了之前没有碰到过的问题。Database Replay提供一种机制,用于在真正变更数据库(针对上面所列的变更事件)之前,先对此次变更对数据库产生的影响进行评估,给出报告以标明潜在的问题,并且提供解决问题的建议。(2)SQL性能分析器和SQL重演(SQL Replay)。Oracle 11g在性能优化和性能测试上花了不少功力。我们经常会遭受这样的困扰,当对数据库做了一些改变,如对数据库进行了升级、修改了一些实例参数或增删了一些索引,原来运行的SQL语句性能明显下降。Oracle 11g针对这种情况推出了SQL性能分析器,它能够让用户在做出改变

47、之前捕获将要应用到的生产环境的真实工作量,然后将捕获到的信息装载到测试环境,让用户能够对将要做出的改变对数据库性能的影响提前有一个分析和评估。事实上,这就是Oracle 11g的SQL重演功能。(3)SQL Test Case Builder。这对于QA和开发人员都非常有用。我们经常会碰到这种情况,某些SQL在开发数据库上没有问题,但在客户的数据库出现问题。开发人员要在自己的数据库中重现这些问题,需要搭建很多环境,并且要模拟客户的操作。这些工作非常繁琐,并且客户数据库中的很多实际环境,如工作量、各种软硬件配置等,并不是那么容易模拟,Oracle 11g提供的新工具SQL Test Case B

48、uilder就是专门用于重建一些测试 案例。6SQL增强Oracle 11g在动态SQL功能方面进一步增强。(1)只读表(Read-Only Tables)。在之前的版本中,如果想让某个表变成Read Only,只能通过给某个User只赋SELECT权限来实现,然而对于表的拥有者(Owner),则始终是可读写的。在Oracle 11g中,这一问题得以解决。可以将表切换为Read Only,这样,表的拥有者也不可以修改表中的数据。(2)PIVOT和UNPIVOT函数。Oracle 11g新增加的PIVOT函数用于将多个行的值转换为单行多个字段,即通常所说的行列转换。UNPIVOT是PIVOT的逆向函数,用于将列转换为行。这两个函数在商务智能(Business Intelligence,BI)和数据仓库中比较有用。7实用工具Oracle 11g增加和补充了许多实用工具与实用接口界面。(1)SQL*Plus BLOB支持。在之前,SQL*Plus中不能够显示BLOB字段的内容,到了Oracle 11g,这一问题得到解决,可以在SQL*Plus中查询BLO

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1