Oracle的大体框架,Oracle框架
Oracle的物理结构包括:参数文件、控制文件、数据文件、重做日志文件、归档文件、口令文件组成。
1.1参数文件
包括大量影响Oracle数据库实例功能的设定,如以下设定:
数据库控制文件的定位
Oracle用来缓存从磁盘上读取的数据的内存数量
默认的优化程序的选择.
和数据库文件相关,执行两个重要的功能:
为数据库指出控制文件
为数据库指出归档日志的目标
1.2控制文件
包含维护和验证数据库完整性的必要信息、例如,控制文件用于识别数据文件和重做日志文件,一个数据库至少需要一个控制文件。
Oracle可以使用多重控制文件,即同时维护多个完全相同的控制文件,以防止控制文件损坏造成的数据库故障。
控制文件内容:
数据库名
表空间信息
所有数据文件的名字和位置
所有redo日志文件的名字和位置
当前的日志序列号
检查点信息
关于redo日志和归档的当前状态信息
控制文件使用过程:
当一个实例要启动的时候,oracle从参数文件中读取控制文件的名字和位置,然后在数据库建立的时候,打开控制文件,在打开数据库的时候,从控制文件中读取数据文件的列表并打开其中每个文件。
1.3数据文件
一个数据文件只属于一个数据库,一个或多个数据文件形成了数据库中的一种逻辑结构-表空间。
当需要时,数据文件中的数据通过数据库操作被读出,并缓存于oracle的内存中。
1.4重做日志文件
重做日志文件:含对数据库所做的更改记录,这样万一出现故障可以启用数据恢复。一个数据库至少需要两个重做日志文件,组成数据库的重做日志。
1.5归档文件
是重做日志文件的脱机副本,这些副本可能对于从介质失败中进行恢复很必要。
1.6口令文件
认证哪些用户有权限启动和关闭Oracle例程.
ORACLE是一个可移植的数据库——它在相关的每一个平台上都可以使用,即所谓的跨平台特性。在不同的操作系统上也略有差别,如在UNIX/LINUX上,ORACLE是多个进程实现的,每一个主要函数都是一个进程;而在Windows上,则是一个单一进程,但是在该进程中包含多个线程。但是从整体构架上来看,ORACLE在不同的平台上是一样的,如内存结构、后台进程、数据的存储。
一个运行着的ORACLE数据库就可以看成是一个ORACLE SERVER,该SERVER由数据库(Database)和实例(Instance)组成,在一般的情况下一个ORACLE SERVER包含一个实例和一个与之对应的数据库,但是在特殊情况下,如8i的OPS,9i的RAC,一个SERVER中一个数据库可以对应多个实例。
一系列物理文件(数据文件,控制文件,联机日志等)的集合或与之对应的逻辑结构(表空间,段等)被称为数据库,简单的说,就是一系列与磁盘有关系的物理文件的组成。ORACLE内存结构和后台进程被成为数据库的实例,一个实例最多只能安装(Mount)和打开(Open)在一个数据库上,负责数据库的相应操作并与用户交互。
Oracle内存结构主要可以分共享内存区与非共享内存区,共享内存区主要包含SGA(System Global Area),非共享内存区主要由PGA(Program Global Area)组成。
后台进程是Oracle的程序,用来管理数据库的读写,恢复和监视等工作。Server Process主要是通过他和user process进行联系和沟通,并由他和user process进行数据的交换。在Unix机器上,Oracle后台进程相对于操作系统进程,也就是说,一个Oracle后台进程将启动一个操作系统进程;在Windows机器上,Oracle后台进程相对于操作系统线程,打开任务管理器,我们只能看到一个ORACLE.EXE的进程,但是通过另外的工具,就可以看到包含在这里进程中的线程。
如果是java软件开发的话,初学者对于SSH框架是必须的。数据库方面差不多够了,主要缺乏实际经验而已。
数据库单方面工作的话,PL编程、数据库基本引用(包括定时器、自定义方法、存储过程、视图等)、数据库效率优化(如:oracle中的表分区技术)。最重要的一点是在不同的系统中对数据库熟练操作(windows、aix、LINUX等),vi命了肯定是要能熟练操作的咯。。。
希望能帮到你~