zoukankan      html  css  js  c++  java
  • OCP读书笔记(4)

    4.Configuring Backup Settings

    查看RMAN持久化设置

    [oracle@easthome ~]$ rman target /
    RMAN> show all;
    SQL> select name, value from v$rman_configuration;

    控制文件自动备份

    SQL> create tablespace tt datafile '/u01/app/oracle/oradata/orcl/tt01.dbf' size 1M;
    
    RMAN> list backup of controlfile;--此时控制文件没有发生自动备份
    RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;--打开控制文件的自动备份
    
    SQL> drop tablespace tt including contents and datafiles;--表空间tt被删除,控制文件内容发生变化,自动备份打开,所以控制文件自动备份
    
    RMAN> list backup of controlfile;

    配置控制文件自动备份到的位置:

    RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/u01/app/oracle/backup/rmanbk/%F'; --默认备份到快速闪回区(/u01/app/oracle/fast_recovery_area/ORCL/autobackup)
    
    SQL> create tablespace tt datafile '/u01/app/oracle/oradata/orcl/tt01.dbf' size 1m;
    
    RMAN> list backup of controlfile;

    IIIIIIIIII stands for the DBID.
    YYYYMMDD:备份的时间
    QQ:产生备份的序列号,十六进制,从00开始FF结束

    创建多个备份集

    RMAN> CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 3; --改变配置
    
    RMAN> BACKUP COPIES 3 TABLESPACE USERS FORMAT='/u01/app/oracle/backup/rmanbk/%N_%s_%c.dbf','/u01/app/oracle/backup/rmanbk/%N_%s_%c.dbf','/u01/app/oracle/backup/rmanbk/%N_%s_%c.dbf'; --通过在命令中指定份数:

    注意:多份备份只适用于备份集备份,不能用于镜像备份,不能使用快速闪回区

    备份优化

    RMAN> CONFIGURE BACKUP OPTIMIZATION ON; --跳过已经备份的文件
    RMAN> BACKUP DEVICE TYPE sbt BACKUPSET ALL FORCE; --使用force选项覆盖已有备份

    配置生效之后,会在在备份的时候,跳过某些数据,比如只读表空间

    sqlplus / as sysdba
    
    alter tablespace users read only;
    
    rman target /
    
    RMAN> backup database format='/u01/app/oracle/backup/rmanbk/%d_%s.dbf';
    RMAN> backup database format='/u01/app/oracle/backup/rmanbk/%d_%s.dbf';
    RMAN> backup database format='/u01/app/oracle/backup/rmanbk/%d_%s.dbf';--当第三次备的时候,oracle发现users表空间为只读的而且已经备过两次,没有必要再进行备份,所以跳过

    压缩备份

    LOW: 这种压缩级别速度最快,压缩程度比MEDIUM小,使用最小的CPU,使用LZIP压缩算法
    MEDIUM: 这种压缩级别在CPU和压缩之间进行平衡,使用ZIP压缩算法
    HIGH: 这种压缩级别的压缩程度最高,但是使用的CPU最多,使用GZIP压缩算法
    BASIC: 这种压缩算法使用BZIP2压缩算法(10g使用的压缩算法)

    RMAN> CONFIGURE COMPRESSION ALGORITHM 'BASIC'
    RMAN> backup as compressed backupset database format='/u01/app/oracle/backup/rmanbk/ba_%d_%s.dbf';
    
    RMAN> CONFIGURE COMPRESSION ALGORITHM 'MEDIUM'
    RMAN> backup as compressed backupset database format='/u01/app/oracle/backup/rmanbk/mi_%d_%s.dbf';
    
    RMAN> CONFIGURE COMPRESSION ALGORITHM 'HIGH'
    RMAN> backup as compressed backupset database format='/u01/app/oracle/backup/rmanbk/hi_%d_%s.dbf';
    
    RMAN> CONFIGURE COMPRESSION ALGORITHM 'LOW'
    RMAN> backup as compressed backupset database format='/u01/app/oracle/backup/rmanbk/lo_%d_%s.dbf';

    cd /u01/app/oracle/backup/rmanbk

    ls -lsh

    加密备份
    创建钱包(默认方式)

    1、创建一个新目录,并指定为Wallet目录

    mkdir -p /u01/app/oracle/ora_wallet
    mkdir -p /u01/app/oracle/admin/orcl/wallet

    2. 设置wallet目录,在参数文件/u01/app/oracle/product/11.2.0/db/network/admin/sqlnet.ora中,按照下面的格式加入信息:

    ENCRYPTION_WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=/u01/app/oracle/ora_wallet)))

    3. 创建master key文件,指定wallet密码,使用SYS用户登入系统,建立加密文件

    SQL> alter system set encryption key identified by wallet;

    对备份进行加密

    DBA需要保护好数据库的备份,如果入侵者能够获得磁盘或磁带上的备份,那么他们可以将备份数据恢复到其他的数据库上,从而获取其中的数据内容。

    Oracle 10g R2以后,我们可以使用以下三种不同的模式对RMAN的备份进行加密。

    1、透明的加密模式:这是默认的加密模式,需要借助钱包才能实现。当我们需要将数据文件备份到同样的存储介质的话,可以使用这种加密模式。在备份和恢复时,都必须打开钱包,否则备份和恢复都失败。

    2、基于密码的加密模式:备份前需要指定密码,然后进行备份。当恢复时,必须提供备份时的密码。当我们需要使用备份,从而在其他数据库上进行恢复时,可以考虑使用这种这种模式。

    3、混合加密模式:同时使用钱包和密码进行备份和恢复。如果钱包打开,则使用钱包进行加密,如果钱包没有打开,则使用密码进行加密。当需要使用备份在当前数据库和其他数据库上进行恢复时,可以考虑使用这种模式

    透明加密模式

    该模式下,我们在备份之前,要创建一个新的钱包或者打开一个已经存在的钱包,然后进行备份。恢复时,也必须要打开相同的钱包,我们以前面的钱包为例,来说明如何使用透明加密模式如:

    打开钱包;

    SQL> alter system set encryption wallet open identified by wallet;

    配置rman,启用透明加密模式

    RMAN> configure encryption for database on;

    这样,我们就为备份配置了透明的加密模式。整个备份和恢复的操作没有任何变化,备份和恢复用的命令脚本也不需要做任何改变,我们以备份单个表空间为例来说明这个过程。

    RMAN> backup tablespace users;

    备份完users表空间后,我们关闭钱包如:

    SQL> alter system set encryption wallet close identified by wallet;

    接下来,我们使用刚刚生成的备份进行恢复:

    RMAN> restore tablespace users; --error

    这个错误很明显,告诉我们由于钱包没打开,所以不能进行恢复。那么我们打开钱包后再次进行恢复,即可成功。

    SQL> alter system set encryption wallet open identified by wallet;
    
    RMAN> restore tablespace users; --ok
    
    SQL> alter system set encryption wallet close identified by wallet;

    事实上,只要我们在rman中配置了启用透明加密模式以后,那么在进行备份时,如果没有打开钱包,整个备份过程失败。如:

    RMAN> run { backup database format='/u01/app/oracle/backup/rmanbk/%d_%s.dbf';} --error

    基于密码的加密模式

    在基于密码的加密模式下,我们进行备份之前,必须先设置密码。如:

    RMAN>set encryption on identified by "1000@bya" only;

    注意该命令中最后的only关键字,设置了密码后,备份的命令不需要做任何的改变,我们还是以备份一个表空间为例:

    RMAN> backup tablespace users;

    当我们把备份文件恢复到其他服务器上进行恢复时,就必须指定该备份文件的密码,如:

    RMAN> set decryption identified by "1000@bya";
    RMAN> restore tablespace users;

    当设置了解密的密码后,我们就可以成功进行恢复了。如果在恢复时,不指定备份的密码,则恢复过程失败。

    混合加密模式

    该模式结合了透明加密和密码加密两种模式。也就是说,在备份前,可以打开钱包,同时设置密码,然后再进行备份。备份完毕以后,在恢复时,要么代开钱包后直接进行恢复,要么没有打开钱包,而是指定密码,然后再进行恢复。

    我们来举一个例子说明混合加密模式是如何使用的,先打开钱包:

    RMAN> alter system set encryption wallet open identified by wallet;

    然后,我们指定密码。注意,在指定密码的时候没有only关键字

    RMAN> configure encryption for database on;
    RMAN> set encryption identified by "0000@bya";

    设置完以后,开始备份。

    RMAN> backup tablespace users;

    在恢复users表空间前,我们不必关闭钱包,直接进行恢复。可以发现,尽管没有指定备份的密码,恢复也能成功,因为这时我们用了钱包进行解密,然后我们关闭钱包,再进行恢复,则报错,必须先按照如下方式指定解密的密码:

    RMAN> set decryption identified by "0000@bya";

    然后,我们继续恢复,则能成功执行,因为这时我们指定了解密的密码。

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

    管理持久化设置
    RMAN> CONFIGURE DEVICE TYPE sbt PARALLELISM 3;

    RMAN> SHOW CONTROLFILE AUTOBACKUP FORMAT;
    RMAN> SHOW EXCLUDE;
    RMAN> SHOW ALL;

    重置参数为默认值
    RMAN> CONFIGURE BACKUP OPTIMIZATION CLEAR;
    RMAN> CONFIGURE MAXSETSIZE CLEAR;
    RMAN> CONFIGURE DEFAULT DEVICE TYPE CLEAR;

    使用媒介(磁带等)管理器
    RMAN> CONFIGURE DEFAULT DEVICE TYPE TO DISK;
    RMAN> CONFIGURE DEFAULT DEVICE TYPE TO TAPE;

    配置和分配通道
    RMAN> CONFIGURE DEVICE TYPE sbt;
    RMAN> CONFIGURE DEFAULT DEVICE TYPE TO sbt;
    RMAN> CONFIGURE CHANNEL DEVICE TYPE sbt ...
    RMAN> BACKUP DATABASE;

    RMAN> RUN
    {
    ALLOCATE CHANNEL ch1 DEVICE TYPE DISK;
    BACKUP DATABASE PLUS ARCHIVELOG;
    }

  • 相关阅读:
    iOS textField placeholder 信息上浮
    iOS 用keypath设置一些属性
    iOS 自由拖动的滑块
    iOS 系统字体和导入新字体
    iOS 无法联网
    iOS 视频启动界面
    iOS 动画分享
    Xcode8 打包ios app,上传APPStore,发布流程 以及证书和配置文件遇到的坑
    mac电脑怎么打开world文档的目录
    ios添加设备真机测试,以及"Undefined symbols for architecture x86_64:''错误
  • 原文地址:https://www.cnblogs.com/thlzhf/p/3382644.html
Copyright © 2011-2022 走看看