一、概论
Oracle 是以高级结构化查询语言(SQL)为基础的大型关系数据库,通俗地讲它是用方便逻辑治理的语言操纵大量有规律数据的集合。是目前最流行的客户/服务器(CLIENT/SERVER)体系结构的数据库之一。
二、特点
1、ORACLE7.X以来引入了共享SQL和多线索服务器体系结构。这减少了ORACLE的资源占用,并增强了ORACLE的能力,使之在低档软硬件平台上用较少的资源就可以支持更多的用户,而在高档平台上可以支持成百上千个用户。
2、提供了基于角色(ROLE)分工的安全保密治理。在数据库治理功能、完整性检查、安全性、一致性方面都有良好的表现。
3、支持大量多媒体数据,如二进制图形、声音、动画以及多维数据结构等。
4、提供了与第三代高级语言的接口软件PRO*系列,能在C,C++等主语言中嵌入SQL语句及过程化(PL/SQL)语句,对数据库中的数据进行操纵。加上它有许多优秀的前台开发工具如 POWER BUILD、SQL*FORMS、VISIA BASIC 等,可以快速开发生成基于客户端PC 平台的应用程序,并具有良好的移植性。
5、提供了新的分布式数据库能力。可通过网络较方便地读写远端数据库里的数据,并有对称复制的技术。
三、存储结构
1、物理结构
ORACLE数据库在物理上是存储于硬盘的各种文件。它是活动的,可扩充的,随着数据的添加和应用程序的增大而变化。
下图为ORACLE数据库扩充前后在硬盘上存储结构的示意图:
2、逻辑结构
ORACLE数据库在逻辑上是由许多表空间构成。主要分为系统表空间和非系统表空间。非系统表空间内存储着各项应用的数据、索引、程序等相关信息。我们预备上马一个较大的ORACLE应用系统时,应该创建它所独占的表空间,同时定义物理文件的存放路径和所占硬盘的大小。
下图为ORACLE数据库逻辑结构与物理结构的对照关系:
四、分布式数据库治理介绍
1、原理
物理上存放于网络的多个ORACLE数据库,逻辑上可以看成一个单个的大数据库。
用户可以通过网络对异地数据库中的数据同时进行存取,而服务器之间的协同处理对于工作站用户及应用程序而言是完全透明的:开发人员无需关心网络的连接细节、无需关心数据在网络接点中的具体分布情况、也无需关心服务器之间的协调工作过程。
下图为ORACLE分布式数据库原理示意图:
2、过程
由网络相连的两个ORACLE数据库之间通过数据库链接(DB-LINKS)建立访问机制,相当于一方以另一方的某用户远程登录所做的操作。但ORACLE采用的一些高级治理方法,如同义词(SYNONME)等使我们觉察不到这个过程,似乎远端的数据就在本地。数据库复制技术包括:实时复制、定时复制、储存转发复制。对复制的力度而言,有整个数据库表的复制,表中部分行的复制。在复制的过程中,有自动冲突检测和解决的手段。