zoukankan      html  css  js  c++  java
  • 备份相关的动态性能视图及监控

     

        1.相关视图

            v$backup_files

            v$backup_set

            v$backup_piece

            v$backup_redolog

            v$backup_spfile

            v$backup_device

            v$rman_configuration

            v$archived_log

            v$backup_corruption

            v$copy_corruption

            v$database_block_corruption

            v$backup_datafile

           

        2.查看channel对应的server sessions

                使用set command id命令

            查询v$process和v$session判断哪一个会话与之对应的RMAN通道

            SQL> select sid,username,client_info from v$session

              2  where client_info is not null;

                   SID USERNAME                       CLIENT_INFO

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

                   146 SYS                            rman channel=ORA_DISK_1

                   148 SYS                            rman channel=ORA_DISK_2

                   150 SYS                            rman channel=ORA_DISK_3

               

            --下面使用了set command id命令

            RMAN> run{

            2> allocate channel ch1 type disk;

            3> set command id to 'rman';

            4> backup as copy datafile 4

            5> format '/u01/app/oracle/rmanbak/dd_%U';

            6> }

               

            SQL> select sid,username,client_info from v$session

              2   where client_info is not null;

                   SID USERNAME                       CLIENT_INFO

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

                   140 SYS                            id=rman

              

            SQL> select sid,spid,client_info

              2  from v$process p ,v$session s

              3  where p.addr = s.paddr

              4  and client_info like '%id=%';

                   SID SPID         CLIENT_INFO

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

                   140 5002         id=rman 

              

            --查看rman完整的进度      

            SQL> select sid,serial#,context,sofar,totalwork,

              2  round(sofar/totalwork*100,2) "% Complete"

              3  from v$session_longops

              4   where opname like 'RMAN:%'

              5  and opname not like 'RMAN:aggregate%'

              6  and totalwork!=0;    

            --通过如下SQL获得rman用来完成备份操作的服务进程的SID与SPID信息:

            select sid, spid, client_info

              from v$process p, v$session s

             where p.addr = s.paddr

               and client_info like '%id=rman%'

         

        3.Linux下的rman自动备份

            备份脚本+crontab

            bak_inc0 :0级增量备份,每周日使用级增量进行备份

            bak_inc1 :1级增量备份,每周三使用级增量备份,备份从周日以来到周三所发生的数据变化

            bak_inc2 :2级增量备份,备份每天发生的差异增量。如从周日到周一的差异,从周一到周二的差异

           

            --下面是级增量的脚本,其余级与级依法炮制,所不同的是备份级别以及tag标记

            [oracle@oradb scripts]$ cat bak_inc0

            run {

            allocate channel ch1 type disk;

            backup as compressed backupset  incremental level 0

            format '/u01/oracle/bk/rmbk/incr0_%d_%U'

            tag 'day_incr0'

            database plus archivelog delete input;

            release channel ch1;

            }

                   

            逐个测试脚本

            [oracle@oradb bk]$ rman target / log=/u01/oracle/bk/log/bak_inc0.log /

            > cmdfile=/u01/oracle/bk/scripts/bak_inc0.rcv

            RMAN> 2> 3> 4> 5> 6> 7> 8> 9>

            [oracle@oradb bk]$

            编辑crontab

            [root@oradb ~]# whoami

            root

            [root@oradb ~]# crontab -e -u oracle

            45 23 * * 0 rman target / log=/u01/oracle/bk/log/bak_inc0.log append cmdfile = /u01/oracle/bk/scripts/bak_inc0.rcv

            45 23 * * 1 rman target / log=/u01/oracle/bk/log/bak_inc2.log append cmdfile = /u01/oracle/bk/scripts/bak_inc2.rcv

            45 23 * * 2 rman target / log=/u01/oracle/bk/log/bak_inc2.log append cmdfile = /u01/oracle/bk/scripts/bak_inc2.rcv

            45 23 * * 3 rman target / log=/u01/oracle/bk/log/bak_inc1.log append cmdfile = /u01/oracle/bk/scripts/bak_inc1.rcv

            45 23 * * 4 rman target / log=/u01/oracle/bk/log/bak_inc2.log append cmdfile = /u01/oracle/bk/scripts/bak_inc2.rcv

            45 23 * * 5 rman target / log=/u01/oracle/bk/log/bak_inc2.log append cmdfile = /u01/oracle/bk/scripts/bak_inc2.rcv

            45 23 * * 6 rman target / log=/u01/oracle/bk/log/bak_inc2.log append cmdfile = /u01/oracle/bk/scripts/bak_inc2.rcv

            "/tmp/crontab.XXXXInBzgR" 7L, 791C written

            crontab: installing new crontab

            保存之后重启crontab

            [root@oradb ~]# service crond restart

            Stopping crond: [  OK  ]

            Starting crond: [  OK  ]

           

            检查自动备份是否成功执行

  • 相关阅读:
    【转】Windows守护进程的一种简单实现
    vim 文本会在末尾自动添加换行 md5文件和数据只不对应
    指向指针的指针的理解和应用
    TinyXML C++解析XML
    加密解密 AES RSA MD5 SHA
    微信支付 php兼容问题
    sublime text 2 php 语法错误检查
    微信支付宝支付
    MySql安装和基本管理
    验证码处理
  • 原文地址:https://www.cnblogs.com/wwxbi/p/4216804.html
Copyright © 2011-2022 走看看