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

Oracle的数据文件大小是有限制的,今天在创建表空间的时候就遇到了问题,限制很简单,作为DBA必须要了解。

测试环境:

操作系统:Win7 64位专业版

数据库版本:64位Oracle10.2.0.4

DB_NAME:hoegh

表空间名称:hoegh

在执行创建表空间语句时报错,具体语句如下:

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,而当前数据库的block大小是8k,也就是说最大的文件大小是32G,要建100G的datafile肯定不行。

也就是说,以Oracle的限制,如果要建普通的datafile,最大的大小就是 (2^22-1)*32K = 128G (注:Oracle最大支持block为32k)。存在这个限制是因为Oracle的内部ROWID使用22位2进制数来存储不同的block号,所以22位最多代表(2^22-1)个block。

下面列表说明不同数据块数据库所能支持的最大物理文件大小:

数据块的大小        物理文件的最大值 M

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

2048                        8191 M

4096                        16383 M

8192                        32767 M

16384                        65535 M

这就可以解释,32G>32767 M(多了1M)也不能够创建。因此,干脆修改为如下语句,执行成功。

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

下面,总结一下ORA-03206报错的解决方案,推荐使用第一种解决方案。

一)不要创建单个文件超过32GB的表空间

如果你创建的表空间超过32GB,请把这个表空间存储为多个数据文件,每个文件不大于32GB。这样,就可以成功的创建表空间。

二)扩大db_block_size

根据oracle的算法,我们很容易想到这个解决方法。数目衡定,但是db_block_size可以更改(db_block_size的最大大小为32KB)。如果把db_block_size扩大到32KB(32位系统好像是16KB,我在Red Hat 企业版的操作系统创建32KB的block_size失败。),那么我们的系统就可以支持单个数据文件最大128GB。

这个方案听起来好像很迷人,但是实际上并不是那么回事。因为要修改db_block_size并不是很容易的事。因为这个db_block_size在创建实例的时候就要指定。而且不能通过简单修改参数来指定db_block_size。

三)创建bigfile表空间

在oracle10g中引进了bigfile表空间,充分利用了64位CPU的寻址能力,使oracle可以管理的数据文件总量达到8EB。单个数据文件的大小达到128TB,即使默认8K的db_block_size也达到了32TB。

创建bigfile的表空间使用的sql语句也很简单。

create bigfile tablespace...

后面的语句和普通的语句完全一样。

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

例如在windows下,单个文件最大限制如下:

FAT12           8M

FAT16           2G

FAT32           4G

NTFS            64GB

NTFS5.0         2TB

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/529660.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oracle sql server的区别,oracle与sqlserver的十大区别

http://blog.csdn.net/it_fengli/article/details/8213839 --sql server 与 oracle的区别: --DBMS 数据库管理系统 --1.数据类型不同。 --sql server 的数据类型:int ,smallint ,char,varchar,nchar,nvarchar,ntext,datetime,smalldatetime,money,decima…

Oracle19C的dbhome,Windows server 安装Oracle19c (WINDOWS.X64_193000_db_home.zip) 过程碰到的问题总结...

Oracle19c的下载地址:链接: https://pan.baidu.com/s/1snqyViOAoeffAztPes_Tvw提取码: 9kb6Oracle19c的安装过程:解压缩安装包:解压结果 以管理员方式运行setup开始安装 一直默认走到安装完成即可创建用户cmd执行sqlplus命令,输入…

oracle01537,ORACLE REUSE实验

一、查看数据文件位置SQL> show user;User is "SYS"SQL> desc dba_data_files;Name Type Nullable Default Comments--------------- ------------- -------- ------- ---------------------------------------------------FILE_NAME …

oracle数据库配置管理,Oracle配置管理

一、连接Oracle1、Oracle建立连接的过程无论是通过sqlplus命令连接还是第三方工具远程连接到Oracle,都需要建立客户端与服务端之间的连接。Oracle Net Service组件就是为了用于建立连接的,这个组件在安装Oracle时已经安装。1)在服务器端有一个listener监…

oracle 插入一个语句,oracle如何通过1条语句插入多个值 oracle通过1条语句插入多个值方法...

本篇文章小编给大家分享一下oracle通过1条语句插入多个值方法,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。在实践过程中遇到一个问题,我想往数据库插入多条数据时,使用了如下语句&#x…

linux内核 默认路由表,[Linux] linux路由表-Go语言中文社区

路由表用于决定数据包从哪个网口发出,其主要判断依据是目标IP地址Linux路由表其实有2个主要概念:按顺序走路由策略,在路由策略对应的路由表中匹配规则路由策略(rule)路由表(table)查看所有的路由策略,32766那个策略最有用,对应的main路由表也是默认展示的…

linux添加源地址ping,实战经验:Linux Source NAT在Ping场景下的应用

原标题:实战经验:Linux Source NAT在Ping场景下的应用有时候,有这样的一种需求:需要修改IP数据包中的源地址,比如,从某一个主机发送Ping包到另一个主机,需要修改源地址为另一个源(通常&#xff…

mac远程linux的ide,Jupyter notebook在mac:linux上的配置和远程访问

IPython 和 JupyterIPython 通常指的是一个 Python REPL(交互式解释器) shell。提供了远比 Python shell 强大的 shell 环境。IPython 是 Iteractive Python shell的缩写。 Notebook 是一个基于 IPython 的 web 应用。截止 IPython 3.0 ,IPython 变得越来越臃肿&…

Linux升级glibc版本汉字乱码,Linux CentOS6升级glibc库过程

CentOS6升级glibc库过程hadoop无法加载native库,可能原因是 glibc库版本过低,需要升级。第一:安装以下软件yum -y install zlib zlib-devel gcc gcc-c libtool openssl openssl-devel automake autoconf libtool pcre*第二、查看系统glibc版本…

linux图形界面 革命,Windows 95带来的革命

CDECDE1993年6月-在“公用桌面环境“是与Sun,惠普,IBM和合资Unix系统实验室。CDE,通用桌面环境(CommonDesktopEnvironment)的缩写。CDE是一种运行于UNIX,基于Motif部件工具箱开发的商业桌面环境。惠普的OpenVMS采用CDE作为标准的桌…

real time linux pdf,【整理】ubuntu real time Linux

ubuntu real timeUbuntu不支持实时可参考看看如何才能支持想要自己编译实时内核的话参考去:下载:The Real Time Preempt Patch然后自己编译即可。对于实时系统所支持的功能和特性以及平台,详见这里提供了 已编译好的实时的Debian相关内容或参…

arm64 linux 除零正常返回,arm64程序调用规则

前言这篇主要介绍arm64程序调用规则,详细分析了程序调用过程中,参数是如何传递的。Android、iOS、Linux等基本遵循这些规则,但是各个操作系统平台也有小部分自己特定的规则。下一篇,我将介绍iOS平台的特定规则。术语介绍术语意义A…

苹方字体 for linux,苹果苹方字体

苹果苹方字体是一款很实用的字体软件,苹果苹方字体是为中国苹果用户打造的全新字体,共有六种字重,使用方便,能够满足用户在阅读时不同的字体需求,并且苹果苹方字体还可以在安卓、Linux 等其他平台和设备上使用&#xf…

linux系统关机half,Linux 学习 (六) 关机与重启命令

JavaScript基础 DOM的操作1.DOM的基本概念 DOM是文档对象模型,这种模型为树模型:文档是指标签文档:对象是指文档中每个元素:模型是指抽象化的东西. 2.Windows对象操作 一.属性和方法: window对象——浏览器 ...推荐《HeadFirst设计模式》相对于国内初版的,HeadFirst真的是更好的…

职坐标c语言,C/C++知识点之hexdump的C语言实现

本文主要向大家介绍了C/C知识点之hexdump的C语言实现,通过具体的内容向大家展示,希望对大家学习C/C知识点有所帮助。1 void hexdump(char *buf, int len)2 {3 int i 0;45 printf("\n----------------------hexdump-----------------------…

C语言编杂志程序,c语言程序错误修改

题目:杂志订阅管理系统使用计算机对一种杂志的订阅进行管理,该杂志最多订户不超过10人,每个订户的信息包括:姓名 性别 地址 电话号码 杂志单价 订阅数 订阅期限(至**年**月)。现要求用菜单选择并完成下述的功能:(1)增加新订户,既将订户的全部信息输入到文…

c语言关键词中英翻译机编程,课程设计--C语言关键字中英翻译机

《课程设计--C语言关键字中英翻译机》由会员分享,可在线阅读,更多相关《课程设计--C语言关键字中英翻译机(21页珍藏版)》请在人人文库网上搜索。1、课课 程程 设设 计计 报报 告告 学院、系: 专业名称: 课程设计科目 所在班级&…

c语言参数不能用 吗,如何在C语言中禁止“未使用的参数”警告?

您可以使用gcc / clang的未使用属性,但是我在标头中使用这些宏,以避免在整个源代码中__attribute__都有gcc特定的属性,而且到处都有点冗长/难看。#ifdef __GNUC__# define UNUSED(x) UNUSED_ ## x __attribute__((__unused__))#else# defin…

c语言龙贝格积分法实验报告,数值作业:龙贝格算法计算积分C语言实现

数值作业:龙贝格算法计算积分C语言实现数值作业:龙贝格算法计算积分C语言实现根据Romberg算法计算定积分,和变步长的Simpson算法的输入都一样.算法基本分析:输入a,b(积分上下限),n为积分区间等分数,eps为计算精度,我这…

软件设计师考c语言,软件设计师教程考点精讲之C语言三大定律

2016下半年软考软件设计师报名即将开始,同学们是否在学习过程中遇到了一些困难,下面由希赛软考学院为打算参加下半年考试的你们准备了一些软件设计师教程考点精讲之Java编程性能措施,希望对大家有所帮助。自己总结的,觉得能帮助初…