• Oracle涂抹oracle学习笔记第8章RMAN说,我能备份


    本次测试服务器为172.16.25.33

    使用rman连接本地数据库

    rman target /

    在rman中执行启动与关闭的命令与sqlplus相同

    在rman中执行sql语句

    sql ‘需要执行的语句’;

    也可以通过输入host进入主机执行系统命令然后exit退出主机页面再进入rman

    整库的备份

    backup database;

    提示在非存档模式下无法备份

    需要设置成归档模式步骤如下

    非归档模式转换成归档模式

    数据库创建过程中需要指定归档和非归档模式,如果选择的是非归档模式,可以在数据库创建完成后 手工改变成归档模式,具体操作步骤如下。

    (1 )关闭数据库:

    shutdown immediate; 
    

    (2 )启动数据库到 mount 状态:

    startup mount; 
    

    (3 )修改数据库归档模式:

    alter database archivelog; 
    

    (4 )启动数据库:

    alter database open; 
    

    (5 )定义归档位置,也就是归档日志保存路径:

    alter system set log_archive_dest_1="location=/home/oracle/app/oracle/arch/orcl" scope=both; 
    

    (6 )确认配置生效:

    archive log list; 

    再次执行全库备份

    默认备份位置为

    /home/oracle/app/flash_recovery_area/ORCL/backupset

    下面以日期生成一个文件夹

    真的备份操作系统指定备份集的存储位置,最简单的方式是在执行backup命令的时候指定备份段的路径

    backup database format '/home/oracle/rman_backup/bak_%U';

    表空间的备份

    只要实例启动并处于加载状态,无论数据库是否打开,都可以在rman中对表空间进行备份.例如备份users表空间

    同样可以指定format参数显式自定义备份片段名称

    通过 list backup of tablespace users;查看一下备份

    从输出的信息中显示,users表空间存在多份备份,因为前面执行过全库备份

    删除备份

    delete backupset 6;

    要求输入yes确认

    8.3.3数据文件的备份

      有两种方式指定数据文件的名称(即数据文件的详细路径)和FILE_ID.这两项信息都可以通过数据字典DBA_DATA_FILES查询

    select file_id,file_name from dba_data_files;

    PS:实际上在整库备份操作和list操作时都显示了数据文件的文件名称和序号

    备份USERS表空间的数据文件

     backup datafile '/home/oracle/app/oradata/orcl/users01.dbf';

    PS:使用backup datafile指定数据文件的备份既可以指定datafile名称也可以指定file_id

    如果要查看指定数据文件的备份,可以用如下命令

    list backup of datafile n;  n值指定数据文件的序号

    8.3.4控制文件的备份

    backup current controlfile;

    执行backup命令指定include current controlfile如

    backup database include current controlfile;

    甚至在备份控制文件的时候也可以包含控制文件

     backup current controlfile include current controlfile;

     备份system表空间也会触发控制文件的备份

    通过configure命令将controlfile autobackup置为on

    configure controlfile autobackup on;

    当autobackup被置为on时,rman做任何的备份操作,都会自动对控制文件做备份.

    如果要查看备份的控制文件,可以使用以下命令

    list backup of controlfile;

    8.3.5归档文件的备份

      归档日志对于数据库介质恢复相当关键,其虽然不像控制文件一旦损坏则数据库马上崩溃,但重要性丝毫不减,只要拥有归档日志文件

    ,就能确保我们将数据库恢复到备份之后的任意时刻

    backup archivelog all;

    8.3.6初始化参数文件的备份

      通常在备份控制文件时,rman也会自动备份服务器端的初始化参数文件,并置于控制文件相同的备份片段中.由此极少单独对spfile进行

    备份,如果确实需要备份使用backup spfile即可

    8.3.7对备份集进行备份

      备份集也能备份

      备份所有备份集

      backup backupset all;

      备份指定备份集

      backup backupset n;

    8.4RMAN命令知多少

    8.4.1显示rman默认配置-show命令

    #default代表使用默认配置没有修改过

    8.4.2列出备份信息

      列出数据库所有备份信息

       list backup

      列出备份的控制文件信息

      list backup of controlfile;

      列出指定数据文件的备份信息

       list backup of datafile 1;

      列出指定表空间的备份信息

      ist backup of tablespace 'system';

      列出所有备份的归档文件信息

        list backup of archivelog all;

      列出某个设备上的所有信息

       list device type disk backup;

       列出当前数据库的所有归档

       list archivelog all;

      列出所有无效备份

       list expired backup;

    8.4.3删除备份

      用于删除rman备份记录及相应的物理文件.当使用rman执行备份操作时,会在rman资料库中生成rman的备份记录,默认情况下rman备份记录

    会被存放在目标数据库的控制文件中,如果配置了恢复目录(Recovery Catalog),那么该备份记录也会被存放到恢复目录中

      删除过期备份

      delete obsolete;

      删除无效备份

      delete expired backup;

      删除expired副本

      delete expired copy;

      删除所有备份集

      delete backup;

      删除所有映像副本

      delete copy;

    8.4.4报表显示-report命令

      report命令主要用于当前备份信息的分析,如那些备份已过期,那些文件该备份,那些备份不可用

    那些备份可以删除

      查看7天前的数据库模式

       report schema at time 'sysdate-7';

    PS:查看模式信息必须了解到catalog数据库

      查看所有需要的备份

      report need backup;

      查看指定的表空间是否备份

      report need backup tablespace system;

      查看过期备份

      report obsolete;

    8.4.5执行检查-crosscheck命令

      crosscheck命令用来检查备份或者归档物理文件的状态,如果物理文件存在,并且控制文件(恢复记录)中有匹配记录,则标记该对象为avilable(有效),如果文件不存在了,则标记对象状态为expired(无效)

      crosscheck不会主动删除文件(没有这个功能),它只是修改控制文件中对应记录的标记状态,因此如果要删除哪些expired记录,还是的手动通过delete expired命令进行.

      检查所有归档文件

      crosscheck archivelog all;

      检查所有备份集

      crosscheck backup; 

     8.4.5修改状态-change命令

      change命令可以用来修改备份文件或者归档文件的状态,不是指物理文件,而是这些文件在控制文件(或恢复目录)中记录的状态,状态又两种available(可用),和unacaiable(不可用)

      修改指定备份集不可用

      change backupset 24 unavailable;

    8.5RMAN备份进阶篇

      8.5.1是否选择增量备份

      虽然说用backup命令生成的备份集中只备份了那些使用了的数据块,备份集实际大小已经比目标数据库小了很多.不过对于修改不是很频繁但数据文件体积较大的的数据库,在执行备份的时候

    希望有一种功能,备份时只备份那些修改过的数据,这样一来备份集就会小很多.增量备份功能正是满足这一功能而出现的.

      建立增量备份非常简单,实质就是指定一个参数incremental level=n(n最大不超过4),0级备份相当于数据库的完整备份

      建立级别为0的全库备份

      backup incremental level=0 database;

     PS:如果没有先建立0级备份直接使用backup incremental level=1 database;命令建立级别为1的增量备份则会先建立级别为0的全量备份再建立增量备份

      RMAN提供了两种增量备份的类型:DIFFERENTIAL(差异)和CUMULATIVE(累积),这两种增量类型在创建备份集时的算法是不一样的.默认情况是差异备份,如果要建立累积备份需要在建立备份是时候指定CUMULATIVE

      backup incremental level=2 cumulative database;

      

      

  • 相关阅读:
    C++指针和引用及区别
    C/C++中extern关键字总结
    php进阶面试题总结
    算法疑难(js实现)---11、字典树
    Trie|如何用字典树实现搜索引擎的关键词提示功能
    ExtJS表格——行号、复选框、选择模型
    Ext.js 中 25种类型的Ext.panel.Tool
    Ext NumberField使用
    [ext]form.submit()相关说明
    ExtJS 表单 submit时错误处理
  • 原文地址:https://www.cnblogs.com/minseo/p/7752908.html
Copyright © 2020-2023  润新知