美文网首页
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、翻译报错。

    相关文章

      网友评论

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

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