精华内容
下载资源
问答
  • Oracle数据库简介

    千次阅读 2017-02-24 16:47:58
    Oracle数据库简介 本章提供了Oracle数据库的概述,包含以下部分: 关于关系数据库 架构对象 数据访问 事务管理 Oracle数据库架构 Oracle数据库文档路线图 关于关系...

    1 Oracle数据库简介

    本章提供了Oracle数据库的概述,包含以下部分:

    关于关系数据库

    每个组织都有必须存储和管理以满足其要求的信息。例如,公司必须为其员工收集和维护人力资源记录。此信息必须可供那些需要它的人。一个信息系统是用于存储和处理信息的正式系统。

    信息系统可以是包含马尼拉文件夹的一组纸板箱以及如何存储和检索文件夹的规则。然而,目前大多数公司使用数据库来自动化其信息系统。数据库是作为一个单元被处理的信息的有组织的集合。数据库的目的是收集,存储和检索相关信息供数据库应用程序使用。

    数据库管理系统(DBMS)

    一个数据库管理系统(DBMS)是控制存储,组织,和检索数据的软件。通常,DBMS具有以下元素:

    • 内核代码

      此代码管理DBMS的内存和存储。

    • 元数据存储库

      此存储库通常称为数据字典

    • 查询语言

      此语言使应用程序能够访问数据。

    一个数据库应用程序是一个软件程序,与数据库交互访问和操作的数据。

    第一代数据库管理系统包括以下类型:

    • 分层

      一个层次型数据库以树形结构组织数据。每个父记录都有一个或多个子记录,类似于文件系统的结构。

    • 网络

      一个网络数据库类似于分层数据库,除了记录有许多对多,而不是一对多的关系。

    前面的数据库管理系统以刚性,预定的关系存储数据。因为没有数据定义语言,改变数据的结构是困难的。此外,这些系统缺乏一种简单的查询语言,阻碍了应用程序的开发。

    关系模型

    在他的开创性的1970年的文章“A Relational Model of Data for Large Shared Data Banks”,EF Codd定义了一个基于数学集理论的关系模型。今天,最广泛接受的数据库模型是关系模型。

    一个关系数据库是符合关系模型的数据库。关系模型有以下主要方面:

    • 结构

      良好定义的对象存储或访问数据库的数据。

    • 操作

      明确定义的操作使应用程序能够操作数据库的数据和结构。

    • 完整性规则

      完整性规则控制对数据库的数据和结构的操作。

    关系数据库将数据存储在一组简单关系中。一个关系是一组元组。一个元组是一个无序的属性值。

    一个是按行(元组)和列(属性)的形式的关系的一个二维表示。表中的每一行具有相同的列集合。关系数据库是在关系(表)中存储数据的数据库。例如,关系数据库可以在雇员表,部门表和工资表中存储关于公司雇员的信息。

    也可以看看:

    http://dl.acm.org/citation.cfm?id=362685 摘要并链接到Codd的文章

    关系数据库管理系统(RDBMS)

    关系模型是关系数据库管理系统(RDBMS)的基础本质上,RDBMS将数据移动到数据库中,存储数据,并检索它,以便它可以由应用程序操纵。RDBMS区分以下类型的操作:

    • 逻辑操作

      在这种情况下,应用程序指定需要什么内容。例如,应用程序请求员工姓名或向表中添加员工记录。

    • 物理操作

      在这种情况下,在RDBMS确定如何事情应该做,并且执行操作。例如,在应用程序查询表之后,数据库可以在将结果返回给用户之前使用索引来找到所请求的行,将数据读入存储器,以及执行许多其他步骤。RDBMS存储和检索数据,以便物理操作对数据库应用程序是透明的。

    Oracle数据库是一个RDBMS。实现面向对象特性的RDBMS被称为用户定义类型,继承和多态性一个对象关系型数据库管理系统(ORDBMS) Oracle数据库已将关系模型扩展为对象关系模型,从而可以在关系数据库中存储复杂的业务模型。

    Oracle数据库简史

    当前版本的Oracle数据库是30多年创新开发的结果。Oracle数据库发展的亮点包括:

    • 成立Oracle

      1977年,Larry Ellison,Bob Miner和Ed Oates开始了顾问软件开发实验室,后者成为了Relational Software,Inc.(RSI)。1983年,RSI成为Oracle系统公司,后来成为Oracle公司。

    • 第一种市售RDBMS

      1979年,RSI引入了Oracle V2(版本2)作为第一个基于SQL的RDBMS,这是关系数据库历史上的一个里程碑事件。

    • Oracle数据库的便携版本

      Oracle版本3于1983年发布,是第一个在大型机,小型机和PC上运行的关系数据库。数据库用C编写,使数据库能够移植到多个平台。

    • 增强并发控制,数据分发和可扩展性

      版本4引入了多版本读一致性版本5,1985年发布,支持客户端/服务器计算和分布式数据库系统。版本6对磁盘I / O,行锁定,可伸缩性以及备份和恢复带来了增强。此外,版本6引入了PL / SQL语言的第一个版本,这是SQL的专有过程扩展。

    • PL / SQL存储程序单元

      Oracle7,1992年发布,引入了PL / SQL 存储过程触发器

    • 对象和分区

      Oracle8作为对象关系数据库于1997年发布,支持许多新的数据类型。此外,Oracle8支持对大表进行分区。

    • 互联网计算

      Oracle8 i Database于1999年发布,为互联网协议和Java的服务器端支持提供本机支持。Oracle8 i是为互联网计算设计的,使数据库能够部署在多层环境中。

    • Oracle真正应用集群(Oracle RAC)

      Oracle9 i Database在2001年引入了Oracle RAC,允许多个实例同时访问单个数据库。此外,Oracle XML数据库(Oracle XML DB)引入了存储和查询XML的能力。

    • 网格计算

      Oracle数据库10g在2003年引入了网格计算。此版本使组织能够通过构建基于低成本商品服务器网格基础设施来虚拟化计算资源。一个关键的目标是使数据库自我管理和自我调整。Oracle自动存储管理(Oracle ASM)通过虚拟化和简化数据库存储管理帮助实现了这一目标。

    • 可管理性,可诊断性和可用性

      2007年发布的Oracle Database 11 g引入了许多新功能,使管理员和开发人员能够快速适应不断变化的业务需求。适应性的关键是通过整合信息和尽可能使用自动化来简化信息基础设施。

    也可以看看:

    http://www.oracle.com/technetwork/issue-archive/2007/07-jul/o4730-090772.html 这篇文章总结了Oracle数据库的发展

    架构对象

    RDBMS的一个特征是物理数据存储与逻辑数据结构的独立性。在Oracle数据库中,数据库模式是逻辑数据结构或模式对象的集合数据库模式由数据库用户拥有,并且与用户名具有相同的名称

    模式对象是用户创建的结构,它们直接引用数据库中的数据。数据库支持许多类型的模式对象,其中最重要的是表和索引。

    模式对象是一种类型的数据库对象某些数据库对象(如配置文件和角色)不驻留在模式中。

    也可以看看:

    “模式对象简介”

    表描述了诸如雇员的实体。您可以使用表名(例如employees,和列集)定义表。通常,在创建表时,为每个分配一个名称,一个数据类型和一个宽度。

    表是一组行。列标识由表描述的实体的属性,而标识实体的实例。例如,雇员实体的属性对应于雇员ID和姓氏的列。行标识特定员工。

    您可以选择为表的每个列指定规则。这些规则称为完整性约束一个例子是NOT NULL完整性约束。此约束强制列在每行中包含一个值。

    索引

    一个指数是一个可选的数据结构,可以在一个表中的一个或多个列创建。索引可以提高数据检索的性能。在处理请求时,数据库可以使用可用索引来有效地定位请求的行。当应用程序经常查询特定行或行范围时,索引很有用。

    索引在逻辑上和物理上独立于数据。因此,您可以删除并创建对表或其他索引没有影响的索引。删除索引后,所有应用程序都将继续运行。

    也可以看看:

    “索引概述”

    数据访问

    DBMS的一般要求是遵守数据访问语言的公认行业标准。

    结构化查询语言(SQL)

    SQL是一种基于集合的声明性语言,它为RDBMS(如Oracle数据库)提供接口。与此相反的程序语言,如C,它描述了如何事情应该做的,SQL是无顺序,并说明了什么应该做的。用户指定他们想要的结果(例如,当前员工的姓名),而不是如何导出它。SQL是关系数据库的ANSI标准语言。

    Oracle数据库中的所有数据操作都使用SQL语句执行。例如,您可以使用SQL创建表以及查询和修改表中的数据。SQL语句可以被认为是一个非常简单,但功能强大的计算机程序或指令。SQL语句是一个SQL文本字符串,如下所示:

    SELECT first_name,last_name FROM employees;
    

    SQL语句允许您执行以下任务:

    • 查询数据

    • 在表中插入,更新和删除行

    • 创建,替换,更改和删除对象

    • 控制对数据库及其对象的访问

    • 保证数据库一致性和完整性

    SQL以一致的语言统一上述任务。Oracle SQL是ANSI标准的实现。Oracle SQL支持许多超出标准SQL的功能。

    也可以看看:

    第7章“SQL”

    PL / SQL和Java

    PL / SQL是Oracle SQL的过程性扩展。PL / SQL与Oracle数据库集成,使您能够使用所有Oracle数据库SQL语句,函数和数据类型。您可以使用PL / SQL控制SQL程序的流程,使用变量和编写错误处理过程。

    PL / SQL的主要优点是将应用程序逻辑存储在数据库本身中的能力。 一个PL / SQL过程函数是一个模式对象,由一组SQL语句和其他PL / SQL结构的,组合在一起,存储在数据库中,并运行作为一个单位来解决特定问题或执行一组相关任务。服务器端编程的主要优点是内置功能可以部署在任何地方。

    Oracle数据库还可以存储用Java编写的程序单元。Java存储过程是一种发布到SQL并存储在数据库中供一般使用的Java方法。您可以从PL / SQL中的Java和Java程序调用现有的PL / SQL程序。

    事务管理

    Oracle数据库设计为多用户数据库。数据库必须确保多个用户可以同时工作,而不会破坏彼此的数据。

    交易

    RDBMS必须能够对SQL语句进行分组,以便它们全部提交,这意味着它们应用于数据库,或者全部回滚,这意味着它们将被撤消。一个事务是包含一个或多个SQL语句的逻辑工作,原子单位。

    说明交易的需要是从储蓄账户到支票账户的资金转移。传输由以下单独操作组成:

    1. 减少储蓄帐户。

    2. 增加支票帐户。

    3. 将事务记录在事务日志中。

    Oracle数据库保证所有三个操作成功或失败作为一个单元。例如,如果硬件故障阻止事务中的语句执行,则其他语句必须回滚。

    事务是将Oracle数据库与文件系统分开设置的功能之一。如果您执行更新多个文件的原子操作,并且如果系统中途失败,则文件将不一致。相反,事务将Oracle数据库从一个一致状态移动到另一个。事务的基本原则是“全有或全无”:原子操作作为一个整体成功或失败。

    也可以看看:

    第十章“交易”

    数据并发

    多用户的RDBMS的要求是控制并发,这是相同的数据的多个用户同时访问。如果没有并发控制,用户可能会不当地更改数据,从而影响数据完整性例如,一个用户可以更新行,而不同的用户同时更新它。

    如果多个用户访问相同的数据,那么管理并发性的一种方法是使用户等待。然而,DBMS的目标是减少等待时间,因此它不存在或可忽略。修改数据的所有SQL语句必须尽可能少的干扰。必须避免破坏性交互,即不正确地更新数据或更改基础数据结构的交互。

    Oracle数据库使用锁来控制对数据的并发访问。一个是防止访问共享资源的交易之间的破坏性相互作用的机制。锁定帮助确保数据完整性,同时允许最大并发访问数据。

    数据一致性

    在Oracle数据库中,每个用户必须查看数据的一致视图,包括用户自己的事务和其他用户的已提交事务所做的可见更改。例如,数据库不能允许脏读,当一个事务发生由另一个并发事务发生的未提交的更改时,会发生脏读

    Oracle数据库总是 强制执行语句级读取一致性,这保证单个查询返回的数据提交并与单个时间点保持一致。根据事务隔离级别,此点是语句打开的时间或事务开始的时间。闪回查询功能使您能够显式指定此时间点。

    数据库还可以为事务中的所有查询提供读取一致性,称为事务级读取一致性在这种情况下,事务中的每个语句都会看到来自同一时间点(即事务开始的时间点)的数据。

    Oracle数据库架构

    一个数据库服务器的关键是信息管理。通常,服务器在多用户环境中可靠地管理大量数据,使得用户可以同时访问相同的数据。数据库服务器还防止未经授权的访问,并为故障恢复提供有效的解决方案。

    数据库和实例

    Oracle数据库服务器由数据库和至少一个数据库实例(通常简称为实例)组成。因为实例和数据库是如此紧密连接,所以术语Oracle数据库有时用于指代实例和数据库。在最严格的意义上,术语具有以下含义:

    • 数据库

      数据库是一组位于磁盘上的文件,用于存储数据。这些文件可以独立于数据库实例存在。

    • 数据库实例

      实例是管理数据库文件的一组内存结构。该实例由称为系统全局区域(SGA)的共享内存区域和一组后台进程组成实例可以独立于数据库文件存在。

    图1-1显示了一个数据库及其实例。对于与实例的每个用户连接,应用程序由客户端进程运行每个客户端进程与其自己的服务器进程相关联。服务器进程有自己的专用会话存储器,称为程序全局区(PGA)

    图1-1 Oracle实例和数据库

    图1-1的描述如下
    “图1-1 Oracle实例和数据库”的描述

    可以从物理和逻辑角度来考虑数据库。物理数据是在操作系统级别可查看的数据。例如,操作系统实用程序如Linux lsps可以列出数据库文件和进程。逻辑数据(如表)仅对数据库有意义。SQL语句可以列出Oracle数据库中的表,但操作系统实用程序不能。

    数据库具有物理结构逻辑结构因为物理和逻辑结构是分开的,所以可以在不影响对逻辑存储结构的访问的情况下管理数据的物理存储。例如,重命名物理数据库文件不会重命名其数据存储在此文件中的表。

    数据库存储结构

    关系数据库的基本任务是数据存储。本节简要介绍Oracle数据库使用的物理和逻辑存储结构。

    物理存储结构

    物理数据库结构是存储数据的文件。执行SQL命令CREATE DATABASE时,将创建以下文件:

    • 数据文件

      每个Oracle数据库都有一个或多个物理数据文件,其中包含所有数据库数据。逻辑数据库结构(如表和索引)的数据物理存储在数据文件中。

    • 控制文件

      每个Oracle数据库都有一个控制文件控制文件包含指定数据库物理结构的元数据,包括数据库名称以及数据库文件的名称和位置。

    • 联机重做日志文件

      每个Oracle数据库都有一个联机重做日志,这是一组两个或多个联机 重做日志文件联机重做日志由重做条目(也称为重做记录)组成,记录对数据所做的所有更改。

    许多其他文件对于Oracle数据库服务器的运行很重要。这些文件包括参数文件和诊断文件。备份文件和归档重做日志文件是对备份和恢复很重要的脱机文件。

    逻辑存储结构

    本节讨论逻辑存储结构。以下逻辑存储结构使Oracle数据库能够细粒度控制磁盘空间使用:

    • 数据块

      在最细粒度级别,Oracle数据库数据存储在数据块中。一个数据块对应于磁盘上的特定字节数。

    • 范围

      一个程度是逻辑上连续的数据块的一个特定号码,在一个单一的分配得到的,用于存储一个特定类型的信息。

    • 细分

      一个是一组分配给一个用户对象(例如,表或索引),盘区还原数据,或临时数据。

    • 表空间

      数据库分为称为空间的逻辑存储单元表空间是段的逻辑容器。每个表空间至少包含一个数据文件。

    数据库实例结构

    Oracle数据库使用内存结构和进程来管理和访问数据库。所有存储器结构存在于构成RDBMS的计算机的主存储器中。

    当应用程序连接到Oracle数据库时,它们将连接到数据库实例。实例服务应用程序通过除了SGA之外分配其它存储器区域,并且除后台进程之外还启动其他进程。

    Oracle数据库进程

    一个过程是在一个操作系统,可以运行一系列步骤的机构。某些操作系统使用术语作业任务线程为了讨论的目的,线程相当于一个进程。Oracle数据库实例具有以下类型的进程:

    • 客户端进程

      创建并维护这些进程以运行应用程序或Oracle工具的软件代码。大多数环境具有用于客户端进程的单独的计算机。

    • 后台进程

      这些过程合并了由每个客户端进程运行的多个Oracle数据库程序处理的函数。后台进程异步执行I / O并监视其他Oracle数据库进程,以提供更高的并行性,从而获得更好的性能和可靠性。

    • 服务器进程

      这些进程与客户端进程通信,并与Oracle数据库进行交互以满足请求。

    Oracle进程包括服务器进程和后台进程。在大多数环境中,Oracle进程和客户端进程在单独的计算机上运行。

    也可以看看:

    第15章“过程架构”

    实例内存结构

    Oracle数据库创建和使用内存结构,用于程序代码的内存,用户共享的数据和每个连接用户的私有数据区。以下内存结构与实例相关联:

    • 系统全局区域(SGA)

      SGA是一组共享内存结构,包含一个数据库实例的数据和控制信息。SGA组件的示例包括缓存的数据块和共享的SQL区域。

    • 计划全球领域(PGA)

      PGA是包含用于服务器或后台进程的数据和控制信息的存储器区域。访问PGA是进程独有的。每个服务器进程和后台进程都有自己的PGA。

      也可以看看:

      第14章“内存架构”

    应用和网络架构

    为了充分利用给定的计算机系统或网络,Oracle数据库使处理能够在数据库服务器和客户端程序之间分割。运行RDBMS的计算机处理数据库服务器的职责,而运行应用程序的计算机处理数据的解释和显示。

    应用程序架构

    应用程序体系结构是指数据库应用程序连接到Oracle数据库的计算环境。两个最常见的数据库体系结构是客户端/服务器和多层。

    客户端/服务器体系结构中,客户端应用启动对要在数据库服务器上执行的操作的请求。服务器运行Oracle数据库软件,并处理并发,共享数据访问所需的功能。服务器接收和处理来自客户端的请求。

    在传统的多层架构中,一个或多个应用服务器执行部分操作。应用程序服务器包含大部分应用程序逻辑,提供对客户端的数据的访问,并执行一些查询处理,从而减轻数据库的负载。应用程序服务器可以充当客户端和多个数据库之间的接口,并提供额外的安全级别。

    面向服务的架构(SOA)是一种多层架构,其中应用程序功能被封装在服务中SOA服务通常实现为Web服务。Web服务可通过HTTP访问,并基于基于XML的标准,如Web服务描述语言(WSDL)和SOAP

    Oracle数据库可以充当传统多层或SOA环境中的Web服务提供程序。

    也可以看看:

    网络架构

    Oracle Net Services是数据库和网络通信协议之间的接口,用于促进分布式处理和分布式数据库。通信协议定义了在网络上传输和接收数据的方式。Oracle Net Services支持所有主要网络协议(包括TCP / IP,HTTP,FTP和WebDAV)上的通信。

    Oracle Net是Oracle Net Services的一个组件,用于建立和维护从客户端应用程序到数据库服务器的网络会话。在建立网络会话后,Oracle Net作为客户端应用程序和数据库服务器的数据信使,在它们之间交换消息。Oracle Net可以执行这些作业,因为它位于网络中的每台计算机上。

    Net Services的一个重要组件是Oracle Net Listener(称为侦听器),它是在数据库服务器或网络中其他位置运行的单独进程。客户端应用程序可以向侦听器发送连接请求,该侦听器管理对数据库服务器的这些请求的流量。当建立连接时,客户端和数据库直接通信。

    配置Oracle数据库来处理客户端请求的最常见方法是:

    • 专用服务器架构

      每个客户端进程连接到专用服务器进程。在客户端会话期间,服务器进程不会被任何其他客户端共享。每个新会话都分配了一个专用的服务器进程。

    • 共享服务器体系结构

      数据库使用多个会话的共享进程池。客户端进程与分派器通信,该分派器是使得许多客户端能够连接到相同的数据库实例而不需要每个客户端的专用服务器进程的进程。

    也可以看看:

    Oracle数据库文档路线图

    本节说明如何阅读本手册以及它在整个Oracle数据库文档集中的位置。

    对于新用户,Oracle数据库文档库似乎令人望而生畏。不仅有超过175个手册,而且这些手册中有许多是几百页的长。但是,文档设计具有特定的访问路径,以确保用户能够尽可能高效地找到他们需要的信息。

    文档集分为三个层或组:基本,中间和高级。用户从基本组(Oracle数据库2天DBAOracle数据库2天开发人员指南或本手册)中的手册开始,继续到中间组(2天+系列)中的手册,最后到高级手册,其中包括文档集的其余部分。

    基本组

    对Oracle数据库不熟悉的技术用户首先从基础组中阅读一个或多个手册,从封面到封面。该组中的每个手册设计为在两天内阅读。除本手册外,基本组包括:

    • Oracle数据库2天DBA

      本手册是一个基于任务的DBA快速入门,教您如何执行日常数据库管理任务。它教您如何执行保持数据库可操作所需的所有常见管理任务,包括如何执行基本故障排除和性能监视活动。

    • Oracle数据库2天开发人员指南

      本手册是一个基于任务的数据库开发人员快速入门指南,介绍如何通过SQL和PL / SQL使用Oracle数据库的基本功能。

    基本组中的手册是密切相关的,这反映在交叉引用的数量。例如,Oracle数据库概念经常向用户发送2天手册,以了解如何基于一个概念执行任务。2天的手册经常引用的Oracle数据库概念的有关任务的概念背景。

    中间组

    从基本组开始的下一步是中间组。此组中的手册带有前缀“ 2 Day +”的前缀,因为它们展开并承担2天手册中包含的信息。这些手册涵盖的主题比基本手册更深入,或涵盖特别感兴趣的主题。表1-1所示2天+手册分为DBA和开发人员手册。

    高级组

    从中间组开始的下一步是高级组。这些手册适用于需要有关特定主题的详细信息的专家用户,这些信息可以通过2天+手册提供。高级组中的基本参考手册包括:

    高级指南太多,无法在此部分列出。表1-2列出了大多数专家DBA和开发人员一次或多次使用的指南。

    特定用户所需的其他高级指南取决于该用户的责任区域。例如,安全人员自然会参考“ Oracle数据库安全指南”

    展开全文
  • ORACLE数据库简介

    2010-07-14 15:42:00
    ORACLE数据库简介

    1.1 ORACLE数据库简介
    Oracle简称甲骨文,是一家名声不像微软、IBM那样显赫,但在IT软件业,则是仅次于微软公司的世界第二大软件公司,该公司名称就叫Oracle。 该公司成立于1979年,是加利福尼亚州的第一家在世界上推出以关系型数据管理系统(RDBMS)为中心的一家软件公司。Oracle不仅在全球最先推出 了RDBMS,并且事实上掌握着这个市场的大部分份额。现在,他们的RDBMS被广泛应用于各种操作环境:Windows NT、基于UNIX系统的小型机、IBM大型机以及一些专用硬件操作系统平台。事实上,Oracle已经成为世界上最大的RDBMS供应商,并且是世界上 最主要的信息处理软件供应商。由于Oracle公司的RDBMS都以Oracle为名,所以,在某种程度上Oracle己经成为了RDBMS的代名词。

    Oracle数据库管理系统是一个以关系型和面向对象为中心管理数据的数据库管理软件系统,其在管理信息系统、企业数据处理、因特网及电子商务等领域有着 非常广泛的应用。因其在数据安全性与数据完整性控制方面的优越性能,以及跨操作系统、跨硬件平台的数据互操作能力,使得越来越多的用户将Oracle作为 其应用数据的处理系统。

    Oracle数据库是基于“客户端/服务器”(Client/Server)模式结构。客户端应用程序执行与用户进行交互的活动。其接收用户信息,并向“服务器端”发送请求。服务器系统负责管理数据信息和各种操作数据的活动。

    Oracle数据库有如下几个强大的特性:
     支持多用户、大事务量的事务处理
     数据安全性和完整性的有效控制
     支持分布式数据处理
     可移植性强

    Oracle体系庞大,对于初学者来说,大体上要明白定位思想:
    Oracle大体上分两大块,一块是应用开发,一块是系统管理。
    开发主要是写写存储过程、触发器什么的,还有就是用Oracle的Develop工具做form。有点类似于程序员,需要有较强的逻辑思维和创造 能力。管理则需要对Oracle数据库的原理有深刻的认识,有全局操纵的能力和紧密的思维,责任较大,因为一个小的失误就会丢失整个数据库,相对前者来 说,后者更看重经验。
    因为数据库管理的责任重大,很少公司愿意请一个刚刚接触Oracle的人去管理数据库。对于刚刚毕业的年轻人来说,可以先选择做开发,有一定经验后转型,去做数据库的管理。当然,这个还是要看人个的实际情况来定。

    Oracle的几个专业性网站:
    http://www.oradb.net/default.asp(Oracle技术网)
    http://www.cnoug.org/index.php (ORACLE技术中国用户讨论组)

    1.2 ORACLE数据库的体系结构
    数据库的体系结构是指数据库的组成、工作过程与原理,以及数据在数据库中的组织与管理机制
    1.2.1 ORACLE服务器
    Oracle服务器由Oracle数据库和Oracle实例组成。Oracle数据库是一个数据的集合,该集合被视为一个逻辑单元。在一个装有 Oracle数据库的服务器上,必须运行一系列进程来管理该数据库。这些进程使用大块的内存,这些内存块分别具有与特定任务相关的用途。
    后台进程和内存结构的集合称为Oracle实例。如果要访问数据库中的数据,就需启动该实例。每一个运行的Oracle数据库都与一个Oracle实例相联系。

    1.2.2 ORACLE组件

    实例、用户进程和服务器进程驻留在内存中,而所有其他文件都存储在硬盘上。

     Oracle实例:
    Oracle实例是后台进程和内存结构的集合。必须启动实例才能访问数据库中的数据。Oracle实例启动时,将分配一个系统全局区(SGA)并启动一系列Oracle后台进程。每一个后台进程在数据库中执行不同的任务。一个实例只能打开并使用一个数据库。

     Oracle数据库:
    Oracle数据库由操作系统文件组成,这些文件也称为数据库文件,为数据库信息提供实际物理存储区。Oracle数据库包括逻辑结构和物理结 构。数据库的物理结构包含数据库中的一组操作系统文件。数据库的逻辑结构是指数据库创建之后形成的逻辑概念之间的关系,如表、视图、索引等对象。


     会话:
    会话是用户与Oracle服务器的单个连接。当用户与服务器建立连接时创建会话。当用户与服务器断开连接时关闭会话。当一个数据库用户同时用多个不同的应用程序或从多个终端连接数据库时,则为该用户创建多个并行会话。

     Oracle实例内存结构:
    Oracle的内存结构包含以下两个内存区:

     系统全局区:(SGA):实例启动时分配该内存区。
    Oracle实例的SGA(System Global Area)又称为共享全局区,它用来存储数据库信息,并由多个数据库进程共享。当数据库实例启动时,SGA的内存被自动分配。SGA是数据库中占用服务器 内存最大的一个区域,同时也是影响数据库性能的一个重要指标。SGA按其作用不同,可以分为共享池、数据缓冲区及日志缓冲区。
     共享池
    共享池是对SQL、PL/SQL程序进行语法分析、编译、执行的内存区域
    共享池由库缓存和数据字典缓存组成。
    共享池的大小直接影响数据库的性能。

     数据缓冲区
    用于存储从磁盘数据文件中读入的数据,所有用户共享。
    服务器进程将读入的数据保存在数据缓冲区中,当后续的请求需要这些数据时可以在内存中找到,不需要再从磁盘读取,提高了读取速度。
    数据缓冲区的大小对数据库的读取速度有直接的影响。

     日志缓冲区
    日志记录数据库的所有修改信息,日志信息首先产生于日志缓冲区。
    当日志缓冲区的日志数据达到一定数量时,由后台进程将日志数据写入日志文件中。相对来说,日志缓冲区对数据库的性能影响较小。

     程序全局区:(PGA):服务器进程启动时分配该内存区。
    程序全局区PGA(Program Global Area)包含单个服务器进程或单个后台进程所需的数据和控制信息。PGA是在用户进程连接到数据库并创建一个会话时自动分配的,该区内保留每个与 Oracle数据库连接的用户进程所需的内存。PGA为非共享区,只能单个进程使用,当一个用户会话结束后,PGA释放。

     Oracle实例进程结构:

     用户进程:
    用户进程是一个需要与Oracle服务器进行交互的程序。此进程在数据库用户请求连接Oracle服务器时启动。如用户启动数据库客户端工具SQL *Plus时,系统自动建立一个用户进程。

     服务器进程:
    服务器进程用于处理连接到该实例的用户进程的请求。此进程在用户建立会话并连接Oracle实例时启动。服务器进程直接与Oracle数据库交互,实现调用和返回结果。

     后台进程:
    在Oracle数据库中,为了使系统性能最好和协调多个用户,实例系统中使用一些附加进程,称为后台进程。这些后台进程存在于服务器操作系统中,在实例启动时自动启动。
    常用的几个后台进程如下所示:

     进程监控:(PMON)
    在用户进程出现故障时执行进程恢复。(常见任务见书7)
     系统监控:(SMON)
    在实例启动时执行实例恢复。(常见任务见书7)
     数据写入进程:(DBWR)
    将所有修改后的缓冲区数据写入数据文件。(常见任务见书8)
     日志写入进程:(LGWR)
    将日志缓冲区中的日志数据信息写入日志文件中。
     检查点:(CKPT)
    保证所有修改过的数据库缓冲区数据都被写入数据库文件中。
     归档进程:(ARCH)
    当数据库运行在归档模式下时,产生该进程,用于写归档日志文件。

    1.2.3 ORACLE的物理组件
    数据库的物理组件是指从物理角度分析数据库的组成,也就是Oracle数据库创建后使用的操作系统物理文件。Oracle数据库的物理文件可分为三类,即数据文件、日志文件和控制文件。

     数据文件:(SYSTEM01.DBF/SYSTEM01.ORA)
    数据文件(Data Files)用于存储数据库数据的文件。如表、索引等数据都是存储在数据文件中。每个Oracle数据库有一个或多个物理数据文件。一个数据文件只能与一个数据库关联。
     日志文件:(REDO01.LOG)
    日志文件(Redo Log Files)用于记录对数据库所进行的修改。日志文件主要用于在数据库出现故障时实施数据库恢复。

     控制文件:(CONTROL01.CTL)
    控制文件(Control Files)用于记录数据库物理结构的二进制文件。该文件包含维护和验证数据库完整性的必要信息。

    1.2.4 ORACLE的逻辑组件
    数据库的逻辑组件是从逻辑的角度分析数据库的组成。Oracle对于逻辑结构的描述是通过数据字典存储完成的。Oracle数据库的逻辑组件包括
    表空间、段、区、块和用户模式等。

     表空间(TABLESPACE):
    表空间是数据库中最大的逻辑单位,Oracle数据库采用表空间将相关的逻辑组件组合在一起,一个Oracle数据库至少包含一个表空间。每个表空间由一个或多个数据文件组成,一个数据文件只能与一个表空间相联系。
    在每一个数据库中都有一个名为SYSTEM的表空间,即系统表空间,该表空间是在创建数据库或数据库安装时自动创建的,用于存储系统的数据字典表、程序单元、过程、函数、包和触发器等。
    创建表空间的语法如下:

    扩展数据文件的语法如下:


     段(SEGMENT):
    一个表空间包含一个或多个段。段是一种指定类型的逻辑存储结构一个段由多个区组成。如常用的4类段结构:
    (数据段——索引段——回滚段——临时段)
     区(EXTENT):
    区是磁盘空间分配的最小单位。磁盘按区划分,每次至少分配一个区。区为段分配空间,它由连续的数据块组成。一个区由多个数据块组成,块是进行数据读写操作的最小单元。
     数据块(DATA BLOCK):
    数据块是数据库中最小的数据组织单位与管理单位,Oracle数据库中的数据存储于数据块中。数据块的取值范围在2KB~64KB之间。
     模式(SCHEMA):
    模式是对用户所创建的数据库对象的总称,在Oracle数据库中任何数据库对象都属于一个特定用户,一个用户及其所拥有的对象即称为模式。模式对象包括表、视图、索引、同义词、序列、过程和程序包等。一个用户与相同名称的模式相关联,所以又称为用户模式。
    1.3 登陆到ORACLE
    在Oracle产品安装完成后,客户端为了与数据库服务器连接进行数据访问,必须进行网络连接配置,网络配置包括服务器端配置和客户端配置。
      
     服务器配置:(监听器)
    服务器端配置,是指配置一个监听器。用于监听客户端发过来的连接请求。
    监听器配置包括监听协议、地址以及其它相关的信息参数。
    监听器配置存储在一个名称为listener.ora的配置文件中。
    该文件位于D:/oracle/ora90/network/ADMIN/listener.ora
    默认的监听器监听以下TCP/IP协议地址。

    在安装Oracle数据库软件时,安装程序自动配置一个名称为LISTENER的监听器。监听器对应于windows服务OracleOraHome92TNSListener

     客户端配置:(服务名)
    客户端要与服务器连接请求,则须创建一个网络服务名,该服务名与远程或本地的监听器建立连接,客户用它向服务器端发出连接请求。
    要在一台没有安装Oracle数据库服务器的工作站上连接Oracle服务器,必须单独安装Oracle客户端软件。在客户端创建服务名时,需要 指定网络协议、与协议相关的信息和数据库的SID(全局数据库名)。这些配置信息都存储在tnsnames.ora文件中,保存位置与 listener.ora相同。
    该文件位于D:/oracle/ora90/network/ADMIN/ tnsnames.ora

    ※: [ Oracle中的 Net Configuration Assistant和Net Manager工具都能用来配置监听器和网络服务名 ]

    1.4 ORACLE的应用工具
     Oracle查询工具:(Oracle Query Tools)
     SQL *Plus
     Isql *Plus
     PL/SQL

     Oracle企业管理器:(Oracle Enterprise Manager)
    1.5 用户管理
    在Oracle中,为了加强数据的安全性,用户必须拥有相应的帐号及其权限才可访问Oracle数据库。数据库管理员可以创建允许访问数据库的用户账号,并授予其访问权限,帐号创建后,用户就能根据管理员授予的权限访问Oracle数据库了。
     在Oracle中创建用户:
    当创建一个新数据库时,Oracle将创建一些默认数据库用户及其相应模式。默认使用的用户有如下几个:
    1. SYS:超级用户:——(password:  changle_on_install)
    数据库中所有数据字典和视图都存储在SYS模式中。该用户主要用来维护系统信息和管理实例。在Oracle9i版本中,SYS用户只能以SYSOPER或SYSDBA角色登录系统。

    2. SYSTEM:系统管理员:——(password:  manager)
    SYSTEM用户是Oracle中默认的系统管理员,它拥有DBA权限。通常用于管理数据库的用户、权限和存储等,不建议在该用户模式中创建用户表。

    3. SCOTT:示范帐号:——(password:  tiger)
    该用户在Oracle安装时自动创建。一般作测试和示范用,其有4个示范表。

    Oracle中的CREATE USER命令用于创建新用户。每个用户都有一个默认表空间和一个临时表空间。如果创建时没有指定,Oracle就将SYSTEM设为默认表空间,将TEMP设为临时表空间。
    创建Oracle用户及其权限的语法如下:

     为Oracle用户授权/撤消:
    1:grant——授权
    grant  select,  insert  on  tbtest  to  user1;

    2: grant——with grant option授权并使该用户可以授这些权给其他用户
    grant  select, insert  on  tbtest  to  user1  with grant option

    3: revoke——撤消
    revoke  select,  insert  on  tbtest  from  user1;

     修改用户口令:
    Oracle中的ALTER USER命令可用于更改口令。


     删除用户:
    删除一个用户时,若用户模式中包含有模式对象,则所有这些对象也将立即删除。Oracle中的DROP USER命令可用于删除用户,当用户拥有模式对象时必须使用CASCADE选项以删除所有模式对象。

    1.6 ORACLE的安装与卸载
    (详见Oracle安装图解.xls  与  NT下如何彻底删除Oracle.htm)

    1.7 ORACLE的各种服务
    在windows中Oracle的每个实例都作为一项服务来启动。服务是在
    windows注册表中注册的可执行进程,由windows操作系统管理。
    windows服务对话框中的各项 Oracle 服务如图所示:

    展开全文
  • ORACLE数据库简介

    2020-11-12 16:20:57
    什么是Oracle? Oracle 是甲骨文公司开发的一款关系型数据库,它一款系统可移植性好、使用简单、功能强大的关系型数据库。它为各行业在各类环境下(服务器、...Oracle数据库具有完整的数据库管理功能、完备关系的产

    什么是Oracle?

    Oracle 是甲骨文公司开发的一款关系型数据库,它一款系统可移植性好、使用简单、功能强大的关系型数据库。它为各行业在各类环境下(服务器、虚拟机、微机环境下)可以快速搭建一种高效率、可靠性好、高吞吐量的数据库解决方案。Oracle从1979开始发布Oracle2.0开始到现在Oracle19c,从开始的只是数据存储和查询到后来的分布式、RAC、网络计算、到现在的对云计算的支持,当中经历了很多变迁和计算的提升。

    Oracle特点:

    Oracle数据库具有完整的数据库管理功能、完备关系的产品以及具有分布式处理能力的数据库。它对数据的可靠性、大量性、持久性、共享性提供了一套可靠的解决方案、而且可以轻松支持多用户、大事务量的事务处理。它的优点就是可用性强、可扩展性强、数据安全性强、稳定性高,以及现阶段12C支持分布式数据处理。它提供了一套严禁的逻辑结构、文件结构、相关恢复技术的解释和实现。

    Oracle 数据库结构:

    Oracle数据库实际上是一个数据的物理储存系统,它包括由数据文件(ora/dbf)、参数文件、控制文件、联机日志等物理文件构成的物理结构部分,与由实例,用户,表空间,段,区,块,等部分构成的逻辑结构。

    Oracle用户操作 用户角色CONNECT角色:connect角色是Oracle用户的基本角色,connect权限代表着用户可以和Oracle服务器进行连接,建立session(会 话)。RESOURCE角色:resouce角色是开发过程中常用的角色。 RESOURCE给用户提供了可以创建自己的对象,包括:表、视图、序列、过程、触发器、索引、包、类型等。DBA角色:DBA角色是管理数据库管理员该有的角色。它拥护系统了所有权限,和给其他用户授权的权限。SYSTEM用户就具有DBA权限。用户权限:系统权限:比如:create session可以和数据库进行连接权限、create table、create view 等具有创建数据库对象权限。对象权限:比如:对表中数据进行增删改查操作,拥有数据库对象权限的用户可以对所拥有的对象进行相应的操作

    Oracle数据库

    一个 Oracle只有一个数据仓库,我们可以在这个数据仓库上创建多个数据库实例(你可以看成是数据库的对象),一个实例下,可以创建1个或多个用户,实例数据存储由逻辑结构表空间(多个)构成,一个表空间,由1个或多个数据文件(物理存储文件)构成。

    实例

    一个Oracle实例由一系列的后台进程和内存结构组成。一个数据库可以有多个实例,一般是一个实例。

    用户

    用户是在实例下建立的。不同的实例可以建相同名字的用户。在mysql创建一个新的数据库,而oracle是创建一个新的用户。Mysql的表是创建在库上,Oracle的表是创建在用户上。。

    表空间

    表空间是逻辑单位,由同一个磁盘上的一个或多个数据文件组成。一个数据文件只能属于一个表空间。
    在这里插入图片描述

    展开全文
  • oracle数据库简介

    2018-12-04 19:11:12
    OracleService服务名 :OracleServiceXE 数据库主服务 Oracle服务名TNSListener :OracleXETNSListener 监听服务 1521 5.2 连接oracle服务 用命令行(黑窗口) 权限最高的用户 Sys 管理员用户 System 命令:sqlplus...

    5. Oracle

    5.1 后台的服务

    OracleService服务名 :OracleServiceXE 数据库主服务
    Oracle服务名TNSListener :OracleXETNSListener 监听服务 1521

    5.2 连接oracle服务

    1. 用命令行(黑窗口)
      权限最高的用户 Sys
      管理员用户 System
      命令:sqlplus 用户名/密码
    2. 用网页管理
      http://127.0.0.1:8080/apex/f?p=4950
    3. 用第三方的工具
      plsql developer

    修改oracle(web)服务的端口号
    exec dbms_xdb.sethttpport(8083);
    查看oracle(web)服务的端口号
    select dbms_xdb.gethttpport() from dual;

    5.3 oracle存储结构

    表空间 - 逻辑单位
    SYSTEM 表空间,用来存储系统表
    TEMP 表空间,临时表空间
    USERS 表空间,应用程序使用空间
    表空间下在存储具体的表

    5.4 创建和管理用户

    create user 用户名 identified by 密码;

    create user scott identified by tiger;

    刚创建的用户没有权限,需要授权
    grant 权限 to 用户名;

    grant connect, resource to scott;

    5.5 测试用户 hr

    解锁hr用户
    alter user hr account unlock;
    alter user hr identified by hr;

    5.6 查看有哪些表

    select table_name from user_tables; 查询系统视图

    5.7 查看表结构

    desc 表名

    5.8 建表

    create table 表名(
    列名 数据类型 约束,

    );
    数字类型: Number(有效数字最大位数, 小数点后位数)
    Number(10) 长度最大为10的整数
    Number(10,2) 整数部分最大8位,小数2位

    可变字符类型
    VARCHAR2(最大长度) 注意最大长度按字节处理, 一个汉字一般占3个字节(底层是utf-8)
    NVARCHAR2(最大长度) 这回最大长度按字符为单位处理

    日期
    DATE 可以保存年月日,时分秒
    TIMESTAMP 保留的日期信息更多
    获取当前时间:sysdate, systimestamp

    一般用 number(1) 代表布尔值,0代表false, 非0代表true

    注意:oracle数据库中没有自增列

    5.9 序列 sequence

    create sequence 序列名;
    从序列中获取值
    select 序列名.nextval from dual;
    插入时数据时使用序列
    insert into 表(id, …) values (序列名.nextval, …);

    5.10 dual 表

    只有一行一列, 使用场景:当某个计算或某个函数只想调用一次的时候,必须配合dual表

    select 1+1 from countries; // 返回多行2 ,太浪费
    select 1+1 from dual; // 只会返回一个2

    5.11 rownum 行号

    作用,可以给查询结果做个一编号,
    可以被看做特殊的列(伪列)

    例子: 与 order by 使用时需要注意, 是先编号,再排序,所以结果与我们期望的不同

    (select region_name from regions order by region_name) a

    select rownum, a.region_name from (select region_name from regions order by region_name)a;

    例子: 可以用做比较条件, 只能是< , <=但不能是=, >, >=

    Argentina
    Australia
    Belgium
    Brazil
    Canada
    Switzerland
    China
    Germany
    Denmark
    Egypt

    select rownum, country_name from countries where rownum<10;

    rownum 的应用: 分页

    select c.* from countries c where rownum<=5;

    (select c.*, rownum rn from countries c where rownum <=10) b

    select * from (select c.*, rownum rn from countries c where rownum <=10) b where b.rn > 5;

    完整的写法:三层嵌套子查询配合rownum实现分页
    select * from
    (select a., rownum rn from
    (select * from 表 c order by 排序列) a
    where rownum <= 页号
    每页记录数) b
    where b.rn > (页号-1)*每页记录数

    例:
    select * from
    (select a.*, rownum rn from
    (select * from countries c order by country_name) a
    where rownum <= 15) b
    where b.rn > 10;

    展开全文
  • Oracle 数据库简介

    2018-09-12 15:04:00
    一、数据库的原理 1、数据库简介 a、文件存储方式来持久化数据的弊端:  安全性差,数据丢失,文件误删除  缺乏对数据的整体管理,数据不便修改  数据删除麻烦(数据拷贝并截取文件的大小)  b、DB...
  • oracle数据库简介.docx

    2016-02-24 20:24:59
    第一章Oracle 数据库概述,oracle数据库简介
  • 01.wmv-oracle数据库简介

    2020-04-19 16:49:05
    第一张oracle数据库简介,oracle入门级讲解,适用于初学者,可配套书籍更清晰,首先需要安装数据库,下载oracle软件
  • 1、oracle数据库简介

    2020-05-05 11:57:23
    1.ORACLE数据库简介 数据库指的是存储和管理数据的仓库,是一种文件集合(包括数据文件、临时文件、日志文件和控制文件),我们一般所说的数据库指的是数据库管理系统,一种用于操作数据库的软件,简称DBMS。ORACLE...
  • Oracle数据库 一、Oracle数据库简介 一、Oracle数据库简介
  • Oracle数据库简介1.Oracle数据库介绍2.Oracle数据库3.Oracle实例 1.Oracle数据库介绍 Oracle数据库通常指的是Oracle数据库管理系统,它是管理数据库访问的计算机软件,它由Oracle数据库和Oracle实例构成。 2.Oracle...
  • Oracle数据库简介 Oracle 11g数据库的新特性 1、自助式管理和自动化能力 Oracle 11g数据库新的管理功能包括: 自动SQL和存储器微调 划分顾问组件自动向管理员建议 帮助确定如何对表和索引进行分区以提高性能 增强的...
  • Oracle数据库简介 也许很多人熟悉SQL server,并不是太了解Oracle数据库,这里进行一下简单的介绍 Oracle数据库的创始人是劳伦斯.埃里斯 Oracle数据库能被多个操作系统使用 eg:windows,linux,Solaris,AIX等 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,754
精华内容 2,701
关键字:

oracle数据库简介