一、oracle体系结构概述。
processes
memory structures
files(物理结构)
实例(instance):一块内存区域(sga)和若干个后台进程(background processes),数据库启动过程:
1、instance start:
申请sga,启动后台进程。
2、mount database database:
打开control file,并启动恢复,同步信息。
3、open database:
可以进行正常的库操作,读系统表及用户表。
sga(system global area):shared_global area,存放oracle系统所需的数据和控制信息。
sgashare pool
lcu share sql area存放sql,pl/sql文本、分析树、执行计划,可以使用户共享执行计划。
dictionary cache:包含数据字典的信息,只能监视。
database buffer cache:存放用户可以访问的数据,用lcu算法管理。
cache hit
cache miss
redo log buffer:存放所有的数据变化(新旧值均包括),为系统恢复所用。
后台进程(background processes):
针对于服务进程而言,不直接为用户服务,必须的后台进程:dbwr
lgwrpmon
smon其余可以根据需要配置:reco
lcknpmn
snpn 非后台进程:
user process(用户进程):在前端运行应用的进程。
server process(服务进程):server建立,用来接收用户sql处理并将结果返回。
pga:当一个用户进程连接到oracle数据库,会话被建立时,系统分配一个内存区,用来存放和某一个用户或服务进程有关的数据和控制信息。是非共享的。
数据库的物理结构。
一个oracle数据库由一个或多个控制文件、数据文件、日志文件组成。
数据文件。
日志文件:为恢复所用。
分组管理:至少有两个日志组,每个日志组至少有两个成员,大小相等,结构一致。
disk1disk2
控制文件(control file):用于描述数据库结构和状态的二进制文件,在mount,open,access时均需要,由control_files参数标识。
其中包括:1. 所有必要的数据库文件和日志文件。
2. 恢复时所需的同步信息。
建议:至少有两个控制文件在不同的硬盘上。
参数文件:instance起动时必须读取的文件,是可编辑的文本文件,主要定制sga的分配及控制文件的位置。
通常需配置的参数:
db_name
control_files
db_block_size: oracle数据块的大小,缺省: 2048
share_pool_size: share pool的大小,缺省:3500000
back_ground_dump_dest:后台进程,跟踪文件的位置。
user_dump_dest:用户跟踪文件的位置。
db_block_buffers: buffer数。
log_buffer
open_cursors
针对不同的应用,可使用不同的参数文件。
警告文件(alert file):系统异常及系统管理操作记录。以堆栈方式进行管理。
跟踪文件(trace file):性能调整时可以用。
oracle instance
二、管理数据库结构。
database entity relationship diagram
概述。oracle server为数据库中所有的数据分配空间,为分配空间定义以下几种对象:
database
filetablespace
segment
extent
block当对象被创建和数据增长时空间被分配,空间按extent分配。
表空间:一个oracle database可以被分成几个小的逻辑区域,这个逻辑区域叫tablespace。
特性:1. 每个表空间由一个或多个操作系统文件组成。
2. 系统运行时可以把表空间从offline状态切换到online状态。
4. 在一个表空间内创建的对象只能在其所属表空间申请空间。
5. 一个段可以由多个属于同一表空间的操作系统文件分配。
使用表空间的好处:
控制用户的空间分配。
利用表空间的切换可以决定数据的可访问性。
分离用户数据和数据字典数据。
分离应用程序数据。
分离回滚段和数据段,防止磁盘损坏造成数据永久丢失。
分布数据的存储,可以提高i/o性能,降低i/o冲突。
执行部分备份和部分恢复。
两类表空间:
1. 系统表空间。
为所有数据库操作所需。
包含数据字典信息及存储过程包及database triggers的定义。
包含系统回滚段。
可以包含用户数据。
数据字典(data dictionary):
一个数据库最重要的部分是数据字典,内容:
* oracle server用户名。
* 每个用户被授予的角色和权限。
* 模式对象的名字和定义。
* 完整性约束。
* 数据库对象的空间分配。
* 数据库结构。
* 审计信息。
* 存储过程和数据库触发器。
2. 非系统表空间。
由回滚段、临时段、应用数据、应用索引、用户空间等组成。
datafile
可以自动修改大小:create database
create tablespace
alter tablespace
segment
由一个或多个extent组成。包含一个表空间的某种逻辑存储结构的所有数据。
段类型:data segment
index segment
index cluster
hash cluster
temporary segment
bootstrap segment
extent:
一个数据文件中的连续的数据库块的集合。当段被创建、增长时,extent被分配用来存储数据。分配的方式由存储参数决定。
存储参数:initial
nextmaxextents
minextents
pctincrease
optimal
freelists
frelist groups
可由以下命令生成:
tabbles
clusters
indexes
rollback segment
tablespaces
database block:
是数据库的最小的存储单元,对应一个或多个磁盘上的物理块,大小由db_block_size决定。
注:database block = logical block = oracle server block = database buffer
控制空间使用即控制块的使用,由以下四个参数管理:
pctfree
pctused
initrans
maxtrans
由analyze命令可以监控块空间的使用及确认一个表、视图、cluster,通过查询data、dictionary可以看exent和segment的使用情况。
user/dba_exitents
user./dba_free_space
user/dba_segments
dba_tablespaces
dba_data_files
通过alter table命令可以完成已使用空间的释放及合并空间。
Oracle培训讲义
一 oracle几个主流运行平台。sun solaris ibm atx 运行最多的平台,需购买专用服务器。hp vxunix tru64 unix 电力 scounix 微机 linux 微机 windows nt 2000 xp 其中任何一版本都可以安装oracle8.1.6企业版。二 应用主流...
ORACLE培训
1 了解oracle 2 机遇oracle进行开发时,发挥oracle的优点 提高开发效率。3 当oracle出现一般故障时能恢复。操作系统 linux redhat as3.0,linux redhat 9.0,linux redhat 8.0 shell环境 bash 数据库服务器 oracle...
oracle培训
oracle系统概述。oracle公司自86年推出版本5开始,系统具有分布数据库处理功能。88年推出版本6,oracle rdbms v6.0 可带事务处理选项 tpo 提高了事务处理的速度。1992年推出了版本7,在oracle rdbms中可带过程数据库选项 procedural databas...