Oracle体系结构篇之数据库

数据库是由存储在磁盘介质上的文件组成,包含参数文件、控制文件、数据文件、重做日志文件、归档日志文件、密码文件、警告文件、跟踪文件。

文件说明
文件名文件名是否在线
CONTROL FILE控制文件在线

DATA FILE

数据文件 在线
REDO LOG FILE重做日志文件在线
PARAMETER FILE参数文件在线
 ARCHIVE LOG FILE归档日志文件离线
 PASSWORD FILE密码文件离线
 alert file  警告文件离线
 trace file 追踪文件离线

说明:

在线文件 文件实时改变,不能进行操作
离线文件 文件生成后不会改变 

1、参数文件

这个文件存储了数据库所需的一些参数设置,比如各个内存区域的大小,可允许的最大进程数,最大会话数,控制文件的位置,数据库的名称等等,参数文件也是实例启动时首先要加载的文件

两类参数文件:

    pfile:文本文件的参数文件,可以使用vi,vim等编辑器修改,文件名通常为init<sid>.ora

    spfile:二进制的参数文件,不能直接修改,只能存放在Oracle服务器端,可以使用EM或指令来修改

    (alter system|session set parameter_name = values <>),

    文件名通常为spfile<sid>.ora,支持RMAN备份。

优先级别:

    Oracle 启动读取参数文件的顺序,如果个文件都不存在,则Oracle会报错

    spfile<sid>.ora --> spfile.ora -->init<sid>.ora

查看spfile文件路径:

SQL> show parameter spfile;

参数文件的路径:

     spfle:$ORACLE_HOME/dbs/spfile$ORACLE_SID.ora

     pfile:$ORACLE_HOME/dbs/init.ora 

2、控制文件

控制文件虽小,但作用重大,它包含指向数据库其余部分的指针(包括重做日志文件,数据文件,归档日志文件等的位置),存储重要的序列号和时间戳,存储RMAN备份的详细信息。控制文件一旦受损,那实例会立马终止,一般对数据文件的保护采用多路复用机制,就是冗余多份在不同物理位置。

作用:
用于记录数据库的物理结构,属于重要角色,没有控制文件,实例立即崩溃,数据库的启动和正常运行都离不开控制文件。
包含的内容:
数据库物理结构信息
数据库归档历史信息
各个数据文件的SCN号和系统检查点信息
RMAN元数据

性质:
控制文件是一个二进制文件,不可以通过文本编辑器编辑,该文件由oracle自行维护,oracle建议至少有两份冗余,并且放在不同的磁盘上。

查看:
SQL> show parameters control_files;
SQL> select * from v$controlfile;
默认块大小为16K

3、数据文件

数据文件存储着实际的数据,DBWn会将数据库缓冲区中的内容写入到这类文件中去,数据文件的大小和数量是不受限制的。Oracle从10g开始,创建一个数据库至少需要两个数据文件,一个用于SYSTEM表空间,该表空间用来存储数据字典;一个用于SYSAUX表空间,这个表空间用来存储一些数据字典的辅助数据。

  数据文件由一个个的Oracle块组成,这是Oracle的I/O基础单元,与操作系统块是不同的概念,Oracle块要比操作系统块大,这当然有处于性能的一些考虑,但我们考虑这样一种情况,当用户使用操作系统命令进行数据文件的备份的时候(假设1个Oracle块=8个操作系统块),已经复制了4个操作系统块,然后CPU被DBWn抢占了,DBWn又重新对这个Oracle块进行了更新,这时,当复制命令又得到了CPU时间去复制剩余的4个块的时候,就造成了整个Oracle块的数据不一致,所以,这也是在执行这种备份(用户自行备份)的时候,需要做一些额外处理,比如将表空间置为备份模式的原因。当然,使用RMAN是不存在这样的问题的,RMAN的备份机制是肯定可以得到数据一致的块的。(这块内容作了解即可)

  对于数据文件的保护,一般可进行定期备份,或者使用RAID也可以。

查看:
SQL> select file#,name,status from v$datafile;
SQL> select * from dba_data_files;
SQL> select * from dba_temp_files;

数据文件的状态:
ONLINE: 联机状态
OFFLINE: 脱机状态
OFFLINE DROP: 删除数据文件

4、重做日志文件

重做日志文件的作用在讲解内存和进程结构的时候有提到过,重做日志按时间顺序存储应用于数据库的一连串的变更向量(包含联机重做日志文件和归档日志文件)。由SMON在数据库启动时自动执行的实例恢复 和 磁盘损坏所要求的提取备份恢复都会应用到重做日志进行相应的数据恢复

  重做日志文件也建议进行多路复用,一个数据库至少要有两组重做日志文件。一组供LGWR进行写入,日志文件是固定大小,业务高峰期会很快写满,写满之后会切换到第二组上,在配置为归档模式的数据库中,这时由归档进程(ARCn)开始将第一组的内容进行归档备份,如此循环地进行写入和归档。需要注意的是,在归档进程还未对当前组的日志归档完毕前,是不允许LGWR对其进行重写的。

作用:记录数据文件的每一个变化过程,保证数据库一致性

包含:
三组redo log
每组中有多个成员
成员和成员之间是完全相同的关系
无需备份,无法备份
使用复用来保护

状态:
unused 刚启用的时候,还没有循环过来
inactive 没有启用
ctive 启用
current 当前

5、归档日志文件

ARCn将联机重做日志文件会备份归档到这类文件中去,归档日志文件保留了数据更改的完整历史信息。

6、密码文件

一般称为外部口令文件。一般的用户名和口令是存放在数据字典中,不会存放在这个文件中。在一些特殊场景下,比如实例还未启动,这时,我可能需要以管理员的身份登入系统去执行一些恢复或者启动操作,然而此时,数据字典由于实例还没启动是不存在的,这时就需要外部口令文件进行用户身份的验证。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值