• 20.Oracle运维脚本:hist和err


    首次使用rman备份数据库时,为了安全起见,我们应该将整个数据库exp出来,显而易见,每次手敲exp代码是不可取的。

    为了,这里可以写一个exp脚本,之后的每次导出便只需敲写./exp_dp_full.sh或者sh exp_db_full.sh,还能实现各个参数的前后一致,如下:

    export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
    /u01/app/oracle/product/10.2/db_1/bin/exp 数据库名/用户名 file=/backup/ecology-$(date +%F).dmp log=/backup/ecology-$(date +%F).log full=y direct=y buffer=5120000 compress=n

    而且这里我们可以写一个Oracle运行日志脚本chk_ora_alert.sh,将Oracle运行日志分门别类,提取其中的hist和err记录,使得运维人员得以快速找到自己所需的运行信息。

    #!/bin/bash
    cd $ORACLE_BASE/admin/$ORACLE_SID/bdump
    if [ -f alert_$ORACLE_SID.log ]
    then
        mv alert_$ORACLE_SID.log alert_$ORACLE_SID_temp.log
        touch alert_$ORACLE_SID.log
        cat alert_$ORACLE_SID_temp.log >> alert_$ORACLE_SID_$(date +%F).hist
        grep ORA- alert_$ORACLE_SID_temp.log > alert.err
    fi

    PS:

    $ORACLE_BASE只是一个环境变量名,相当于/u01/app/oracle,可自行设置;$ORACLE_SID同理

    然而,

    还有一个问题:前面的rman和crontab,再加上这exp和oracle,使得backup目录杂乱无章、凌乱不堪。

    于是,这里又将脚本的绝对路修改了一下,将运行结果分配到各个目录,如下图:

     

  • 相关阅读:
    day02_07 创建新目录
    day02_04 字典
    day02_02 列表切割
    day03_01 文件操作
    MS的TREE 控件使用
    使用自定义用户控件的一些经验
    Asp.net开发心得点滴[动态加载的用户控件使用事件委托,交给页面处理的事件无效问题]
    正则表达式基础学习[1]
    自定义控件无法在VS.net编辑中显示
    错误的递归
  • 原文地址:https://www.cnblogs.com/zmc60/p/15642791.html
Copyright © 2020-2023  润新知