`

oracle学习笔记第一章:体系结构

阅读更多

 

1、安装简介:省去1000行

2、实例和数据库:

   实例:数据库里的一些相关的进程启动起来,调入到内存当中,共同起到一个协调的作用


   数据库:通常讲的数据库就是一系列的文件系统,在oracle数据库当中:控制文件*.ctl,数据文件*.dbf,日志文件*.log,在oracle中有两种日志文件:


       联机日志文件:redo*.log,又称重做日志文件,特点是:redo01.log写完写redo02.log,在写redo03.log  当 redo03.log写满以后,重写redo01.log,将原来的内容覆盖;

       归档日志文件:在我们进行备份的时候,尤其是热备份的时候要选择的一种归档方式备份的文件;

  

   在这三类文件中由控制文件管理和控制数据文件和日志文件,在启动数据库的时候,启动起对应的实例之后首先启动 控制文件,由控制文件打开数据文件。

  

    利用sqlplus查看文件:

       查看控制文件结构: DESC v$controlfile

       查看控制文件里面的内容,如:select status,name from v$controlfile;


       查看数据文件结构: DESC v$datafile

       查看数据文件里面的内容,如:select status,file# from v$datafile;


       查看日志文件结构: DESC v$logfile

       查看日志文件里面的内容,如:select member from v$logfile;


 

oracle数据库中还有一种参数文件,它不是数据库的有效组成部分,也就是说当我们启动数据库的时候参数文件不直接参与启动工作,而我们的控制文件是由参数文件来寻找的。参数文件位于database目录下名称是spfiletest.ora


Oracle数据库的物理结构或称为文件系统

 

数据库物理结构图

 

 

Oracle的内存结构如图:

oracle内存结构图

 

 

 

 

 

 

 

当一个oracle实例运行的时候,它分配了一个称为SGA(系统全局区)的大的内存块,实例的SGA被实例的所有后台进程所共享,在整个的SGA的区域里面,包括一下几个缓存池:

 

数据库高速缓存区(DB buffer),大共享区,共享池 ,日志缓存区,固定SGA(系统全局区)

解读:

 

       1、DBbuffer (数据库的高速缓存区):如果每次执行SQL查询的时候,oracle必须从磁盘读取数据块,并且在改变之后把每一个数据块写入到磁盘,那么oracle的执行效率非常的慢,而oracle的缓存区能经常使用内存中的数据块,数据库中用来频繁访问数据的区域就称之为高速缓存区;高速缓存区也是SGA里面最大的一个部分,高速缓存区包括以下三个缓存池:默认缓存池,保持缓存池,再生缓存池;

    保持缓存池:在数据库中长期保持的,经常访问的,如代码表使用该缓存池;该缓存池在

        数据块运行期间一直保留,并不从内存中释放空间;

 

 

再生缓存池:想尽快从内存中排除的对象我们可以使用再生缓存池,如频繁访问的大表。

   默认缓存池:在oracle8a之前它仅仅支持缓存器池,比如修改buffer等相关参数的值来决定缓冲池的大小

DB高速缓存池

 

2、共享池:

共享缓存池

 共享池的规模对数据库的性能有着非常重要的影响,

 

 

 

3、redoBuffer(日志缓存池):是oracle里面的一个内存区域,用来放入需要写入磁盘的redo记录,我们在数据库里面的文件系统里面包括redo的日志文件,通过一个日志的书写进程,来对日志文件进行操作,它是oracle一循环的方式先进先出的缓存器池

4、  大共享区:是oracle可选的特性,他提供了一个分配大内存块的隔离内存区,不一定需要一个大的共享区,如果使用多线程的服务器,或者备份或者使用RMN等相关的操作的时候,可能会需要到它。

5、  固定的SGA域是我们不能设定大小的,完全由oracle独立的去控制;

     字典缓存区是oracle缓存字典信息的一个缓存区,当分析sql语句校验表名,列名等数据库信息的时候,oracle将频繁的提到数据字典,通过把最频繁使用的数据字典的信息存储到内存中。Oracle减少了一些sql语句引起的性能上的冲突。

 

 

 

 

 

Oracle的逻辑结构。

 oracle的逻辑结构

 

Oracle存储数据的最基本单位是一个块,在windows平台下,默认的块大小是8K8192个字节,我们可以在安装数据库之前设定块大小,但是一定是操作系统块大小的整数倍


一个表空间对应着多个数据文件,我们从数据文件当中并不能直接解读对应的表的信息,这是关于数据库共通的特点。从逻辑上讲一个表空间可以包含着多个段。

 

共享sql区保留了sql语句的解释版本,以便于再次访问的时候不必要再去解释,

在共享的sql区里面保留了用户执行sql语句的解释版本,目的是这些sql再吃执行的时候能够提高进程的速度;

 

PL/SQL区保留了PLsql的过程,函数等程序单元的编译版本,以便于所有的用户能够共享,当程序执行一个plsql的一个单元的时候,当有两个以上用户执行相同的内容的时候,oracle并不缓存两个以上的区域,它吧相同的代码做一个拷贝,被不同的用户所缓存;

 

分享到:
评论

相关推荐

    Oracle 10g 学习笔记

    │ ORACLE学习笔记(一) - lvhuiqing的专栏 - CSDN博客.mht.lnk │ ORACLE学习笔记(二)oracle的逻辑结构 - lvhuiqing的专栏 - CSDN博客.mht │ ORACLE学习笔记(二)oracle的逻辑结构 - lvhuiqing的专栏 - CSDN...

    Oracle 认证学习笔记

    #### 第一章 Oracle 数据库体系结构基础 本文将深入探讨 Oracle 9i DBA 认证教程中的基础知识,并重点分析 Oracle 数据库的体系结构及其核心概念。 ### 1. Oracle 数据库系统 Oracle 数据库系统是一种能够管理和...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 第一章 Oracle入门 一、 数据库概述 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前。简单来说是本身可视...

    Java_第一章

    【Java_第一章】是关于Java编程语言入门的学习资料,涵盖了计算机基础知识、Java语言的基本概念、JDK的获取与安装,以及编写第一个Java程序——“Hello, World!”的实践。这一章的学习是Java开发者必备的起点,对...

    韩顺平Servlet笔记(全)

    #### 第1章 B/S与C/S结构 - **1.1 背景知识介绍** - **J2EE的13种技术**:这部分介绍了J2EE(Java Platform, Enterprise Edition)中的核心技术和组件,包括EJB、JSP、Servlet等,这些技术构成了企业级Java应用...

Global site tag (gtag.js) - Google Analytics