1、技术目标
2、Oracle简介
3、Oracle主要特点
4、Oracle 9i 体系结构
数据库的体系结构是指数据库的组成、工作过程与原理以及数据在数据库中
的组织与管理机制,Oracle服务器提供开放、全面和综合的信息管理,它由
Oracle数据库 和Oracle实例 组成,如图:
5、Oracle的主要组件
先看一下组件结构图:
在接下来的小节中将逐一介绍各组件
6、什么是Oracle实例?
7、什么是Oracle数据库?
Oracle数据库由文件组成,称为数据库文件,提供实际物理存储区。
Oracle数据库主要用于存储和检索信息,包含"逻辑结构 "和"物理结构 "
8、关于Oracle会话
9、Oracle实例的内存结构是什么?
Oracle实例的内存结构包含两个区 ,如图:
10、Oracle的系统全局区(SGA)
SGA (System Global Area)又称为共享全局区 ,是Oracle实例的一个
基本组件,数据库信息存储于SGA,由多个数据库进程共享,SGA是数
据库中占用服务器内存最大的一个区域,也是影响数据库性能的一个重
要指标,SGA按其作用不同分为:
10.1)共享池:
10.2)数据缓冲区:
10.3)日志缓冲区
11、Oracle的程序全局区, PGA (Program Global Area)
12、Oracle实例进程结构
Oracle实例进程结构图:
Oracle实例进程有几种不同的类型,
12.1)用户进程
用户进程是一个需要与Oracle服务器进行交互的程序,当数据库用户运行一个
应用程序准备向数据库服务器发送请求时,即创建了用户进程,如果用户启动
SQL*Plus时,系统自动建立一个用户进程
12.2)服务器进程
服务器进程用户处理连接到该实例的用户进程的请求,用户建立与数据库的连
接时,即产生服务器进程,该进程为所连接的用户服务,服务器进程直接与
Oracle数据库交互,实现调用和返回结果。服务器进程可以处理多个用户请求
12.3)后台进程 ,如图:
为了充分发挥系统性能以及协调多个用户,Oracle使用了一些附加进程,称为
后台进程。这些进程在Oracle实例启动时自动启动,有5个必须的后台进程:
1.进程监控(PMON) :在用户进程出现故障时执行进程恢复,包括如下任务:
2.系统监控(SMON) :在实例启动时执行实例恢复,包括3个步骤
3.数据写入进程(DBWR)
4.日志写入进程(LGWR)
5.检查点(CKPT)
检查点(checkpoint,简写CKPT)用于保证所有修改过的数据缓冲区都被写入
数据库文件。在给定的时间内,检查点完成后,CKPT进程更新数据文件头和
控制文件,保存检查点信息,以保证数据库的同步。这是为了在数据库恢复时
只需要提供从上一个检查点以来的修改,确定开始恢复数据的位置
12.4)归档进程(ARCH)
归档进程(ARCH),在日志存满时将日志信息写到磁盘,用于
在磁盘故障时的数据库恢复。Oracle数据库有两种运行方式:
在非归档方式下,日志切换时直接覆盖以前的文件,不产生归档日志,
在归档方式下运行,日志切换之前,ARCH进程对已写满的日志文件进
行存档,即使在磁盘损坏的情况下,管理员也能将数据库恢复至故障发
生时的状态,当数据库运行在归档方式时ARCH进程才存在
13、Oracle物理组件
物理组件就是Oracle数据库所使用的操作系统物理文件,可分为三类:
14、Oracle逻辑组件
数据库的逻辑结构是从逻辑的角度分析数据库的组成。Oracle 的逻辑组件包括:
14.1)表空间
create tablespace 表空间名
datafile '文件名' [size integer [K|M]]
[autoextend [OFF|ON]];
14.2)段
14.3)区
14.4)数据块
数据块是Oracle服务器所能分配、读取或写入的最小存储单元
Oracle服务器以数据块为单位管理数据文件的存储空间
14.5)模式
15、Oracle网络配置
Oracle产品安装完成后,服务器和客户端都需要进行网络配置才能实现网络连接
服务器端配置监听器 ,客户端配置网络服务名 ,如图:
16、Oracle的查询分析工具
SQL*Plus :Oracle最常用的工具之一,用于接受和执行SQL命令以及PL/SQL块
iSQL*Plus :可以执行能用SQL*Plus完成的所有任务,能通过浏览器访问它
PL/SQL :是SQL 的扩展,结合了SQL语言的数据操纵能力和过程语言的流程控制能力
Oracle企业管理器:
17、Oracle默认帐号
18、创建新用户
要连接到Oracle数据库,就需要创建一个用户帐户
每个用户都有一个默认表空间和一个临时表空间
语法:
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、总结: