OMF方式管理(2)

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

 OMF方式管理(2)

.日志文件的OMF管理

  日志文件管理参数:db_create_online_log_dest_n

  db_create_online_log_dest_n:Oracle创建联机日志文件和控制文件时,在未明确指定路径的情况下的缺省路径

 

--查看日志文件的参数,下面是未作设置的db_create_online参数

    SQL> SHOW PARAMETER db_create_online

 

       NAME                                 TYPE        VALUE

       ------------------------------------ ----------- ------------------------------

       db_create_online_log_dest_1          string

       db_create_online_log_dest_2          string

       db_create_online_log_dest_3          string

       db_create_online_log_dest_4          string

       db_create_online_log_dest_5          string

 

    --从上面可以看出系统预留了一个日志组个成员来形成OMF,一般情况下我们仅仅需要个成员即可。因为在此设定个参数文件

    --下面是未设定的情况下创建日志文件,则默认为在数据文件路径及闪回区各放一个文件,因为上述两个路径都是OMF路径,如下:

 

    SQL> SELECT MEMBER FROM v$logfile;

 

       MEMBER

       --------------------------------------------------------------------------------

       /u01/app/oracle/oradata/orcl/redo03.log

       /u01/app/oracle/oradata/orcl/redo02.log

       /u01/app/oracle/oradata/orcl/redo01.log

       /u01/app/oracle/oradata/orcl/ORCL/onlinelog/o1_mf_4_5vtgzjyz_.log

       /u01/app/oracle/flash_recovery_area/ORCL/onlinelog/o1_mf_4_5vtgzlhb_.log

 

    SQL> SHOW PARAMETER db_create_file_dest

 

       NAME                                 TYPE        VALUE

       ------------------------------------ ----------- ------------------------------

       db_create_file_dest                  string      /u01/app/oracle/oradata/orcl

 

       SQL> show parameter db_recovery_file_dest

 

       NAME                                 TYPE        VALUE

       ------------------------------------ ----------- ------------------------------

       db_recovery_file_dest                string      /u01/app/oracle/flash_recovery

                                                  _area

       db_recovery_file_dest_size           big integer 2G

 

    --将日志文件存放到指定的disk1,disk2下面

    SQL> ho mkdir /u01/app/oracle/disk1

 

    SQL> ho mkdir /u01/app/oracle/disk2

 

    SQL> ALTER SYSTEM SET db_create_online_log_dest_1 = '/u01/app/oracle/disk1';

 

       System altered.

 

    SQL> ALTER SYSTEM SET db_create_online_log_dest_2 = '/u01/app/oracle/disk2';

 

       System altered.

 

    SQL> ALTER DATABASE ADD logfile;

 

       Database altered.

 

    SQL> SELECT * FROM v$logfile; /*可以看到新的日志文件放到disk1,disk2下面*/

 

       GROUP# STATUS  TYPE    MEMBER                                   IS_

    ---------- ------- ------- ---------------------------------------- ---

            3         ONLINE  /u01/app/oracle/oradata/orcl/redo03.log  NO

            2         ONLINE  /u01/app/oracle/oradata/orcl/redo02.log  NO

            1         ONLINE  /u01/app/oracle/oradata/orcl/redo01.log  NO

            4         ONLINE  /u01/app/oracle/oradata/orcl/ORCL/online NO

                            log/o1_mf_4_5vtgzjyz_.log

 

            4         ONLINE  /u01/app/oracle/flash_recovery_area/ORCL YES

                            /onlinelog/o1_mf_4_5vtgzlhb_.log

 

            5         ONLINE  /u01/app/oracle/disk1/ORCL/onlinelog/o1_ NO

                            mf_5_5vtlpxo0_.log

 

       GROUP# STATUS  TYPE    MEMBER                                   IS_

    ---------- ------- ------- ---------------------------------------- ---

 

            5         ONLINE  /u01/app/oracle/disk2/ORCL/onlinelog/o1_ NO

                            mf_5_5vtlpz4d_.log

 

                            SQL> alter database drop logfile group 5;

 

    Database altered.

 

    /*删除日志文件组*/

    SQL> ALTER DATABASE DROP logfile GROUP 4;

 

       Database altered.

 

    SQL> SELECT group#,member FROM v$logfile;

 

       GROUP# MEMBER

    ---------- ----------------------------------------

            3 /u01/app/oracle/oradata/orcl/redo03.log

            2 /u01/app/oracle/oradata/orcl/redo02.log

            1 /u01/app/oracle/oradata/orcl/redo01.log

            

    SQL> ho ls /u01/app/oracle/disk1/ORCL/onlinelog/o1_mf_5_5vtlpxo0_.log;

       ls: /u01/app/oracle/disk1/ORCL/onlinelog/o1_mf_5_5vtlpxo0_.log: No such file or directory

        

总结:

  1.当定义了db_recovery_file_dest 和db_create_file_dest路径,且没有定义db_create_online_log_dest_n的时候,

    则OMF将日志文件存放在db_recovery_file_dest和db_create_file_dest路径下,而且日志组下为个成员

  2.当定义了db_create_online_log_dest_1则将日志文件存放到db_create_online_log_dest_1

    和db_create_file_dest路径下,且日志组下为个成员

  3.当定义了db_create_online_log_dest_1和db_create_online_log_dest_2则存放到

    db_create_online_log_dest_1和db_create_online_log_dest_2下

  4.当定义了多个db_create_online_log_dest_n,则为每个组n个日志成员,且多路复用

  5.增加日志文件的方法;

    alter database add logfile;

    alter database add logfile [group n];

    alter database add logfile member '<dir>' to group [n]

    /*add logfile member这个方法仅使用未使用OMF的日志文件,对于已经运用了OMF的日志组,无法使用该功能添加日志文件*/

  6.删除日志文件组时,对于OMF的日志文件组,其对应的物理文件同时被删除

    alter database drop logfile group [n]

 

 

.使用OMF管理控制文件

  使用OMF管理控制文件同管理日志文件类似,主要涉及到的也是db_create_online_log_dest_n参数

  即控制文件默认存放在db_create_online_log_dest_n下,当定义了一个db_create_online_log_dest_n

  则生成一个控制文件,当定义了多了则生成多个控制文件。

  前提条件:去掉control_files参数

  alter system reset control_files scope = spfile sid = '*';

 

  以下是预留的OMF路径:

    SQL> SHOW PARAMETER db_create

 

       NAME                                 TYPE        VALUE

       ------------------------------------ ----------- ------------------------------

       db_create_file_dest                  string      /u01/app/oracle/oradata/orcl

       db_create_online_log_dest_1          string      /u01/app/oracle/disk1

       db_create_online_log_dest_2          string      /u01/app/oracle/disk2

       db_create_online_log_dest_3          string

       db_create_online_log_dest_4          string

       db_create_online_log_dest_5          string

    SQL> show parameter db_recovery_file

 

       NAME                                 TYPE        VALUE

       ------------------------------------ ----------- ------------------------------

       db_recovery_file_dest                string      /u01/app/oracle/flash_recovery

                                               _area

       db_recovery_file_dest_size           big integer 2G

 

总结

    参数                                         适用范围

    db_create_file_dest_size          datafile,create tablespace<>

    db_create_online_log_dest_n       logfile ,controlfile

    db_recovery_file_dest             rman, archivelog,onlinelog

 

 

SQL> alter database backup controlfile to trace;

再就是把control_files参数去除。本来想用reset清掉control_files。很不巧总报错。

只能用生PFILE文件,手工更改的方式:

SQL> create pfile='C:\anran.ora' from spfile.

打开anran.ora,remove control_files参数行。

SQL> STARTUP NOMOUNT pfile='C:\anran.ora'

剩下就是按trace文件脚本重建控制文件就可以了,这里有一点,TRACE文件里有两处脚本,noresetlogs/resetlog.我们最好选用前者。










本文转自 客居天涯 51CTO博客,原文链接:http://blog.51cto.com/tiany/745640,如需转载请自行联系原作者
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
2月前
|
监控 数据挖掘
有效的资源动态管理是确保项目成功和组织效率的关键
有效的资源动态管理是确保项目成功和组织效率的关键
134 71
|
3月前
|
边缘计算 运维 Kubernetes
在K8S中,常见部署K8S方式有哪些?
在K8S中,常见部署K8S方式有哪些?
|
6月前
|
存储 安全 Oracle
实验六 模式对象管理与安全管理
实验六 模式对象管理与安全管理
24 1
|
6月前
|
监控 项目管理
问题管理的方法
问题管理的方法
108 0
问题管理的方法
|
XML 数据格式
如何使用流程 中的 DataObject 并为流程设置租户
如何使用流程 中的 DataObject 并为流程设置租户
|
数据管理
如何创建支持数据的组织
数据是数字化转型的中心,但智能化管理数据是成功的最大障碍。在数据管理中,这不仅仅是技术和规模的问题,更是组织和流程的问题。
如何创建支持数据的组织
|
SQL 数据库
OushuDB 用户指南书籍定义创建和管理模式之创建模式
OushuDB 用户指南书籍定义创建和管理模式之创建模式
52 0
Etherpad配置及管理功能
Etherpad配置及管理功能
304 0
Etherpad配置及管理功能
|
资源调度 前端开发 JavaScript
如何搭建一个内部组件共享平台
如今前端越来越趋于组件化的开发方式,最大的益处就是UI页面和逻辑的共用。 在开发者的眼里,如果你打开一个网站,组件化的开发方式会让你看起来像这个样子
785 0
如何搭建一个内部组件共享平台
|
人工智能 自然语言处理 算法
用户地址数据不规范、管理难?阿里云帮您0.1秒解决
近年来,人工智能、大数据、小程序等技术广泛应用,直播电商、社交电商、跨境电商海外仓等模式深化创新。面对新冠肺炎疫情带来的冲击,消费者的消费习惯正在发生改变,以抖音、快手为主的直播平台带来的直播红利快速爆发。在订单的狂欢之后,用户地址杂乱、不规范等问题也让企业花费较大人力、时间成本去解决。基于此,阿里云AI人工智能团队在充分调研市场后,通过超强的NLP算法致力于企业用户地址数据的抽取、结构化、纠错等,实现以人工智能降本增效。
用户地址数据不规范、管理难?阿里云帮您0.1秒解决