第一章 Oracle数据库简介
这章提供了Oracle 数据库的以及下列内容的概述:
什么是关系数据库
Schema 对象有哪些
数据的访问方式
事务管理
Oracle数据库体系结构
Oracle官方文档阅读路径图
什么是关系数据库
每个公司(组织)都有信息要存储和管理,用来满足它的一些需求.举个例子.一个公司必须收集和维护每个员工的人力资源记录.必须保证这些信息的可用性,而信息系统是一个正式的系统用来存储和处理信息
一个信息系统可能是一个纸盒子,有自己的规律用来存放和检索文件夹
不管怎样,在今天,绝大部分公司都使用database(数据库)来自动化他们的信息系统.
database(数据库)是一个将信息处理成一个一个单元的然后收集组织起来
database(数据库)就是用来收集,存储以及检索 应用程序使用的相关数据
数据库管理系统(DBMS)
DBMS是一个用来存储,组织以及检索数据的软件,通常一个DBMS有以下几个元素:
·Kernel code 内核编码
这个编码管理DBMS的内存和存储
·元数据存储库(Repository)
这个存储库(Repository)通常叫 数据字典
·查询语言
这个语言使应用程序可以访问数据(data)
数据库应用程序(databaseapplication)是一个软件程序,通过与数据库(database)交互而访问和操作数据。就是说一个和数据库有交互的应用软件就叫数据库应用程序
第一代DBMS(databasemanagement system) 有下面这些类型:
·Hierarchical
Hierarchical database 将数据组织成一个树状结构,每个父记录有一个或多个子记录,和文件系统的结构很像
·Network(网络)
Network database 和Hierarchicaldatabase很相似,除了记录之间的关系是多对多,而不是 一对多
这些一代DBMS把数据存储成死板的,预先定义好的关系中。因为没有DDL(data definition language)存在,修改数据的结构是非常麻烦,同样,这些系统缺乏一个简单的查询语言,这些都对应用程序的开发造成了阻碍和麻烦。
关系模型(RelationalModel)
在他1970年开创性论文" A Relational Model of Data for Large Shared Data Banks",E.F. Codee(关系数据库之父)定义了一个基于关系模型的数学集合理论.今天,最被广泛接受的数据库模型就是关系模型
关系型数据库(relational database)是一个符合关系模型的数据库,
关系模型主要有以下几个方面:
·结构
明确定义过的对象存储或者访问数据库中的数据。
·操作
清楚定义的动作(actions) 允许应用程序去操作数据和数据库的结构
·完整的规则管理着操作(操作数据和操作结构)
关系型数据库存储数据到一组简单的关系中.relation 是一组元组(tuples),元组(tuple)是一组无序的属性值
表(table)是一个二维关系由行(元组)以及列(属性)表示的东西。表中的每行都有同样的列,关系型数据库是一个将数据存储在relations(tables)的数据库,举个例子,一个关系型数据库可以存储公司雇员信息进employee表,department表,以及salary表。
关系型数据库管理系统(RDBMS)
关系模型是RDBMS的基础.本质上来说,一个RDBMS移动数据进入database,储存数据,以及检索数据。这样这些数据就可以被应用程序所操作,
RDBMS的操作分为以下几种类型:
·逻辑操作(Logical operations)
在这种操作中,应用程序指定什么内容是需要的,举个例子,一个应用程序请求一个雇员名称或者增加个雇员记录到一个表。-也就是说 我只需要告诉你我要什么(what)
·物理操作(Physical operations)
在这种操作中,RDBMS要确认该怎样进行和完成 命令.举个例子,一个应用查询某表,这个数据库可以使用index(索引)去找到要查询的行,读这些数据进入内存(memory),以及执行一堆其他步骤,才能返回结果给应用.因为RDBMS就是负责存储和检索数据的,所以物理操作对于应用来说是透明的-也就是说 应用只要selelct delete xxx 剩下的事数据库自己会搞定
Oracle 数据库就是一个RDBMS. 而实现了面相对象的特性,如用户定义类型,权限继承以及多态(polymorphism,搞不懂啥意思)的RDBMS被成为"object-relationaldatabase management system(ORDBMS)".
Oracledatabase拥有扩展过的关系模型,也就是object-relational model。这使得在关系型数据库中存储复杂的business model 成为了可能。
Oracle简史 -这个要看一看,可以用来出去tree new bee
当前版本的Oracle database 超过30年的创新研发的结果.
而Oracle database进化过程中的亮点包括:
·Oracle的创建
1977年,Larry Ellison(这哥们可真是rich man),Bob Miner 以及Ed Oates 创建了" Software Development Laboratories" ,这是"Relational Software,Inc.(RSI)"的前身,在1983年,RSI又变成了"Oracle Systems Corporation" 以及后来的"OracleCorporation"
·第一版卖钱的RDBMS
1979年,RSI 推出了Oracle V2(Version 2) 这是第一块用来市场销售的 基于sql的RDBMS(Sql-based RDBMS),这是一个在关系型数据库上具有里程碑意义的事件
·Portable version of oracle database(翻译过来是可移植,也就是说可以跨平台的)
Oracle Version 3,在1983年发布。是第一款能同时运行在大型机,小型机,和PC上的关系型数据库,使数据库能够在多种平台运行
·增强版本并发控制,数据分发,以及可扩展性
Version 4 增加了多版本多一致性.Version5发布在1985年,支持了C/S运算以及分布式数据库系统.Version 6 优化了 磁盘I/O,行锁,可扩展性以及备份和恢复,并且 version6引进了PL/SQL,PL/SQL是基于SQL的可程序增强。
·能够存储的程序化的PL/SQL包(以前都是临时包,现在能存进库里了)
Oracle7 在1992年发布,引进了触发器和可存储的PLSQL包
·分区表
Oracle8发布在1997年,是个object-relational database,支持了很多数据类型(data types),另外Oracle8支持了大表的分区
·Internet computing(也就是8i,9i的那个i的来源)
Oracle8i数据库,发布在1999年,本身支持了Internet中的各种协议以及服务端的JAVA支持.Oracle8i 是为了internet computing而设计的,使数据库能部署在多层环境中.
·Oracle Real Application Clusters(Oracle RAC)
Oracle9i数据库增加了Oracle Rac。2001发布。使得多个instance可以同时访问一个database,另外,增加了Oracle XML 数据库(Oracle XML DB),能够存储和查询XML。
·Grid computing
Oracle Database 10g 发布在2003,增加了grid computing.这个版本使的公司可以根据grid infrastructure 将一大堆低成本的服务器虚拟化成一个 计算资源(说的跟真的似的 - -切!),还有一个关键目标是使数据库能够自我管理,以及自我调整(说白了就是自动化了很多),Oracle Automatic Storage Management(Oracle ASM) 帮助完成虚拟花和简单化数据库存储的管理。
·增加了可管理型,可诊断性,以及可用性
Oracle database 11g,发布在2007年,增加了一堆新特性,使得管理员和开发能很快适应不短变化的商业需求.增加适应性的关键是,通过整合信息和尽可能的自动化,简化信息的基础架构
Schema Objects(Schema中有哪些东西)
一个RDBMS的特性就是存储数据 的物理数据存储 和逻辑数据结构是相互独立的。在Oracle Database,一个database schema 是一个容器,里面放着一堆逻辑数据结构(表什么的).一个数据库user拥有且只有一个schema,schema名字和用户名字一样。(不懂来找我)。
SchemaObjects是用户创建的结构,database中数据的具现化,数据库支持很多类型的schema objects,而其中最重要的就是表,和索引。
Tables(表)
一个表描述一个实体 比如 雇员们的信息,你可以定义一个表,表名比如叫employees,以及一堆列,一般情况下,你得给每个列一个列名,一个数据类型(char什么的),以及宽度(比如char(20))
一个表就是一堆行,一个列表示一个实体的属性,其中每行表示一个实体的一例(比如employees表中的一个employee)。
你可以为表的每列指定规则(可选的),这些规则被称为intergrityconstrants(完整性约束).举个例子 "NOT NULL"完整性约束.这个约束强制保证每行的这个列必须有值,不能是空的
Index(索引)
索引是一个可选的数据结构,你可以将它创建在表的一个列或者多个列上。索引可以增加数据检索的速度,当处理一个查询,数据库可以使用索引高效的去定位相关的行.索引用在当应用经常查询指定的行,或者一小部分行时。
索引的逻辑上和物理上独立的数据。因此,你drop和create索引对表和其他indexes是没有影响的.所有的应用程序在你drop索引以后依然有效(不过性能会受到影响,还有这里drop是删除的意思)。
Data Access
DBMS中一个普遍的需求就是遵循和接受行业标准的数据访问语言
Structured Query Language(SQL)
SQL是一个基于数据集的声明式语言,它被用来和RDBMS(如oracledatabase)进行交互。
C语言是程序语言,需要描述这件事该怎样完成,而SQL不是程序语言,它只需要描述需要什么即可。用户只需要指定他们想要的结果(例如,当前公司所有员工的名称),而不是怎样一步一步获取他们,SQL是ANSI为RDBMS定义的标准语言。
在Oracle database中所有对数据的操作都是通过执行SQL来实现的。
SQL语法非常简单,但功能非常强大。
SQL语句是一串字符,例如下面的:
SELECT first_name,last_name FROM employees;
通过SQL语句你可以完成下列任务:
·查询数据
·Insert(插),update(更新)以及delete(删除)表中的行
·Create(创建),replace(替换),alter(更改)以及drop(删除)对象
·控制对数据库以及其中对象的访问(权限控制)
·保证数据库的一致性和完整性
SQL是前面这些任务整合起来的语言。Oracle SQL 是ANSI标准的落实,但Oracle SQL支持很多标准SQL不支持的特性。
PL/SQL and Java
PL/SQL是OracleSQL的程序化扩展.PL/SQL集成Oracle database中的,可以使用Oracle 数据库的 SQL、功能,和数据类型.可以使用PL/SQL来控制SQL程序流,使用变量,以及些错误处理程序
PL/SQL的一个主要好处就是编的东西可以存在数据库本身.procedure 或function是一个schema object。它包括一堆sql以及其他的PL/SQL结构,它们组合在一起,存储进数据库,然后作为一个东西来运行,用来解决指定的问题,或者相关的一些问题。
而这种数据库本身的程序有一个很重要的好处,就是可以部署你想用它的任何地方。
Oracle 数据库也可以保存由Java写的programunits .你可以从Java中调用PL/SQL程序,也可以从PL/SQL中调用Java程序。
事务管理(Transaction Management)
Oracle数据库是多用户数据库,数据库必须保证多用户并发工作,且不会造成数据的不一致损坏。
事务(Transaction)
RDBMS必须可以将一组SQL要么全部提交(committed,意思是操作应用到了数据库),或者全部回滚(rolled back,意思是这一组sql全部不生效).
事务(transaction)是一个逻辑的,原子(意味着不可分割)单元,它包含一个或者多个SQL语句.
下面这是一个需要用到事务的案例,将资金从一个储蓄账户转移到支票账户
这个转移需要分成几个操作:
1、 从储蓄账户里减去
2、 增加到支票账户
3、 记录事务到事务日志
Oracle数据库要保证这三个操作,要么同时成功,要么同时失败,
举个例子:如果一个事务在执行时出现了硬件错误,而导致没有执行完成,则这个事务中的所有语句全部都要回滚(把已经造成的影响消除掉)
事务是将Oracle数据库和文件系统区分开的特性中的一个.如果你执行一个原子操作,它更行了一些文件,因为系统错误导致只更新了一般,则这些文件将不再一致.与之对比,事务会将Oracle数据库 从一个一致性状态变成另一个一致性状态.
事务最基本也是最重要的特性就是"all or nothing(要不就全部搞定,要不就全部搞不定)"
数据并发(Data concurrency)
多用户RDBMS的一个需求就是如何控制并发, 并发指的是多个用户同时访问一个数据.如果没有并发控制,用户修改的数据就是不合适的,会危害数据完整性
举个例子,一个用户更行了一行,而另一个用户又在同一时间更新了他
如果多用户访问同样的数据,则管理并发的方法既是让用户等待(排队).
无论如何,DBMS的一个目标是减少这种等待时间.所有修改数据的SQL语句必须尽可能减少影响.
毁灭性的互相影响,这个是指不争取的更新或者修改底层数据结构导致的,必须避免
Oracle数据库使用锁(locks)来控制数据的并发。lock是用来防止因为不同事物同事访问同一共享资源而导致的毁灭性影响。Locks帮助保证数据的完整性,同事允许最大并发访问数据。
数据一致性(Data Consistency)
在Oracle数据库中,每个用户看到的数据状态必须是一致的,包括用户自己的事务中的显示修改以及别的用户已经提交事务中的修改。
举个例子:数据库必须预防脏读(dirty reads),这个脏读出现在 当一个事务 看到别的用户未提交的并发修改。
Oracle数据库强制执行 statement-level read consistency(语句级读一致性),它保证了单个查询的数据结果是已经提交的,以及一致的在一个时间点上。依赖于事务隔离级别(transaction isolation level),这个时间点是这个语句开始执行的时间。Flashback Query(闪回查询)特性使的你可以显示的指定要查看的是简单(Oracle的一个特性)
数据库也可以对一个事务中的所有查询提供读一致性,被称为"transaction-level read consistency"(事务级读一致性)。
在这种隔离级别中,一个事务中的所有语句看到的数据都是同一个时间点的,这个时间点就是事务开始的时间!
Oracle数据库体系结构
数据库服务器 是信息管理的一个关键,普通情况下,服务器可靠的管理着大量的数据(多用户环境),用户们能同时并发的访问相同的数据,数据库服务器还能阻止非法访问,以及恢复错误。
数据库(Database)和实例(Instance)
一个Oracle数据库服务(server)由一个database和最少一个database Instance组成(通常被简单的称为Instance).
由于一个Instance和一个database紧密联系,
所以 术语 OracleDatabase 在大部分时间就是指 Instance + Database(也就是说,如果不强调的话 Oracle database(数据库)就是指一个instance+database,不懂来问)。
严格意义上讲:
·Database(数据库)
一个database就是在硬盘上的一堆文件,用来存放数据。
·Database Instance(实例)
一个Instance就是一堆内存结构,这些内存结构管理着数据库文件,Instance包括一个共享的内存区域 叫做 system global area(SGA),以及一大堆后台进程.
也就是说:Database 就是磁盘上的那一堆文件(数据文件,日志文件,密码文件等等),严格上讲就叫database.而Instance就是内存里的东西,什么sga,后台进程。RAC就是一个database而多个Instance.
图 1-1显示了一个database以及Instance,每个用户连接到Instance的时候,应用都会运行一个client process(客户端进程,sqlplus之类的),每个客户端进程,在服务器端都有一个与之相关的server process. server process 会划分出自己独享的内存,称之为program global area(PGA)
图 1-1 Oracle Instance和Database
一个数据库可以从物理和逻辑两个角度考虑.
物理数据是指能在操作系统层面看见的.举个栗子,比如Linux操作系统的话 可以用ls显示出数据文件 用ps显示出后台进程.
逻辑数据是比如说表。这东西只有数据库认。一个sql语句可以列出Oracle数据库中所有的表。但是操作系统的工具(ls什么的)是不能列出的。
数据库有physical structures(物理结构)和logicalstructures(逻辑结构)两种.
因为这两种结构是分开的,所以对于物理结构的管理 是不会影响逻辑结构的访问的。举个例子:物理数据文件修改名字,并不会将 在这个文件中存放有数据的表的名字也一起修改。
Database storage Structures(数据库存储结构)
RDBMS必须得能够存储数据。这小节简单介绍一下Oracle 数据库的物理结构和逻辑结构
Physical Storage Structures(物理结构)
物理结构是一大堆存着各种数据的文件.当你执行SQL语句CREATEDATABASE,这下面这些文件会创建:
·Data files(数据文件)
每个Oracle数据库都会有一个或多个物理data files,data files包含数据库中的所有数据.数据库逻辑结构中的数据,比如表和索引中的数据,其实就是物理的存储在data file中的。
·Control Files(控制文件)
每个Oracle数据库都有一个控制文件(可以有多个副本),控制文件包含数据库物理结构信息,包括数据库名字,以及数据库文件的名字和位置.
·Online redo log files(redo日志)
每个数据库都拥有两个或者更多的Online redo log files.redo log中含有redo entries(条目)又称之为redo record(记录),这东西记录了数据的任何一次变化
还有很多重要的其他文件,这些文件包括 parameter files(参数文件),diagnostic files(诊断文件,或者叫trace文件,alert文件).
还有对备份和恢复很重要的离线文件,其中有Backup files(备份文件)以及archived redo log files(归档日志文件,在线日志是循环利用的,在一个在线日志被覆盖以前,可以将其归档起来)
Logical Storage Structures(逻辑结构)
这节讨论逻辑结构,下面这些逻辑结构使得Oracle数据库能更加细致(细粒度)的控制磁盘空间:
·Data blocks(数据块)
这是数据库中最小存储单位,Oracle数据库的数据就是存储在data blocks中的。一个data block对应磁盘上一个指定的大小(2k,4k,8k,16,32k)
·Extents(区)
一个区由一堆连续的块组成,最小的分配单位
·Segments(段)
每个object(例如,表,或索引)就是一个段,由一堆区组成。
·Tablespaces(表空间)
表空间是个容器,里面放着segments,每个表空间最少由一个数据文件构成
表空间其实就是逻辑和物理的交汇处,如果学过Unix的话可以由VG,LV,PV这些理解。一个模式。由数据文件组成表空间,再从表空间上划分段
Database Instance Structures(数据库实例结构)
Oracle database 通过使用内存结构和后台进程来管理和访问database(严格意义上的,一堆文件,还记得吧?).所有的内存结构都存在主机的内存里。
当应用程序连接Oracle database时,它们连接的其实就的
Instance. 实例 通过与 pga 和server process的交互来服务于应用程序。
Oracle Database Processes(Oracle数据库进程)
进程(process)是操作系统的一种机制,用来完成一连串的操作。一些操作系统使用的术语是 job,task,或者thread(线程),按照“用来完成一连串的操作”这个目的来讲,thread和process的意思是一样的。
Oracle database instance的进程有以下几种类型:
·Client processes(客户端进程,运行在客户端机器上的)
比如sqlplus
·Background processes(后台进程)
这些进程,每种都有自己固定的功能,Oracle后台进程都是异步I/O的 and 监控别的Oracle 数据库进程,调整其并行度。
·Server processes(服务进程)
这种进行负责和Client processes通讯,以及交互,满足Client processes的要求。
Oracle processes 包括server process 以及background processes。在大多数环境中,Oracle Processes以及Client processes运行在不同的电脑上。
Instance Memory Structures(实例内存结构)
Oracle 数据库的内存结构都是为了一些目的而创建出来的。比如用户之间共享数据,每个用户都有自己的私有内存区域
下面就是Instance中的内存结构:
·System Global Area(SGA)
SGA是一堆共享的内存结构,包含了一个实例的数据以及各种控制信息(buffer cache,shared pool之类的)
·Program Global Areas(PGA)
PGA是内存区域,每块区域包含了一个Server进程的数据和控制信息。每个Server process以及background process有它自己的PGA。并且是独占访问的,非共享的。
Application and Networking Architecture(应用以及网络体系结构)
为了充分利用给定的计算机系统或者网络,Oracle数据库使处理过程分成两部分,跑着RDBMS的计算机负责处理数据库该干的事情,而跑着应用程序的电脑要处理数据的显示和解释。
Application Architecture(应用体系结构)
应用体系结构指的是一个数据库应用连接一个Oracle数据库时的运行环境
两个用的最多的数据库体系结构是Client/Server和多层(加一个中间件)
在Client/Server体系结构中,
客户端应用启动一个对于数据库的操作请求.
服务端接受并处理从客户端发来的请求。
在传统的多层体系结构中,一个或多个应用服务器会执行应用操作的一部分, 一个应用服务器包括应用逻辑中很大的一部分,提供客户端对数据的访问,并且执行一些查询处理,从而减少了数据库的压力。应用服务器可以作为客户端们以及数据库们的一个中间接口,增加了额外的安全性。
Service-oriented architecture(SOA)面相服务的体系结构。是一种当应用功能封装进services时使用的多层结构
SOA services 通常用在Web Services,WebServices可通过HTTP访问并且基于XML标准,比如Web Services Description Language(WSDL)以及SOAP。
Oracle数据库可以在传统的多层结构或者SOA环境中 作为Web服务的提供者。
Networking Architecture(网络结构)
Oracle Net Services(Oracle网络服务)是数据库和网络通讯协议之间的接口,它促成了分布式处理以及分布式数据库。通讯协议定义了数据在网络中发送和接受的方式。Oracle Net Services支持在大多数网络协议上通讯,包括TCP/IP,HTTP,FTP以及WebDAV.
Oracle Net,Oracle Net Services的一个组件,建立和维护从客户端应用到数据库服务器的网络会话(session)。在网络会话建立好以后,Oracle Net 将作为 客户端与数据库服务器的数据通讯员,传递他们之间的信息。Oracle Net可以执行这些工作是因为它在这条网络涉及到的每个计算机上(比如这里,就是client 和server 每个机器都有Oracle Net)
Oracle Net Services有一个重要的组件是Oracle Net Listener(简称为监听),监听是一个单独的进程,它一般运行在数据库服务器上(也就是有二般的情况,那种以后再讨论)。
客户端应用可以发送连接请求到Listener(监听),监听将这些请求转到数据库服务。
当一个连接已经建立好了,这时客户端和数据库端将直接通讯(不再经过监听)
服务器接受客户端请求最普遍的方式有:
·Dedicated server architecture(专有服务器结构)
每个客户端进程对应一个服务端进程.专有的。每个新的连接都会分配一个专有的服务端进程。
·Shared server architecture(共享服务器结构)
数据库使用一个共享进程池来处理众多的连接,一个客户端进程不再与服务器进程通讯,而是跟dispatcher(调度程序)进行通讯。调度程序个进程,它使的众多的客户端连接到一个instance的时候不需要每个都划分一个单独的服务进程。
Oracle数据库文档阅读地图
这节说明了该为什么阅读,以及怎样阅读联机文档。
对于菜鸟来说,Oracle数据库文档似乎多的让人害怕。不仅有超过175本的手册,而且大部分都超过几百页。
不过,有 设定好的阅读路径 保证用户能尽可能高效的找到他们需要的信息
这些文档分为三层或者三组:基础,中级,高级。用户从基础组开始读起(Oracle Database 2 Day DBA,Oracle Database 2 DayDeveloper's Guide,或者本手册[Concepts]),然后到中级组(the 2 day + 系列),以及最终进入高级手册,高级手册包括了其余的手册
Basic Group基础组
Oracle数据库菜鸟可以选择一本或者多本从头到尾读一遍。属于本组的手册,在设计为在两天内可以读完的。除了这本手册,基础组还包括:
·Oracle Database 2 Day DBA
这本手册是给DBA快速开始的,教你执行日常的数据库管理工作。它教你为了保证数据库可用而需要执行的所有常见的管理任务。包括怎样执行基础的问题解决以及性能监控活动。
·Oracle Database 2 Day Developer's Guide
这本手册是给数据库开发快速开始的,它说明怎样通过SQL和PL/SQL来使用Oracle数据库的基本特性。
基础组的手册都是紧密相连的,这反映在交叉引用的数量上。举个例子,Oracle Database Concepts有很多超链接都是推荐用户进入 2 day 手册中学习怎样执行基于原理的任务。
2 Day 手册频繁的引用Oracle Database Concepts作为操作的概念背景
Intermediate Group 中级组
从基础组出来后,就要进入中级组了。这组的手册都以 2 day + 开头,因为它们是2 day手册的扩展。这些手册是在基础手册的主题上更加的深入,或者一些特殊有趣的主题。
2 Day +的手册也分为DBA(Administrator) 和 数据库开发两组人
Table 1-1Intermediate Group: 2 Day + Guides
Database Administrators |
Database Developers |
Oracle Database 2 Day + Performance Tuning Guide |
Oracle Database 2 Day + Application Express Developer's Guide |
Oracle Database 2 Day + Real Application Clusters Guide |
Oracle Database 2 Day + Java Developer's Guide |
Oracle Database 2 Day + Data Warehousing Guide |
Oracle Database 2 Day + .NET Developer's Guide for Microsoft Windows |
Oracle Database 2 Day + Data Replication and Integration Guide |
Oracle Database 2 Day + PHP Developer's Guide |
Oracle Database 2 Day + Security Guide |
|
Advanced Group 高级组
从中级组出来以后,就要进入高级组了.这些手册意在服务于专家用户。如果专家用户需要比2 Day + 能提供的信息更加细节的东西,或者特别的一些主题。
在高级组中必须参考的有:
·Oracle Database SQL Language Reference
这本手册是Oracle SQL相关信息的权威来源
·Oracle Database Reference
这手册是初始化参数,数据字典,动态性能视图相关信息的权威来源。
高级手册实在太多,不一一列出了,
下表列出的指南都是大多数DBA,数据库开发都偶尔查看的。
Database Administrators |
Database Developers |
Oracle Database Administrator's Guide |
Oracle Database Advanced Application Developer's Guide |
Oracle Database Performance Tuning Guide |
Oracle Database PL/SQL Language Reference |
Oracle Database Backup and Recovery User's Guide |
Oracle Database PL/SQL Packages and Types Reference |
Oracle Real Application Clusters Administration and Deployment Guide |
|
其他高级指南,都是特定用户根据自己的责任范围的特定需求。比如:一个安全职员自然要参看Oracle Database Security Guide。
---------------------------------------------------------------------------------------
Email: orahank.dai@gmail.com
QQ: 88285879