• 10gocm->session3->数据备份与恢复




    这个实验考查我们当数据库出现问题宕机、数据丢失的情况下怎样挽回我们的损失,怎样在最短时间内恢复我们的数据库服务。

    RMAN规划
    host target库 catalog库
    ocm01 ocmdb  
    ocm02   ocmdb02



    一 模拟Control File 丢失故障处理(实例)
    我们模拟控制文件丢失故障并进行高速恢复
    强行停止数据库
    select open_mode,log_mode from v$database;
    1.shutdown abort  
    rm命令删除控制文件
    rm control01.ctl
    startup 启动数据库时就会发现报错信息
    我们检查alert日志获知控制文件丢失
    shutdown immediate  停掉数据库
    2.使用完善的控制文件恢复丢失的控制文件
    cp control02.ctl  ../disk1/control01.ctl
    重新启动数据库
    startup




    二 创建CATALOG库保存RMAN备份信息
    1.catalog库统一管理RMAN备份信息即元数据信息,假设没有catalog库,就把RMAN备份信息写入控制文件
    2.目标数据库必须注冊到catalog库中才干使用
    官方文档:Backup and Recovery Reference -> CREATE CATALOG和REGISTER
    Backup and Recovery Advanced User’s Guide -> 10 Managing the Recovery Catalog -> Creating a Recovery Catalog
    注:ocmdb是目标数据库
        ocmdb02是CATALOG数据库
    1.创建表空间            这个表空间存放catalog库内容
    sqlplus sys/oracle@ocmdb02 as sysdba
    create tablespace catalog_tbs datafile '/u01/oracle/oradata/ocmdb02/catalog_tbs01.dbf' size 100m autoextend on;
    2.创建catalog库管理用户catalog_admin默认表空间catalog_tbs
    create user catalog_admin identified by catalog_admin default tablespace catalog_tbs;
    3.将recovery_catalog角色授予给catalog_admin用户才干备份和恢复
    注:有的同学会问,我直接授予DBA角色不就能够了吗。事实上DBA角色不是万能的,它不包含上述角色因此我们须要单独设置
    select * from dba_roles where role like '%RECOVER%';                  有没有这个角色
    select * from role_sys_privs where role='RECOVERY_CATALOG_OWNER';     这个角色包括哪些权限
    grant connect,resource,recovery_catalog_owner to catalog_admin;       仅仅需这三个角色就可以
    4.登录RMAN创建CATALOG库
    rman catalog catalog_admin/catalog_admin@ocmdb02 
    create catalog tablespace catalog_tbs;                               把catalog_tbs表空间指定为catalog库
    exit
    5.注冊目标数据库
    注冊ocmdb
    必需要管理员身份登录数据库才可注冊普通用户不能够
    rman target sys/oracle@ocmdb1521 catalog catalog_admin/catalog_admin@ocmdb02 
    register database;
    注冊ocmdb02
    rman target sys/oracle catalog catalog_admin/catalog_admin
    register database;
    【unregister database; 】取消注冊命令
    6.在数据库中确认注冊成功。看看哪些数据库注冊到catalog库了
    sqlplus catalog_admin/catalog_admin@ocmdb02
    select * from rc_database;
    7.ocmdb开启归档
    alter system set log_archive_dest_1='location=/u01/oracle/arcdata' scope=spfile;
    shutdown immediate
    startup mount
    alter database archivelog;
    alter database open;
    select log_mode from v$database;




    三 设置RMAN环境变量
    官方文档:Backup and Recovery Reference -> CONFIGURE
    我们在使用RMAN工具进行备份恢复时,第一 能够在命令行模式下指定备份恢复选项
                                      第二 能够提前设置好RMAN环境变量。当达到触发条件时自己主动触发(目的)
    必须连接到目标数据库后才干够查看设置好的变量值
    rman target sys/oracle@ocmdb1521 catalog catalog_admin/catalog_admin@ocmdb02 
    show all;
    CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default 冗余配置保留政策:冗余数是1
    CONFIGURE BACKUP OPTIMIZATION OFF; # default          开启增量备份:关
    CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default      默认备份设备是磁盘
    CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default       控制文件自己主动备份:关
    CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default 控制文件自己主动备份文件夹和格式:%F  【备份设备:Disk】
    CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default    备份的并行度:1,备份类型为备份集【几个并行度就分配几个通道】
    CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default           数据文件採用复制方式备份
    CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default         归档日志採用复制方式备份
    CONFIGURE MAXSETSIZE TO UNLIMITED; # default          最大值:无限制
    CONFIGURE ENCRYPTION FOR DATABASE OFF; # default      加密数据库:关
    CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default    加密算法採用AES128        加密表空间时默认AES192算法
    CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default                         归档日志删除策略:空
    CONFIGURE SNAPSHOT CONTROLFILE NAME TO                快照控制文件名称
    RMAN默认备份介质保存文件夹/home/oracle/backup
    configure channel device type disk format '/home/oracle/backup/ocmdb_%U';
    控制文件自己主动备份
    configure controlfile autobackup on; 
    configure controlfile autobackup format for device type disk to '/home/oracle/backup/control/controlfile_%F'; 
    备份并行度2
    CONFIGURE DEVICE TYPE DISK PARALLELISM 2;
    增量备份
    configure backup optimization on;
    备份介质保留期为30天
    configure retention policy to recovery window of 30 days;
    显示我们设置完的參数配置
    show all;
    四 RMAN备份和闪回数据库
    官方文档:Backup and Recovery Reference -> BACKUP 
    Backup and Recovery Basics -> 4 Backing Up Databases Using RMAN -> 4.2.5 Using Compressed Backupsets for RMAN Backup
    1.压缩全备
    backup as compressed backupset database plus archivelog;       使用默认的备份介质文件夹和格式,使用控制文件和參数文件自己主动备份
    2.RMAN模块版压缩备份数据库,採用压缩备份方式全库备份
    run{
    backup as compressed backupset full database
    format '/home/oracle/backup/full_ocmdb_%u%p%s.rmn'
    include current controlfile;
    backup as compressed backupset archivelog all
    format '/home/oracle/backup/arch_ocmdb_%u%p%s.rmn'
    delete all input;
    }
    3.使用默认备份介质文件夹和格式,同一时候 删除备份过的归档日志
    backup as compressed backupset full database include current controlfile plus archivelog delete all input; 
    4.“一行RMAN命令”压缩备份数据库
    backup as compressed backupset full database format 
    '/home/oracle/backup/full_ocmdb_%u%p%s.rmn' include current controlfile 
    plus 
    archivelog format '/home/oracle/backup/arch_ocmdb_%u%p%s.rmn'  delete all input; 
    5.检查全部备份集
    list backupset summary;
    6.配置flashback数据库
    闪回数据库:使用闪回日志恢复数据库到之前的一个时间点。


    启动闪回前提条件是开启归档:归档日志能够辅助闪回日志完毕闪回工作。往回闪不用归档,往前闪会用到归档。
    1.检查数据库状态
    select open_mode,log_mode,flashback_on from v$database; 是否在mount和archive状态
    archive log list;
    先设置高速恢复区大小再设置文件夹
    alter system set db_recovery_file_dest_size=2g; 
    mkdir -p /home/oracle/flash
    alter system set db_recovery_file_dest='/home/oracle/flash';      (保存闪回日志)
    设置闪回保留期24小时(1天)单位是分钟
    alter system set db_flashback_retention_target=1440 scope=spfile; 
    2.重新启动使參数生效
    shutdown immediate
    startup mount
    show parameter db_recovery
    启动闪回功能
    alter database flashback on;
    3.打开数据库
    alter database open;
    select open_mode,log_mode,flashback_on from v$database;
    闪回种类
    闪回查询   undo
    闪回表     recycbin
    闪回版本号   undo
    闪回事物   undo
    闪回数据库 闪回日志
    闪回归档  表空间(永久保存11g新特性)





    来源OCM实验选讲





  • 相关阅读:
    MySQL修改root密码的多种方法
    AES和RSA算法的demo代码
    网卡
    Socket
    Opentracing 链路追踪
    TCP连接三次握手
    MongoDB 使用B树
    MySQL的DDL、DML、DCL
    MySQL 数据同步
    SSO(单点登录)与CAS
  • 原文地址:https://www.cnblogs.com/mfmdaoyou/p/7384214.html
Copyright © 2020-2023  润新知