背景

      这次终于有个linux实际迁移oracle的机会了,之前都是学习实验。想起最早时,都是windows搞oracle,又让我想起多年期一个项目,数据量太大及计算逻辑太复杂,我用存储过程的高级处理从一天没跑完变成了几分钟跑完;然后闲着想实验下linux,陆陆续续花了两个周时间把linux和oracle跑通了,不过意外的是,竟然效率还不如在windows下,好多实验windows 不比linux差。可见光听人说是不行的。

本想聊聊那个项目的人和事,每一个项目都是一篇可以写的小说了,可惜不会写文章,其实这些人和事比技术有意义多了,正所谓世事洞明皆学问啊。但是又不想写了。还是说技术吧。

迁移过程中遇到各种报错逐一解决,倒不是大问题。不过再过程中,因为想修改数据文件容量时,竟然提示小文件表空间不支持,这个还没大有印象,先只能靠增加数据文件方式解决了,同时学习了下大文件表空间知识。正在后悔没有实践机会时,导入竟然出错了,错误及其奇葩,竟然能导入重复主键的数据,从来没见到这个情况。那么正合适了,从头彻底全删除,按照大表空间模式来一次。以下为所搜知识点,简单备忘一下吧。

知识点

使用大文件表空间的优势

使用大文件表空间(bigfile tablespace)可以显著地增强Oracle数据库的存储能力。一个小文件 表空间(smallfile tablespace)最多可以包含1024个数据文件(datafile),而一个大文件表空间 中只包含一个文件,这个数据文件的最大容量是小数据文件的1024倍。这样看来,大文件表空间和小 文件表空间的最大容量是相同的。但是由于每个数据库最多使用64K个数据文件,因此使用大文件表空 间时数据库中表空间的极限个数是使用小文件表空间时的1024倍,使用大文件表空间时的总数据库容 量比使用小文件表空间时高出三个数量级。换言之,当一个Oracle数据库使用大文件表空间,且使用 最大的数据块容量时(32K),其总容量可以达到8EB。

在超大型数据库中使用大文件表空间减少了数据文件的数量,因此也简化了对数据文件的管理工作 。由于数据文件的减少,SGA中关于数据文件的信息,以及控制文件(control file)的容量也得以减 小。

由于数据文件对用户透明,由此简化了数据库管理工作。

使用大文件表空间时需要考虑的因素

大文件表空间(bigfile tablespace)应该和自动存储管理(Automatic Storage Management)或 其他逻辑卷管理工具(logical volume manager)配合使用,这些工具应该能够支持动态扩展逻辑卷 ,也能支持striping(数据跨磁盘分布)或RAID。

应该避免在不支持striping的系统上使用大文件表空间,因为这将不利于并行执行(parallel execution)及 RMAN 的并行备份(backup

parallelization)。

当表空间正在使用的磁盘组(disk group)可能没有足够的空间,且扩展表空间的唯一办法是向另 一个磁盘组加入数据文件时,应避免使用大文件表空间。

不建议在不支持大文件的平台上使用大文件表空间,这会限制表空间(tablespace)的容量。参考 相关的操作系统文档了解其支持的最大文件容量。

如果使用大文件表空间替代传统的表空间,数据库开启(open),checkpoints,以及 DBWR 进程 的性能会得到提高。但是增大数据文件

(datafile)容量可能会增加备份与恢复的时间。

bigfile tablespace的更多相关文章

  1. Oracle 10g bigfile表空间、smallfile 表空间

    smallfile tablespace设置不同大小的db_block_size时数据文件允许的最大大小 db_block_size=2KB,2KB*4M=8192M      8Gdb_block_ ...

  2. Oracle Study Note : Tablespace and Data Files

    1.how to create a tablespace that employs the most common features create tablespace tb_name #create ...

  3. ORACLE表空间bigfile和smallfile

    BIGFILE | SMALLFILE Use this clause to determine whether the tablespace is a bigfile or smallfile ta ...

  4. oracle 9i相关问题

    Oracle 9i在连接数据库的时候需要加上双引号,如sqlplus “sys/oracle@orcl as sysdba” Oracle 9i不支持bigfile大的表空间创建,oracle9i或以 ...

  5. ORACLE数据库的限制

    ORACLE数据库最多可以拥有多少个表空间(Tablespace)?数据库最多拥有多少个数据文件(Database files).数据库的数据文件最大可以多大?遇到这些问题只能查询官方文档,人的记忆能 ...

  6. 自动插入数据sql

    oracle自动插入一定大小的数据: create tablespace TABLESPACE datafile 'E:\TABLESPACE.dbf' size 10g autoextend on ...

  7. Oracle的表空间和数据文件

    一. 概念 表空间:是一个或多个数据文件的逻辑集合 表空间逻辑存储对象: 永久段-->如表与索引 临时段-->如临时表数据与排序段 回滚段-->用于事物回滚或闪回内存的撤销数据 表空 ...

  8. Oracle基本操作汇总

    --10g 新增的表空间类型:大文件 (Bigfile) 表空间.--10g 数据库在创建的时候,会指定默认的表空间类型.如果不特殊指定的话,默认为 SMALLFILE 类型的表空间.SELECT * ...

  9. oracle表空间相关

    数据库被划分为若干个表空间,每个表空间内保存一组相关的逻辑对象.每个表空间由一个或者多个数据文件组成.oracle中的数据逻辑上存储在表空间里,物理上存储在属于该表空间的数据文件里.表空间是用户和物理 ...

随机推荐

  1. Java的平台无关性

    转载自:http://www.cnblogs.com/Y/archive/2011/03/22/JavaVM_Learning_Chapter2_Platform_Independence.html ...

  2. thymeleaf中的th:assert用法

    th:assert 断言标签 th:assert属性可以指定一个以逗号分隔的表达式对其进行评估并生产适用于每一个评价,如果不抛出异常 <div th:assert="${onevar} ...

  3. [T-SQL]从变量与数据类型说起

     1.变量 学习计算机语言,难免不碰到这个名词,不过咱这里说的是MSSQL(微软SQL Server产品)里的数据库语言实现. 稍微对程序比较严谨的语言都要求使用之前都要声明变量先,比如c.c++,j ...

  4. Java笔试知识总结(第一回)

  5. 柔性数组-读《深度探索C++对象模型》有感

    最近在看<深度探索C++对象模型>,对于Struct的用法中,发现有一些地方值得我们借鉴的地方,特此和大家分享一下,此间内容包含了网上搜集的一些资料,同时感谢提供这些信息的作者. 原文如下 ...

  6. GITLAB管理自己的私有源码

    github是很好的公开源码管理器,但是,私有项目,需要付费才行,比较郁闷,特别是个人工作者     gitlab(英文我不咋滴),上貌似允许1000个私有项目,其他的权限,还没怎么看,估计简单的项目 ...

  7. Zabbix实战-简易教程--动作(Actions)--自动发现

    一.概述 Zabbix提供了有效和非常灵活的网络自动发现功能. 设置网络发现后你可以: 加快Zabbix部署(自动添加主机.添加模板) 简化管理(自动删除主机.删除模板.禁用主机) 无需过多管理就能在 ...

  8. BZOJ2726: [SDOI2012]任务安排

    题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2726 倒着做,前面的点对后面的点都是有贡献的. f[i]=min(f[j]+cost[i]*( ...

  9. 【Service Fabric】小白入门记录 本地Service Fabric集群安装及设置

    本篇内容是自学自记,现在我还不知道Service Fabric究竟是怎么个入门法,反正按照入门教程先进行本地Service Fabric集群的安装,万里路始于足下,要学习总得先把环境装好了才能开始学习 ...

  10. 一个C++程序中有多个cin输入的情况

    在很多C++程序中,我们都会有几次输入的操作.这种情况下,会遇到只有第一个cin语句被执行了,而后面的cin都没有执行.这是因为cin所输入的数据都放在cin缓冲区中,当第一次使用cin后,缓冲区中已 ...