zoukankan      html  css  js  c++  java
  • oracle数据库备份

    永不放弃,一切皆有可能!!!

    只为成功找方法,不为失败找借口!

    oracle数据库备份

    1. 文件查看

    数据文件、控制文件、日志文件查看如下:

    select file#, status, enabled, name from V$datafile;--查看数据文件
    select * from v$controlfile;--控制文件
    select * from v$logfile;--日志文件

    2. 三种备份方法

      1)导入/导出(import/export)

        1.支持类型: table, user, tablespace, full database

        2. 导入导出例子:

    复制代码
    exp system/manager@TEST file=d:export.dmp full=y--将数据库TEST完全导出(全库备份),用户名system 密码manager 导出到D:daochu.dmp中
    
    exp system/manager@TEST file=d:export.dmp owner=(system,sys)--将system和sys的表导出
    
    exp aichannel/aichannel@TEST file= d:export.dmp tables= (tab1,tab2)--将tab1表和tab2表导出
    复制代码
    imp system/manager@TEST file=d:export.dmp tables=(tab1,tab2);--将export.dmp中tab1表和tab2表导入
    
    imp system/manager@TEST file=d:export.dmp;

      3. 注意:若用户权限不够时需要修改权限

    --先以system/manager登录
    
    --授予权限
    
    grant exp_full_database, imp_full_database to username;

      2)冷备份(非归档模式)

        1. 步骤:shutdown数据库---> copy文件---> start数据库

        2.  例子:

    复制代码
    connect tigger/sccot as sysdba;
    
    shutdown immediate;
    
    cp d:/test*.dbf d:export   --cp 文件  目标文件夹    数据文件
    
    cp d:/test*.ctl d:export   --控制文件
    
    cp d:/test*.log d:export   --日志文件
    
    startup; 
    复制代码

      3)热备份(归档模式)

        1. 说明:前提条件是数据库运行在归档模式(oracle数据库安装默认运行在非归档模式)

        2. 将数据库转换为归档模式如下:(注意数据库必须已装载到此实例并且不在任何实例中打开)

    复制代码
    --需先关闭数据库并加载数据库
    shutdown immediate; startup mount;--(startup nomount 启动实例;startup mount 启动实例加载数据库; startup 启动实例加载数据库打开数据库) alter database archivelog;--数据库必须已装载到此实例并且不在任何实例中打开
    复制代码

        3. 归档相关操作

    复制代码
    archive log list;--查看是否出于归档模式;
    
    alter system set log_archive_start =true scope =spfile; --启用主动归档
    
    select name from v$archived_log; --查询归档日志
    
    alter system set log_achive_start=false scope=spfile;--将数据库切换为归档模式
    
    archive log stop;
    
    archive log start;
    复制代码

        4. 热备份具体步骤如下:

    复制代码
    shutdown immediate;
    
    startup mount;
    
    alter database archivelog;
    
    alter database open;
    
    alter tablespace users begin backup; --设置备份模式;
    
    host copy d:oracle*.dbf d:export;--拷贝
    
    alter tablespace users end backup ;--结束备份状态
    
    alter system switch logfile--切换日志,使用当前日志归档
    复制代码

        5. 不足之处:不能出错

        6. 优点:备份时数据库仍然可以使用,备份时间短

    3.RMAN备份和恢复工具(rocovery manager)

    1)说明:

      1.RMAN是 ORACLE提供的一个备份与恢复的工具,可以用来执行完全或不完全的数据库恢复。

      2.RMAN不能用于备份初始化参数文件和口令文件。

      3. 与传统工具相比,RMAN具有独特的优势:跳过未使用的数据块。当备份一个RMAN备份集时,RMAN不会备份从未被写入的数据块,而传统的方式无法获知那些是未被使用的数据块。

      4. RMAN可以进行增量备份(增量备份是针对于上一次备份(无论是哪种备份):备份上一次备份后,所有发生变化的文件)

    2)例子:

    复制代码
    --准备工作:
    
     connect tiger/sccot;
     startup mount
     alter database archivelog
     alter database open
    
    --查看备份相关信息
    
    list backupset;
    
    --备份全库
    backup database;
    
    --备份表空间
    backup tablespace tp1;
    
    --备份全库删除旧的归档日志
    backup databse plus archivelog delete input;--备份全库及控制文件、服务器参数文件与所有归档的重做日志,并删除旧的归档日志
    
    --备份表空间删除旧的归档日志
    backup tablespace system plus archivelog delete input;
    
    --备份归档日志
    backup archivelog all delete input;
    
    --查看备份信息
    list of backup sets;
    
    --0增量备份(等于全备份)
    backup incremental level=0(level 0) database;
    
    --1级增量备份
    backup incremental level 1 database;
    复制代码

    注意:0级增量备份和完全备份唯一的区别,0级增量备份能作为增量备份的基础,而全备份不能作为增量备份的基础

  • 相关阅读:
    activiti流程跟踪图简单详解
    maven夹包引入的速度问题
    maven的pom.xml文件配置详解
    maven的简单使用
    Spring mail 邮件服务及其参数配置
    json格式的简单转换
    ajax的简单理解
    广告关闭按钮
    跨数据库调用
    如何完成DEDE CMS外部数据库调用|不同数据库调用数据
  • 原文地址:https://www.cnblogs.com/liangyihui/p/5886604.html
Copyright © 2011-2022 走看看