`
xiewanzhi
  • 浏览: 160325 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

第一章 Oracle入门

阅读更多

1、技术目标 

  • 了解 Oracle 体系结构的各种组件
  • 掌握 Oracle 中的基本用户管理
  • 了解 Oracle 的工具


2、Oracle简介 

  • 对象关系型的数据库管理系统 (ORDBMS)
  • 在管理信息系统、企业数据处理、因特网及电子商务等领域使用非常广泛
  • 在数据安全性与数据完整性控制方面性能优越
  • 跨操作系统、跨硬件平台的数据互操作能力


3、Oracle主要特点 

  • 支持多用户、大事务量的事务处理
  • 数据安全性和完整性控制
  • 支持分布式数据处理
  • 可移植性


4、Oracle 9i 体系结构 

数据库的体系结构是指数据库的组成、工作过程与原理以及数据在数据库中
的组织与管理机制,Oracle服务器提供开放、全面和综合的信息管理,它由
Oracle数据库 Oracle实例 组成,如图:

 

  • Oracle数据库:指数据的集合,该集合被视为一个逻辑单元
  • Oracle实例:管理数据库的后台进程和内存结构的集合


5、Oracle的主要组件 

先看一下组件结构图:



在接下来的小节中将逐一介绍各组件

6、什么是Oracle实例? 

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


7、什么是Oracle数据库? 

Oracle数据库由文件组成,称为数据库文件,提供实际物理存储区。
Oracle数据库主要用于存储和检索信息,包含"逻辑结构 "和"物理结构 "

  • 物理结构:包含数据库中的一组文件
  • 逻辑结构:数据库创建后形成的逻辑概念


8、关于Oracle会话 

  • 会话是用户与 Oracle 服务器的单个连接
  • 当用户与服务器建立连接时创建会话
  • 当用户与服务器断开连接时关闭会话


9、Oracle实例的内存结构是什么?
 

Oracle实例的内存结构包含两个区 ,如图:



10、Oracle的系统全局区(SGA) 

SGA (System Global Area)又称为共享全局区 ,是Oracle实例的一个
基本组件,数据库信息存储于SGA,由多个数据库进程共享,SGA是数
据库中占用服务器内存最大的一个区域,也是影响数据库性能的一个重
要指标,SGA按其作用不同分为:

  • 共享池
  • 数据缓冲区
  • 日志缓冲区

    10.1)共享池: 

  • 共享池是对SQL、PL/SQL程序进行语法分析、编译、执行的内存区域
  • 共享池由库缓存和数据字典缓存组成。
  • 共享池的大小直接影响数据库的性能


    10.2)数据缓冲区: 

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

    10.3)日志缓冲区 

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


11、Oracle的程序全局区, 
PGA (Program Global Area) 

  • 包含单个服务器进程所需的数据和控制信息
  • PGA是在用户进程连接到数据库并创建一个会话时自动分配的,保存每个与Oracle 数据库连接的用户进程所需的信息
  • PGA为非共享区,只能单个进程使用,当一个用户会话结束,PGA释放


12、Oracle实例进程结构 

Oracle实例进程结构图:


Oracle实例进程有几种不同的类型,

  • 用户进程:在数据库用户请求连接Oracle服务器时启动(客户端程序)
  • 服务器进程:在用户建立会话并连接Oracle示例时启动(服务端程序)
  • 后台进程:在Oracle实例启动时启动(服务端程序)

    12.1)用户进程

    用户进程是一个需要与Oracle服务器进行交互的程序,当数据库用户运行一个
    应用程序准备向数据库服务器发送请求时,即创建了用户进程,如果用户启动
    SQL*Plus时,系统自动建立一个用户进程

    12.2)服务器进程

    服务器进程用户处理连接到该实例的用户进程的请求,用户建立与数据库的连
    接时,即产生服务器进程,该进程为所连接的用户服务,服务器进程直接与
    Oracle数据库交互,实现调用和返回结果。服务器进程可以处理多个用户请求

    12.3)后台进程 ,如图:
    
    


    为了充分发挥系统性能以及协调多个用户,Oracle使用了一些附加进程,称为
    后台进程。这些进程在Oracle实例启动时自动启动,有5个必须的后台进程:

    1.进程监控(PMON) :在用户进程出现故障时执行进程恢复,包括如下任务:

  • 释放所有当前挂起的锁
  • 回滚用户当前事务处理
  • 释放用户当前使用的资源
  • 重启已经死锁的调用进程和服务进程

     2.系统监控(SMON) :在实例启动时执行实例恢复,包括3个步骤

  • 前滚以恢复未写入数据文件但已记入联机日志文件的数据
  • 打开数据库,以便用户能登录,访问数据
  • 回滚未提交的事务处理
  • 整理数据文件的自由空间
  • 释放不再使用的临时段

    3.数据写入进程(DBWR) 

  • 管理数据缓冲区,以便用户进程能找到空闲的缓冲区
  • 将所有修改后的缓冲区数据写入数据文件
  • 使用LRU(最近最少使用)算法将最近使用过的块保留在内存中
  • 通过延迟写来优化磁盘I/O读写

    4.日志写入进程(LGWR) 

  • 负责将日志缓冲区中的日志写入日志文件组,数据库在运行时,如果对数据
  • 进行修改则产生日志信息,日志信息首先产生于日志缓冲区。此缓冲区按照
  • "先进先出"的原则进行操作,当日志信息达到一定数量时,由LGWR进程将日志数据写入日志文件,通常有多个日志文件,日志写入进程以死循环的方式将数据写入文件

    5.检查点(CKPT)

    检查点(checkpoint,简写CKPT)用于保证所有修改过的数据缓冲区都被写入
    数据库文件。在给定的时间内,检查点完成后,CKPT进程更新数据文件头和
    控制文件,保存检查点信息,以保证数据库的同步。这是为了在数据库恢复时
    只需要提供从上一个检查点以来的修改,确定开始恢复数据的位置
    
    12.4)归档进程(ARCH) 
    归档进程(ARCH),在日志存满时将日志信息写到磁盘,用于
    在磁盘故障时的数据库恢复。Oracle数据库有两种运行方式:

  • 归档(ArchiveLog)方式 (数据库默认运行方式)
  • 非归档(No ArchiveLog)方式

    在非归档方式下,日志切换时直接覆盖以前的文件,不产生归档日志,
    在归档方式下运行,日志切换之前,ARCH进程对已写满的日志文件进
    行存档,即使在磁盘损坏的情况下,管理员也能将数据库恢复至故障发
    生时的状态,当数据库运行在归档方式时ARCH进程才存在
    
13、Oracle物理组件 

物理组件就是Oracle数据库所使用的操作系统物理文件,可分为三类:

  • 数据文件用于存储数据库数据,如表、索引数据等
  • 控制文件是记录数据库物理结构的二进制文件
  • 日志文件记录对数据库的所有修改信息,用于故障恢复


14、Oracle逻辑组件

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




    14.1)表空间 

  • 表空间是数据库中最大的逻辑单位,一个 Oracle 数据库至少包含一个表空间,就是名为SYSTEM的系统表空间
  • 每个表空间是由一个或多个数据文件组成的,一个数据文件只能与一个表空间相关联
  • 表空间的大小等于构成该表空间的所有数据文件大小之和
  • 创建表空间的语法是:

    create tablespace 表空间名
    datafile '文件名' [size integer [K|M]] 
    [autoextend [OFF|ON]];

    14.2)段 

  • 段是构成表空间的逻辑存储结构,段由一组区组成
  • 按照段所存储数据的特征,将段分为四种类型:
    数据段、索引段、回退段和临时段


    14.3)区 

  • 区为段分配空间,它由连续的数据块组成。
  • 当段中的所有空间已完全使用时,系统自动为该段分配一个新区
  • 区不能跨数据文件存在,只能存在于一个数据文件中

    
    14.4)数据块 
    数据块是Oracle服务器所能分配、读取或写入的最小存储单元
    Oracle服务器以数据块为单位管理数据文件的存储空间

    14.5)模式 

  • 模式是对用户所创建的数据库对象的总称 。
  • 模式对象包括表、视图、索引、同义词、序列、过程和程序包等


15、Oracle网络配置 

Oracle产品安装完成后,服务器和客户端都需要进行网络配置才能实现网络连接
服务器端配置监听器 ,客户端配置网络服务名 ,如图:

  • 服务器端监听器配置信息包括监听协议、地址及其他相关信息,配置信息保存在名为listener.ora的文件中,在安装服务器软件时自动配置一个监听器
  • 客户端的网络服务名配置信息包括服务器地址、监听端口号和数据库SID等,与服务器的监听器建立连接。配置信息保存在名为tnsnames.ora的文件中
  • Oracle中的 Net Configuration Assistant和Net Manager工具都能用来配置监听器和网络服务名


16、Oracle的查询分析工具

SQL*Plus :Oracle最常用的工具之一,用于接受和执行SQL命令以及PL/SQL块
iSQL*Plus :可以执行能用SQL*Plus完成的所有任务,能通过浏览器访问它
PL/SQL :是SQL 的扩展,结合了SQL语言的数据操纵能力和过程语言的流程控制能力

Oracle企业管理器:



17、Oracle默认帐号
 

  • SYS :数据库中所有数据字典表和视图都存储在 SYS 模式中,SYS用户主要用来维护系统信息和管理实例
  • SYSTEM :是默认的系统管理员,该用户拥有Oracle管理工具使用的内部表和视图。通常通过SYSTEM用户管理数据库用户、权限和存储等
  • SCOTT :Oracle 数据库的一个示范帐户,在数据库安装时创建


18、创建新用户

要连接到Oracle数据库,就需要创建一个用户帐户
每个用户都有一个默认表空间和一个临时表空间

  • CREATE USER命令用于创建新用户

    语法:
    create user 帐号
    identified by 密码
    default tablespace 表空间
    temporary tablespace 临时表空间;

19、授予权限

权限有两种类型,系统权限 对象权限, 
系统权限允许用户执行某些数据库操作,如创建表就是一个系统权限
对象权限允许用户对数据库对象(如表、视图、序列等)执行特定操作
角色是一组相关权限的组合,可以将权限授予角色,再把角色授予用户,
以简化权限管理

GRANT命令 可用于为用户分配权限 角色


使用1: 为帐号设置CONNECT角色,允许用户连接至数据库
grant connect to 帐号;

使用 2: 为帐号设置RESOURCE角色允许用户使用数据库中的存储空间
grant resource to 帐号;

使用 3: 为帐号设置系统权限允许用户在当前模式中创建序列,此权限包
含在CONNECT角色中
grant create sequence to 帐号;

使用 4: 授予帐号操作表对象的权限
grant select on 表名 to 帐号; 

使用 5: 允许用户更新表中的记录
grant update on 表名 to 帐号;

使用 6: 允许用户插入、删除、更新和查询表中的记录
grant all on 表名 to 帐号;

20、更改和删除用户

alter user 命令可用于更改口令

如, 修改帐号的密码 
alter user 帐号 identified by 密码;

drop user命令用于删除用户
如,删除帐号 
drop user 帐号 cascade;

21、使用Oracle数据库的开发流程 

服务端开发流程:



客户端开发流程:



22、Windows中的Oracle服务:

1.OracleHOME_NAMETNSListener
该服务启动数据库服务器的监听器,监听器接受来自客户端应用程序的连接请求
若监听器未启动,则客户端将无法连接到数据库服务器

2.OracleServiceSID
该服务启动系统标识符为SID的数据库实例,其中 SID 是在安装 Oracle 9i 时输入的数据库名称

3.OracleHOME_NAMEAgent
Oracle企业管理器组件智能代理服务,此智能代理用于执行作业和监控 Oracle 服务或对象的性能
在使用Oracle管理服务器网络的环境中必须启动此服务

4.OracleHOME_NAMEHTTPServer
该服务用于启动Oracle HTTP服务器,它提供文档信息、基于Web的企业管理器和iSQL*Plus等服务

5.OracleHOME_NAMEManagementServer
该服务启动Oracle管理服务器,它用于维护管理控制台对各个被管理服务器节点之间的集中的、智能的和分布式的控制
该服务必须经过企业管理器配置向导配置完成后才创建

23、总结: 

  • Oracle 服务器由Oracle 数据库和 Oracle 实例组成
  • Oracle 实例由系统全局区内存结构和用于管理数据库的后台进程组成
  • Oracle 中用于访问数据库的主要查询工具有 SQL*Plus、iSQL*Plus 和 PL/SQL
  • Oracle 企业管理器是用于管理、诊断和调整多个数据库的工具
  • Oracle 中的 SYSTEM 用户和 SYS 用户具有管理权限,而 SCOTT 用户只有基本的权限
  • Oracle 服务在 Windows 注册表中注册,并由 Windows 操作系统管理

分享到:
评论

相关推荐

    第一章 Oracle入门.pdf

    Oracle数据库是一款由甲骨文公司(Oracle Corporation)开发的商业关系型数据库管理系统(RDBMS),它支持大量数据的存储、检索和管理。在讨论Oracle的必要性时,通常会涉及到数据库的核心操作,即CRUD,这代表创建...

    Oracle 11g第一章Oracle入门及安装

    湖北创科教育 主讲:徐小明老师 本集为Oracle 11g入门篇

    老二牛车第一章上机课Oracle入门.pdf

    本文详细介绍了 Oracle 入门的相关知识点,包括使用 Oracle Enterprise Manager Database Control 管理数据库、创建表空间、配置网络服务名以及使用 SQL*Plus 连接 Oracle 服务器等内容。通过学习这些知识点,初学者...

    北大青鸟Oracle教程集

    第一章 Oracle入门; 第二章 查询和SQL函数; 第三章 锁和表分区; 第四章 数据库对象; 第五章 Oracle 中的 OOP 概念; 第六章 PL/SQL 简介; 第七章 异常和游标管理; 第八章 子程序和程序包; 第九章 数据库...

    oracle从入门到精通明日科技著带目录版

    《Oracle从入门到精通》是由明日科技编著的一本详细介绍Oracle数据库管理的书籍,它主要面向初学者,旨在通过浅显易懂的语言和实际案例教会读者如何使用Oracle 11g数据库进行数据管理。本书共分为18章,内容全面覆盖...

    Oracle PL/SQL从入门到精通 配书教学视频 第一章

    Oracle PL/SQL从入门到精通 配书教学视频 第一章

    老二牛车第一章理论课Oracle入门

    #### 一、Oracle数据库简介 **Oracle**,作为全球领先的中间件和数据库产品供应商,其名字源自古希腊语,意指“神谕”。在中国,由于古代对甲骨上文字的崇拜,Oracle也被翻译为“甲骨文”。 **创始人**:Larry ...

    oracle11g从入门到精通(第二版)-(实例源程序).rar

    在第一章,你将接触到数据库的基本概念,如数据库的定义、Oracle的历史以及数据库系统的架构。了解这些基础知识能帮助你构建对数据库管理系统的整体理解。 第二至第五章,将深入讲解Oracle的安装与配置、SQL语言、...

    Oracle10G数据库应用

    在“第一章Oracle入门”中,我们可能涵盖以下几个关键知识点: 1. **安装与配置**:介绍如何在操作系统上安装Oracle 10G数据库,包括硬件需求、软件安装步骤、数据库实例创建和网络服务配置。 2. **数据库概念**:...

    Oracle 11g SQL和PL SQL从入门到精通 pdf格式电子书 下载(一)

    第一部分 sql和pl/sql相关工具  第1章 在windows 平台上安装oracle database 11g  第2章 配置网络服务名  第3章 使用sql database  第4章 使用sql*plus 第二部分 sql  第5章 sql和pl/sql综述  第6章 简单查询 ...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    第一章 Oracle入门 一、 数据库概述 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前。简单来说是本身可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据...

    Oracle11g从入门到精通2

     Oracle数据库系统是数据库领域最优秀的数据库之一,《Oracle11g从入门到精通》以Oracle最新版本Oracle 11g为蓝本,系统地讲述了Oracle数据库的概念、管理和应用开发等内容。  全书结构合理、内容翔实、示例丰富...

    oracle入门与高级知识ppt

    首先,从“第一章 数据库技术基础.ppt”开始,我们学习数据库的基本原理和概念,包括数据模型(如关系模型)、数据库管理系统的作用以及Oracle在其中的位置。了解这些基础知识对于后续深入学习Oracle至关重要。 接...

    北大青鸟Oracle教程集1

    北大青鸟Oracle教程集第一章 Oracle 入门 Version 3.0 目标 理解与 Oracle 相关的 RDBMS结构 结构 掌握Oracle 数据类型 掌握 掌握数据定义语言 掌握数据操纵语言 掌握事务处理和数据控制命令 Oracle 简介 对象关系...

    北大青鸟Oracle教程集2

    北大青鸟Oracle教程集第一章 Oracle 入门 Version 3.0 目标 理解与 Oracle 相关的 RDBMS结构 结构 掌握Oracle 数据类型 掌握 掌握数据定义语言 掌握数据操纵语言 掌握事务处理和数据控制命令 Oracle 简介 对象关系...

    Oracle入门学习文档toad

    "Oracle入门学习文档toad"是一套专为初学者设计的资料集,它涵盖了Oracle数据库的基础知识,包括数据操作、查询、表和视图、存储过程、函数与包等核心概念。以下是这些章节的主要知识点: 第1章:Oracle基础教程 本...

    信永国际 中文超详细Oracle教程

    第一章 数据库基础 第二章 Oracle入门 第三章 查询基础 第四章 单行函数 第五章 分组函数 第六章 多表查询 第七章 子查询 第八章 高级查询 第九章 数据字典 第十章 Oracle数据类型 第十一章 Oracle体系...

    Oracle 11g 从入门到精通——第一章(视频教程)

    共计8个视频 01 简述Oracle的发展史 02 关系型数据库的基本理论 03 Oracle 11g的新功能 04 Oracle 11g的安装与卸载 05 SQL Plus工具 06 Oracle企业管理器 07 数据库配置助手 08 启动与关闭数据库实例

    oracle 10g入门教程中文版[PPT共12章]

    以上是对这个Oracle 10g入门教程的各章节内容的大致预测,每一章都包含了一系列关键知识点,对于希望踏入Oracle数据库领域的初学者来说,是极好的学习资源。在实际学习过程中,结合实践操作将有助于更好地理解和掌握...

    Oracle 11g 从入门到精通(第二版)

    本教程“Oracle 11g 从入门到精通(第二版)”旨在帮助初学者逐步掌握Oracle数据库的核心概念和技术,同时也适合有经验的DBA提升自己的技能。以下是基于该PPT教程可能涵盖的一些关键知识点: 1. **Oracle数据库基础...

Global site tag (gtag.js) - Google Analytics