smallfile tablespace设置不同大小的db_block_size时数据文件允许的最大大小

db_block_size=2KB,2KB*4M=8192M      8G
db_block_size=4KB,4KB*4M=16384M     16G
db_block_size=8KB,8KB*4M=32768M     32G     8*1024*4M=8*4G=32G
db_block_size=16KB,16KB*4M=65536M   64G
db_block_size=32KB,32KB*4M=131072M   128G

 

bigfile tablespace设置不同大小的db_block_size时数据文件允许的最大大小

db_block_size=2KB,2KB*4G= 8T
db_block_size=4KB,4KB*4G= 16T
db_block_size=8KB,8KB*4G= 32T        8*1024*4G=8*4TB=32TB
db_block_size=16KB,16KB*4G= 64T
db_block_size=32KB,32KB*4G=128TB

____________________________________________________________________________________________________________

  1. Oracle 10g bigfile表空间简介
  2. 01. A Bigfile 表空间包含一个非常大的数据文件
  3. 02. SMALLFILE表空间和BIGFILE表空间可以在同一个数据库共存
  4. 1.创建一个bigfile表空间
  5. SQL> CREATE BIGFILE TABLESPACE  big01
  6. datafile '/oracle/oradata/orcl/big01.dbf' size 50M;
  7. Tablespace created.
  8. 1.2 查看数据库所有表空间bigfile属性,BIG01为bigfile表空间
  9. SQL> select TABLESPACE_NAME, BIGFILE from DBA_TABLESPACES;
  10. TABLESPACE_NAME                BIGFILE
  11. ------------------------------ --------
  12. SYSTEM                         NO
  13. UNDOTBS1                       NO
  14. SYSAUX                         NO
  15. TEMP                           NO
  16. USERS                          NO
  17. TEST                           NO
  18. BIG01                          YES
  19. 1.3 表空间TEST为SMALLFILE表空间,现在做一个测试resize TEST表空间
  20. SQL> alter tablespace test  resize 20M;
  21. alter tablespace test  resize 20M
  22. *
  23. ERROR at line 1:
  24. ORA-32773: operation not supported for smallfile tablespace TEST
  25. 由此可见small不支持表空间的resize,当然我们可以通过alter database reszie datafile 来实现smallfile表空间某个数据文件的resize
  26. 2.bigfile表空间文件
  27. bigfile表空间只能包含一个文件,它可以非常大,我们不能对bigfile表空间增加数据文件
  28. SQL> alter tablespace big01 add
  29. 2  datafile '/oracle/oradata/orcl/big02.dbf' size 10M;
  30. alter tablespace big01 add
  31. *
  32. ERROR at line 1:
  33. ORA-32771: cannot add file to bigfile tablespace
  34. 3.BIGFILE表空间的寻址
  35. bigfile表空间的数据文件大小远远大于smallfile的表空间,其优势得益于Oracle 10g新的寻址方案
  36. 一个rowid寻址存储在传统的SMALLFILE表空间中的对象使用其中的12个字节
  37. 例: rowid寻址
  38. . 相对File# 3个字节, Block#需要6个字节
  39. 相同的rowid寻址在bigfile表空间只需要9个字节,9个字节存储block#在唯一的文件中
  40. bigfile 表空间只有一个数据文件,因此不必需要另外3个字节的相关连file#
  41. 新寻址方案
  42. 允许在一个单独的数据文件里最多4G个的数据块,
  43. 数据文件大小blocksize 2K的数据文件最大支持8TB,blocksize 32K的数据文件最大支持到128TB
  44. 4.bigfile表空间的优势
  45. 只有一个数据文件的表空间更方便管理,因此唯一的表空间就变成了管理单元
  46. 修改表空间的扩展
  47. SQL> alter tablespace big01 autoextend on;
  48. Tablespace altered.
  49. SQL> alter tablespace big01 autoextend off;
  50. Tablespace altered.
  51. 在线修改bigfile表空间大小
  52. SQL> alter tablespace big01 resize 2M;
  53. Tablespace altered.
  54. smallfile表空间相对灵活性就不如bigfile表空间
  55. SQL> select TABLESPACE_NAME, BIGFILE from DBA_TABLESPACES where TABLESPACE_NAME='TEST';
  56. TABLESPACE_NAME                BIG
  57. ------------------------------ ---
  58. TEST                           NO
  59. SQL> alter tablespace test  resize 20M;
  60. alter tablespace test  resize 20M
  61. *
  62. ERROR at line 1:
  63. ORA-32773: operation not supported for smallfile tablespace TEST
  64. 5.bigfile表空间支持以下存储管理方式
  65. --> ASM (Automatic Storage Management)
  66. --> a logical volume manager supporting striping/RAID
  67. --> dynamically extensible logical volumes
  68. --> Oracle Managed Files (OMF)
  69. 6. 修改数据库创建表空间的bigfile类型
  70. SQL> select * from database_properties
  71. where property_name='DEFAULT_TBS_TYPE';
  72. 当前数据库创建表空间的默认方式是SMALLFILE表空间
  73. PROPERTY_NAME                  PROPERTY_VALUE                           DESCRIPTION
  74. ------------------------------ ---------------------------------------- ------------------------------
  75. DEFAULT_TBS_TYPE               SMALLFILE                                Default tablespace type
  76. 更改数据库创建表空间为BIGFILE表空间
  77. SQL> ALTER DATABASE SET DEFAULT bigfile TABLESPACE;
  78. Database altered.
  79. SQL> CREATE TABLESPACE big02
  80. datafile '/oracle/oradata/orcl/big02.dbf' size 10M;
  81. Tablespace created.
  82. SQL> select TABLESPACE_NAME, BIGFILE from DBA_TABLESPACES;
  83. TABLESPACE_NAME                BIG
  84. ------------------------------ ---
  85. SYSTEM                         NO
  86. UNDOTBS1                       NO
  87. SYSAUX                         NO
  88. TEMP                           NO
  89. USERS                          NO
  90. TEST                           NO
  91. BIG01                          YES
  92. BIG02                          YES
  93. 7. bigfile表空间比传统的smallfile表空间的启动,检查点和DBWR的操作更具有性能优势.
  94. 查看数据库文件的文件号和相对文件号
  95. SQL> select file_name, file_id, relative_fno from dba_data_files;
  96. FILE_NAME                                                       FILE_ID RELATIVE_FNO
  97. ------------------------------------------------------------ ---------- ------------
  98. /oracle/oradata/orcl/big01.dbf                                        8         1024
  99. /oracle/oradata/orcl/big02.dbf                                        9         1024
  100. /oracle/oradata/orcl/users01.dbf                                      4            4
  101. /oracle/oradata/orcl/sysaux01.dbf                                     3            3
  102. /oracle/oradata/orcl/undotbs01.dbf                                    2            2
  103. /oracle/oradata/orcl/system01.dbf                                     1            1
  104. /oracle/oradata/orcl/system02.dbf                                     6            6
  105. /oracle/oradata/orcl/test02.dbf                                       7            7
  106. /oracle/oradata/orcl/test.dbf                                         5            5
  107. 注:bigfile 表空间只有一个数据文件,相对文件号为1024
  108. 8.bigfile 表空间、smallfile表空间
  109. SQL> SELECT TABLESPACE_NAME,bigfile from dba_tablespaces where tablespace_name='TEST';
  110. TABLESPACE_NAME                BIG
  111. ------------------------------ ---
  112. TEST                           NO
  113. 1- 在smallfile表空间里从表的rowid中获取相对文件号的信息
  114. SQL> create table st0 (c number) tablespace TEST;
  115. Table created.
  116. SQL> insert into st0 values (1);
  117. 1 row created.
  118. SQL> select dbms_rowid.rowid_relative_fno(rowid,'SMALLFILE') from st0;
  119. DBMS_ROWID.ROWID_RELATIVE_FNO(ROWID,'SMALLFILE')
  120. ------------------------------------------------
  121. 5
  122. 2- 在smallfile表空间里从表的rowid中获取相对文件号的信息 :
  123. SQL> create table bt01 (c number) tablespace big01;
  124. Table created.
  125. SQL> insert into  bt01 values (1);
  126. 1 row created.
  127. SQL> select dbms_rowid.rowid_relative_fno(rowid,'BIGFILE') from bt01;
  128. DBMS_ROWID.ROWID_RELATIVE_FNO(ROWID,'BIGFILE')
  129. ----------------------------------------------
  130. 1024
  131. 9.bigfile表空间支持alter table move
  132. 支持smallfile 表空间总的对象move至bigfile 表空间
  133. SQL> select name, bigfile, table_name from dba_tables t, v$tablespace v
  134. where table_name='T11' and v.name=t.tablespace_name;
  135. NAME                           BIG TABLE_NAME
  136. ------------------------------ --- ------------------------------
  137. USERS                          NO  T11
  138. SQL> ALTER TABLE scott.emp MOVE TABLESPACE BIG01;
  139. Table altered.
  140. SQL> Select name, bigfile, table_name from dba_tables t, v$tablespace v
  141. 2            where table_name='T11' and v.name=t.tablespace_name;
  142. NAME                           BIG TABLE_NAME
  143. ------------------------------ --- ------------------------------
  144. BIG01                          YES T11
  145. 特性限制
  146. ------------
  147. 新特性仅支持
  148. --> locally managed tablespaces 本地管理表空间
  149. --> with ASSM (automatic segment space management) ASSM管理表空间

Oracle 10g bigfile表空间、smallfile 表空间的更多相关文章

  1. oracle 10g 用dbms_xmlgen将数据表转成xml格式

    oracle 10g 用dbms_xmlgen将数据表转成xml格式 oracle 10g 用dbms_xmlgen将数据表转成xml格式 oracle用plsql将sql查询的所有数据导出为xml

  2. Oracle 10g创建表空间的完整步骤详解

    本文我们主要介绍了Oracle 10g创建表空间的完整步骤,包括表空间的创建与删除.为应用创建用户以及权限的授予等操作,希望能够对您有所帮助. AD:WOT2014:用户标签系统与用户数据化运营培训专 ...

  3. Oracle 高水位说明和释放表空间,加快表的查询速度

    高水位的介绍 数据库运行了一段时间,经过一些列的删除.插入.更改操作有些表的高水位线就有可能和实际的表存储数据的情况相差特别多,为了提高检索该表的效率,建议对这些表进行收缩: 查找高水位线的表 查找表 ...

  4. Oracle 执行报错表空间或临时表空间不足,降低水位线方法

    Oracle 执行语句插入临时表报表空间不足,在增加表空间到最大后依然报错,经分析应该为创建的临时表水位线未清除导致,查询降低水位线方法如下: 原文地址:http://blog.itpub.net/2 ...

  5. Oracle 释放过度使用的Undo表空间

    故障现象:UNDO表空间越来越大,长此下去最终数据因为磁盘空间不足而崩溃: 问题分析:产生问题的原因主要以下两点: 1. 有较大的事务量让Oracle Undo自动扩展,产生过度占用磁盘空间的情况: ...

  6. Oracle常用操作——创建表空间、临时表空间、创建表分区、创建索引、锁表处理

    摘要:Oracle数据库的库表常用操作:创建与添加表空间.临时表空间.创建表分区.创建索引.锁表处理 1.表空间 ■  详细查看表空间使用状况,包括总大小,使用空间,使用率,剩余空间 --详细查看表空 ...

  7. oracle 创建用户和imp指定表空间

    创建用户: 1,sqlplus sys/pwd as sysdba; 2, create user username identified by password; 3, grant dba,conn ...

  8. Oracle创建表空间和表

    创建表空间和表ORACLE物理上是由磁盘上的以下几种文件:数据文件和控制文件和LOGFILE构成的oracle中的表就是一张存储数据的表.表空间是逻辑上的划分.方便管理的.数据表空间 (Tablesp ...

  9. 在Oracle中查询表的大小、表的占用情况和表空间的大小

    转载自http://blog.csdn.net/cuker919/article/details/8514253 select segment_name, bytes as 大小 from user_ ...

随机推荐

  1. Collections+Iterator 接口 | Map+HashMap+HashTable+TreeMap |

    Collections+Iterator 接口 1. Collections 是一个操作 Set.List 和 Map 等集合的工具类 Collections 中提供了大量方法对集合元素进行排序.查询 ...

  2. 看啦这么就别人的博客 我也来写一篇! Object转换其他类型

    package com.sinitek.framework.util; import java.math.BigDecimal;import java.sql.Timestamp;import jav ...

  3. [Android]Android Debug key 的制作

    Android Debug key 的制作 背景 在Android App 开发过程中,我们经常会使用一些第三方的服务,但是很多的第三方服务都会要求我们提供包名,签名安装包,这时候,我们在日常调试时, ...

  4. 【转】idea 用maven骨架生成项目速度慢的问题

    转自:http://9leg.com/maven/2015/02/01/why-is-mvn-archetype-generate-so-low.html 最近从IntelliJ Idea 14的Co ...

  5. iOS中Objective-C与JavaScript之间相互调用的实现(实现了与Android相同的机制)转

    第三方库WebViewJavascriptBridge http://blog.csdn.net/zhaoxy_thu/article/details/22794201 Demo

  6. 如何在django的filter中传递字符串变量作为查询条件(动态改变查询条件)

    一般来说在需要查询数据的时候都是以下形式 ret=Articles.objects.filter(id=1) 然而如果要动态的改变查询的条件怎么办呢? 如下代码 def getModelResult( ...

  7. Android 图片处理效果集

    总共可以处理出大约100种图片效果,常见的和不常见的滤镜效果可以处理出来,可以说涵盖了市面上所有特效相机可以处理出来的效果.项目所有代码都是纯java代码实现,没有封装成jar包.截图是挑选了几张有代 ...

  8. SMART rule之个人理解

    SMART原则通常应用于绩效评估中. S是specific的缩写,也就是你所设定的目标必须是一个具体的目标,而不是一个空而大的东西. 比如你的目标定位为今年学习linux,并对进程管理.内存管理等要能 ...

  9. 使用EasyBCD 从硬盘安装 deepin2014.1

    EasyBCD config  code: title Install Deepin2014 root (hd0,1) kernel (hd0,1)/vmlinuz boot=casper iso-s ...

  10. STM32标准库GPIO操作

    STM32标准库GPIO操作 STM32任何外围设备的使用都分为两部分:初始化和使用.体现在代码上就是:(1)有一个初始化函数(2)main函数中的使用 1.初始化GPIO 初始化GPIO函数代码: ...