zoukankan      html  css  js  c++  java
  • enmo_day_07

    数据备份

    物理备份 : 底层数据块

    逻辑备份 :exp(export), imp(import) 导入导出工具,提取成dump文件,再将dump文件放入数据库

    expdp, impdp 数据蹦

    utilities手册里有

    exp -help

    which exp

    exp SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR)

    expdp dbms_datapump : 支持断点续传

    逻辑备份 :速度较物理备份慢, 但更精细

    物理备份 :底层数据块的拷贝

    LUN —> Storage

    oracle凭借什么检查一个块是否物理损坏 :

    db block 的结构 :块头SCN,块尾SCN(部分)值是否一致

    check sum 值是否一致

    oracle凭借什么检查一个块是否逻辑损坏 :

    数据文件中的SCN和控制文件中的SCN是否一致

    eg :

    desc v$database; 描述反应控制文件内容的视图

    select current_scn from v$database;

    select checkpoint_change# from v$datafile;

    select checkpoint_change#, last_change# from v$datafile;

    select checkpoint_change# from v$datafile_header;

    shu immediate

    startup mount

    desc v$database; 描述反应控制文件内容的视图

    select current_scn from v$database;

    select checkpoint_change# from v$datafile;

    select checkpoint_change#, last_change# from v$datafile;

    select checkpoint_change# from v$datafile_header;

    shutdown transactional, immediate, normal 将数据库一致性关闭,以得到一致性SCN

    alter database open;

    shut abort

    startup mount

    select current_scn from v$database;

    select checkpoint_change# from v$datafile;

    select checkpoint_change#, last_change# from v$datafile;

    select checkpoint_change# from v$datafile_header;

    物理备份

    冷备份 :用户管理 (shutdown immediate, cp)

    热备份 :用户管理 (begin backup end backup)用户在表空间层面实施备份

    alter database open;

    desc dba_data_file

    select file_id, file_name from dba_data_files;

    shu immediate

    start up mount

    alter database atchivelog;

    alter database open;

    archive log list;

    alter tablespace users begin backup;

    note : 要想实现热备份,必须先启动归档模式。用户管理的

    eg :

    cd /u01/app/oracle/oradata/ENMOEDU/

    ls

    cp users01.dbf users01.dbf.bak

    ls

    rm -rf users01.dbf

    ls

    alter tablespace users end backup;

    create table test (id number) tablespace suers;

    insert into test values(1);

    commit;

    select * from test;

    shu immediate

    cp users01.dbf.bak users01.dbf;

    alter database open;

    recover datafile 4;

    select * from test;

    eg :

    alter tablespace users begin backup;

    insert into test values(2);

    commit;

    select * from test;

    alter system switch logfile;

    alter system switch logfile;

    /

    /

    /

    /

    cd ..

    cd fast_recovery_area/ENMOEDU/archivelog

    cd 2015_07_25/

    alter tablespace users end backup;

    alter tablespace users begin backup; :user表空间的文件头被固定住

    eg :

    alter system switch logfile;

    select file#, checkpoint_change# from v$datafiel_header;

    alter system switch logfile;

    select file#, checkpoint_change# from v$datafiel_header;

    (4号文件头不变)

    shu immediate

    shu abort

    startup

    alter tablespace users end backup;

    alter database open;

    Rman : 备份管理工具,替代用户管理

    rman 

    rman -help

    rman 在oracle实例处于mount状态下可以做冷备份

    rman做热备份 :backup database

    SID设置的角色

    eg :

    rman target sys/oracle@ENMOEDU

    backup database;

    利旧

    rman备份dbv校验

    rman : 对datafile备份

    archive : 对redolog备份

    完全备份 :backup database(full),备份所有数据文件和控制文件

    增量备份 :只备份发生改变的数据块(SCN发生变化的块,需检查所有数据块)

    11g, 引入block change tracking块改变跟踪文件

    差异增量备份 :备份上次备份以来的增量变化,备份块

    累积增量备份 :备份到上一次全被的增量变化,恢复快

    默认差异增量备份

    0级增量备份效果等于全备份

    1级增量备份表示

    备份集 : 把多个datafile打包到一个tar包里

    镜像副本 :拷贝

    eg :

    cd /u01/app/oracle/oradata/ENMOEDU

    ls

    cd ..

    ls

    tar -zcvf ENMOEDU.tar.gz ENMOEDU/

    eg : rman 的命令

    rman target /

    x

    show all

    list x

    list backup;

    backup x;

    backup database x;

    backup database plus x;

    backup database plus archivelog x;

    backup database plus archivelog delete all input; : 备份数据库,备份归档,删除之前的归档

    list backup;

    backup database plus archivelog format ‘/u01/app/oracle/%t%f.bak’;

    eg :

    exit

    ls

    cd fast_recovery_area/

    ls

    cd ENMOEDU/

    ls

    cd archivelog/

    ls

    cd ..

    ls

    cd backupset/

    ls

    show parameter db_recovery

    关于rman的手册 :reference ,  guide

    常将rman的设置放在一个脚本里

    eg :

    cd /u01/app/oracle

    ls

    sqlplus / as sysdba

    show parameter db_recovery

    show parameter db_fi

    只要备份文件有修改,控制文件就自动备份

    恢复

    还原(restore) :将备份的内容放回数据文件的位置

    恢复(recover) :在文件上应用文件日志和归档日志

    用户还原 :copy

    用户恢复 :recover (sqlplus)

    rman还原 :restore

    rman恢复 :reciver (rman)

    完全恢复 :应用大于当前scn值的所有归档(介质故障,软件故障,

    不完全恢复 :

    实例恢复 :smon进程在数据库下一次启动时读取online redo

    介质恢复 :手工restore, recover

    cd /u01/app/oracle/oradata/ENMOEDU/

    ls

    rm -rf *.dbf

    ps -ef |grep smon

    kill 9 44095

    quit

    sqlplus / as sysdba

    restore tadabase;

    select status from v$instance;

    alter database open;

    flashback闪回数据库,生产中常不开,影响数据库性能

    闪回版本处理

    闪回事物处理

    eg :

    select table_name from dict where table_name like ‘%rec%’;

    show recyclebin;

    select * from tab;

    drop test1;

    show recyclebin;

    drop table test purge; : 永久删除表

    实例恢复checkpoint进程

    完全检查点 :alter system checkpoint, shutdown

    增量检查点 :

    eg :

    show parameter control

    alter database open resetlogs; :将日志序列号清零

    v$log : 日志视图

    alter database clear logfile group 1;

    list failure;

    advise failure;

  • 相关阅读:
    Git远程和分支管理
    Git基本使用教程
    linux基础知识总结
    正则表达式-概要
    java注释规范
    JavaScript对象(Object)
    centos7安装docker
    springboot项目问题记录one
    tomcat不需要重启热部署xml文件
    java调用新浪接口根据Ip查询所属地区
  • 原文地址:https://www.cnblogs.com/jilili/p/4691499.html
Copyright © 2011-2022 走看看