文档介绍:第一部分Oracle数据库概念与原理一、,是数据文件及处理这些数据文件的程序的集合。一个数据库系统必须实现在多用户环境下可靠地管理大量的数据,使得很多用户在并发处理时获得相同的结果,而且必须具有处理数据的高效性、可靠性、安全性和容错性,同时提供简便易用的客户端用户操作过程和应用接入。,采用大型数据库的磁盘空间管理形式,支持大量用户同时操作相同的数据,实现高度可靠性、高度的安全性、高效率和在线备份机制。Oracle数据库适合于各种不同的硬件环境和不同的操作系统,且具有接口方便和控制容易的特性,并支持多点实时复制。二、;存储数据;查询、(DATA)、操作系统(OperationSystem)、数据库服务器部分(OracleServer)、OracleSQLServer程序、Oracle工具(包括SQL*PLUS和很多像Developer2000、designer2000等工具)以及Oracle的各种应用。按照Oracle的对象组成结构来看,Oracle数据库由以下几部分组成:⑴实例(Instance):Oracle实例是一组有自己的系统全局区和与其相关数据库文件的Oracle服务器进程,每个实例都有自己的SID(系统识别符)。⑵对象(Object):由应用程序中的SQL语句引用的表空间、用户、表、视图、索引、权限、DBA(数据库管理员)等。⑶程序:也是Oracle数据库的过程,主要包括客户过程(clientprocesses),根据用户的要求向服务器过程提出需求信息的请求;服务器过程serverprocesses),接收用户过程发出的请求,并根据请求与数据库通信,完成对数据库中数据的处理。⑷文件:包括数据文件(Datafile),存放所有数据库有关的数据。日志文件(LogFile),也称重演日志文件(RedoLogsFile)或事务记录文件(TrasactionLogFile),记录针对数据库进行的修改操作或各种事务,节省数据库直接操作数据文件的时间和次数,提高处理效率。控制文件(ControlFile),存放与Oracle数据库所有文件均相关的关键信息,Oracle数据库通过控制文件保持数据的一致性,以及恢复数据时使用哪些重演日志。每个数据库至少应该有两个以上的控制文件和日志文件备份。⑸内存结构Oracle的内存结构SGA主要是一个通信器,它是一块存放系统信息的内存区域,使得通信过程尽量能够在内存中处理,达到快速度、高效率。所有用户进程和服务器进程都能够访问这个内存结构。SGA区主要分为四块:①DataBufferCache(数据高速缓冲区)中存放着Oracle最近使用过的数据库数据块,当用户一次访问数据时,用户进程从物理磁盘中读取数据后将其放在这个高速缓冲区,下一次或其他用户访问时从缓冲区读取,Oracle数据库根据数据被访问的频度和缓冲区的物理大小通过相应的HASH算法将经常访问的数据保留,而去除不经常访问的数据块。②DictionaryCache(RowCache,字典高速缓冲区)用于保存数据字典中的行,数据字典中存放Oracle系统管理时需要的所有信息,这些信息包括:访问Oracle数据库的用户以及他们访问哪些数据库对象和这些对象所放的位置等。③RedoLogCache(TransactionLogCache,即重演日志缓冲区),任何需要事务在写入到重演日志之前首先放到缓冲区中,然后定期将其写入到重演日志。④ShareSQLPool(共享SQL池)相当于程序高速缓冲区,所有用户的经过语法分析的、准备执行的SQL语句都放在此共享池中。,下面以简单的update操作为例加以说明。先经过系统监视器(SMON)和过程监视器(PMON)检测数据库运行正常,Server进程和Clients进程运行在不同的机器上,彼此通过网络连接,①一个Oracle实例运行在数据库Server主机上,连接到Server主机,Server根据UserProcess的请求启动一个ServerProcess。②用户通过SQL语句向Server发出查询或者修改数据信息的请求,并且提交。③数据库Server进程接到请求后检测SGA区中SharePool中的共享SQL池是否有相同的SQL语句。如果有,Server进程检验用户的合法性,然后执行共享池中的SQL语句;如果没有,Ser