• enmo_day_10


    RMAN

    创建备份集 :

    backup as backupset format ‘/backup/df_%d_%s_%p/bus’ tablespace hr_data;

    创建镜像副本 :(备份慢,恢复快)

    backup as datafile ‘/oradata/users_01_db01.dbf’;

    backup as copy archivelog like ‘/arch%’;

    创建整体数据库备份 :(控制文件自动备份)

    backup database plus archivelog;

    手工整体数据库备份 :

    backup database plus archivelog; include current controlfile;

    RMAN备份类型 :

    累积 :<=

    差异 :<

    快速增量备份 :

    通过块改变跟踪实现

    启用快速增量备份 :

    alter database {enable|disable} block change trackin [using file ‘…’];

    监视块更改跟踪 :

    select filename, status, bytes from v$block_change_tracking;

    select file#, avg(datafile_blcks), avg(block_read), avg(blocks_read/datafile_blocks) * 100 as pct_read_for_backup, avg(blocks) from v$backup_datafile where used_change_tracking = ‘yes’ and incremental_level > 0 group by file#;

    创建双重备份集 :

    configure archivelog backup copies for device type sbt to 2;

    configure datafile backup copies for device type sbt to 2;

    backup database plus archivelog;

    backup device type disk as copy database;

    note : sbt,磁带

    使用backup copies创建双重备份集

    backup as backupset device type sbt copies incremental level 0 database;

    list backup : 验证备份

    创建备份集的备份 :

    backup device type disk as backupset database plus archivelog;

    backup device type sbt backupset all;

    备份只读表空间 :

    仅当符合保留策略的备份不存在时,备份优化才会让RMAN备份只读表空间

    若将表空间改为可读写,则会立即对其进行备份

    可用RMAN的backup命令的 skip readonly 选项跳过只读表空间或数据文件

    利用全备restore, 利用archivelog restore

    归档备份 :(超过保留期限)

    catalog keep forever 

    使用RMAN创建归档备份 :

    数据库处于open状态时,

    keep {forever | until time [=] ‘date_string’} [restore point rsname]

    标志时间点 :

    scn, timestamp, sequence, restore point(还原点)

    管理归档数据库备份 :

    connect target /

    connect catalog rman/rman@catdb

    change backup tag ‘consistent_db_bkup’

    keep forever;

    change copy of database controlfile nokeep;

    查看手册 :

    数据库化身 database incarnation

    当做resetlogs时,数据库会有化身

    检查数据库文件

    validate checklogical

    默认物理检查

    validate database : 校验数据库

    validate backupset 22; : 校验备份集

    文件丢失原因 :

    用户错误

    应用程序错误

    介质故障

    关键性与非关键性

    非关键性文件丢失指数据库可以继续运行的故障

    创建新文件,重建文件,恢复丢失或损坏的文件

    丢失临时文件

    还原active, inactive, current日志文件

    清除日志文件 :

    alter database clear logfile …

    alter database clear unarchived logfile …

    alter database clear unarchived logfile … unrecoverable datafile

    DUL

    ODU

    有隐藏参数可以调SCN以打开SCN不一致的数据库

    重新创建索引 ::

    create index rname_idx on hr.regions(region_name) parallel 4 nologging;

    不产生日志,restore, recover时索引不再存在

    重建口令验证文件 :

    orapwd file=$ORACLE_HOME/dbs/orapworcl password=ora entries=5

    完全恢复 :

    不完全恢复 :

    冷备 :

    备份控制文件 :

    alter database backup controlfile to ‘/u01/backup/controlfile.bak’;

    alter database backup controlfile to trace;

    执行用户管理的不完全恢复 :

    recover database until time ‘…’;

    recover database until cancel;

    NLS_TIME

    SYS_DATE

    恢复nologging数据库对象 :(不经过内存,直接写入数据文件里,速度很快)

    create table sales_copy nologging; : 创建表并不产生日志。

    insert /*+ append */ into sales_copy select * from sales_history;

    note : /*+ … */ : 提示

    关掉日志,插入数据会非常快

    只要控制文件SCN低于数据文件,就一定会有resetlogs.

    在丢失了所有控制文件副本后进行恢复 :

    open resetlogs

    控制文件备份 :

    1. RMAN :

    手工

    自动

    2. 用户 :

    backup controlfile

    生成controlfile trace文件

    数据文件最重要,日志文件和控制文件就算丢失也可重建。

    查看告警日志,alert.log :

    查看跟踪文件,实例名_进程名_进程号.trc

    fhcsq, dhcsq

    手工重建控制文件 :

    create controlfile reuse database “iase” noresetlogs maxinstances 8

    maxloghistory 1

    maxlogfiles 16

    maxlogmembers 3

    maxdatafiles 100

    datafile

    ‘…’

    ‘…’

    ‘…’

    ‘…’

    ‘…’

    ‘…’

    ‘…’

    ‘…’

    logfile group 1 (‘/…’) size 100m;

    recover database;

    alter database open;

    select file_name , …, from 

    alter database rename file ‘…’ ‘…’;

    确定有哪些数据文件 :

    找创建数据库的脚本

    在alert日志中搜ddl语句(提取出所有create tablespace语句,drop tablespace语句)

    定期对告警日志做清理,拷贝

    数据库打不开时,如何查看告警日志 :

    cd /u01/app/oracle/diag/rdbms/enmoedu/ENMOEDU/trace/

    tail -100f alert_ENMOEDU.log

    cd ..

    ls

    ca alert/

    ls

    cd alert/

    ls

    搜lynda教程 :

    人人素材网

    淘宝

    保留现场 :能冷备的尽量冷背

    eg :

    show parameter nls_date

    alter session set nls_date_format = ‘yyyy-mm-dd hh24:mi:ss’;

    select sysdate from dual;

    alter session set nls_date_format = ‘yyyy-mm-dd ‘;

    select sysdate from dual;

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

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

    vi .bash_profile

    add :

    删除所有数据文件,控制文件,参数文件,重做日志文件后,如何不完全备份恢复数据库 :

    vi initENMOEDU.ora

    db_name=‘ENMOEDU’

    startup nomount; (启动伪实例,dummy)

    restore spfile from autobackup;

    restore spfile from ‘…’;

    shut immediate; : 关闭伪实例

    startup nomount :启动数据库

    restore controlfile from autoback;

    restore database;

    select checkpoint_change# from v$datafile;

    select checkpoint_change# from v$datafile_header;

    select * from v$log;

    alter database open resetlogs; : 若日志不存在会重新创建日志文件

  • 相关阅读:
    百度mp3地址解密码
    VB 在EXE后附加信息
    截屏函数
    Base64和StrToByte
    The Android ION memory allocator, DMABUF is mentioned as well
    DDC EDID 介绍
    Memory management for graphic processors TTM的由来
    科普 写display driver的必看 How video card works [2D的四种主要操作]
    GEM vs TTM
    DMABUF 背景介绍文章 Sharing buffers between devices
  • 原文地址:https://www.cnblogs.com/jilili/p/4691509.html
Copyright © 2020-2023  润新知