电脑教程中文网
首页  动态网站建设学习 程序  笑话  论坛 娱乐  交友 ADSL  峄城  成功者
中文名:电脑教程中文网,收集了大量的电脑教程! 编程技术文档 游戏开发 笑话站暂时关闭 设为首页
网页设计 HTML | Dreamweaver | CSS | Firework | FrontPage WEB开发 ASP | JSP | PHP | .NET | CGI | JS | VBS | XML | IIS6 | Apache | PWS
程序设计 Java | C++ |VC++ | C# | Delphi | VB | C语言 | 汇编 | Pascal | Perl 数据库 MSSQL | MySQL | Access | VF | Oracle | DB2 | SYBASE |
办公软件 Word | Excel | WPS | PowerPoint 动画平面 Photoshop | ACDSee | 3Dmax | Flash | Coreldraw |
操作系统 Windows 2000 | Windows XP | Windows 2003 | SCO Unix | Windows Vista | unix、Linux | 综合| 服务器 | 系统安全| 黑客技术
其  他 UltraDev | DOS | UML | PWS | Powerbuilder | 开发心得 | 设计理念 | 病毒库 | 其他 | LightTPD (分类排序给您带来不便请谅解)
推  荐: Java文档500篇》《ASP.NET与相关数据库技术高级指南》《TC图形函数详解》《C函数速查手册》《C语言编程宝典之一》《MFC深入浅出》《黑客零起点》《VC++ 编程指南》《JScript 用户指南》 《CSS教程宝典》《Microsoft Jet SQL 参考》《delphi技巧集合》《MySQL 4.1.0 中文参考手册》《MySQL中文手册
【导航】 您现在的位置 : 首页 - Server教程 - 《服务器设置窍门》- 在 UNIX 系统下导出超过2GB的数据库

在 UNIX 系统下导出超过2GB的数据库

日期:2005-6-17 17:06:22    作者:佚名   人气:   来源:www.mbsky.com




很多 UNIX 变种都使用一些进行文件操作的系统调用,而这些对文件的操作使用32位无符号整数来指示文件偏移量。不幸的是,32位无符号整数只限制到0到2GB的范围。

在 UNIX 系统开始接受超过2GB大小的文件时,就要求应用程序和工具程序使用替代的系统调用来操作这些大文件,比如说使用 fseek64 系统调用。之所以做出这种决定是为了避免破坏老程序,这些老程序依然使用32位整数和最初的系统调用,而无须重新编译。

Oracle 导入和导出工具是使用最初的系统调用在内部编写成的。这就意味着不能在 UNIX 系统下导出和导入超过2GB的文件,除非你使用一些诀窍将大文件拆分成小于2GB的文件。

在 Oracle 8i之前,可以使用“split”命令和命名管道将 exp的输出写到多个文件中。Split 命令接受标准的输入并将输出写到多个文件,在达到文件大小限制时切换到一个新文件。例如:

mknodpipe.dmp p
split -b 2047m < pipe.dmp &
exp system/manager file=pipe.dmp full=y
rmpipe.dmp

这个过程会创建xaaxabxac等文件。运行以下命令可以导入这些文件:

mknodpipe.dmp p
cat xaaxabxac > pipe.dmp &
imp system/manager file=pipe.dmp full=y
rmpipe.dmp

从 Oracle 8i开始,Oracle 添加了一个命令行参数filesize,其作用有点与 split命令的作用类似。它会自动地将输出创建为一组文件,而不是单一一个的文件。确保filesize小于2GB这一点是非常重要的,而且在导入时指定同样的参数也是非常重要的。

exp system/manager file=big.dmpfilesize=2000M full=y

imp system/manager file=big.dmpfilesize=2000M full=y

因为导出文件有相当大的压缩空间,所以你依然可以使用 split 导出到一个大概10GB的文件中,并且依然保持不超过2GB的限制。

mknodpipe.dmp p
compress < pipe.dmp > expdat.dmp.Z &
exp system/manager file=pipe.dmp full=y
rmpipe.dmp

下面是导入一个文件的代码:

mknodpipe.dmp p
uncompress expdat.dmp.Z > pipe.dmp &
imp system/manager file=pipe.dmp full=y
rmpipe.dmp




网站首页 - 友情链接 - 公司简介 - 联系方式 - 广告投放 - 客户服务 - 错误报告 - 免责声明 - About us
CLDE.NET电脑教程中文网版权所有 未经许可禁止镜象和复制本站资料 MSN:CLDE_NET@hotmail.com
技术支持:CLDE.NET信息中心 鲁ICP备05039940号 友情链接QQ:784079(隐)