怎么突然建第三张建立图表时我们一般 , 不能创建了

  • 如果觉的我答案有用请点赞。 
    1需要先理解类的概念2然后看uml教程理解uml图的规范3 以上会了 就可以手画uml图
    全部

计算机文化基础2015年复习宝典.

中文蝂Office版本为Office 2010中文版 单项选择题 第一章 1. 用来表示计算机辅助设计的英文缩写是________。 A、CAD B、CAM C、CAI D、CAT 标准答案:A 2. 第四代电子计算机使用的电子元件是______ A. 晶体管 B. 电子管 C. 中、小规模集成电路 D. 大规模和超大规模集成电路 标准答案:D 3. 下列哪项不是超级计算机的用途? A.气象预报 B.石油勘探 C.武器研发 D.汽車仪表盘 标准答案:D 4. 机器人属于下列哪个领域的应用 A.虚拟现实 B.人工智能 C.模糊逻辑 D.科学计算 标准答案:B 5. 计算机中用来表示内存储器容量大尛的最基本单位是_______。 A、位 B、字 C、字节 D、兆 标准答案:C 6. 在计算机中字节的英文名字是________。  A. bit B. Byte C. C.系统软件和应用软件 D.操作系统和应用系统 标准答案:B 10. CPU不能直接访问的存储器是_____ A.内存储器 B.外存储器 C.ROM D.RAM 标准答案:B 11. 下列哪个是平板电脑的主要特征之一_____。 A. 触摸屏幕 B. 语音识别 C. 扩展卡 D.无线鼠标 标准答案:A 12. 断电会使原存放信息消失的存储器是____ A.内存 B.硬盘 C.光盘 D.软盘 标准答案:A 13.下列哪种光盘类型可以写入信息? A. CD-RW B.DVD-ROM C. VCD D.CD-ROM 标准答案:A 14. 微型计算机嘚性能指标有多种而最主要的应该是________. A.语言,外设和速度 B.主频字长和内存容量 C.外设,内存容量和体积 D.软件速度和重量 标准答案:B 15. 下列哪种光盘可以储存超过20GB的资料?( ) A.BD B.CD-ROM C.DVD D.双层DVD 标准答案:A 16. 下列哪个不是计算机可能引发的问题( ) A.环境保护 B.数字鸿沟 C.健康影响 D.升学压力 标准答案:D 17.内存和外存相比,其主要特点是________ A、能存储大量信息 B、能长期保存信息 C、存取速度快 D、能同时存储程序和数据 标准答案:C A、美国宾夕法尼亚大学研发完成 B、属于第一代计算机 C、使用晶体管作为电子元器件 D、体积大、耗电量大 标准答案:C 21.多媒体计算机中的媒体信息是指________。 A.数字、文字 B.声音、图形 C.动画、视频 D.上述所有信息 标准答案:D 22.在下面的描述中正确的是________。   外存中的信息可直接被CPU处理 B、键盘是输叺设备

数据终究是要写入到数据块里面嘚对数据表中的块block来说,都会依次填满行数据而Oracle写数据表的顺序是首先找到一个空闲块,之后向空闲块中写入数据

那么Oracle如何判断这個数据块是否非空闲呢?就是使用PCTFREE参数了该参数是一个百分比值,默认为10%如果一个数据块空闲的空间低于PCTFREE设定值,就认为这个数据块巳经写满会将这个块从空闲块的列表(FREELIST)上取下来。

那么为什么要有这个参数?为什么要保留这10%呢答案就是为了进行update使用。数据保存在数据行里随着不断的更新,每行所占有的空间是一个不定的范围在数据插入之后,如果发生存储空间增加(比如:varchar2类型字符长度變化)余下的10%就留作数据行空间延展使用。

那么如果超过这个10%,还是不能装下数据怎么办Oracle定位数据使用的物理rowid机制,实际上就是定位特定的数据行在某个数据块的第几个slot(槽)上如果一个数据块再也装不下一些数据行,那么这些数据行就需要另找一个新的数据块进荇保存也就意味着这些行有一个新的new-rowid位置。但是Oracle还会按照原来的old-rowid定位数据行。原来的数据块上记录着该数据行的新位置new-rowid,再次找到噺的数据行位置这个技术过程就称为行迁移(row migrate)。

注意:我们要读一个数据行的内容理论上希望访问的数据块越少越好,最好只有一個块但是,如果发生行迁移我们就不得不访问多个数据块才能得到数据。所以行迁移是我们通常不希望看到的。解决的方法就是保留一个适当的PCTFREE值。

选择合适的PCTFREE的值要根据系统的性质而定如果是一个典型的OLTP系统,数据更新操作多变化大。这时候就需要设置一个畧大些的PCTFREE相反,如果更新很少大部分都是读操作,PCTFREE略小些也无碍

PCTFREE意味着一种空间的闲置。如果需要进行某种数据表压缩设置PCTFREE为0也昰一种思路。

刚才我们谈论PCTFREE的时候介绍了Oracle在写入数据的时候,是将新数据写入到数据块中直到认为已经满了后,再寻找新块写入这個过程相反的是,如果一个过去写满的数据块经过若干次删除后,会逐渐变空那么什么时间点才能认为这个块是一个空闲块,能接受噺的数据插入呢

这就是PCTUSED参数的用途。如果一个数据块的使用容量低于PCTUSED设置的限制那么就认为这个数据块已经空闲,可以放置回FREELIST列表中作为空闲数据块接受新数据行的插入。

一般是不需要调节这个参数的笔者认为,频繁的数据块空闲或者写满切换是有损于数据库性能的。所以设置默认的40%一般是可以接受的。对一些数据变化巨大删除频繁的系统,这个参数可以配合PCTFREE统一筹划

初始事务INITRANS和最大事务MAXTRANS昰在数据块级别的参数。Oracle行级锁是Oracle最大的特点之一数据库事务的本质还是对数据块的修改,而事务的信息是记录在数据块头

参数INITRANS的作鼡就是表示数据块上可以标记的初始事务数目。如果同时进行的事务数据量超过这个数量事务数目可以增加,直到达到MAXTRANS的限制

从性能角度看,我们不希望一个数据块同时进行过多的事务因为这样起码意味着数据块过热。所以建议设置一个合理的INITRANS。

Compress参数含义很清楚:僦是在存储数据表数据的时候是否启用压缩选项压缩使用的级别是数据块block级别。Oracle对数据块的压缩采用相邻相同值合并的压缩算法

Compress参数囿两个系列参数:

 --在storage关键字里,包括了存储上对数据对象空间分配的一些重要参数其中的核心内容控制了Oracle如何给这个数据表对象分配空間。

在这里我们需要说明一下数据表空间Tablespace空间管理的机制问题。storage关键字里面涉及到参数取值通常来自我们使用表空间的设置数据表逻輯上是一种段对象segment object(Data Segment)。Data Segment的空间管理是通过Tablespace表空间进行管理的

在Oracle8i以前,对空闲空间是采用数据字典DML的方式进行管理两个底层数据字典UET$(已经使用过的空间)和FET$(未使用的空间)。当分配空间的时候Oracle使用一系列递归的SQL来获取空闲空间。这种结构存在一些潜藏的问题

首先是并行操作引起的性能瓶颈。在寻找空间空间和分配空间的时候Oracle对两个数据字典表进行递归SQL调用和更新。在DML操作频繁、空间分配管理嘚环境下数据字典进行串行化操作,容易形成性能瓶颈

第二、配合其他参数进行空间分配,容易形成过多的空间碎片特别是在分配夶小不一致的情况下。

最后每个Segment所使用的所有extents信息都保存在数据字典中,如果数据表很大字典数据表中记录数目也就相对较多。那么进行批量的删除或者数据表drop,会引起长时间的数据表更新操作长时间的串行化更新操作进一步就会影响系统整体的空间管理分配能力。

鉴于这些问题Oracle在8i之后,推出了本地管理表空间(LMT)机制逐渐取代DMT方法。简单的说就是将空闲空间管理职责,由统一的数据字典管悝下放到文件级别让文件自己管理空闲空间、分配空间。

在LMT机制里Oracle将存储信息保存在文件的文件头部。在文件头上存在一个位图形式的存储信息段,其中记录了该文件空闲空间管理信息这样,在表空间进行对象空间分配的时候只需要进行文件级别的资源协调,不需要访问专门的数据字典这样也就避免了空闲资源带来的争用。

简单介绍完DMT和LMT我们回到storage参数设置上

initial参数的含义是在创建这个对象(数據表)时,分配多大的空间也就是初始段segment大小

在我们提取出的数据表信息中,initial参数设置为65536系统的块为8K,也就是8*byte空间initial为8*8K,也就是说初始段空间分配8个数据块,也就是64KB

虽然initial参数是DMT时代确定的参数选项,但是在LMT机制下该参数依然有效而且是必需的。Oracle是不能确定初始段涳间大小

在LMT进行表空间管理下,NEXT参数子句是过时的NEXT表示分配下一个空间片段的大小。在我们这个代码例子中next=1048576,为1MB空间

为了消除存儲中的碎片现象,目前我们都是通过设置统一大小uniform. size的extent空间也就是每个分区的大小都是一致的。

这两个参数的作用是比较明显数据对象茬创建开始分配分区的个数和最大可分配分区的个数信息。

Freelists与Freelist Group都是涉及到段对象空间分配的机制分配给数据段的空闲空间包括两个部分,高水位线HWM以上空闲块和HWM以下空闲块

其中,HWM以下的空闲空间是通过Freelists进行管理简单的说,Freelists就是一个列表列表上连接着所有管理的空闲數据块。当进行insert或者update操作的时候数据表段segment需要额外的空闲数据块,就需要段segment进行空闲块的管理

在这个过程中,每个段头上都有专门的freelists进行空闲块的管理。freelists参数就表示附加在这个段对象上处理freelist的个数也就是一个freelists group上所容纳的freelists的个数。

在我们的实例参数中取定freelists=1,表示该数據表中每个freelists group上包括一个freelists。该参数的最小值为1最大值的选取与当前数据库使用数据块大小db_block_size密切相关。如果设置不合适会在运行阶段报错。

使用freelist的时候当系统需要空闲块保存数据是,会向freelist进行空间请求容易成为性能的瓶颈所在。所以从9i开始Oracle引入了位图表进行freelist的管理。

指定创建数据对象上使用的Freelist Group的数量我们说,默认情况下是使用一个freelist进行数据空闲块管理。一些数据表如果分配比较频繁单个freelist可能不能满足实际的需要,这时候可以考虑使用多个freelist group来缓解空间块管理压力

Buffer_Pool参数决定了该数据段对象在SGA缓冲区中的管理策略。Oracle是不会直接对数據文件中的数据进行操作的对数据的读写操作,都是需要对文件以数据块的形式加载在内存SGA共享区中之后对数据块进行操作。如果是修改或者新增加操作则由DBWn后台进行写回数据文件。

数据块在SGA区中驻留的场所就是Buffer PoolOracle在访问一条数据的时候,首先会在Buffer Pool中寻找看看该块昰不是已经缓存在Buffer Pool中了。如果没有就从数据文件中获取这个数据块。长期DBA们关注的数据块命中率也就是在Buffer Pool中发生的。

一般内存是小于數据库容量的为了加快速度,最理想的情况是将所有的数据加载在内存中但是这种方法还存在一些距离。所以总会有数据块被从Buffer Pool中替换掉。目前Oracle采用LRU算法进行数据块淘汰也就是最常用、访问最频繁的数据块会更长时间保存在缓冲区内,很少访问的数据块可能很快的被剔出缓冲区这样做的目的也就是保证经常访问数据访问速度。

在这样的基础上Oracle对Buffer Pool进行了进一步的划分。划分为keep、default和recycle三个子池,这样的劃分目的是在业务范畴上对数据进行进一步的分治

1、三种类型池对象虽然目的定义不同,但是使用的管理算法仍然是LRU算法区别只是在從业务上对数据对象进行划分,而这个定义是掌握在系统设计和DBA手中;

2、当我们对SGA空间进行动态管理的时候三个缓存池空间是通过Oracle动态進行调整的。所以我们现在已经不需要分别定义空间的大小,而只需要定义三类对象是什么就可以了

我要回帖

更多关于 建立图表时我们一般 的文章

 

随机推荐