Oracle数据库主要由两大组件构成:
 
实例:进程与内存结构。
数据库:操作系统文件。
 
实例是我们访问数据库的接口。
一个实例只能打开一个数据库。
 
当你用SQLPlus或其它的客户端工具去连接Oracle数据库时,你的客户端进程与服务器端进程通讯,完成特定的任务。
 
下面是我的系统中运行的Oracle进程,前六个是一定存在的,其它的则是可选的。
 
[oracle@redhatoracle oracle]$ ps -ef | grep ora_
oracle    1546     1  0 09:19 ?        00:00:00 ora_pmon_test # process monitor
oracle    1548     1  0 09:19 ?        00:00:00 ora_dbw0_test # database writer
oracle    1550     1  0 09:19 ?        00:00:00 ora_lgwr_test # log writer
oracle    1552     1  0 09:19 ?        00:00:00 ora_ckpt_test # checkpoint
oracle    1554     1  0 09:19 ?        00:00:00 ora_smon_test # system monitor
oracle    1556     1  0 09:19 ?        00:00:00 ora_reco_test # recoverer
oracle    1558     1  0 09:19 ?        00:00:00 ora_cjq0_test
oracle    1560     1  0 09:19 ?        00:00:01 ora_qmn0_test
oracle    1562     1  0 09:19 ?        00:00:00 ora_s000_test
oracle    1564     1  0 09:19 ?        00:00:00 ora_d000_test
 
数据库主要由三个部分组成:
数据文件:实际存储数据的文件。
Redo日志:顺序记录数据的变化。分为在线Redo日志和归档Redo日志。
控制文件:记录数据库信息,用于维护和检验数据库的一致性。
 
 
下面是我系统中的数据库文件,扩展名是dbf的是数据文件,扩展名是log的是在线Redo日志,扩展名是ctl的是控制文件。因为Redo日志和控制文件非常重要,所以系统在缺省情况下为这两个文件各复制了两个拷贝。
 
[oracle@redhatoracle gldb]$ ls -l
total 1260456
-rw-r-----    1 oracle   oinstall  2023424 Dec 15 09:52 control01.ctl
-rw-r-----    1 oracle   oinstall  2023424 Dec 15 09:52 control02.ctl
-rw-r-----    1 oracle   oinstall  2023424 Dec 15 09:52 control03.ctl
-rw-r--r--    1 oracle   oinstall 20979712 Dec 15 09:19 cwmlite01.dbf
-rw-r--r--    1 oracle   oinstall 20979712 Dec 15 09:19 drsys01.dbf
-rw-r--r--    1 oracle   oinstall 155983872 Dec 15 09:19 example01.dbf
-rw-r--r--    1 oracle   oinstall 26222592 Dec 15 09:19 indx01.dbf
-rw-r--r--    1 oracle   oinstall 20979712 Dec 15 09:19 odm01.dbf
-rw-r-----    1 oracle   oinstall 104858112 Dec 15 09:19 redo01.log
-rw-r-----    1 oracle   oinstall 104858112 Dec 15 09:19 redo02.log
-rw-r-----    1 oracle   oinstall 104858112 Dec 15 09:52 redo03.log
-rw-r--r--    1 oracle   oinstall 387981312 Dec 15 09:51 system01.dbf
-rw-r--r--    1 oracle   oinstall 41951232 Nov 25 01:39 temp01.dbf
-rw-r--r--    1 oracle   oinstall 10493952 Dec 15 09:19 tools01.dbf
-rw-r--r--    1 oracle   oinstall 209723392 Dec 15 09:52 undotbs01.dbf
-rw-r--r--    1 oracle   oinstall 26222592 Dec 15 09:19 users01.dbf
-rw-r--r--    1 oracle   oinstall 47194112 Dec 15 09:19 xdb01.dbf
 
其它文件:
参数文件:定义实例的一些参数。
口令文件:验证用户启动和关闭数据库的权限。
 
数据文件和Redo日志都使用缓存,这样可以提高读写性能,但是也带来一个问题,缓存中的数据有可能因为某种原因没有写入磁盘文件,造成数据丢失或数据库的不一致。Oracle必须能够应对这种问题,保证数据的一致性。
 
数据库的逻辑结构:
表空间,数据文件,段,Extent(这东西怎么翻译?),块。