《Oracle服务器硬件配置.docx》由会员分享,可在线阅读,更多相关《Oracle服务器硬件配置.docx(20页珍藏版)》请在三一办公上搜索。
1、数据摩文件二,集群模式这种模式,至少需要两台服务器和一个数据存储设备。Oracle服务器硬件配置一,单机模式这是最常见的模式,Oracle服务,数据存储设备都安装在同一台机器上。服务器数据库图2-1独立主机中的单台服务器系统全局区后台进程磁盘驱动器数据库:磁盘驱动器数据库 文件第_个服务器系统全局区系统全局区图2-8真正的应用集群这张就是Oracle 9i的架构全图。看上去,很繁杂。是的,是这样的。现在让我们来梳理一下:后台进程后台进程第二个服务器ORACLE 9i ARCHITECTUFQMnnAdraiceo Qj&jrgSMONnstarce Recosry Clean Teirp SE
2、ETieilEPMONCleans- dser & SarverDAGReal Applcalfcn CIUEt-erELMSnReal Appilcallm ClL.:ei3LMONReal AicallonReal A| CldtErBl; CUOfl3l (CpUonai /i; C供g凯Ji; CciUona r CUon;ChEcaln: C-jsuei; CUona :Ti;岳 3、烙Tieri; cuonai :,1- Cemrr2. creel-3. RedoCoar-alrator Jeb CjejeDnnnSnared SrverE1DbpalchsrEiCpUQn凯 3R
3、L ETCJQnDBSNMPGlobal AreaDatabase Sdffer CacheShawi ml AreaLibrary tmehe . Hash ValueSQL:SourceEfficirrsn PlanrUGAStaciUEBT SffiElWl DataCursor SteeSarLAreaMark E. Ful:erWark.Fullerorac !e. comV二一Nei?.vor3GCKPTSJiL-offAn.Lag 5 掘 Hh log_cnec 理缶 n1J:Jnw:u7 lcq_e?iEkpohtJnterfc-3l j,3EF_5tart_lD_1zng=L
4、 旧引一引曲1一百UrqKNetAor DELETE)时,必须处理额外的工作量(也就是对索 引结构的维护)以及存储方面的开销。所以创建索引时,需要考虑创建索引所带来的查询性能方面的提高,与引起的额 外的开销相比,是否值得。索引是提高数据查询最有效的方法,也是最难全面掌握的技术,因为正确的索引可能使效率提高10000倍,而无效 的索引可能是浪费了数据库空间,甚至大大降低查询性能。索引的管理成本1、存储索引的磁盘空间2、执行数据修改操作(INSERT、UPDATE DELETE)产生的索引维护3、在数据处理时回需额外的回退空间实际数据修改测试一个表有字段A、B、C,同时进行插入10000行记录测试
5、在没有建索引时平均完成时间是2.9秒在对A字段建索引后平均完成时间是6.7秒在对A字段和B字段建索引后平均完成时间是10.3秒在对A字段、B字段和C字段都建索引后平均完成时间是11.7秒从以上测试结果可以明显看出索引对数据修改产生的影响索引按存储方法分类B*树索引B*树索引是最常用的索引,其存储结构类似书的索引结构,有分支和叶两种类型的存储数据块,分支块相当于书的 大目录,叶块相当于索引到的具体的书页。一般索引及唯一约束索引都使用B*树索引。位图索引位图索引储存主要用来节省空间,减少ORACLE对数据块的访问,它采用位图偏移方式来与表的行ID号对应,采 用位图索引一般是重复值太多的表字段。位图
6、索引在实际密集型OLTP(数据事务处理)中用得比较少,因为OLTP会对 表进行大量的删除、修改、新建操作,ORACLE每次进行操作都会对要操作的数据块加锁,所以多人操作很容易产生数 据块锁等待甚至死锁现象。在OLAP(数据分析处理)中应用位图有优势,因为OLAP中大部分是对数据库的查询操作, 而且一般采用数据仓库技术,所以大量数据采用位图索引节省空间比较明显。索引按功能分类唯一索引唯一索引有两个作用,一个是数据约束,一个是数据索引,其中数据约束主要用来保证数据的完整性,唯一索引产 生的索引记录中每一条记录都对应一个唯一的ROWID。主关键字索引主关键字索引产生的索引同唯一索引,只不过它是在数据
7、库建立主关键字时系统自动建立的。一般索引一般索引不产生数据约束作用,其功能主要是对字段建立索引表,以提高数据查询速度。索引按索引对象分类单列索引(表单个字段的索引)多列索引(表多个字段的索引)函数索引(对字段进行函数运算的索引)建立函数索引的方法:Icreate index收费日期索引on GC_DFSS(trunc(sk_rq)create index 完全客户编号索引 on yhzl(qc_bh|kh_bh)在对函数进行了索引后,如果当前会话要引用应设置当前会话的query_rewrite_enabled为TRUE。alter session set query_rewrite_enabl
8、ed=true注:如果对用户函数进行索引的话,那用户函数应加上deterministic参数,意思是函数在输入值固定的情况下返 回值也固定。例:create or replace function trunc_add(input_date date)return date deterministicasbeginreturn trunc(input_date+1);end trunc_add;应用索引的扫描分类INDEX UNIQUE SCAN(按索弓I唯一值扫描)select * from zl_yhjbqk where hbs_bh = 5420016000INDEX RANGE SCAN
9、(按索引值范围扫描)select * from zl_yhjbqk where hbs_bh5420016000select * from zl_yhjbqk where qc_bh7001INDEX FAST FULL SCAN(按索引值快速全部扫描)select hbs_bh from zl_yhjbqk order by hbs_bhselect count(*) from zl_yhjbqkselect qc_bh from zl_yhjbqk group by qc_bh什么情况下应该建立索引表的主关键字自动建立唯一索引如zl_yhjbqk(用户基本情况)中的hbs_bh(户标识编号
10、)表的字段唯一约束ORACLE利用索引来保证数据的完整性如lc_hj(流程环节)中的lc_bh+hj_sx(流程编号+环节顺序)直接条件查询的字段在SQL中用于条件约束的字段如zl_yhjbqk(用户基本情况)中的qc_bh(区册编号)select * from zl_yhjbqk where qc_bh = 7001查询中与其它表关联的字段字段常常建立了外键关系如zl_ydcf(用电成份)中的jldb_bh(计量点表编号)select * from zl_ydcf a,zl_yhdb b where a.jldb_bh=b.jldb_bh and b.jldb_bh=540100214511
11、查询中排序的字段排序的字段如果通过索引去访问那将大大提高排序速度select * from zl_yhjbqk order by qc_bh(建立 qc_bh 索引)select * from zl_yhjbqk where qc_bh = 7001 order by cb_sx(建立 qc_bh+cb_sx 索引,注:只是一个索引,其中包括qc_bh和cb_sx字段)查询中统计或分组统计的字段select max(hbs_bh) from zl_yhjbqkselect qc_bh,count(*) from zl_yhjbqk group by qc_bh什么情况下应不建或少建索引表记录太
12、少如果一个表只有5条记录,采用索引去访问记录的话,那首先需访问索引表,再通过索引表访问数据表,一般索引 表与数据表不在同一个数据块,这种情况下ORACLE至少要往返读取数据块两次。而不用索引的情况下ORACLE会将 所有的数据一次读出,处理速度显然会比用索引快。如表zl_sybm(使用部门)一般只有几条记录,除了主关键字外对任何一个字段建索引都不会产生性能优化,实际上 如果对这个表进行了统计分析后ORACLE也不会用你建的索引,而是自动执行全表访问。如:select * from zl_sybm where sydw_bh=5401(对 sydw_bh 建立索引不会产生性能优化)经常插入、删除
13、、修改的表对一些经常处理的业务表应在查询允许的情况下尽量减少索引,如zl_yhbm,gc_dfss,gc_dfys,gc_fpdy等业 务表。数据重复且分布平均的表字段假如一个表有10万行记录,有一个字段A只有T和F两种值,且每个值的分布概率大约为50%,那么对这种表 A字段建索引一般不会提高数据库的查询速度。经常和主字段一块查询但主字段索引值比较多的表字段如gc_dfss(电费实收)表经常按收费序号、户标识编号、抄表日期、电费发生年月、操作标志来具体查询某一笔收 款的情况,如果将所有的字段都建在一个索引里那将会增加数据的修改、插入、删除时间,从实际上分析一笔收款如果 按收费序号索引就已经将记录减少到只有几条,如果再按后面的几个字段索引查询将对性能不产生太大的影响。如何只通过索引返回结果一个索引一般包括单个或多个字段,如果能不访问表直接应用索引就返回结果那将大大提高数据库查询的性能。对 比以下三个SQL,其中对表zl_yhjbqk的hbs_bh和qc_bh字段建立了索引:1 s