zoukankan      html  css  js  c++  java
  • Oracle备份表exp和imp

    exp参数:
    关键字 说明(默认) 
    ----------------------------------------------
    userid 
    用户名/口令
    full 
    导出整个文件 (n)
    buffer 
    数据缓冲区的大小
    owner 
    所有者用户名列表
    file 
    输出文件 (expdat.dmp)
    tables 
    表名列表
    compress 
    导入一个范围 (y)
    recordlength io 
    记录的长度
    grants 
    导出权限 (y)
    inctype 
    增量导出类型
    indexes 
    导出索引 (y)
    record 
    跟踪增量导出 (y)
    rows 
    导出数据行 (y)
    parfile 
    参数文件名
    constraints 
    导出限制 (y)
    consistent 
    交叉表一致性
    log 
    屏幕输出的日志文件
    statistics 
    分析对象 (estimate)
    direct 
    直接路径 (n)
    triggers 
    导出触发器 (y)
    feedback 
    显示每 x  (0) 的进度
    filesize 
    各转储文件的最大尺寸
    query 
    选定导出表子集的子句


    imp

    参数:
    关键字 说明(默认) 
    ----------------------------------------------
    userid 
    用户名/口令
    full 
    导入整个文件 (n)
    buffer 
    数据缓冲区大小
    fromuser 
    所有人用户名列表
    file 
    输入文件 (expdat.dmp)
    touser 
    用户名列表
    show 
    只列出文件内容 (n)
    tables 
    表名列表
    ignore 
    忽略创建错误 (n)
    recordlength io 
    记录的长度
    grants 
    导入权限 (y)
    inctype 
    增量导入类型
    indexes 
    导入索引 (y)
    commit 
    提交数组插入 (n)
    rows 
    导入数据行 (y)
    parfile 
    参数文件名
    log 
    屏幕输出的日志文件
    constraints 
    导入限制 (y)
    destroy 
    覆盖表空间数据文件 (n)
    indexfile 
    将表/索引信息写入指定的文件
    skip_unusable_indexes 
    跳过不可用索引的维护 (n)
    analyze 
    执行转储文件中的 analyze 语句 (y)
    feedback 
    显示每 x  (0) 的进度
    toid_novalidate 
    跳过指定类型 id 的校验
    filesize 
    各转储文件的最大尺寸
    recalculate_statistics 
    重新计算统计值 (n)

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

    备份单张表,同时包含主键索引。

    exp userid=myuserName/password  file=area20130613.dmp log=area20130613.log indexes=y compress=n tables=area;

    恢复单张表。

    imp myuserName/password file=area20130613.dmp tables=area;


    管道备份和导入:

    通过管道方式导出数据库备份文件,占用空间小。
    rm -rf /tmp/exppipe 
    mknod /tmp/exppipe p
     
    export NLS_LANG="Simplified Chinese_china".ZHS16GBK 
    nohup exp user/password@test file=/tmp/exppipe & gzip </tmp/exppipe> dbback.dmp.gz &
     
    nohup imp userid=iuser/pass@test file=/tmp/exppipe fromuser=user touser=iuser & gunzip < dbback.dmp.gz > /tmp/exppipe &

    别的操作可以参考:

    http://www.linuxdiyf.com/viewarticle.php?id=39180


    ORACLE数据库有两类备份方法。第一类为物理备份,该方法实现数据库的完整恢复,但数据库必须运行在归挡模式下(业务数据库在非归挡模式下运行),且需要极大的外部存储设备,例如磁带库;第二类备份方式为逻辑备份,业务数据库采用此种方式,此方法不需要数据库运行在归挡模式下,不但备份简单,而且可以不需要外部存储设备。
     数据库逻辑备份方法
     ORACLE数据库的逻辑备份分为三种模式:表备份、用户备份和完全备份。
     表模式
     备份某个用户模式下指定的对象(表)。业务数据库通常采用这种备份方式。
     若备份到本地文件,使用如下命令:
     exp icdmain/icd rows=y indexes=n compress=n buffer=65536
     feedback=100000 volsize=0
     file=exp_icdmain_csd_yyyymmdd.dmp
     log=exp_icdmain_csd_yyyymmdd.log
     tables=icdmain.commoninformation,icdmain.serviceinfo,icdmain.dealinfo
     若直接备份到磁带设备,使用如下命令:
     exp icdmain/icd rows=y indexes=n compress=n buffer=65536
     feedback=100000 volsize=0
     file=/dev/rmt0
     log=exp_icdmain_csd_yyyymmdd.log
     tables=icdmain.commoninformation,icdmain.serviceinfo,icdmain.dealinfo
     注:在磁盘空间允许的情况下,应先备份到本地服务器,然后再拷贝到磁带。出于速度方面的考虑,尽量不要直接备份到磁带设备。
     用户模式
     备份某个用户模式下的所有对象。业务数据库通常采用这种备份方式。
     若备份到本地文件,使用如下命令:
     exp icdmain/icd owner=icdmain rows=y indexes=n compress=n buffer=65536
     feedback=100000 volsize=0
     file=exp_icdmain_yyyymmdd.dmp
     log=exp_icdmain_yyyymmdd.log
     若直接备份到磁带设备,使用如下命令:
     exp icdmain/icd owner=icdmain rows=y indexes=n compress=n buffer=65536
     feedback=100000 volsize=0
     file=/dev/rmt0
     log=exp_icdmain_yyyymmdd.log
     注:如果磁盘有空间,建议备份到磁盘,然后再拷贝到磁带。如果数据库数据量较小,可采用这种办法备份。
     完全模式
     备份完整的数据库。业务数据库不采用这种备份方式。备份命令为:
     exp icdmain/icd rows=y indexes=n compress=n buffer=65536
     feedback=100000 volsize=0 full=y
     file=exp_fulldb_yyyymmdd.dmp(磁带设备则为/dev/rmt0)
     log=exp_fulldb_yyyymmdd.log
     对于数据库备份,建议采用增量备份,即只备份上一次备份以来更改的数据。增量备份命令:
     exp icdmain/icd rows=y indexes=n compress=n buffer=65536
     feedback=100000 volsize=0 full=y inctype=incremental
     file=exp_fulldb_yyyymmdd.dmp(磁带设备则为/dev/rmt0)
     log=exp_fulldb_yyyymmdd.log
     注:关于增量备份必须满足下列条件:
     1. 只对完整数据库备份有效,且第一次需要full=y参数,以后需要inctype=incremental参数。
     2. 用户必须有EXP_FULL_DATABASE的系统角色。
     3. 话务量较小时方可采用数据库备份。
     4. 如果磁盘有空间,建议备份到磁盘,然后再备份到磁带。
     业务数据库备份方法及周期
     用EXP进行备份前,先在SYS用户下运行CATEXP.SQL文件(如果以前已运行该文件,则不要执行这个脚本)。
     没有特殊说明,不允许在客户端执行备份命令。
     日结表数据备份
     每月备份一次。要备份的表为:
     ALLSTAFFWORK_DAY_LOG
     ALLSTAFFWORK_DAYLOG
     AUTOCALLLOG_DAYLOG
     LOCALZONE_DAYLOG
     SERVICEINFO_DAYLOG
     TELFEELOG_DAYLOG
     TSHANDLEREPLY_DAYLOG
     备份命令参照表模式下的备份命令。
     业务相关表数据备份
     每周一、四备份。要备份的表为:
     Commoninformation
     ServiceInfo
     DealInfo
     AutoCallLog
     AutoFaxLog
     ServiceInfoAdd
     TelFeeLog
     备份命令参照表模式下的备份命令。
     从磁盘文件备份到磁带
     如果首先备份到本地磁盘文件,则需要转储到磁带设备上。
     1. 若需查看主机上配置的磁带设备,使用如下命令:
     lsdev -Cc tape
     显示的结果如下例所示:
     rmt0 Available 30-58-00-2,0 SCSI 4mm Tape Drive
     rmt1 Defined 30-58-00-0,0 SCSI 4mm Tape Drive
     标明Available的设备是可用的磁带设备。
     2. 若需查看磁带存储的内容,使用如下命令:
     tar -tvf /dev/rmt0
     显示的结果如下例所示:
     -rw-r--r-- 300 400 8089600 Jan 11 14:33:57 2001 exp_icdmain_20010111.dmp
     如果显示类似如下内容,则表示该磁带存储的备份数据是从数据库直接备份到磁带上,而非从本地磁盘转储到磁带的备份文件,因此操作系统无法识别。
     tar: 0511-193 An error occurred while reading from the media.
     There is an input or output error.
     或
     tar: 0511-169 A directory checksum error on media; -267331077 not equal to 25626.
     3. 对于新磁带或无需保留现存数据的磁带,使用如下命令:
     tar -cvf /dev/rmt0 exp_icdmain_yyyymmdd.dmp
     注:A. 该命令将无条件覆盖磁带上的现存数据。
     B. 文件名不允许包含路径信息,如:/backup/exp_icdmain_yyyymmdd.dmp。
     4. 对于需要保留现存数据的磁带,使用如下命令:
     tar -rvf /dev/rmt0 exp_icdmain_yyyymmdd.dmp
     注:该命令将文件exp_icdmain_yyyymmdd.dmp追加到磁带的末端,不会覆盖现存的数据。
     特别强调:如果备份时是从数据库直接备份到磁带上,则不可再向该磁带上追加复制任何其他文件,否则该备份数据失效。
     5. 若需将转储到磁带上的备份文件复制到本地硬盘,使用如下命令:
     A. 将磁带上的全部文件复制到本地硬盘的当前目录
     tar -xvf /dev/rmt0
     B. 将磁带上的指定文件复制到本地硬盘的当前目录
     tar -xvf /dev/rmt0 exp_icdmain_yyyymmdd.dmp
     备份时间安排
     由于备份时对系统I/O有较大影响,所以,建议在晚上11点以后进行备份工作。
     业务数据库Oracle版本的恢复
     恢复方案需根据备份方案确定。由于业务数据库采用表备份和用户备份相结合的方案,所以业务数据库的恢复需根据实际情况采用表恢复和用户恢复相结合的方案。
     恢复方案
     数据库的逻辑恢复分为表恢复、用户恢复、完全恢复三种模式。
     表模式
     此方式将根据按照表模式备份的数据进行恢复。
     A. 恢复备份数据的全部内容
     若从本地文件恢复,使用如下命令:
     imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n
     commit=y buffer=65536 feedback=100000 ignore=n volsize=0 file=exp_icdmain_csd_yyyymmdd.dmp
     log=imp_icdmain_csd_yyyymmdd.log
     若从磁带设备恢复,使用如下命令:
     imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n
     commit=y buffer=65536 feedback=100000 ignore=n volsize=0 file=/dev/rmt0
     log=imp_icdmain_csd_yyyymmdd.log
     B. 恢复备份数据中的指定表
     若从本地文件恢复,使用如下命令:
     imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n
     commit=y buffer=65536 feedback=100000 ignore=n volsize=0 file=exp_icdmain_csd_yyyymmdd.dmp
     log=imp_icdmain_csd_yyyymmdd.log
     tables=commoninformation,serviceinfo
     若从磁带设备恢复,使用如下命令:
     imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n
     commit=y buffer=65536 feedback=100000 ignore=n volsize=0
     file=/dev/rmt0
     log=imp_icdmain_csd_yyyymmdd.log
     tables=commoninformation,serviceinfo
     用户模式
     此方式将根据按照用户模式备份的数据进行恢复。
     A. 恢复备份数据的全部内容
     若从本地文件恢复,使用如下命令:
     imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n
     commit=y buffer=65536 feedback=100000 ignore=n volsize=0 file=exp_icdmain_yyyymmdd.dmp
     log=imp_icdmain_yyyymmdd.log
     若从磁带设备恢复,使用如下命令:
     imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n
     commit=y buffer=65536 feedback=100000 ignore=n volsize=0 file=/dev/rmt0
     log=imp_icdmain_yyyymmdd.log
     B. 恢复备份数据中的指定表
     若从本地文件恢复,使用如下命令:
     imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n
     commit=y buffer=65536 feedback=100000 ignore=n volsize=0 file=exp_icdmain_yyyymmdd.dmp
     log=imp_icdmain_yyyymmdd.log
     tables=commoninformation,serviceinfo
     若从磁带设备恢复,使用如下命令:
     imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n
     commit=y buffer=65536 feedback=100000 ignore=n volsize=0 file=/dev/rmt0
     log=imp_icdmain_yyyymmdd.log
     tables=commoninformation,serviceinfo
     完全模式
     如果备份方式为完全模式,采用下列恢复方法:
     若从本地文件恢复,使用如下命令:
     imp system/manager rows=y indexes=n commit=y buffer=65536 feedback=100000
  • 相关阅读:
    web架构
    网站开发的学习交流 系统架构 负载均衡
    数据库连接
    OpenCV4【12】边缘检测
    python基础_格式化输出(%用法和format用法)
    Python之telnetlib模块
    根据文字或图片来生成用于Banner输出的字符画
    Python3 range() 函数用法
    Python psutil cpu_percent调用说明
    @staticmethod和@classmethod的用法
  • 原文地址:https://www.cnblogs.com/cuker919/p/4878530.html
Copyright © 2011-2022 走看看