转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> ORACLE >> 正文
2Gb or Not 2Gb - File limits in Oracle (Part I)         ★★★★

2Gb or Not 2Gb - File limits in Oracle (Part I)

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1773 更新时间:2009/4/22 22:07:57

2Gb or Not 2Gb - File limits in Oracle

 

翻译:Kamus(Seraphim)

校正:Bloomit

邮件:kamus@itpub.net

日期:2004-1

 

经常会听说导入导出的时候,备份恢复的时候,SQL*Loader导入数据的时候,文件超出了2G大小,结果导致错误。

本人文科毕业,什么二进制,十六进制,数据结构,操作系统等等的一概没有学过,所以对此问题一直都只有一个模糊的认识,今天在metalink上面闲逛,忽然发现了这篇文章,兴之所致,决定好好看看,看完以后,感觉对于此问题明白了很多,于是就顺便翻译成了中文,希望对大家也有所帮助。

对于本文中提及的所有其它Notes和Bugs也做了尽可能的整理(还未翻译,以后如果有时间再慢慢作),只是文中提到的一些Bug由于本人Metalink帐号的限制亦或是Bug的不公开性,并不能看到详细描述,对于这样的Bug就无法再作整理。

 

原文出处:http://metalink.oracle.com

Doc ID: Note:62427.1 原文创建日期:1998-9-2 原文最后更新日期:2003-8-6

 

介绍

 

本文阐述了“2Gb”问题,解释了为什么2Gb会是一个这样充满魔力的数字,并且如果你想在Oracle的应用中使用超过2Gb大小的文件,那么这篇文章也告诉了一些你应该知道的事情。

 

本文以Unix操作系统为基础,因为大部分的2Gb问题都发生在Unix上面,当然文中也提到了一些对于其它非Unix操作系统的相关资料,在本文的最后一节列出了各个操作系统自己的限制。

 

本文主题包括以下几点:

l         为什么2Gb是一个特殊的数字?

l         怎样使用超过2Gb(2Gb+)的文件?

l         导出(Export)和2Gb

l         SQL*Loader和2Gb

l         Oracle和其它2Gb问题

l         不同操作系统上的“大文件”(Large Files)

 

为什么2Gb是一个特殊的数字?

 

很多当前正在使用的CPU和API都使用了32位(bit)的字长,而正是这个字长对于很多操作产生了影响。

 

众多的场合下文件操作的标准API在对文件大小和文件中当前位置的处理都使用了有符号32位字(32-bit signed word)。一个有符号32位字以最高位来表示正负,所以只剩下31位来存储真正的数值,而16进制中存储在31位中的最大正值就是0x7FFFFFFF,也就是10进制中的+2147483647,这正是一个临近2Gb的值。

 

2Gb或者更大的文件一般被称为“大文件”,当你在32位环境中使用2147483647甚至更大的数字时,你就很可能会碰到一些问题。为了解决这些问题,最新的操作系统已经重新定义了一系列完全利用64位寻址方式来操作文件大小和偏移量的系统函数。最新的Oracle发行版也已经使用了这些新的接口,但是如果在你决定要使用“大文件”以前,你仍然有不少的问题需要考虑。

 

另外一个特殊的数字是4Gb。也就是作为无符号字(unaigned value)的十六进制数字0xFFFFFFFF(十进制是4294967295),这是一个略小于4Gb的值。将该值加一将使低4位字节成为0x00000000,同时产生''''1''''进位。这个进位在32位运算中将会失去。所以4Gb也是一个可能会产生问题的特殊数字。本文中对这个问题也有所提及。

 

对于使用Oracle这意味着什么?

 

32bit的问题在不少方面都影响到了Oracle,为了使用“大文件”,你需要满足以下条件:

1.        一个支持2Gb+文件的操作系统或者裸设备(Raw devices)

2.        一个具有支持存取2Gb+文件的API的操作系统

3.        一个使用了这些API的Oracle版本

 

今天大多数的平台都已经支持了大文件,并且对于这些文件有64bit的API,Oracle7.3及以后版本一般已经使用了这些API,但是根据不同的平台,不同的操作系统以及不同的Oracle版本仍然有很多不一样的情况。在一些场合下默认就是支持“大文件”的,但是另外一些场合却可能必须要打一些补丁。

 

一直到写这篇文章的时候,Oracle里面还有一些工具是没有更新到使用这些新的API的,比如众所周知的EXPORT和SQL*LOADER,不过仍然再次强调一下,由于平台和操作系统的不同,情况还是不一样的。

 

为什么要使用2Gb+的文件?

 

在这一节中我们试着总结一下对于Oracle的数据文件使用大文件和设备("large" files / devices)的优点以及缺点。

 

使用大于2Gb文件的优点:

l         在大多数平台上Oracle7支持最多1022个数据文件。如果文件小于2G,那么也就是限制了数据库的大小只能是小于2044Gb。当然这对于支持了更多数据文件的Oracle8来说已经不再是个问题(Orac

[1] [2]  下一页


[办公软件]如何在office(PowerPoint,Word,Excel)中制作带圈的…  [办公软件]批量删除Office文档(word,excle,powerpoint)中的超…
[办公软件]Office(Word,Excel)密码破解软件(Office Password…  [办公软件]在powerpoint中快速插入word表格
[办公软件]快速将Word文档转换为PPT演示文档  [办公软件]Word、Excel和PowerPoint文件格式兼容包(简体中文…
[办公软件]在Office(word,excel)中输入各级钢筋符号的方法  [办公软件]Office文档(Word,PPT)的作者、备注、最后修改时间…
[办公软件]让EXCEL,WORD时间自动更新  [网络安全]激活型触发式AutoRun.inf病毒和rose病毒的清除方案
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台