为满足海量数据的高性能、易管理性等综合需求,很多项目在表空间设计方面,基本都会综合采用ASM、OMF和大表空间技术,下面分别介绍一下这几个概念。
1. ASM
ASM是Oracle 10g R2中为了简化Oracle数据库的管理而推出来的一项新功能,这是Oracle自己提供的卷管理器,主要用于替代操作系统所提供的LVM,它不仅支持单实例,同时对RAC的支持也是非常好。ASM可以自动管理磁盘组并提供有效的数据冗余功能。
ASM它提供了以平台无关的文件系统、逻辑卷管理以及软RAID服务。ASM可以支持条带化和磁盘镜像,从而实现了在数据库被加载的情况下添加或移除磁盘以及自动平衡I/O以删除“热点”。它还支持直接和异步的I/O并使用Oracle9i中引入的Oracle数据管理器API(简化的I/O系统调用接口)。
RAC环境下的ASM结构
ASM对DBA有许多好处,使用ASM可以避免:
数据库实例与ASM实例的交互
使用ASM可以显著减少:
2. BFT
在Oracle中用户可以创建大文件表空间。这样Oracle数据库使用的表空间可以由一个单一的大文件构成,而不是若干个小数据文件。这使Oracle可以发挥64位系统的能力,创建、管理超大的文件。在64位系统中,Oracle数据库的存储能力被扩展到了8 EB(1EB =1024PB,1PB = 1024TB,1TB=1024GB)。
当 数据库文件由Oracle管理,且使用大文件表空间时,数据文件对用户完全透明。换句话说,用户只须针对表空间执行管理操作,而无须关心处于底层的数据文件。使用大文件表空间,使表空间成为磁盘空间管理,备份,和恢复等操作的主要对象。使用大文件表空间,并与由Oracle管理数据库文件技术以及自动存储管理技术相结合,就不再需要管理员手工创建新的数据文件并维护众多数据库文件,因此简化了数据库文件管理工作。
数 据库默认创建的是小文件表空间,即Oracle中传统的表空间类型。数据库中 SYSTEM 和 SYSAUX 表空间在创建时总是使用传统类型只有本地管理的,且段空间自动管理的表空间才能使用大文件表空间。 但是有两个例外:本地管理的撤销表空间和临时表空间,即使其段为手工管理,也可以使用大文件表空间。一个Oracle数据库可以同时包含大文件/小文件表空间。SQL语句执行时无需考虑表空间的类型,除非语句中显式地引用了数据文件名。
管理员可以创建一组临时表空间,用户在需要时可以利用组内各个表空间提供的临时空间。管理员还可以指定表空间组为数据库默认的临时表空间。当用户需要大量临时空间进行排序操作时,就可以利用大文件表空间及表空间组。
使用大文件表空间的优势:
使用大文件表空间时需要考虑的因素:
大文件表空间从某种角度来说提高了 Oracle 在 VLDB 上的管理能力。只有自动段空间管理的 LMT (Locally Managed Tablespaces ) 支持 BIGFILE 表空间。 大文件表空间只能包含一个文件,但是文件可以达到 4G 个数据块大小。
3. OMF
OMF,全称是Oracle_Managed Files,即Oracle文件管理,使用OMF可以简化管理员的管理工作,不用指定文件的名字、大小、路径,其名字,大小,路径由oracle 自动分配。在删除不再使用的日志、数据、控制文件时,OMF也可以自动删除其对应的OS文件。
OMF支持下列文件的自动管理:
前提条件:需要为这些类型文件设定相关参数。
OMF优缺点:
OMF并非10g/11g新技术,但通过与ASM、大表空间技术的结合,将极大的简化了数据库管理工作。
4. ASM\BFT\OMF综合建议
传统数据系统,尤其是在ORACLE RAC上部署的数据库系统,采用的是经典的卷组和裸设备技术方案,这种方案将导致大量存储空间的设计工作,例如各个表空间、数据文件大小、名称以及相对应的卷组和裸设备的设计工作。在投入运行后,由于裸设备不能自动扩展,而数据规模不断增长,会给后期运行维护带来很大负担。
(1) 建议
针对那些数据量庞大、表空间多的海量系统特点,为简化管理,建议将ASM、OMF、BFT技术综合使用。为使用OMF,建议对数据库实例设置以下参数:
- DB_CREATE_FILE_DEST='+DATA'
(2) 使用过程及效果评估
ASM、OMF、BFT技术综合使用,有以下优点:
- create bigfile tablespace TS_TAB_TRANSACTIONS datafile size 20G;
- drop tablespace TS_TAB_TRANSACTIONS including contents;
- alter tablespace TS_TAB_TRANSACTIONS resize 30G;
通过以上设计,将为海量系统的存储空间设计和管理工作带来极大便利,根本不需要去设计卷组、裸设备,也不用考虑每个裸设备应设计多大。
目录 文件描述符句柄 系统调用接口 open() write() lseek() read() dup2() 重定...
01 写在前面 一般我们都是将项目提交到github上,但是因为github私人库要钱,所...
前言 该文章面向对WebRTC有一定基础的码农如果完全没了解过WebRTC的朋友可以点赞...
C. Balance the Bits C. Balance the Bits 题目大意 给你一个含有0和1字符的字符...
如果大家去面Android客户端岗位,那么必问Java基础和Kotlin基础,所以,我打算花...
本文给大家介绍vue 使用 sortable 实现 el-table 拖拽排序功能,具体内容如下所...
例举字符串StringVar()和整型IntVar() var tk.StringVar() 或 var tk.IntVar() v...
MySQL 50题 表的介绍 本文中共用到了四张表学生表、课程表、教师表、成绩表 1.学...
本文实例讲述了使用jsp:include控制动态内容的方法。分享给大家供大家参考,具体...
【51CTO.com原创稿件】在程序,语言,架构更新换代频繁的今天,MySQL 恐怕是大家...