• Oracle解决exp导出文件过大的问题


    先由exp把数据卸出到文件系统, 产生一个.dmp文件, 然后必要时再由imp将数据装入数据库. 对于一般中小型数据库来说, 全数据库的exp所产生的dmp文件可能小于2GB, 但对稍大型的数据库, exp产生的数据动辄数十至上百个GB. 而现时多数操作系统为32位, 其文件系统允许的最大文件为2GB. 这样显然不能由文件系统存放exp产生的数据. 这是问题之一. 另一个问题是随着数据库的不断增大, exp所需时间越来越长以致实际上很难实施. 本文针对以上两个问题讨论相应对策.

    管道

    管道 是一种伪文件. 它存在于内存中, 用于快速I/O操作. 管道的缓冲区采用先进先出机制, 即写管道进程写到缓冲区头部而读管道进程读取管道尾部. 建立管道的命令为”mknod filename p".

    gzip命令

    名称

            gzip, gunzip, zcat -压缩或解压文件

    总览

            gzip [ -acdfhlLnNrtvV19 ] [-S suffix] [ name ...  ]

            gunzip [ -acfhlLnNrtvV ] [-S suffix] [ name ...  ]

            zcat [ -fhLV ] [ name ...  ]

    描述

    Gzip使用lempel - ziv编码减少指定文件的大小(LZ77)。在可能的情况下,每个文件都被一个扩展名替换.gz,同时保持相同的所有权模式,访问和修改时间。(默认扩展名对于VMS为-gz,对于MSDOS,OS /2 FAT,Windows NT FAT和Atari为Z。) 如果没有指定文件,或者文件名是“-”,则标准输入被压缩到标准输出。Gzip只会尝试压缩常规文件。特别是,它将忽略符号链接。

    如果压缩文件名对其文件系统太长,则gzip将其截断。Gzip试图只截断长度超过3个字符文件名称的部分。(部分是由点来分隔的。) 如果名称仅由小部分组成,最长的部分被截断。例如,如果文件名限制在14个字符,那么gzip.msdos.exe被压缩为gzi.msd.exe.gz。在没有限制文件名长度的系统上,名称不会被截断。

    。。。。。。

    选项

    -f --force

    强制压缩或解压,即使该文件有多个链接或相应的文件已经存在,或者将压缩的数据从终端读取或写入到终端。如果输入数据没有gzip识别的格式,并且如果选项--stdout也被给出,那么将输入数据复制到标准输出:让zcat表现为cat。

    数据流重定向

    标准输入(stdin):代码为0,使用<或<<;

    标准输出(stdout):代码为1,使用>或>>;

    标准错误输出(stderr):代码为2,使用2>或2>>

    解决方案

    1.建立命名管道

    mknod mypipe p

     

    2.结合exp和gzip将导出的dmp文件直接压缩

    exp $SWITCH_DBUSER/$SWITCH_DBPASS file=$HOME/file/expdp/mypipe tables=card_bin &

    gzip <$HOME/file/expdp/mypipe >$HOME/file/expdp/card_bin.gz

     

    如此即解决了直接导出dmp文件过大的弊端

    如何通过备份的数据进行恢复呢

    3.解压缩gz文件

    gunzip -c card_bin.gz > card_bin.dmp

    4.imp导入dmp文件

    imp $SWITCH_DBUSER/$SWITCH_DBPASS IGNORE=y file=card_bin.dmp full=y

    参考资料

    《man gzip》

    《鸟哥的Linux私房菜——基础学习篇》

    https://yq.aliyun.com/ziliao/115289

    http://blog.csdn.net/cnmilan/article/details/40592305

  • 相关阅读:
    Dropdown 下拉菜单
    Breadcrumb 面包屑
    Tabs 标签页
    NavMenu 导航菜单
    Notification 通知
    MessageBox 弹框
    Message 消息提示
    Loading 加载
    Alert 警告
    Badge 标记
  • 原文地址:https://www.cnblogs.com/yanxin880526/p/8031966.html
Copyright © 2020-2023  润新知