《Oracle数据库与实例内存结构介绍》由会员分享,可在线阅读,更多相关《Oracle数据库与实例内存结构介绍(36页珍藏版)》请在金锄头文库上搜索。
1、第一章 Oracle入门 2 目标 了解Oracle体系结构的各种组件掌握Oracle中的基本用户管理了解Oracle的工具了解Oracle的安装和卸载 3 Oracle数据库简介2 1 对象关系型的数据库管理系统 ORDBMS 在管理信息系统 企业数据处理 因特网及电子商务等领域使用非常广泛在数据安全性与数据完整性控制方面性能优越跨操作系统 跨硬件平台的数据互操作能力 Oracle数据库的主要特点支持多用户 大事务量的事务处理数据安全性和完整性控制支持分布式数据处理可移植性 4 Oracle数据库简介2 2 Oracle数据库基于客户端 服务器技术 客户端应用程序通过向服务器请求并接收信息的
2、方式与数据库进行交互 它充当用户与数据库之间的接口 请求 响应 数据库服务器对数据库表进行最佳管理 处理多个客户端对同一数据的并发访问 全面地保持数据完整性 并控制数据库访问权限等安全性需求 网络 5 Oracle9i体系结构 Oracle服务器 Oracle数据库 Oracle实例 Oracle数据库是一个数据的集合 该集合被视为一个逻辑单元 管理数据库的后台进程和内存结构的集合称为Oracle实例 数据库的体系结构是指数据库的组成 工作过程与原理 以及数据在数据库中的组织与管理机制Oracle服务器提供开放 全面和综合的信息管理 它由Oracle数据库和Oracle实例组成 6 Oracl
3、e主要组件 实例内存结构后台进程 PMONSMONDBWRLGWRCKPT其他 数据库 数据文件 数据文件 数据文件 控制文件 控制文件 日志文件 日志文件 参数文件 归档日志文件 口令文件 SGA 用户进程 服务器进程 PGA 共享池 数据缓冲区 日志缓冲区 7 Oracle实例 Oracle实例是后台进程和内存结构的集合 Oracle实例 系统全局区 后台进程 分配 启动 8 Oracle数据库 Oracle数据库由操作系统文件组成 这些文件为数据库信息提供实际物理存储区Oracle数据库包括逻辑结构和物理结构 物理结构 逻辑结构 物理结构包含数据库中的一组操作系统文件 逻辑结构指数据库创
4、建之后形成的逻辑概念之间的关系 Oracle数据库 9 会话 会话是用户与Oracle服务器的单个连接当用户与服务器建立连接时创建会话当用户与服务器断开连接时关闭会话 启动Oracle实例 使用SQL Plus连接至数据库 创建用户进程 创建服务器进程 提交SQL查询 10 Oracle实例内存结构 系统全局区 SGA 程序全局区 PGA Oracle实例启动时分配系统全局区 当服务器进程启动时分配程序全局区 Oracle的内存结构包含以下两个内存区 内存区 11 系统全局区2 1 数据库信息存储于SGA 由多个数据库进程共享 共享池 数据缓冲区 日志缓冲区 SGA的内存结构 12 系统全局区
5、2 2 共享池 共享池是对SQL PL SQL程序进行语法分析 编译 执行的内存区域共享池由库缓存和数据字典缓存组成 共享池的大小直接影响数据库的性能 数据缓冲区 用于存储从磁盘数据文件中读入的数据 所有用户共享 服务器进程将读入的数据保存在数据缓冲区中 当后续的请求需要这些数据时可以在内存中找到 不需要再从磁盘读取 提高了读取速度 数据缓冲区的大小对数据库的读取速度有直接的影响 日志缓冲区 日志记录数据库的所有修改信息 日志信息首先产生于日志缓冲区 当日志缓冲区的日志数据达到一定数量时 由后台进程将日志数据写入日志文件中 相对来说 日志缓冲区对数据库的性能影响较小 13 程序全局区 程序全局
6、区 PGA 包含单个服务器进程所需的数据和控制信息 PGA是在用户进程连接到数据库并创建一个会话时自动分配的 保存每个与Oracle数据库连接的用户进程所需的信息 PGA为非共享区 只能单个进程使用 当一个用户会话结束 PGA释放 14 Oracle实例进程结构 Oracle实例有几种不同类型的进程 它们是 实例进程 用户进程 服务器进程 后台进程 用户进程是一个需要与Oracle服务器进行交互的程序 当用户运行一个应用程序准备向数据库服务器发送请求时 即创建了用户进程 服务器进程用于处理连接到该实例的用户进程的请求 当用户连接至Oracle数据库实例创建会话时 即产生服务器进程 后台进程是O
7、racle数据库为了保持最佳系统性能和协调多个用户请求而设置的 Oracle实例启动时即创建一系列后台进程 15 后台进程2 1 后台进程 PMON 实例的各种后台进程是 SMON DBWR LGWR CKPT 其他 16 后台进程2 2 PMON进程监控进程 释放所有当前挂起的锁定 回滚用户当前事务处理释放用户当前使用的资源 SMON系统监控进程 在实例启动时自动恢复实例 整理数据文件的自由空间 将相邻区域结合起来 释放不再使用的临时段 DBWR数据写入进程 管理数据缓冲区 将最近使用过的块保留在内存中 将修改后的缓冲区数据写入数据文件中 LGWR日志写入进程 负责将日志缓冲区中的日志数据写
8、入日志文件 系统有多个日志文件 该进程以循环的方式将数据写入文件 17 Oracle物理组件 物理组件就是Oracle数据库所使用的操作系统物理文件 物理文件可分为三类 物理组件 数据文件 控制文件 日志文件 数据文件用于存储数据库数据 如表 索引数据等 控制文件是记录数据库物理结构的二进制文件 日志文件记录对数据库的所有修改信息 用于故障恢复 18 Oracle逻辑组件3 1 数据库的逻辑结构是从逻辑的角度分析数据库的组成 Oracle的逻辑组件包括 数据库 表空间 段 区 数据块 模式 19 Oracle逻辑组件3 2 表空间是数据库中最大的逻辑单位 一个Oracle数据库至少包含一个表空
9、间 就是名为SYSTEM的系统表空间 每个表空间是由一个或多个数据文件组成的 一个数据文件只能与一个表空间相关联 表空间的大小等于构成该表空间的所有数据文件大小之和 CREATETABLESPACEtablespacenameDATAFILE filename SIZEinteger K M AUTOEXTEND OFF ON 创建表空间的语法是 20 Oracle逻辑组件3 3 段 段是构成表空间的逻辑存储结构 段由一组区组成 按照段所存储数据的特征 将段分为四种类型 即数据段 索引段 回退段和临时段 区 区为段分配空间 它由连续的数据块组成 当段中的所有空间已完全使用时 系统自动为该段分配
10、一个新区 区不能跨数据文件存在 只能存在于一个数据文件中 数据块 数据块是Oracle服务器所能分配 读取或写入的最小存储单元 Oracle服务器以数据块为单位管理数据文件的存储空间 模式 模式是对用户所创建的数据库对象的总称 模式对象包括表 视图 索引 同义词 序列 过程和程序包等 21 Oracle网络配置2 1 Oracle产品安装完成后 服务器和客户端都需要进行网络配置才能实现网络连接 服务器端配置监听器 客户端配置网络服务名 22 Oracle网络配置2 2 服务器端监听器配置信息包括监听协议 地址及其他相关信息 配置信息保存在名为listener ora的文件中 在安装服务器软件时
11、自动配置一个监听器客户端的网络服务名配置信息包括服务器地址 监听端口号和数据库SID等 与服务器的监听器建立连接 配置信息保存在名为tnsnames ora的文件中Oracle中的NetConfigurationAssistant和NetManager工具都能用来配置监听器和网络服务名 23 Oracle查询工具 Oracle查询工具 SQL Plus iSQL Plus PL SQL Oracle提供的工具非常容易使用 Oracle的查询工具包括 SQL Plus是Oracle最常用的工具之一 用于接受和执行SQL命令以及PL SQL块 iSQL Plus可以执行能用SQL Plus完成的所
12、有任务 该工具的优势在于能通过浏览器访问它 PL SQL是SQL的扩展 PL SQL结合了SQL语言的数据操纵能力和过程语言的流程控制能力 24 Oracle企业管理器 Oracle企业管理器为管理员提供了图形化的用户界面 并集成了管理数据库的工具 25 Oracle默认用户 只有用合法的用户帐号才能访问Oracle数据库Oracle有几个默认的数据库用户 Oracle默认用户 SYS SYSTEM SCOTT 数据库中所有数据字典表和视图都存储在SYS模式中 SYS用户主要用来维护系统信息和管理实例 SYSTEM是默认的系统管理员 该用户拥有Oracle管理工具使用的内部表和视图 通常通过S
13、YSTEM用户管理数据库用户 权限和存储等 SCOTT用户是Oracle数据库的一个示范帐户 在数据库安装时创建 26 创建新用户 要连接到Oracle数据库 就需要创建一个用户帐户每个用户都有一个默认表空间和一个临时表空间CREATEUSER命令用于创建新用户 CREATEUSERusernameIDENTIFIEDBYpassword DEFAULTTABLESPACEtablespace TEMPORARYTABLESPACEtablespace CREATEUSER命令的语法是 CREATEUSERMARTINIDENTIFIEDBYmartinpwdDEFAULTTABLESPACE
14、USERSTEMPORARYTABLESPACETEMP 创建一个名称为martin的用户 其密码为martinpwd 27 授予权限3 1 权限指的是执行特定命令或访问数据库对象的权利权限有两种类型 系统权限和对象权限系统权限允许用户执行某些数据库操作 如创建表就是一个系统权限对象权限允许用户对数据库对象 如表 视图 序列等 执行特定操作角色是一组相关权限的组合 可以将权限授予角色 再把角色授予用户 以简化权限管理 28 授予权限3 2 GRANT命令可用于为用户分配权限或角色 GRANTCONNECTTOMARTIN CONNECT角色允许用户连接至数据库 并创建数据库对象 GRANTRE
15、SOURCETOMARTIN RESOURCE角色允许用户使用数据库中的存储空间 GRANTCREATESEQUENCETOMARTIN 此系统权限允许用户在当前模式中创建序列 此权限包含在CONNECT角色中 29 授予权限3 3 授予用户MARTIN操作TEST表对象的权限 GRANTSELECTONTESTTOMARTIN 允许用户查询TEST表的记录 GRANTUPDATEONTESTTOMARTIN 允许用户更新TEST表中的记录 GRANTALLONTESTTOMARTIN 允许用户插入 删除 更新和查询TEST表中的记录 30 更改和删除用户 ALTERUSER命令可用于更改口令
16、 ALTERUSERMARTINIDENTIFIEDBYmartinpass 修改MARTIN用户的密码 DROPUSER命令用于删除用户 DROPUSERMARTINCASCADE 删除MARTIN用户模式 31 Oracle9i的安装和卸载 通过运行OracleUniversalInstaller来安装和卸载Oracle数据库 选择Oracle9iDatabase9 2 0 1 0来安装数据库服务器 选择Oracle9iClient9 2 0 1 0来安装Oracle客户端 启动UniversalInstaller 选择 卸装产品 选中要卸载的组件 32 使用Oracle数据库的开发流程 服务器端 安装Oracle服务器软件 创建数据库 安装时自动创建 配置监听器 安装时自动配置 启动Oracle实例 自动启动服务 安装Oracle客户端软件 配置网络服务名 以新用户登录Oracle 提交SQL查询 创建新用户并授权 创建用户表空间 客户端 33 Windows中的Oracle服务3 1 Oracle9i的每个实例在Windows中都作为一项服务启动服务是在Windows注册表中注