设为首页 收藏本站
查看: 528|回复: 0

[经验分享] Oracle 10g学习笔记3--服务器体系结构

[复制链接]
YunVN网友  发表于 2016-8-13 06:46:05 |阅读模式
  Oracle服务器由两个实体组成:实例(instance)与数据库。
  这两个实体是独立的,但是可以一对一或多对一连接在一起。一个数据库可以对应着多个数据库,在数据库创建过程中,实例首先被创建,然后才创建数据库。
  多对一的关系又称为RAC(Real Application Clusters)实际应用群集。不同计算机上的多个实例打开共享磁盘系统上的一个公用数据库。RAC的限制:只具有双CPU的计算机;群集中的计算机最多为四台。RAC需要额外付费。
  一般用不到RAC,都是位于一台计算机上的一个实例打开存储在本地磁盘上的一个数据库。(单实例环境)
  
  实例由存储结构和进程组成,并且只能短暂存在于RAM和CPU中。因此实例的生存期是其在内存中的存在时间,我们可以启动和停止实例。
  数据库是由磁盘上的物理文件组成。如果没有删除组成数据库的文件,数据库一旦被创建,就可以永远存在。DBA既可以看到物理结构,又可以看见逻辑结构,终端用户只能看见逻辑结构。
  数据字典包含了整个服务器的元数据,可以管理物理结构和逻辑结构之间的管理。创建数据字典是数据库创建过程中的主要部分。在数据库创建的最后阶段,通过生成各种视图与PL/SQL程序包是新建数据库可用,同时通过生成Enterprise Mannager Database工具使新建数据库可以管理。
  
  突然想到可以总结ORACLE数据库创建的过程:1.创建并启动实例-->2.创建数据库文件-->3.创建数据字典视图--->4.添加Enterprise Mannager资料档案库
  
  
  实例:存储结构与进程
  一个Oracle实例由一块被称为系统全局区(System Global Area,简写为SGA)的共享内存以及若干进程组成。
  SGA至少包含共享池,数据库高速缓冲区以及日志缓冲区这三中数据结构,此外还可能包含大池,java池或流池。
  启动实例的时候,会确定SGA数据结构的大小。创建数据库的时候并不会确定任何SGA的大小。
  注意:牢记SGA具有3种必备元素:共享池,数据库高速缓存区,日志缓冲区。
  
  共享池分为:库缓存区与数据字典缓存区。库缓存区用于以解析后的形式存储最近执行的代码。
  数据字典缓存区用于存储最近使用的对象定义,包括表,索引,用户的描述以及其他元元素的定义。 共享池的作用:就是提供一块缓存内存,用来存储已经执行的东西,避免重复执行。提高了性能。
  
  数据库高速缓存区是:Oracle执行SQL的工作区域。作用:理想情况下,所有被频繁访问的数据都位于数据库高速缓存区,最小化了磁盘I/O的需求。
  
  大池是一个可选区域,如果创建了大池,那么各种进程都会自动使用大池;否则,各种进程就只能使用共享池中的内存。
  
  只有在应用程序试图运行数据内的Java存储过程时,才需要使用Java池。Java池被用于实例化Java对象所需要的堆空间。
  
  总之,调整SGA存储结构的大小对于性能来说至关重要
  
  除了SGA存储结构之外,实例至少还具有5个进程:
  系统监视进程(system monitor,简写为:SMON):主要功能是打开数据库,从而支持实例与数据库的连接。
  进程监视进程(process monitor简写为:PMON):管理用户会话,这个进程会在某个会话出现问题时执行适当的操作。
  数据库写入器进程(database writer,简写为:DBWn):最多可以使用10个这样的进程。复制数据文件的所有写入。须要记住的是:没有任何会话能够不断地更新磁盘上的数据。会话只更新数据库高速缓存区中的数据,随后所以更新都通过DBWn汇集写入磁盘。 我们要尽可能的不要进行写入操作,因为它会影响最小化I/O磁盘操作。
  日志写入器进程(log writer简写为:LGWR):将应用于数据库高手缓冲区中数据的所有变化写入磁盘上的联机重做日志文件。与DBWn不同的是:这种磁盘写行为是尽可能接近于实时完成的。
  检查点进程(checkpoint简写为CKPT):能够确保实例不时地与数据库同步。
  
  
  
  数据库:物理结构
  Oracle数据库主要由3种文件类型组成。也包括一些外部文件。
  数据库的必需文件是:控制文件,联机重做日志文件,数据文件。
  外部文件则包括:初始化参数文件,口令文件与归档的重做日志文件。
  
  每个数据库都有一个控制文件,优秀的DBA总会创建多个控制文件副本,从而在一个副本遭到破坏时能够保证数据库的正常运行。Oracle会自动同步各个副本。
  控制文件包含数据库其余部分(也就是联机重做日志文件和数据文件的位置)的指针。也包含维护数据库完整性所需的信息。
  控制文件的维护是自动的,但是这些操作只能在停机时间进行。
  
  每个数据库都具有至少2个联机重做日志文件。大小固定。优秀的DBA也会创建多个副本。副本的同步也是自动的。
  对联机重做日志的操作可以在不停机的情况下“联机”进行。
  
  数据文件是数据的存储仓库。它的大小和数量不受限制。
  对数据文件的操作要在停机的情况下进行。
  
  
  逻辑结构:表空间与段
  Oracle使用术语“段”来描述包含数据的所有结构。最典型的是包含数据记录的表。
  系统管理员可以看见物理的数据文件,编程人员则可以看见逻辑的段。借助于表空间,Oracle可以从物理的存储结构中抽取出逻辑的存储结构。
  从逻辑上看,表空间是一个或多个段的集合;从物理上看,表空间是一个或多个数据文件的集合。
  按照关系分析:段与数据文件之间存在多对多的关系:一个表可以被分割在多个数据文件中,一个数据文件可能包含多个表。通过在段与数据文件之间插入表空间实体,Oracle就 解决了上述的多对多的关系。
  
  数据字典存储在SYSTEM与SYSAUX表空间的若干段。
  
  
  外部文件
  参数文件定义了实例,主要控制各种存储结构的大小以及后台进程的行为,同时还设置特定的限制。
  在创建数据库之前,必须创建一个参数文件,并且使用这个参数文件在内存中构建实例。
  参数文件分为:静态的和动态的。  实例只在启动的时候读取一次静态参数文件。动态的参数文件由ORACLE自身通过响应输入命令进行维护和编辑。
  口令文件是一个参数文件,该文件独立于数据库而存在。
  归档日志文件是已填满的联机重做日志文件的副本。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-256952-1-1.html 上篇帖子: Oracle PL/SQL 电子书籍下载 下篇帖子: Oracle中用exp/imp命令快速导入导出数据
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表