易截截图软件、单文件、免安装、纯绿色、仅160KB

大型数据库优化设计浅谈(ORACLE) (一)

  
   对于ORACLE数据库的数据存取,主要有四个不同的调整级别,第一级调整是操作系统级包括硬件平台,第二级调整是ORACLE RDBMS级的调整,第三级是数据库设计级的调整,最后一个调整级是SQL级。通常依此四级调整级别对数据库进行调整、优化,数据库的整体性能会得到很大的改善。下面从几个不同方面介绍ORACLE数据库优化设计方案。
   一、充分利用系统全局区域SGA(SYSTEM GLOBAL AREA)
       SGA是oracle数据库的心脏。用户的进程对这个内存区发送事务,并且以这里作为高速缓存读取命中的数据,以实现加速的目的。正确的SGA大小对数据库的性能至关重要。SGA包括以下几个部分:
       1、数据块缓冲区(data block buffer cache)是SGA中的一块高速缓存,占整个数据库大小的1%-2%,用来存储从数据库重读取的数据块(表、索引、簇等),因此采用least recently used (LRU,最近最少使用)的方法进行空间管理。
       2、字典缓冲区。该缓冲区内的信息包括用户账号数据、数据文件名、段名、盘区位置、表说明和权限,它也采用LRU方式管理。
       3、重做日志缓冲区。该缓冲区保存为数据库恢复过程中用于前滚操作。
       4、SQL共享池。保存执行计划和运行数据库的SQL语句的语法分析树。也采用LRU算法管理。如果设置过小,语句将被连续不断地再装入到库缓存,影响系统性能。
       另外,SGA还包括大池、JAVA池、多缓冲池。但是主要是由上面4种缓冲区构成。对这些内存缓冲区的合理设置,可以大大加快数据查询速度,一个足够大的内存区可以把绝大多数数据存储在内存中,只有那些不怎么频繁使用的数据,才从磁盘读取,这样就可以大大提高内存区的命中率。
   二、规范与反规范设计数据库
      1.数据库设计中的优化策略
        数据应当按两种类别进行组织:频繁访问的数据和频繁修改的数据。对于频繁访问但是不频繁修改的数据,内部设计应当物理不规范化。对于频繁修改但并不频繁访问的数据,内部设计应当物理规范化。比较复杂的方法是将规范化的表作为逻辑数据库设计的基础,然后再


相关文档:

解决Oracle无监听错误

在用PL/SQL Developer连接数据库时出现
“ORA-12541:TNS:无监听程序”错误。
1、检查listener.log日志
发现下面错误:
TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production on 20-9月 -2008 10:25:26
Copyright (c) 1991, 2005, Oracle. All rights reserved.
系统参数文件为D:\oracle\product\1 ......

oracle游标的使用

CREATE OR REPLACE PROCEDURE PROC_T(
RESULT OUT NUMBER
)
IS
V_NAME emp%ROWTYPE;
CURSOR CUS_T IS SELECT * from EMP;
BEGIN
OPEN CUS_T;
loop
FETCH CUS_T INTO V_NAME;
exit when cus_t%notfound;
RESULT:=CUS_T%ROWCOUNT;
end loop;
CLOSE CUS_T;
END PROC_T; ......

Oracle数据库的普通迁移方法

在相同操作系统环境下,相同版本Oracle数据库的迁移比较简单。
 
大致步骤:
1、确定源机的操作系统类型和版本,源机主机名;Oracle版本,安装目录,SID。
本例中,源机为:  Win2k Adv, ywxt,Oracle v8.17,  d:\oracle, orcl
目标机为:Win2003,ywxt,Oracle v8.17,  d:\oracle, orcl
  ......

Windows下ORACLE 10g安装与操作图解

      刚刚接触ORACLE的人来说,从那里学,如何学,有那些工具可以使用,应该执行什么操作,一定回感到无助。所以在学习使用ORACLE之前,首先来安装一下ORACLE 10g,在来掌握其基本工具。俗话说的好:工欲善其事,必先利其器。我们开始吧!
     首先将ORACLE 10g的安装光盘 ......

oracle中调用带参数的存储过程

create or replace procedure proc_test
( a in number, b out number )
as
begin
b:=a+1;
end    proc_test;
现在要调用的话就是这样
SQL> c number;
SQL>exec proc_test(1,:c);
千万要注意别忘了写冒号 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号