一、ORACLE 软件总体结构
ORACLE 的3个文件
数据文件(DB文件):存放数据字典,用户数据,索引等,由服务程序CCF建立
前映象文件(BI文件):存放未修改的数据与索引的拷贝,用于数据库的向前恢复,并能保持读一致性
后映象文件(AI文件):存放对数据库文件所做修改的拷贝,用于数据库的向后恢复。
ORACLE的4个后台进程
异步超前读(ARH):为那些需要全表扫描的查询,提前将所需数据从数据库文件中拷贝入SGA中的数据缓冲区。ARH与查询数据的用户程序并行进行,提高了查询效率。(init.ora中READ_REQUESTS>=5,才活动)
前映象写(BIW):用于把SGA中的前映象缓冲区的数据拷贝入BI文件,BIW是唯一向BI文件中写数据的进程。
缓冲写(BWR):当数据缓冲区需要空闲空间时,BWR即从SGA的数据缓冲区中把修改过的数据块取出写入到数据库的DB文件和AI文件(若存在)中,BWR亦完成该过程的逆过程。
Clean UP(CLN):该进程周期地扫描系统共享区(SGA)来发现是否有任何异常终止的进程。若有,CLN即会用BI文件来回滚相应未完成事务并撤消该事务。
ORACLE的共享区SGA
SGA是ORACLE系统启动后在内存中创建的一共享区域,其大小由init.ora中的一系列参数决定。
SGA包含的数据结构主要有:数据缓冲区、锁表、列定义缓冲区、表定义缓冲区、进程控制信息、BI缓冲区、用户缓冲区等。
ORACLE的核心代码(DBMS)
DBMS完成数据库管理的基本功能,包括:数据的存储管理;数据的存取管理;恢复和并发控制;安全性控制;SQL语句的优化和执行;DBA实用程序
DBMS内核是一组C语言程序模块集,是共享可重入代码。
二、ORACLE 产品结构
2.1. RDBMS产品结构
其中
SQL语言:
DDL棗数据定义语言
DML棗数据操纵语言
DCL棗数据控制语言
用户实用程序:
Export/Import棗把ORACLE 数据文件传送到某处备份文件中或相反。利用备份文件可在ORACLE 数据库与操作系统之间传送数据。
ODL棗能把ASCII码文件中的数据装入ORACLE 数据库文件中。利用这一工具可实现数据库与dbase、lotus等之间的数据转换。
DBA实用程序:
IOR棗用于启动、停止和初始化ORACLE系统
SGI棗用于结算ORACLE所使用共享内存区
ODS棗用于监视用户和ORACLE系统的运行状况
AIJ棗利用AI文件对数据库进行后映象恢复
2.2 外围产品结构
“SQL”:
SQL * Plus
SQL * Forms
SQL * Calc
SQL * Menu
SQL * Graph
SQL * Report
SQL * Star------SQL * NET, 分布式ORACLE, SQL* connect
SQL * QMX
“EASY”
RDBMS
Easy * SQL
“Pro”
Pro * C
Pro * Cobol
Pro * Fortran
Pro * PL/L
Pro * Pascal
Pro * ADA
2.3 “Easy“产品系列(适合于初学者和不懂计算机者)
Easy * SQL: 友好的数据库用户界面,用户无需了解SQL语言,即可按照Easy * SQL提供的全屏幕表格、菜单、窗口等提示实现对数据库的操作,并可生成数据库报表及统计报表
2.4 “SQL”产品系列(适用于熟练用户和系统管理人员)
SQL * Plus:交互式SQL语言解释器,可使用户在终端上以交互式使用SQL语言来操纵数据库
SQL * Forms:第4代应用开发工具,通过自动产生各种表格,提供给用户使用数据库的一种新的手段。
SQL * Calc:ORACLE决策支持工具,通过将Calc电子报表同ORACLE数据库紧密结合于一体从而完成各种复杂的数据计算、分析、预测工作。
SQL * Menu:自动菜单生成系统,提供用户设计ORACLE应用和其他产品的用户菜单驱动接口,使用户无需编程即可生成所需的菜单提示系统。
SQL * Graph:ORACLE统计图形生成系统,它可以使用户直接利用ORACLE的数据生成扇形图、直方图、曲线图、散射图等各种统计图形表。
SQL * Report:第4代报表自动生成工具。它采用下拉菜单这种友好的界面辅助用户自动生成各种数据库报表,并可以同生成的菜单系统相关联,形成用户的应用系统。
SQL * Star:开放型准分布式RDBMS,由分布式数据库管理系统(Oracle RDBMS),支持多种操作系统和通讯协议的分布式处理环境(SQL * net)以及与非ORACLE RDBMS连接的接口软件(SQL * Connect)3部分组成。
SQL * QMX:交互式SQL语言及QBE(Query-By-Example)语言解释程序,提供用户以交互式使用上述两种语言操纵数据库的能力,并自动产生数据库报表。
SQL * NET:提供对应于各类通讯网络的接口,支持应用程序与网内数据之间的分布处理。
SQL * CONNECT:提供一种网桥功能,使ORACLE用户可以访问本地或远程的非ORACLE数据库,从而提供异型DBMS之间的互相操作性。目前SQL * CONNECT只能提供到IBM SQL/DS和DB2的连接。
2.5 Pro * 系列:
“Pro”产品系列(适用于MIS专业人员和程序员)
Pro *是可编程接口产品,程序员可在高级语言中利用oracle数据库来开发应用程序。对不同的操作系统,ORACLE 支持不同的语言。
三、ORACLE特点
兼容性:ORACLE采用的数据语言SQL与IBM大型关系数据库管理系统SQL/DS和DB2完全兼容。
可移动性:ORACLE通用于近80种微型机、小型机及大型机,应用软件可以移动。
可联结性:ORACLE适用于网络环境,其功能由SQL* Star来实现,可完成远程查询、多点查询并支持多种(微)机型的连接和各种网络规程。
灵活性和数据的独立性:可以动态地改变对数据库结构的描述,增删表,或增加表中列及改变对列的描述。可以建立视图、当数据结构发生变化时不影响视图。
数据的安全性和保密性:建表者可以授予其它访问者权限,定义是否允许查询、插入、删除、修改等操作。使用ORACLE的用户,必须授予对数据库的存取权限。ORACLE 也提供恢复处理,在用户程序失败或系统硬件、软件故障时提供恢复功能。