一般数据文件不都是设成自动扩展的么?应该是可以设置最大可以扩到多大吧?
我现在想查询一下数据库中所有表空间(包括临时表空间)的最大限制大小和所有数据文件的最大限制大小。我看到
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值不同呢,它们到底指什么意思?
期待高手回答,谢谢!

解决方案 »

  1.   

    谢谢回复。
    不过我现在的环境就是一个表空间对应一个数据文件(不是多个)为何两边查到的MAX值不一样呢?
    而且data_files查到的MAXBYTES明显大于dba_tablespaces查到MAX_SIZE大很多?其实我根本想知道的就是,我怎样知道一个数据文件(或表空间)最大可以扩展到多大?
    另外如果能告诉我怎样重新设置这个大小,以及数据文件大小和表空间大小的确切关系那就最好了。
      

  2.   


     Oracle数据库的物理文件可以设置成自动增长的类型, 这样数据库在需要更多空间时, 物理文件会按设定 
    的增长量自动增长到指定的最大值. 这样会有一些好处: 保证不会因为分配数据区域(extent)失败而终止应用. 
    但如果没有设定这个最大值, 它将会是一个非常大的数字. 数据块大小不同, 其最大值也不一样. 因为Oracle 
    的物理文件最大只允许4194303个数据块(datablock).       下面列表说明不同数据块数据库所能支持的最大物理文件大小: 
      
        数据块的大小  物理文件的最大值 M 
    ===============================================   
    2048  8191 M 
    4096 16383 M 
    8192 32767 M 
           16384 65535 M 
            
        不幸的是, 不同操作系统不同Oracle版本对其物理文件的最大值限制是不一样的. 如果物理文件超过了某 
    个限制大小, ORACLE数据库将会出现内核错误并崩溃.   
      

  3.   

    下面列出了几种常见操作系统的最大物理文件限制, 有的还需要在OS端设置大的文件系统和特定的环境变 
    量等. 
         
       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 
      

  4.   

    HP 
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    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; 如果有良好的数据库存储规划, 物理文件最好还是设置成非自动增长的类型. 
      

  5.   


    select * from dba_tablespaces;查出来有MAX_EXTENTS  MAX_SIZE字段 
    --:这里是指表空间数据区的最大设置值,就是表空间一次自动增长允许扩充的做大值。select * from dba_data_files;查出来有MAXBYTES    MAXBLOCKS字段,
    --:这里是指数据文件中数据块的最大设置值,就是数据文件中一个块数据满了之后,需要再建立一个数据库来填充数据,这个MAX值就是重建数据块的时候允许的最大值。
      

  6.   

    非常感谢!
    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.啊,这么查出来的话就是我这里的所有数据文件都没有限制最大大小?
      

  7.   

    SQL> select dbms_metadata.get_ddl('TABLESPACE','USERS') from dual;DBMS_METADATA.GET_DDL('TABLESPACE','USERS')
    -------------------------------------------------------------------------  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
      

  8.   

    不用语句的办法,登录pl\sql客户端工具--报告--dba--表空间 即可查询任何表空间。
      

  9.   

    不用语句的办法,登录pl\sql客户端工具--报告--dba--表空间 即可查询任何表空间。
      

  10.   

    不用语句的办法,登录pl\sql客户端工具--报告--dba--表空间 即可查询任何表空间。