体系结构1

1、ORACLE主要体系结构包括:⊙ 用户进程,服务器进程⊙ 实例⊙数据库库文件(比如控制文件,日志文件,数据文件,参数文件,口令文件) 实例它是由后台进程和共享内存组成的,在WINDOWS,所有后台进程都在一个ORACLE进程里。在LINUX,我们可以看到很多ORACLE后台进程,另外实例还有共享的内存组成。
2、oracle=用户+实例+数据库。用户需要的内存是UGA,PGA,CGA部分。实例的内存是SGA。数据库是磁盘文件,没有内存。
3、oracle服务:ORACLE的服务就是ORACLE SERVICES。⊙ 一个ORACLE服务提供了开放的完整性的信息管理系统。⊙ ORACLE服务由一个实例和一个数据库组成。一个ORACLE SERVER就是一个DATABASE库文件加上一个INSTANCE
4、oracle优化器。RBO(rule base optimizer)基于规则的优化器。CBO(cost base optimizer)基于成本的优化器。在我们ORACLE中考虑CPU和IO成本,IO越小,你的速度通常越快,但是你还要考虑CPU的成本。早期的版本,ORACLE比较弱智,只考虑IO,没有计算CPU的成本,这样计算出来的成本是不精确的。比如我们的排序,越是大的内存,排序反而越慢。因为排序的时候是个2叉树,内存越大,树的高度越高,你要遍历的次数越多,你的CPU比较的次数越多。所以,我们需要考虑CPU的成本,IO相同的排序,CPU比较次数太多可能性能更差。成本模型,我们可以通过_optimizer_cost_model来设置。10g前,默认IO是做为成本评估的基础。11g,默认的值为choose。
5、ORACLE INSTANCE是一个数据库文件进行实例化提供的服务,而它也是我们体系结构的核心。实例是共享内存+后台进程。这里内存是指共享全局区SGA。⊙ 一个实例同一时刻只能访问一个数据库,但是你在服务完一个数据库后,也完全可以服务另一个数据库,因为毕竟实例只是内存和后台进程,实例可以在不同时刻服务于不同数据库,但是在某个时刻只能有一个数据库。Linux中,可以通过ipcs -a来查看共享内存段。多个(实例)服务关联一个数据库,就是RAC的概念,多个实例关联一个数据库。
6、oracle实例通过ORACLE_SID和ORACLE_HOME来唯一确定的,HASH(ORACLE_SID,ORACLE_HOME)来唯一确定一个实例的内存地址
7、ORACLE SERVER是提供了一个数据库服务:⊕ ORACLE SERVER = 1个DB + 1个INSTANCE
 ⊕ INSTANCE = MEMORY + PROCESS ⊕ RAC = N个ORACLE SERVER = 1个DB + N个INSTANCE
8、RAC的主要目的是实现故障转移(failover)和负载均衡。通过LISTENER能判断多个实例的负载,实现实例负载均衡。负载均衡有很多级别,要做到更全面,需要启动多级负载均衡。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值