Oracle是一种分布式网络关系数据库系统,与一般桌面型数据库不一样的是,分布式网络数据库更接近一种“网络服务Server”的模式。在我们的默认安装中,其实安装了下面三个部分:
1. 一个客户管理机
2. 一个数据库服务器,数据库服务器可以提供数据库服务,在一个服务器上可以有多个数据库。
3. 一个数据库:一个数据库有一个全局数据库名,它的形式是:“数据库名.域名”。全局数据库名用于区分在分布式系统中不同服务器上的数据库例程,这样,即使分布式系统中有同名的例程,也可以进行区分,如:myoralce.scut myOracle.wit。而myOracle是SID,而SID即为系统标识,它用于区分一台服务器上的不同例程。在一个服务器上有多个数据库时,就依靠SID来区分。
我们操作这种网络式分布数据库,需要使用一个外部程序来联系数据库服务器,这些过程都需要占用一定的内存空间,它们被称为“进程”。在Oracle网络环境里,进程共有两大类,一是用户进程,另一种是服务器进程。用户进程即PLSQL等工具程序,它通过例程的SGA来与Oracle数据库联系。在用户进程使用中,单个的用户进程需要使用专用的内存区域,即所谓的PGA(程序全局区),PGA是用户进程私有的,不能共享。
Oracle Server(数据库服务器)由例程(instance)和数据库(database)两部分组成。其具体的组成如下:
3.1. Instance
例程是一个内存结构和后台进程的集合,其中内存结构统称为SGA,即系统全局区。例程是一种控制数据的手段;一个例程在一个时刻仅仅能够操作一个数据库。
3.1.1. SGA结构
SGA是动态的结构,其大小由SGA_MAX_SIZE指定。
3.1.1.1. 共享池shared pool
用于存储最近使用过的SQL语句和数据字典。它包括两个部分,即库缓存(library cache)和数据字典缓存(dictionary cache)两部分组成。下面是改变共享池的命令:
Alter system set SHARED_POOL_SIZE=64M;
库缓存用于储存使用的SQL语句,而数据字典缓存用于存储最近使用过的数据字典。它们的大小都需要使用共享池来确定而不能自己设置。
3.1.1.2. database buffer cache数据高速缓存区
它用于存储最近访问的数据块,由多个小缓冲区组成。DB_BLOCK_SIZE则确定了数据块的大小。
Alter system set DB_CACHE_SIZE=96M;
在执行SELECT或DML时,数据都是从数据文件读取到高速缓存区执行的,即数据的访问和操作是在内存中完成的。
3.1.1.3. redo log buffer日志缓冲区
用于记录例程的变化,其尺寸由LOG_BUFFER来定义。当执行DDL或DML时,服务器进程首先会将变化记录到日志缓冲区,然后才会修改数据的高速缓存。
其它结构
3.1.1.4. large pool大池和JAVA池(可选)
如果安装或使用JAVA的话就需要使用JAVA池。
3.1.2. 后台进程结构
ORACEL有许多必须的后台进程,它是运行Oracle服务时必须的。
3.1.2.1. DBWR
用于将数据高速缓存中的脏数据写入到数据文件中。所谓脏数据就是发生改变的数据。
3.1.2.2. PMON
用于监视服务器进程的执行,并在其失败时清除这个进程。
3.1.2.3. CKPT
用于发出检查点,用于同步数据库的数据文件、控制文件和重做文件。
3.1.2.4. LGWR
用于将日志缓冲区的内容写入到重做日志中去。
3.1.2.5. SMON
系统监控进程。用于自动恢复实例,合并空闲空间和释放临时段。
3.1.2.6. ARCH
用于将重做日志放入到归档日志文件中去。
3.2. Database
数据库是一组OS文件的集合,它包含三种必须的文件,即数据文件(data files)、控制文件(control files)和归档日志文件(redo log files),这些类型的文件都有可能是多个。
3.2.1. 数据库物理文件
3.2.1.1. 数据文件
用于存储数据库数据,它包括数据字典,用户数据,UNDO数据,临时数据等。数据库逻辑上由一个或多个表空间Tablespace组成,而表空间在物理上由一个或多个数据文件组成。
3.2.1.2. 重做日志文件
用于记录数据库的变化,当例程出现失败或介质失败时可以使用它进行恢复数据库。当DDL或DML时,事务会写到日志缓冲区,在特定时刻会由LGWR将这些日志写入重做日志文件。数据库中至少有两个日志文件,它们是循环使用的。
3.2.1.3. 控制文件
用于记录和维护数据库的物理结构。
3.2.1.4. 归档日志Archive log
它是重做日志的备份,它会保存全部的重做历史记录。(在归档日志模式下数据库才会进行归档)
3.2.1.5. 口令文件和参数文件
两个文件都保存在<安装路径>/database
相关视频
相关阅读 如何用java连接数据库方法用ASP.NET/C#连接Access和SQL Server数据库Asp.net结合Xml开发网络硬盘实例开发实例:JSP中实现全文检索iPhone数据迁移怎么用 iOS 12.4数据迁移功能使用教程dnf普雷raid隐藏剧情 dnf普雷隐藏剧情介绍dnf普雷怪物机制介绍 dnf普雷raid怪物机制dnf普雷raid攻略 dnf普雷raid打法介绍
热门文章 oracle10g安装图解(wi
最新文章
数据库流行度排行2019oracle10g安装图解(wi
SQL2008全部数据导出导入两种方法SQL2005新建复制“找不到存储过程 错误:28Dos远程登录mysql数据库详细图文教程mysql怎么开启远程登录功能
人气排行 mysql自动定时备份数据库的最佳方法-支持wiVisual Foxpro 6.0安装向导图文教程SQL Server 2008 安装图文教程SQL2008全部数据导出导入两种方法SQL 2000/2005/2008 的收缩日志方法,和清理mysql出 Can't connect to MySQL server onoracle10g安装图解(win7)sql2005安装图解_(sql server2005)安装教程
查看所有0条评论>>