手记

Oracle数据库的文件以及Oracle体系架构

第一部分、Oracle数据库的文件

1、参数文件:控制实例的行为的参数的集合

参数文件的作用

  • 设定数据库的限制
  • 设置用户或者进程的限制
  • 设定数据库资源的限制
  • 调整系统的性能

主要的参数文件

SGA_TARGET:Oracle在SGA区(SGA是Oracle最重要的一块内存区域,存放各种各样的数据、SQL解析以及redo日志等等)需要分配多大的内存。

PGA_AGGREGATE_TARGET:此参数用来指定所有session总计可以使用最大PGA(程序全局区,会话分配的内存)内存。SGA和PGA基本就是oracle使用的内存的总和。

DB_CACHE_SIZE:数据块缓冲缓存区大小

DB_FILES:db_files参数限制了数据库数据文件总的个数,datafiles数目达到db_files指定后数据库不能添加新的数据文件

LOG_ARCHIVE_DEST_n:此参数可以设置最多10(n=[1…10])个不同的归档路径

USER_DUMP_DEST:specifies the pathname for a directory where the server will write debugging trace files on behalf of a user process.

查看参数文件初始化值可以在oracle的官方文档上去看。在Basic Initialization Parameters就可以查看各项初始化参数了。每个基本参数点进去就有了详细的说明。

其中SGA_TARGET的初始化参数如下:

查看当前数据库的参数文件

show parameter SGA; /*显示和sga相关的参数*/

select name,value from v$parameter; /*显示所有的参数*/

show parameter spfile; /*显示spfile参数文件*/

spfile对应的SPFILEORCL.ORA是二进制文件,用show parameter spfile;可以显示该二进制文件的路径(D:\Oracle11g\Administrator\product\11.2.0\dbhome_1\database)。

使用create pfile from spfile;可以生成INITorcl.ORA文件,这是一个文本格式的文件,里面显示的参数可以直接修改。

2、控制文件

控制文件包含的信息

  • 数据库名字(DBID)
  • 数据库建立时间
  • 数据文件,在线日志文件和归档文件三中文件的信息
  • 表空间的信息
  • Rman的备份信息

控制文件的作用

  • 它包含数据文件,在线数据文件,归档文件的信息,这些文件用于数据库open时的 文件验证。当数据库的架构改变时,比如增减,删除文件时,会更新数据文件。
  • 包含了数据库恢复时候需要的一些信息,用于数据库的恢复。

控制文件的结构

  • 空间允许重用区

这个区域的信息是可以被重用的(覆盖的),当空间不足或者规则满足时,允许覆盖以前的信息,比如归档日志和Rman备份集的信息。

  • 空间不允许重用区

这个区域的信息是不允许重用的(覆盖的),因为他们是数据库必须的信息,比如表空间,数据文件,在线日志文件等。

控制文件丢失了怎么办?

  • 备份控制文件

  • 重建控制文件

参数文件和控制文件的丢失都不是致命的,都不会导致数据库的损坏。

3、数据文件

存放实际的数据,隶属于某个表空间。

查看表空间及对应的数据文件信息:

select file_name,tablespace_name from dba_data_files;
select file_name,tablespace_name from dba_temp_files;

数据文件的损坏

需用通过备份恢复

  • 还原备份文件
  • 用归档+在线redo恢复

使用Redo信息恢复

  • 创建新数据文件
  • 用归档+在线Redo恢复

4、重做日志文件-Redo Log File

重做日志文件的作用

  • 保护数据的安全

  • 恢复数据

  • 数据同步和分析 -golden gate,Data guard

日志文件损坏

活动日志损坏:数据丢失,数据库损坏

非活动日志损坏:数据不会丢失,可以重建日志文件

Oracle日志文件的状态可参见:Oracle日志文件的状态current/active/inactive/unused

第二部分、Oracle体系架构

Oracle整体架构图

由上图可知,主要分为三个部分:实例instance,数据库database,其他组成部分。上半部分中的Instance就是实例,有内存加进程构成,内存分为SGA(System Global Area)和PGA(Program Global Area)。下方的Database就是数据库,包含数据文件,控制文件,重做日志文件。数据库文件是一种相对静止的东西。

下面分别介绍SGA区,PGA区和后台进程。

SGA区

PGA区


记得帮我点赞哦!

念念不忘,必有回响,小伙伴们帮我点个赞吧,非常感谢。

我是职场亮哥,YY高级软件工程师、四年工作经验,拒绝咸鱼争当龙头的斜杠程序员。

听我说,进步多,程序人生一把梭

如果有幸能帮到你,请帮我点个【赞】,给个关注,如果能顺带评论给个鼓励,将不胜感激。

本人所有文章、回答都与版权保护平台有合作,著作权归职场亮哥所有,未经授权,转载必究!

0人推荐
随时随地看视频
慕课网APP