一般数据文件不都是设成自动扩展的么?应该是可以设置最大可以扩到多大吧?
我现在想查询一下数据库中所有表空间(包括临时表空间)的最大限制大小和所有数据文件的最大限制大小。我看到
select * from dba_tablespaces;查出来有MAX_EXTENTS MAX_SIZE字段
select * from dba_data_files;查出来有MAXBYTES MAXBLOCKS字段,
他们的值并不一样,它们是分别指表空间和数据文件的最大限制大小么?比如对于dba_data_files:
FILE_NAME TABLESPACE_NAME BYTES BLOCKS AUT MAXBYTES MAXBLOCKS INCREMENT_BY USER_BYTES USER_BLOCKS ONLINE_
--------------------------------------------------------------------------------------------------------------------------------------------
/opt/database/undotbs01.dbf UNDOTBS1 178257920 21760 YES 3.4360E+10 4194302 640 178192384 21752 ONLINE对于dba_tablespaces
TABLESPACE_NAME BLOCK_SIZE INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS MAX_SIZE
--------------------------- -------------- ----------- ----------- ----------- ----------
UNDOTBS1 8192 65536 1 2147483645 2147483645 现在一个表空间对应唯一一个数据文件,为何上下两个MAX值不同呢,它们到底指什么意思?
期待高手回答,谢谢!
我现在想查询一下数据库中所有表空间(包括临时表空间)的最大限制大小和所有数据文件的最大限制大小。我看到
select * from dba_tablespaces;查出来有MAX_EXTENTS MAX_SIZE字段
select * from dba_data_files;查出来有MAXBYTES MAXBLOCKS字段,
他们的值并不一样,它们是分别指表空间和数据文件的最大限制大小么?比如对于dba_data_files:
FILE_NAME TABLESPACE_NAME BYTES BLOCKS AUT MAXBYTES MAXBLOCKS INCREMENT_BY USER_BYTES USER_BLOCKS ONLINE_
--------------------------------------------------------------------------------------------------------------------------------------------
/opt/database/undotbs01.dbf UNDOTBS1 178257920 21760 YES 3.4360E+10 4194302 640 178192384 21752 ONLINE对于dba_tablespaces
TABLESPACE_NAME BLOCK_SIZE INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS MAX_SIZE
--------------------------- -------------- ----------- ----------- ----------- ----------
UNDOTBS1 8192 65536 1 2147483645 2147483645 现在一个表空间对应唯一一个数据文件,为何上下两个MAX值不同呢,它们到底指什么意思?
期待高手回答,谢谢!
解决方案 »
- 遇到如下问题,怎么解决。谢谢!
- 求每天千万数据量的插入或更新一张大表高效存储过程
- 能否给出两个SQL的例子?
- 如何在ORCIAL中两表互导数据
- 请大家先看看这篇文章,对大家来说应该是很简单的问题,帮我解释一下
- 请问我要安装9.2.0.1.0,是不是装9i就行啊?
- 高技术问题:oracle数据库的OCCI技术,目前只有VC的,问有没有C++BUILDER
- 救救我!!!!!!!!!!!!
- oracle 有没有sql server profiler类似的工具?
- 关于Oracle数据库数据泵的导入导出方式
- rac环境DBID跟SID怎么回事,不了解,问下,谢谢了!
- 找Oracle Database 11g源码?
不过我现在的环境就是一个表空间对应一个数据文件(不是多个)为何两边查到的MAX值不一样呢?
而且data_files查到的MAXBYTES明显大于dba_tablespaces查到MAX_SIZE大很多?其实我根本想知道的就是,我怎样知道一个数据文件(或表空间)最大可以扩展到多大?
另外如果能告诉我怎样重新设置这个大小,以及数据文件大小和表空间大小的确切关系那就最好了。
Oracle数据库的物理文件可以设置成自动增长的类型, 这样数据库在需要更多空间时, 物理文件会按设定
的增长量自动增长到指定的最大值. 这样会有一些好处: 保证不会因为分配数据区域(extent)失败而终止应用.
但如果没有设定这个最大值, 它将会是一个非常大的数字. 数据块大小不同, 其最大值也不一样. 因为Oracle
的物理文件最大只允许4194303个数据块(datablock). 下面列表说明不同数据块数据库所能支持的最大物理文件大小:
数据块的大小 物理文件的最大值 M
===============================================
2048 8191 M
4096 16383 M
8192 32767 M
16384 65535 M
不幸的是, 不同操作系统不同Oracle版本对其物理文件的最大值限制是不一样的. 如果物理文件超过了某
个限制大小, ORACLE数据库将会出现内核错误并崩溃.
量等.
Windows NT Maximum 4Gb files on FAT
Theoretical 16Tb on NTFS
Sun Solaris (32 bit Oracle releases)
===========================================================================
OS Limits
~~~~~~~~~
Release Max file-system size Max OS File size
< Solaris 2.6 1Tb (UFS) 2Gb
>= Solaris 2.6 1Tb (40 bits) 1Tb Oracle Limits
~~~~~~~~~
SOLARIS 2.6 / 2.7 / 2.8
File Exp/ Loader
Oracle System Raw Imp** see ** UTL_FILE
=====================================================
8.1.6.0 >4Gb >=2Gb >=2Gb >=2Gb >=2Gb
8.1.5.0 32Bit >4Gb >=2Gb <2Gb <2Gb <2Gb
8.1.5.0 64Bit >4Gb >=2Gb <2Gb ? ?
8.0.6.0 >4Gb >=2Gb <2Gb ? >2Gb
8.0.5.2 >4Gb >=2Gb <2Gb <2Gb <2Gb
8.0.5.1 <4Gb >=2Gb <2Gb <2Gb <2Gb
8.0.5.0 <2Gb >=2Gb <2Gb <2Gb <2Gb
>=8.0.4.2 <4Gb >=2Gb <2Gb <2Gb <2Gb
< 8.0.4.2 <2Gb >=2Gb <2Gb <2Gb <2Gb
8.0.3.x <2Gb >=2Gb <2Gb <2Gb <2Gb
7.3.4.x <2Gb >=2Gb <2Gb <2Gb <2Gb
7.3.3.x <2Gb >=2Gb <2Gb <2Gb <2Gb
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
HPUX Unix Limits
~~~~~~~~~~~~~~~~~
Max file system size:
<= HP-UX 10.10 4Gb
>= HP-UX 10.20 128Gb
>= HP-UX 11.00 1Tb Max OS file size:
<= HP-UX 10.10 2Gb
>= HP-UX 10.20 128Gb
>= HP-UX 11.00 1Tb Oracle on HPUX Limits
~~~~~~~~~~~~~~~~~~~~~~
Max Datafile Size
File Raw Async Export/ SQL*Loader
Release System Device I/O Import** (see **)
===========================================================================
8.1.7.x 64Gb 64Gb raw only >2Gb >2Gb
8.1.6.x 64Gb 64Gb raw only >2Gb >2Gb
8.0.6.x 64Gb 64Gb raw only See*1 See*2
8.0.5.x 64Gb 64Gb raw only See*1 <2Gb
8.0.4.x 64Gb 64Gb raw only SIL HPUX10.20 > 2Gb
HPUX-11 <2Gb
8.0.3.x <2Gb <2Gb raw only 2Gb 2Gb
7.3.4.x 64Gb 64Gb raw only SIL 2Gb
>=7.3.3.4.1 64Gb 64Gb raw only SIL 2Gb
7.3.2.3 <2Gb <2Gb raw only 2Gb 2Gb
7.1.6 <2Gb <2Gb raw only 2Gb 2Gb
下面的SQL语句可以查看数据库物理文件是否是自动增长的及相关参数. select tablespace_name,file_name,round(bytes/(1024*1024),0) total_space,
autoextentsible,increment_by,maxbytes from dba_data_files order by tablespace_name; 如果你管理的数据库物理文件是自动增长的并有可能超过操作系统或Oracle版本文件最大限制时, 请尽快
改变它的属性, 把它设定成非自动增长的或者限定它最大的值. 假如物理文件的物理位置是 D:\ORACLE\ORADATA\ORACLE8\APP01.DBF 用下面的SQL语句可以实现这一操
作: alter database datafile 'D:\ORACLE\ORADATA\ORACLE8\APP01.DBF' autoextend off; alter database datafile 'D:\ORACLE\ORADATA\ORACLE8\APP01.DBF' autoextend on next 50M
maxsize 1500M; 如果有良好的数据库存储规划, 物理文件最好还是设置成非自动增长的类型.
select * from dba_tablespaces;查出来有MAX_EXTENTS MAX_SIZE字段
--:这里是指表空间数据区的最大设置值,就是表空间一次自动增长允许扩充的做大值。select * from dba_data_files;查出来有MAXBYTES MAXBLOCKS字段,
--:这里是指数据文件中数据块的最大设置值,就是数据文件中一个块数据满了之后,需要再建立一个数据库来填充数据,这个MAX值就是重建数据块的时候允许的最大值。
SQL> select tablespace_name,file_name,round(bytes/(1024*1024),0) total_space,AUTOEXTENSIBLE,increment_by,maxbytes from dba_data_files order by tablespace_name;TABLESPACE_NAME FILE_NAME TOTAL_SPACE AUT INCREMENT_BY MAXBYTES
------------------------------ ---------------------------------------------------------------------------------------------------------
CGP_1 /opt/cgp/workshop/omu/database/cgp_1.dbf 110 YES 1280 3.4360E+10
COMMON /opt/cgp/workshop/omu/database/common.dbf 50 YES 1280 3.4360E+10
NE5_1 /opt/cgp/workshop/nes/ne5/workspace1/database/NETBS.dbf 50 YES 1280 3.4360E+10
PDS /opt/cgp/workshop/omu/database/pds.dbf 50 YES 1280 3.4360E+10
SYSAUX /opt/cgp/workshop/omu/database/sysaux01.dbf 661 YES 1280 3.4360E+10
SYSTEM /opt/cgp/workshop/omu/database/system01.dbf 960 YES 1280 3.4360E+10
UNDOTBS1 /opt/cgp/workshop/omu/database/undotbs01.dbf 170 YES 640 3.4360E+10
USERS /opt/cgp/workshop/omu/database/users01.dbf 19 YES 160 3.4360E+108 rows selected.啊,这么查出来的话就是我这里的所有数据文件都没有限制最大大小?
------------------------------------------------------------------------- CREATE TABLESPACE "USERS" DATAFILE
'D:\APP\ADMINISTRATOR\ORADATA\ORA11\USERS01.DBF' SIZE 5242880
AUTOEXTEND ON NEXT 1310720 MAXSIZE 32767M
LOGGING ONLINE PERMANENT BLOCKSIZE 8192
EXTENT MANAGEMENT LOCAL AUTOALLOCATE SEGMENT SPACE MANAGEMENT AUTO
ALTER DATABASE DATAFILE
'D:\APP\ADMINISTRATOR\ORADATA\ORA11\USERS01.DBF' RESIZE 51314688记不清在那里好像看到过,一般数据文件不会超过300G