Oracle表空间设计理念

写范文发表于:2018-10-19 07:18:37

oracle表空间设计理念

sqlserver数据库与oracle数据库之间最大的区别要属表空间设计。oracle数据库开创*地提出了表空间的设计理念,这为oracle数据库的高*能做出了不可磨灭的贡献。可以这么说,oracle中很多优化都是基于表空间的设计理念而实现的。

Oracle表空间设计理念

典型应用一:控制用户所占用的表空间配额。

在一些大型的数据库应用中,我们需要控制某个用户或者某一组用户其所占用的磁盘空间。这就好像在文件服务器中,需要为每个用户设置磁盘配额一样,以防止硬盘空间耗竭。所以,在数据库中,我们也需要限制用户所可以使用的磁盘空间大小。为了达到这个目的,我们就可以通过表空间来实现。

我们可以在oracle数据库中,建立不同的表空间,为其设置最大的存储容量,然后把用户归属于这个表空间。如此的话,这个用户的存储容量,就受到这个表空间大小的限制。典型应用二:控制数据库所占用的磁盘空间。

有时候,在oracle数据库服务器中,可能运行的不止一个服务。除了数据库服务器外,可能还有邮件服务器等应用系统服务器。为此,就需要先对oracle数据库的磁盘空间作个规划,否则,当多个应用程序服务所占用的磁盘空间都无限增加时,最后可能导致各个服务都因为硬盘空间的耗竭而停止。所以,在同一台服务器上使用多个应用程序服务,我们往往需要先给他们进行磁盘空间的规划和分配。各个服务都不能够超过我们分配给他的最大限额,或者超过后及时的提醒我们。只有这样,才能够避免因为磁盘空间的耗竭而导致各种应用服务的崩溃。

典型应用三:灵活放置表空间,提高数据库的输入输出*能。

数据库管理员还可以将不同类型的数据放置到不同的表空间中,这样可以明显提高数据库输入输出*能,有利于数据的备份与恢复等管理工作。因为我们数据库管理员在备份或者恢复数据的时候,可以按表空间来备份数据。如在设计一个大型的分销系统后台数据库的时候,我们可以按省份建立表空间。与浙江省相关的数据文件放置在浙江省的表空间中,*发生业务记录,则记录在*这个表空间中。如此,当浙江省的业务数据出现错误的时候,则直接还原浙江省的表空间即可。很明显,这样设计,当某个表空间中的数据出现错误需要恢复的时候,可以避免对其他表空间的影响。

另外,还可以对表空间进行*备份。当数据库容量比较大的时候,若一下子对整个数据库进行备份,显然会占用比较多的时间。虽然说oracle数据库支持热备份,但是在备份期间,会占用比较多的系统资源,从而造成数据库*能的下降。为此,当数据库容量比较大的时候,我们就需要进行设置多个表空间,然后规划各个表空间的备份时间,从而可以提高整个数据库的备份效率,降低备份对于数据库正常运行的影响。

典型应用四:大表的排序*作。

我们都知道,当表中的记录比较多的时候,对他们进行查询,速度会比较慢。第一次查询成功后,若再对其进行第二次重新排序,仍然需要这么多的时间。为此,我们在数据库设计的时候,针对这种容量比较大的表对象,往往把它放在一个*的表空间,以提高数据库的*能。

典型应用五:日志文件与数据文件分开放,提高数据库安全*。

默认情况下,日志文件与数据文件存放在同一表空间。但是,这对于数据库安全方面来说,不是很好。所以,我们在数据库设计的过程中,往往喜欢把日志文件,特别是重做日志文件,放在一个*的表空间中,然后把它存放在另外一块硬盘上。如此的话,当存放数据文件的硬盘出现故障时,能够马上通过存放在另一个表空间的重做日志文件,对数据库进行修复,以减少企业因为数据丢失所带来的损失。

当然,表空间的优势还不仅仅这些,企业对于数据库的*能要求越高,或者数据库容量越大,则表空间的优势就会越大。

下面,我们就具体来看看oracle数据库中表空间的处理方式,看其在*能与安全*方面是否有足够的优势与sqlserver数据库抗衡。

在数据库设计的时候,我们建议数据库管理员按如下顺序设置表空间。

第一步:建立表空间。

在设计数据库的时候,首先需要设计表空间。我们需要考虑,是只建立一个表空间呢,还是需要建立多个表空间,以及各个表空间的存放位置、磁盘限额等等。

到底设计多少个表空间合理,没有统一的说法,这主要根据企业的实际需求去判断。如企业需要对用户进行磁盘限额控制的,则就需要根据用户的数量来设置表空间。当企业的数据容量比较大,而其又对数据库的*能有比较高的要求时,就需要根据不同类型的数据,设置不同的表空间,以提高其输入输出*能。

第二步:建立用户,并制定用户的默认表空间。

在建立用户的时候,我们建议数据库管理员要指定用户的默认表空间。因为我们在利用create语句创建数据库对象,如数据库表的时候,其默认是存储在数据库的当前默认空间。若不指定用户默认表空间的话,则用户每次创建数据库对象的时候,都要指定表空间,显然,这并不是很合理。

另外要注意,不同的表空间有不同的权限控制。用户对于表空间a具有完全控制权限,可能对于表空间b就只有查询权限,甚至连连接的权限的都没有。所以,合理为用户配置表空间的访问权限,也是提高数据库安全*的一个方法。

 

第2篇:关于表空间不足时Oracle管理Recyclebin

我们知道,在Oracle10g中,droptable如果没有加purge选项.实际数据并没有删除,因而没有释放表空间.那么当被删除的对象占用了所有空间时,会发生什么?出门一起来看看!

YXYUP@dbatest>selecttablespace_name,sum(bytes)/1024/1024fromdba_data_fileswheretablespace_name=’TBS’groupbytablespace_name;

TABLESPACE_NAMESUM(BYTES)/1024/1024

TBS17

Elapsed:00:00:00.02

YXYUP@dbatest>selectsegment_name,bytes/1024/1024,tablespace_namefromuser_segments;

SEGMENT_NAMEBYTES/1024/1024TABLESPACE_NAME

TEST_BAK6TBS

TEST016TBS

Elapsed:00:00:00.07

YXYUP@dbatest>createtabletest02tablespacetbsasselect*fromdba_objects;

createtabletest02tablespacetbsasselect*fromdba_objects

*

ERRORatline1:

ORA-01652:unabletoextendtempsegmentby128intablespaceTBS

Elapsed:00:00:00.73

YXYUP@dbatest>droptabletest01;

Tabledropped.

Elapsed:00:00:00.04

YXYUP@dbatest>showrecyclebin;

ORIGINALNAMERECYCLEBINNAMEOBJECTTYPEDROPTIME

TEST01BIN$VPH4ibnKVd/gQAB/AQA0Nw==TABLE2008-08-21:14:56:55

YXYUP@dbatest>

YXYUP@dbatest>select*fromtab;

TNAMETABTYPECLUSTERID

BIN$VPH4ibnKVd/gQAB/AQA0Nw==TABLE

TEST_BAKTABLE

Elapsed:00:00:00.01

YXYUP@dbatest>createtabletest02tablespacetbsasselect*fromdba_objects;

Tablecreated.

Elapsed:00:00:00.84

YXYUP@dbatest>showrecyclebin;

YXYUP@dbatest>select*fromtab;

TNAMETABTYPECLUSTERID

TEST_BAKTABLE

TEST02TABLE

Elapsed:00:00:00.01

上面测试可以看出,当表空间空闲空间不足时,Oracle就会将recyclebin中的表给彻底删除,然后腾出空间来放要创建的新对象.

那么,如果recyclebin中有多个被drop的对象时,Oracle会怎么清理呢,是全部清除,还是怎样?通过下面的测试我们行到*.

YXYUP@dbatest>showrecyclebin;

YXYUP@dbatest>select*fromtab;

TNAMETABTYPECLUSTERID

TEST_BAKTABLE

TEST02TABLE

Elapsed:00:00:00.01

YXYUP@dbatest>droptabletest02;

Tabledropped.

Elapsed:00:00:00.04

YXYUP@dbatest>droptabletest_bak;

Tabledropped.

Elapsed:00:00:00.02

YXYUP@dbatest>select*fromtab;

TNAMETABTYPECLUSTERID

BIN$VPH4ibnLVd/gQAB/AQA0Nw==TABLE

BIN$VPH4ibnMVd/gQAB/AQA0Nw==TABLE

Elapsed:00:00:00.01

YXYUP@dbatest>showrecyclebin;

ORIGINALNAMERECYCLEBINNAMEOBJECTTYPEDROPTIME

TEST02BIN$VPH4ibnLVd/gQAB/AQA0Nw==TABLE2008-08-21:15:14:43

TEST_BAKBIN$VPH4ibnMVd/gQAB/AQA0Nw==TABLE2008-08-21:15:14:51

YXYUP@dbatest>createtabletest01tablespacetbsasselect*fromdba_objects;

Tablecreated.

Elapsed:00:00:00.79

YXYUP@dbatest>select*fromtab;

TNAMETABTYPECLUSTERID

BIN$VPH4ibnMVd/gQAB/AQA0Nw==TABLE

TEST01TABLE

Elapsed:00:00:00.01

YXYUP@dbatest>flashbacktableTEST02tobeforedrop;

flashbacktableTEST02tobeforedrop

*

ERRORatline1:

ORA-38305:objectnotinRECYCLEBIN

Elapsed:00:00:00.00

YXYUP@dbatest>flashbacktableTEST_BAKtobeforedrop;

Flashbackplete.

Elapsed:00:00:00.02

YXYUP@dbatest>select*fromtab;

TNAMETABTYPECLUSTERID

TEST_BAKTABLE

TEST01TABLE

Elapsed:00:00:00.01

通过上面测试可以看出.

当recyclebin中有多个被删除的同时,并在表空间不足以放下要创建的新对象时,Oracle会FIFO的方式从回收站中自动彻底删除.

 

第3篇:空间设计方案

一个小小的空间经过设计也可以变成一块宝地。下面是小编整理的设计方案,仅供参考。

地中海风格

海洋的蔚蓝*配上天空的纯白,自然光线的巧妙运用,浪漫与自然的完美结合。要浪漫,闭上眼闻茶香,慢啜细饮轻呷,满口的新鲜花香,仿佛置身在花的海洋。一个漂亮的茶室,一口花茶,这小日子真棒!

英伦风格

下午4点,英式下午茶的时间到了。冲上一壶大吉岭或伯爵茶。用上精致的骨瓷茶壶,泡出浓郁滋味的茶汤。若配上黄油饼干,海绵蛋糕和水果挞,真是倍儿爽。

韩式田园小清新

格子花纹桌布与枕套,田园小清新。藤编茶几沿袭了传统的藤制家具的特点,又融合了现代家具的素雅。在*天,房屋飘着大麦茶的香气,浓浓的大麦茶带着阳光的味道,遇见好心情。

和风型

简单的地台或榻榻米,一张小木桌,几个软靠垫,外加布帘和茶具。暖*调的墙壁,满满温馨感。方便移动的小桌子,便于清洁与打扫。日式榻榻米的特点在于舒适轻松。泡上一壶煎茶,摆上和果子和抹茶芝士小甜点,便可以和友人盘腿而坐谈天说地。

中式典雅型

中式小茶桌,雅致大方。小巧的茶杯和茶壶皆成了上等装饰品,插花清淡儒雅更具诗情画意。在这坐下,沐浴阳光,一边进行围棋搏杀,一边抿一口陈年茯砖清晰思路,古代文人生活就被搬到自己家中了!

英伦小调

将水泥地铺上木地板,采用木质结构的装饰,椅背上的搁架与挂钩收纳与座椅下隐藏的橱柜收纳,都足以摆放一些日常杂物。

一个小桌子,两张坐垫,阳台摇身一变成了惬意空间,典雅且不失美感。旁边的几簇植物,起画龙点睛之笔。在此,最适合一杯红茶卡布奇诺,发呆、思考、再来点英伦小调。

东南情怀

带有东南亚的自然之美和浓郁民族特*的小阳台,简洁、自然、大方。两张摇摇椅,一本好书,或与友人聊天,或怀想童年。

累了光着脚走来走去,用大玻璃罐子冷泡上一罐白牡丹,晒着明媚温煦的阳光,享受这悠然自得的时光。

欧式简约

白*小茶几简单、抽象、立体、现代感强,白木椅配上坐垫,又呈现慵懒之意。旁边长椅上盆栽的绿*点缀,辅以自然的韵味。

无论周围是高楼大厦还是世外桃源,都可舒适地坐在椅子上,美美地泡一壶茉莉花茶。茉莉花香与茶之味融为一体,暖暖的气息,享受春天的生机勃勃。

乡村田园

有没有一种步入森林的感觉?在阳台上铺一层藤蔓植物,可以有效地遮挡日晒,还可以净化空气,回归自然的怀抱。

小花盆错落有致,绝对的摆拍良器!闻一闻花香,泡上一壶阿萨姆红茶,配上松饼与三明治,就算发发呆都是好的。

现代简约

绝对占用小空间的茶室——阳台挂桌。利用挂钩杠杆的原理可以直接将其挂在阳台栏杆上,顶部有开口可以放置一些花卉怡情。而前部大大的台面,放上书籍与茶杯最好不过了。

“甜蜜蜜,你笑得甜蜜蜜,好像花儿开在春风里,像玫瑰融在奶茶里。”小情侣肩并肩欣赏风景,品玫瑰奶茶,透着玫瑰的*甜,心里装着满满的甜蜜。