数据库基础原理1:Oracle数据库体系结构

  1. 数据库和实例

    数据库,是信息的物理存储,是磁盘上看的见的物理文件。

    实例,是服务器上运行的软件,表现为一大块内存和一系列后台进程。

如图所示:

    一个数据库可以有多个实例(在RAC架构中),但一个实例属于且仅属于一个数据库。在单实例环境中,实例和数据库是一对一的。

      首先,如图,打开实例,分配一系列内存空间,和启动一系列的后台进程

   然后,在挂在和打开数据库:

对于单实例架构,如上图,一个实例对应一个数据库:

 通过视图或参数查询实例信息:

 通过视图或参数查询数据库信息:

     默认情况,他们的名字是一样的。但完全不是一回事,instance_name 实例名称,可以通过参数修改。而db_name则不能随意修改,它被记录在数据文件,控制文件和日志文件中,它标识着这些文件是作为一个数据库整体的一致性存在。每个文件标记着db_name,意味着它们是一个组织单元,一起组成一个完成的数据库。所以db_name不能轻易修改。

     操作系统通过instance_name去找到参数文件,然后找到需要的实例。 而实例通过db_name,找到一系列文件,这些文件一起完整组成一个数据库。

   而对于RAC架构,如图,多个实例,对应一个数据库。

 

   通过视图或参数查询实例:

节点1:

节点2:

名称是不一样的。


通过视图或参数查询数据库:

节点1:

节点2:

两个节点的数据库名称db_name,是一样的。 因为它们是共享一套数据库。


       我们不能像操作文件系统的文件一样,直接修改访问数据库,必须通过实例去访问。

       数据库是相对静态的,它是一个孤岛。而实例就是通往孤岛的航船。


    上面说到数据库和实例的区别和联系。下面分别说明。

    2.  数据库

      上面说到,数据库是磁盘上一系列的物理文件,这些文件不是杂乱堆放的,上面说的DB_NAME就像是一根线,把它们串联起来。仅仅串联起来,还不能撑起一个庞大系统。所以,他们是有结构的,也就是存储结构。而存储结构又分物理结构和逻辑结构。

      (1)物理存储结构

        简而言之,就是划分了哪些文件,它们在物理上是怎么存储的,以及它们分别的作用是什么。

        最重要的就是三大关键文件:数据文件,控制文件,在线重做日志文件。

如图:

        非关键文件包括:

        参数文件, 密码文件,归档日志文件,告警文件,跟踪文件,备份文件

       【数据文件】:最基础的文件,存储 数据库的实际数据。 逻辑数据库结构(例如表和索引)的业务数据是物理存储在数据文件中的。维护数据结构信息的数据字典,用于实现多用户并发的回滚段等也都存储在数据文件中。

       查询数据文件:

        【块】: 而数据文件是由Oracle数据库的数据块组成,如图:

  数据库实例根据用户的操作和需要,以Oracle数据库块为单位,将数据读入内存中。,同样,实例也会根据需要将数据库块从内存中写入磁盘中的数据文件。而数据库块由磁盘上操作系统的数据块组成。

      查询 块 大小:

    块 大小 是一次读或写操作的最小数据量。 一般情况下,OLTP系统,每次提取的数据较少,更小的块可能更为合适,Oracle不会因为传输大块而浪费资源。对于OLAP,每次操作,动辄上百万的数据行,使用较大的数据块则更为合适。

    【数据文件首部】,数据文件的第一个数据块,为数据文件首部。它记录了维护整个数据库完整性的关键信息。像上面提到的DB_NAME 就记录在里面。还一个重要的信息,检查点结构(SCN)。

       SCN,是一个逻辑时间戳,记录了改动该数据文件的最后时刻。对于数据库的恢复,至关重要。

       DB_NAME 只是串联起控制文件,数据文件,重做日志文件,是它们作为一个整体。而SCN就是让它们保持步调一致,在前进的过程中,标记自己的时间坐标。

       

     待续....





来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69915315/viewspace-2641671/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/69915315/viewspace-2641671/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值