① 就RAC数据库而言,它会在数据库实例所在的每个节点上运行Database
Control进程。这些进程互相通信,所以都能全面了解RAC的状态。
②
胖JAVA客户端具有Oracle感知功能,它试用提供的OCI类库连接到数据库。Java胖客户端应用程序可以充分利用数据库,但无法使用第三方产品。而且要求安装OCI客户端软件。(OCI
- Oracle Call Interface)
瘦JAVA客户端并不知道运行时连接到了哪个数据库:允许运行它的容器将虚拟数据库映射到Oracle数据库。瘦JAVA客户端应用程序可以在不经心任何更改的情况下部署到非Oracle环境。但是,不属于Java数据库连接标准(JDBC)部分的Oracle功能将无法使用。
③ 常用的Oracle公司提供的开发工具:Oracle Forms Developer、Oracle
Reports、Oracle Discoverer、Oracle E-business Suite、Oracle
Collboration Suite、Oracle Application Sever
④
SGA内存由所有后台和前台进程共享,PGA内存仅供分配到的会话的前台进程访问。SGA和PGA内存都可以实现自动管理。
⑤ 分布式系统体系结构:实时应用集群(RAC),多个实例打开一个数据库。
流,多个Oracle服务器相互之间传播事务。
数据保护,住数据库更新备用数据库。
⑥ SGA中:数据库缓冲区缓存、日志缓冲区和共享池是必须的,而大池、Java池和流池是可选的。
⑦ 日志缓冲区
在Oracle体系结构中,将日志缓冲区转储到磁盘是基本瓶颈之一。DML的速度不能超过LGWR讲变更响亮转储到联机重做日志文件的速度。
如果重做生成是限制数据库性能的因素,唯一的选项是使用RAC。在RAC数据库中,每个实例都有自己的日志缓冲区和自己的LGWR。这是将重做数据并行写入磁盘的唯一办法。
日志缓冲区的大小固定不变,在启动实例实例时被设置为固定值。无法对其进行自动管理。
⑧ 共享池
1.库缓存
用于在库缓存中查找SQL的算法基于构建此语句的字符的ASCII值,最不起眼的差别也意味着语句不匹配,要再次分析。
2.数据字典缓存
3.PL/SQL区
PL/SQL可以从用户进程faculty,而不存储在数据字典中。这称为匿名PL/SQL。匿名PL/SQL不能被缓存和重用,但必须动态编译。与存储的PL/SQL相比,其性能表现始终较差。
4.SQL查询和PL/SQL函数结果缓存
结果缓存是11g版本的新功能。结果缓存机制具有足够的智能,跟踪查询运行锁针对的表是否发生了更新。如果有了更新,则查询结果讲失效,并发出下一次查询,重新运行查询。因此,不存在接收到过时缓存结果的风险。默认方式下,将禁用SQL查询和PL/SQL函数结果缓存。
⑨ 大池 大池的一个主要用途是供共享的服务器进程试用,另外,有些I/O进程也使用大池,如Recovery
Manger在备份到磁带设备时使用的进程就是如此。大池的大小可以动态调整,而且可以自动管理。
⑩ JAVA池用作实例化JAVA对象所需的堆空间。JAVA池的大小是动态的,而且可以自动管理。
⑪ 实例进程结构:
SMON
安装和打开数据库。打开数据库并使数据库处于使用状态后,SMON就负责执行各种内部管理任务,如合并数据文件中的可用空间。
PMON
监视所有服务器进程,并检测会话中的任何问题。如果会话异常终止,PMON将销毁服务器进程,将其PGA内存返回给操作系统的空闲内存池,并回滚任何尚在进行的未完成事务。
DBWn
一个实例可以有不超过20个的数据库写入器。默认数量是每8个CPU对应一个数据库写入器。
以下四种情况,DBWn将执行写操作:没有任何可用缓冲区、脏缓冲区过多(内部阀值决定)、遇到三秒超时、遇到检查点。
LGWR
三种情况下,LGWR将转储日志缓冲区:会话发出COMMIT、日志缓冲区占用率达到1/3、DBWn要写入脏缓冲区。DBWn完全可能将未提交的事务写入数据文件。只要一定能够获得反转事务所需的撤销数据,这就不成问题。
MMON
是数据库版本10g引入的进程,每次MMON收集一组统计数据(称为快照)时,它还启动Automatic Database
Diagnostic
Monitor(ADDM)。默认情况下,MMON每小时手机一次快照并启动ADDM。除了收集快照外,MMON还持续监视数据库和实例,来确定是否应该发出任何警报。使用警报系统属于第二场OCP考试的范畴。
MMNL
是MMON的辅助进程。用于收集此信息的内存缓冲区变满,那么,MMNL将担当起转储数据的职责。
MMAN
用来支持内存分配的自动管理。观察PGA内存和SGA内存的需要,并根据需要将内存分配给会话和SGA结构,同时将内存分配总量保持在DBA设定的限制范围内。
⑫ ARCn
LGWR对联机日志文件中执行写操作,ARCn读取联机日志文件,其他任何进程根本不接触此类文件。必须监视ARCn进程的进度及写入目标的状态。如果归档操作失败,数据库最终会挂起。可以通过警报系统完成监视操作。
RECO RECO(Recover
Process)进程负责取消提交,回滚数据库的工作。
⑬
数据库包括三类必须的文件:控制文件,联机重做日志文件,数据文件。通常所说的外部文件是参数文件、口令文件、归档重做日志文件以及任意数量的数据文件。
控制文件包含指向数据库其余部分的指针:联机重做日志文件和数据文件的位置,以及更新的归档日志文件的位置。它还存储着维护数据库完整性所需要的信息:例如各种重要的序列号和时间戳。控制文件副本的最小数量是1,最大是8。
联机重做日志文件包括:联机重做日志文件和归档日志文件。每个数据库至少有两个联机重做日志文件。联机重做日志包含多组联机重做日志文件,每个文件都称为一个成员。一个组可以接受当前更改,另一个组可以用于归档。
就每个数据库而言,要保证其正常运行,至少必须有两个联机重做日志文件组;要保证安全,魅族至少要有两个成员。
数据文件
数据库至少需要两个数据文件。一个用于SYSTEM表空间(存储数据字典),一个用于SYSAUX表空间(存储数据字典的辅助数据)。
块中存在头部分和数据区域,还可能有一些空闲空间。头部分包含诸如行目录的信息,行目录列出块中行数据区域中的未知,还包含行锁定信息(如果有事务正在处理块中的行)
实例参数文件,启动Oracle实例时,SGA结构会根据此参数文件的设置内置到内存,参数有数百个,但只有一个是必须的,它就是DB_NAME参数。
口令文件
它包含存在于数据字典之外的少量用户名和口令(通常少于6个)。
归档重做日志文件
警报日志和跟踪文件
⑭ 数据字典 通过数据定义语言命令对其进行维护。
Oracle提供了一组视图来查询字典。大部分视图带有三种前缀DBA、ALL、USER。
DBA_TABLE将显示数据库中所有的表。