美文网首页
Oracle体系结构3(文件结构)

Oracle体系结构3(文件结构)

作者: 苏水的北 | 来源:发表于2021-04-11 23:36 被阅读0次
image.png

1、控制文件:控制文件中保存数据库中关于日志文件、数据文件、临时表空间文件信息。控制文件正常,才能使Oracle数据库正常打开/关闭。控制文件在数据库启动时,在nomount转到mount阶段发挥作用,mount阶段会读取控制文件。

文件系统建库时查看控制文件(cd /oradata/fsdb ;ls -l control*):
1、所有的控制文件大小一致;
2、文件的最后修改时间一直。
注意:数据库对控制文件的修改是同时的,而多个控制文件作为镜像副本存在,提供控制文件的冗余。

如何查看控制文件位置:

1、show parameter control;
2、select name from v$controlfile;

2、数据文件:数据文件中保存软件信息,用户数据。数据文件正常,数据库才能正常open。

故障模拟:缺失日志文件---->报错?
查看数据文件(cd /oradata/fsdb ; ls -l *.dbf):
1、每个文件大小不同;
2、每个文件最后修改时间不同;
3、每个文件的工作机制是相对独立的。

查看数据文件路径:select name from v$datafile;

3、重做日志文件:重做日志文件用于保存redo log。redo日志文件正常,数据库才能正常open。

故障模拟:缺失日志文件---->报错?
查看数据文件(cd /oradata/fsdb ; ls -l redo*.log):
1、三个日志文件大小一致,默认大小50M;
2、三个文件最后修改时间不同。
备注:redo log file的使用是循环覆盖,并且每个文件大小是固定的。redo log工作机制是循环覆盖,在Oracle中经常谈到的概念不是redo log file而是redo log group,目的是为了提供redo log file层面的冗余。Oracle数据库在同一时间点,只会对一组redo log group进行写操作。

查看redo log group当前日志组信息:
SQL> select GROUP#,MEMBERS,STATUS from v$log;

    GROUP#    MEMBERS STATUS
---------- ---------- ----------------
         1          1 CURRENT      //当前日志组
         2          1 INACTIVE
         3          1 INACTIVE
日志组切换:

1、日志组中空间使用完;
2、手动切换日志组,alter system switch logfile;

4、归档日志文件:归档日志文件和Oracle数据库运行没有直接关系。当重做日志组由1切换到2时,会对重做日志组1进行归档。

redo实际工作场景:

1、redo log本身是保证脏块安全的,当数据库异常实例停止,这个时候启动实例时redo log和数据块会重构脏块,用来恢复数据库open(重构脏块:会把提交的脏块进行落盘操作,未提交的脏块进行回滚处理)。
2、如果数据库异常,需要恢复的数据时间是10小时,假如redo log本身只能恢复3小时数据,这个时候就引入了归档日志。redo log因为是循环覆盖,所以redo log file能保存的redo log是有限的。
总结:数据完全恢复=备份集+归档+redo log fiel。

5、备份文件:我们在使用备份工具备份数据库中数据时产生的文件。

6、参数文件:在$ORACLE_HOME/dbs下存放。包括pfile和spfile。

查看参数文件信息:
SQL> show parameter spfile;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      +DATADG/asmdb/spfileasmdb.ora
1、查看spfile存放路径;
2、可以用于判断当前数据库启动时使用的是pfile还是spfile。
参数文件修改总结:
1、如果数据库从spfiel启动,我们可以在数据库中进行对参数文件的修改。
2、如果数据库从pfile启动,不能在数据库中修改参数文件,只能在系统中使用编辑器对参数文件编辑。

7、密码/口令文件:存放在$ORACLE_HOME/dbs中,密码文件名格式是orapwSID。密码文件用来存放具有sysdba权限的用户密码(sys用户密码)。使用sys用户远程连接会进行密码校验,其他用户的密码保存在数据库中。

生成密码文件,保存sys用户密码,通过orapwd重新生成密码文件,用于重置sys密码:orapwd file=orapwSID password=123456 force=y。

8、告警日志/追踪文件:存放在$ORACLE_BASE/diag/rdbms/db_name/trace/alert_SID.log。

如何查看日志:
1、从下往上看,找最近的ORA级别报错;
2、翻译报错。

相关文章

  • 2021-01-19

    1、介绍一下Oracle的体系结构。 逻辑体系结构:块,区,段,表空间物理体系结构:表空间,三大文件 (ctl(控...

  • Oracle

    Oracle 标签(空格分隔): 未分类 体系结构 Oracle数据库体系结构总览Oracle数据库系统 = 实例...

  • Oracle专题四之Oracle体系结构

    Oracle体系结构 终于迎来了Oracle最重要的一章。当然,大多数研发可能都不太会关心Oracle的体系结构,...

  • Oracle详解(Ⅰ):世界上目前已知最好的关系型数据库

    Oracle数据库的体系结构 数据库: Oracle数据库是数据的物理存储,这就包括(数据文件ORA或者DBF、控...

  • Oracle 实战

    1 Oralce体系结构 oracle体系结构如下 数据库 实例 表空间 用户 表 以上,上对象对待下对象都是1:...

  • oracle体系结构

    oracle数据库=数据库文件+数据库实例 数据库文件类型主要包括:控制文件、数据文件、重做日志文件 一个数据库可...

  • Oracle 体系结构

    Oracle database server = 实例 instance + 数据库 database insta...

  • Mysql体系——整体架构

    内容 Mysql 体系结构 Innodb 体系结构 Innodb 文件 Innodb 特性 一 Mysql 体系结...

  • Oracle体系结构学习笔记

    Oracle体系结构由实例和一组数据文件组成,实例由SGA内存区,SGA意思是共享内存区,由share pool(...

  • 【书 : InnoDB 存储引擎 】目录

    1章 Mysql 体系结构和存储引擎 2章 InnoDB 存储引擎 3章 文件 3.1 参数文件 3.2 日志文件...

网友评论

      本文标题:Oracle体系结构3(文件结构)

      本文链接:https://www.haomeiwen.com/subject/qtwflltx.html