您的位置:首页 > 数据库 > Oracle

Oracle学习笔记一 初识Oracle

2016-05-26 00:00 579 查看

数据库简介

  数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。SQL 是 Structured Query Language(结构化查询语言)的首字母缩写词。

定义

  数据库,简单来说是本身可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、截取、更新、删除等操作。

  数据库指的是以一定方式储存在一起、能为多个用户共享、具有尽可能小的冗余度的特点、是与应用程序彼此独立的数据集合。

  在经济管理的日常工作中,常常需要把某些相关的数据放进这样的“仓库”,并根据管理的需要进行相应的处理。

  例如,企业或事业单位的人事部门常常要把本单位职工的基本情况(职工号、姓名、年龄、性别、籍贯、工资、简历等)存放在表中,这张表就可以看成是一个数据库。有了这个"数据仓库"我们就可以根据需要随时查询某职工的基本情况,也可以查询工资在某个范围内的职工人数等等。这些工作如果都能在计算机上自动进行,那我们的人事管理就可以达到极高的水平。此外,在财务管理、仓库管理、生产管理中也需要建立众多的这种"数据库",使其可以利用计算机实现财务、仓库、生产的自动化管理。[来自百度百科]

Oracle数据库简介

  


  上图是数据库的使用原理,用户通过网络向数据库服务器发送请求,数据库处理请求,再向用户返回数据

Oracle 数据库结构

  


  oracle数据库结构分为物理结构和逻辑结构。

  物理结构:物理组件就是Oracle数据库所使用的操作系统物理文件。我们可以在安装目录下的 product\10.2.0\oradata\orcl 目录下进行查看,在生产环境中不同的文件放在不同的目录,根据用户访问的频繁情况来做决定。

  


  1)、主要物理文件可分为三类:
  i、数据文件:数据文件用于存储数据库数据,如表、索引数据等。
  ii、控制文件:控制文件是记录数据库物理结构的二进制文件。
  iii、在线日志文件:记录对数据库的所有修改信息,用于故障恢复。
  注意:丢失这些文件,数据库不可以继续运行,需要进行介质恢复。

  2)、非主要物理文件包括:
  参数文件、密码文件、告警和跟踪文件、归档日志文件、备份文件。
  参数文件分为pfile文件和spfile文件,位于ORACLE_HOME\DATABASE目录下,9i开始默认不使用sfile文件,如spfileorcl.ora文件。
  密码文件:sys用户密码,位于ORACLE_HOME\DATABASE目录下,如pwdorcl.ora文件。
  查看是否有归档日志:archive log list。
  ORACLE_HOME: D:\dev\oracle\product\10.2.0\db_1
  注意:丢失这些文件,数据库仍然可以继续运行,不需要进行介质恢复。

  逻辑结构:数据库的逻辑结构是从逻辑的角度分析数据库的组成。

  Oracle 的逻辑组件包括:数据库->表空间->段->区->数据库->模式。

  [该两段来自Ruthless文章]

Oracle 实例

  Oracle 实例是后台进程和内存结构的集合

  


Oracle 实例内存  

  当服务器进程启动时分配程序全局区,Oracle 的内存结构包含以下两个内存区

  


  

系统全局区

  数据库信息存储于SGA,由多个数据库进程共享

  


  共享池

共享池是对SQL、PL/SQL程序进行语法分析、编译、执行的内存区域

共享池由库缓存和数据字典缓存组成。

共享池的大小直接影响数据库的性能。

  数据缓冲区

用于存储从磁盘数据文件中读入的数据,所有用户共享。

服务器进程将读入的数据保存在数据缓冲区中,当后续的请求需要这些数据时可以在内存中找到,不需要再从磁盘读取,提高了读取速度。

数据缓冲区的大小对数据库的读取速度有直接的影响。

  日志缓冲区

日志记录数据库的所有修改信息,日志信息首先产生于日志缓冲区。

当日志缓冲区的日志数据达到一定数量时,由后台进程将日志数据写入日志文件中。

相对来说,日志缓冲区对数据库的性能影响较小。

程序全局区

程序全局区(PGA)包含单个服务器进程所需的数据和控制信息

PGA是在用户进程连接到数据库并创建一个会话时自动分配的,保存每个与Oracle 数据库连接的用户进程所需的信息

PGA为非共享区,只能单个进程使用,当一个用户会话结束,PGA释放

Oracle 实例进程

  


  后台进程是Oracle数据库为了保持最佳系统性能和协调多个用户请求而设置的。 Oracle 实例启动时即创建一系列后台进程

  


  PMON 进程监控进程

清理出现故障的进程。

释放所有当前挂起的锁定。

释放故障进程使用的资源。

  SMON 系统监控进程

在实例失败之后,重新打开数据库时自动恢复实例。

整理数据文件的自由空间,将相邻区域结合起来。

释放不再使用的临时段。

  DBWR 数据写入进程

管理数据缓冲区,将最近使用过的块保留在内存中。

将修改后的缓冲区数据写入数据文件中。

  LGWR 日志写入进程

负责将日志缓冲区中的日志数据写入日志文件。

系统有多个日志文件,该进程以循环的方式将数据写入文件。

Oracle 主要组件

  


会话

会话是用户与 Oracle 服务器的单个连接

当用户与服务器建立连接时创建会话

当用户与服务器断开连接时关闭会话

  


Oracle 逻辑组件

  数据库的逻辑结构是从逻辑的角度分析数据库的组成。Oracle 的逻辑组件包括:

  


  


表空间  

表空间是数据库中最大的逻辑单位,一个 Oracle 数据库至少包含一个表空间,就是名为SYSTEM的系统表空间。

每个表空间是由一个或多个数据文件组成的,一个数据文件只能与一个表空间相关联。

表空间的大小等于构成该表空间的所有数据文件大小之和。

  创建表空间的语法是:

  CREATE TABLESPACE tablespacename

  DATAFILE ‘filename’ [SIZE integer [K|M]]

  [AUTOEXTEND [OFF|ON]];

段是构成表空间的逻辑存储结构,段由一组区组成。

按照段所存储数据的特征,将段分为四种类型,即数据段、索引段、回退段和临时段。

区为段分配空间,它由连续的数据块组成。

当段中的所有空间已完全使用时,系统自动为该段分配一个新区。

区不能跨数据文件存在,只能存在于一个数据文件中。

数据块

数据块是Oracle服务器所能分配、读取或写入的最小存储单元。

Oracle服务器以数据块为单位管理数据文件的存储空间。

模式

模式是对用户所创建的数据库对象的总称。

模式对象包括表、视图、索引、同义词、序列、过程和程序包等。

使用 Oracle 数据库的开发流程

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: