日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

oracle03206,ORACLE数据库创建表空间ORA-03206报错的解决方案

發(fā)布時間:2025/3/8 数据库 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle03206,ORACLE数据库创建表空间ORA-03206报错的解决方案 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Oracle的數(shù)據(jù)文件大小是有限制的,今天在創(chuàng)建表空間的時候就遇到了問題,限制很簡單,作為DBA必須要了解。

測試環(huán)境:

操作系統(tǒng):Win7 64位專業(yè)版

數(shù)據(jù)庫版本:64位Oracle10.2.0.4

DB_NAME:hoegh

表空間名稱:hoegh

在執(zhí)行創(chuàng)建表空間語句時報錯,具體語句如下:

create tablespace hoegh

datafile 'S:\hoegh\hoegh01.dbf' size 20g

autoextend on next 1g maxsize 100g;

提示報錯:

ORA-03206: AUTOEXTEND 子句中 (13107200) 塊的最大文件大小超出范圍

后來查資料,說單個文件大小最大是32g,修改語句如下:

create tablespace hoegh

datafile 'S:\hoegh\hoegh01.dbf' size 20g

autoextend on next 1g maxsize 32g;

仍然報錯:

ORA-03206: AUTOEXTEND 子句中 (4194304) 塊的最大文件大小超出范圍

按照Oracle文檔的描述,每個datafile的最大容量為(2^22-1)個block,即4194303個block,而當(dāng)前數(shù)據(jù)庫的block大小是8k,也就是說最大的文件大小是32G,要建100G的datafile肯定不行。

也就是說,以O(shè)racle的限制,如果要建普通的datafile,最大的大小就是 (2^22-1)*32K = 128G (注:Oracle最大支持block為32k)。存在這個限制是因為Oracle的內(nèi)部ROWID使用22位2進制數(shù)來存儲不同的block號,所以22位最多代表(2^22-1)個block。

下面列表說明不同數(shù)據(jù)塊數(shù)據(jù)庫所能支持的最大物理文件大小:

數(shù)據(jù)塊的大小????????物理文件的最大值 M

===============================================

2048????????????????????????8191 M

4096????????????????????????16383 M

8192????????????????????????32767 M

16384????????????????????????65535 M

這就可以解釋,32G>32767 M(多了1M)也不能夠創(chuàng)建。因此,干脆修改為如下語句,執(zhí)行成功。

create tablespace hoegh datafile 'S:\hoegh\hoegh01.dbf' size 10g autoextend on next 500m maxsize 20g;

下面,總結(jié)一下ORA-03206報錯的解決方案,推薦使用第一種解決方案。

一)不要創(chuàng)建單個文件超過32GB的表空間

如果你創(chuàng)建的表空間超過32GB,請把這個表空間存儲為多個數(shù)據(jù)文件,每個文件不大于32GB。這樣,就可以成功的創(chuàng)建表空間。

二)擴大db_block_size

根據(jù)oracle的算法,我們很容易想到這個解決方法。數(shù)目衡定,但是db_block_size可以更改(db_block_size的最大大小為32KB)。如果把db_block_size擴大到32KB(32位系統(tǒng)好像是16KB,我在Red Hat 企業(yè)版的操作系統(tǒng)創(chuàng)建32KB的block_size失敗。),那么我們的系統(tǒng)就可以支持單個數(shù)據(jù)文件最大128GB。

這個方案聽起來好像很迷人,但是實際上并不是那么回事。因為要修改db_block_size并不是很容易的事。因為這個db_block_size在創(chuàng)建實例的時候就要指定。而且不能通過簡單修改參數(shù)來指定db_block_size。

三)創(chuàng)建bigfile表空間

在oracle10g中引進了bigfile表空間,充分利用了64位CPU的尋址能力,使oracle可以管理的數(shù)據(jù)文件總量達到8EB。單個數(shù)據(jù)文件的大小達到128TB,即使默認8K的db_block_size也達到了32TB。

創(chuàng)建bigfile的表空間使用的sql語句也很簡單。

create bigfile tablespace...

后面的語句和普通的語句完全一樣。

需要注意OS的文件大小限制。

例如在windows下,單個文件最大限制如下:

FAT12?????????? 8M

FAT16?????????? 2G

FAT32?????????? 4G

NTFS??????????? 64GB

NTFS5.0???????? 2TB

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的oracle03206,ORACLE数据库创建表空间ORA-03206报错的解决方案的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。