国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

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

2024-08-29 13:30:52
字體:
來源:轉載
供稿:網友
  • 網站運營seo文章大全
  • 提供全面的站長運營經驗及seo技術!

  • 2gb or not 2gb - file limits in oracle (part ii)

     

    導出(export)和2gb

     

    2gb導出文件的大小

    當編寫大部分版本的export時,在創建導出文件上都是使用了默認的文件操作api。這就意味著在很多平臺上根本就沒有可能導出2gb或者大于2gb的文件系統文件(file system file)。

    但是仍然有一些可選項可以用于在export時解決2gb的限制:

     

    ü         將大于2gb的文件導出到裸設備上基本上是沒有問題的,當然這首先要求裸設備的大小必須能夠容納整個導出文件。

    ü         導出到一個允許壓縮或者切割的命名管道中(適用unix平臺)。

    參看“在unix平臺上導出大于2gb文件的快速參考”一文 [note:30528.1]。

    ü         導出到磁帶(適用大多數平臺)

    參看“在unix系統中導出到磁帶”一文[note:30428.1]。(這篇文章同時頁詳細描述了如何導出到unix管道和遠程shell中)

    ü         oracle8i允許導出到多個小文件中,以替代單一的大文件。

     

    其它的2gb導出問題

    oracle允許區(extent)的尺寸最大為2gb。但是不幸的是,在大多數的oracle發行版中export都存在這樣一個問題,當你export一個大文件,并且指定了compress=y,那么就有可能在導出文件的next存儲子句中包含了一個大于2gb的值。這樣將會導致import失敗,即使是在import時候指定了ignore=y。oracle已經在在[bug:708790]中報告了這個問題,并且在[note:62436.1]中提出了警告。

     

    當export碰到2gb限制的時候,會報類似下面的錯誤:

    . . exporting table                   bigexport

    exp-00015: error on row 10660 of table bigexport, 

           column mycol, datatype 96

    exp-00002: error in writing to export file

    exp-00002: error in writing to export file

    exp-00000: export terminated unsuccessfully

     

    在[bug:185855]中提到了第二個問題,這個問題指出一個全庫導出產生的create tablespace命令將在文件大小上使用bytes為單位,如果文件大小超過2gb,那么在導入的時候就會產生一個ora-2237錯誤。這個問題可以通過在導入之前先以m為單位而不是bytes為單位來創建表空間這樣的方法來解決。[bug:490837]也指出了相類似的問題。

     

    導出到磁帶

    導出的時候volsize參數限制在4gb以下,在有些平臺上可能只有2gb。

    在oracle8i中已經修正了這個問題。[bug:490190]中對此問題有所描述。

     

    sql*loader和2gb

    在sql*loader試圖打開一個超過2gb的文件時,將會報以下錯誤:

           sql*loader-500: unable to open file (bigfile.dat)

           svr4 error: 79: value too large for defined data type

     

    在[note:30528.1]中的例子可以稍作修改以使在sql*loader中使用大的輸入文件。

    oracle 8.0.6在sql*loader中已經對discard file和log file實現了大文件支持,但是對于輸入的data file在各個平臺上仍然時不一樣的。[bug:948460]中記錄了輸入文件大小限制的詳細信息。[bug:749600]則記錄了最大的discard file文件大小。

     

    oracle和其它的2gb問題

    這個章節列舉了其它各色2gb問題。

     

    l         oracle 8.0.5版本以后在大部分的平臺上oracle都提供了64位的版本。從8.0.5的readme文件中可以看到相應的介紹-[note:62252.1]

    l         dbv(數據庫驗證程序)可能無法掃描超過2gb的數據文件,并會報dbv-100錯誤。在[bug:710888]中報告了此錯誤。

    l         如果要在oracle中創建大于2gb的文件, sql命令行的"datafile ... size xxxxxx"子句部分必須以m或者k作單位來指定,否則將會報"ora-02237: invalid file size"錯誤。在[bug:185855]中報告了此錯誤。

    l         在oracle 7.3.4發行版以前表空間的限額不能超過2gb。比如:

    alter user <username> quota 2500m on <tablespacename>

    這樣將會報" ora-2187: invalid quota specification."錯誤。

    在[bug:425831]中報告了此錯誤。解決方法是如果一個用戶需要超過2gb的限額,那么就給他賦予unlimited tablespace權限。

    l         如果spool的輸出文件達到了2gb,那么會出現錯誤。比如:sqlplus的命令spool。

    l         在oracle工具中的一些core函數不支持大文件。[bug:749600]中報告了此錯誤,在oracle 8.0.6和8.1.6版本中已經修正了。但是要注意在oracle 8.1.5和別的任何補丁中都沒有修改這個錯誤。另外即使已經有修正,但是仍然還會有大文件限制因為不是所有的代碼都使用了這些core函數。

    注意:[bug:749600]雖然闡明了core函數,但是代碼的某些部分仍然有問題。比如:sql*loader中輸入文件的讀取就沒有使用core。

    l         utl_file包使用了上述的core函數,所以在沒有修正的oracle版本中仍然有2gb限制。<package:utl_file>是一個允許在pl/sql中進行文件存取的pl/sql包。

     

    特定平臺中的大文件

    下面是一些特定平臺中關于大文件支持的參考資料。雖然我們已經努力使這些文章的資料始終保持更新,但是仍然建議在存取大文件時對每一個操作要小心謹慎地測試。

     

    平臺

    參考

    aix (rs6000 / sp)

    [note:60888.1]

    hp

    [note:62407.1]

    digital unix

    [note:62426.1]

    sequent ptx

    [note:62415.1]

    sun solaris

    [note:62409.1]

    windows nt

    fat文件系統支持最大4gb的文件

    ntfs文件系統理論上支持最大16tb的文件

    1.在nt的oracle8上使用大文件之前請先參考[note:67421.1]

    2.oracle8.1.6的dbverify程序有問題(參考[bug:1372172])

    3.在8.1.6 / 8.1.7中自動擴展到4gb時會出現問題導致數據庫崩潰。(參考[bug:1668488])
    發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    主站蜘蛛池模板: 靖宇县| 黄龙县| 呼和浩特市| 视频| 修水县| 昌邑市| 司法| 墨江| 双柏县| 青河县| 浪卡子县| 青浦区| 阆中市| 额尔古纳市| 和平区| 松滋市| 廊坊市| 常宁市| 田林县| 安陆市| 四会市| 永嘉县| 莫力| 黑龙江省| 介休市| 通渭县| 滕州市| 河南省| 玉田县| 秭归县| 常宁市| 全州县| 旬邑县| 陵水| 石景山区| 榆林市| 盘山县| 防城港市| 莱州市| 蓬溪县| 云林县|