bigfile tablespace
背景
这次终于有个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的更多相关文章
- Oracle 10g bigfile表空间、smallfile 表空间
smallfile tablespace设置不同大小的db_block_size时数据文件允许的最大大小 db_block_size=2KB,2KB*4M=8192M 8Gdb_block_ ...
- Oracle Study Note : Tablespace and Data Files
1.how to create a tablespace that employs the most common features create tablespace tb_name #create ...
- ORACLE表空间bigfile和smallfile
BIGFILE | SMALLFILE Use this clause to determine whether the tablespace is a bigfile or smallfile ta ...
- oracle 9i相关问题
Oracle 9i在连接数据库的时候需要加上双引号,如sqlplus “sys/oracle@orcl as sysdba” Oracle 9i不支持bigfile大的表空间创建,oracle9i或以 ...
- oracle 空间大小查询
一.表空间大小 select b.file_name 物理文件名, b.tablespace_name 表空间, b.bytes / 1024 / 1024 大小M, (b.bytes - sum(n ...
- ORACLE数据库的限制
ORACLE数据库最多可以拥有多少个表空间(Tablespace)?数据库最多拥有多少个数据文件(Database files).数据库的数据文件最大可以多大?遇到这些问题只能查询官方文档,人的记忆能 ...
- 自动插入数据sql
oracle自动插入一定大小的数据: create tablespace TABLESPACE datafile 'E:\TABLESPACE.dbf' size 10g autoextend on ...
- Oracle的表空间和数据文件
一. 概念 表空间:是一个或多个数据文件的逻辑集合 表空间逻辑存储对象: 永久段-->如表与索引 临时段-->如临时表数据与排序段 回滚段-->用于事物回滚或闪回内存的撤销数据 表空 ...
- Oracle基本操作汇总
--10g 新增的表空间类型:大文件 (Bigfile) 表空间.--10g 数据库在创建的时候,会指定默认的表空间类型.如果不特殊指定的话,默认为 SMALLFILE 类型的表空间.SELECT * ...
随机推荐
- Sublime Text3 里使用MarkDown如何预览
安装需要的包: 1.markdown editing 2.markdown preview 具体的步骤是: 1.按住ctrl + shift + p 来调出一个弹出的输入框 :2.输入package ...
- 自学python 7.
内容:join , fromkeys , set , .add , .update , .pop , .remove , 交集(s1&s2) , 并集(s1|s2) , 深浅拷贝 , .cop ...
- java.lang.NoClassDefFoundError: org/apache/commons/collections/FastHashMap-----commons-ctions版本问题
今天用到了一系列的第三方jar包,一环扣一环, 记住一个: 倘若你所导入的第三方jar包中的类一直显示未找到,那就是你的路径出问题了, /WEB-INF/lib目录下才是放第三方jar包位置, 但是今 ...
- 002_Add Two Numbers
# Definition for singly-linked list. # class ListNode: # def __init__(self, x): # self.val = x # sel ...
- tensorflow的特征工程函数
1. # creates a real valued column for dense numeric data tf.contrib.layers.real_valued_column( co ...
- mysql 创建存储过程
mysql 创建存储过程 实例一: CREATE PROCEDURE cp_test() BEGIN declare a int; declare b int; ; ; select a,b; END ...
- Java基础_0302:类和对象
定义类 class Book { // 定义一个新的类 String title; // 书的名字 double price; // 书的价格 /** * 输出对象完整信息 */ public voi ...
- 5-8套接字socket
socket概念 socket层 理解socket Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口.在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协 ...
- json对象转数组
<script type="text/javascript"> var object = {"a":1,"b":2," ...
- Python 爬虫六 性能相关
前面已经讲过了爬虫的两大基础模块: requests模块:用来伪造请求爬取数据 bs4模块:用来整理,提取数据 当我们真正的开始有需求的时候通常都是批量爬取url这样的.那如何批量爬取呢? 按照正常的 ...