第一部分、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高级软件工程师、四年工作经验,拒绝咸鱼争当龙头的斜杠程序员。
听我说,进步多,程序人生一把梭
如果有幸能帮到你,请帮我点个【赞】,给个关注,如果能顺带评论给个鼓励,将不胜感激。
本人所有文章、回答都与版权保护平台有合作,著作权归职场亮哥所有,未经授权,转载必究!