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

oracle优化 缓存对象与数据

author:skate
time:2010/03/16
当系统出现性能瓶颈时,尽量较少不必要的资源消耗,最后就是平衡cpu,内存,io,network等资源,使数据库
可以稳定的运行。
oracle数据库优化的根本是
1.尽量减少资源消耗,例如优化sql,减少sql本身的资源消耗
2.如果无法进一步减少资源的消耗,那就让数据尽量靠近cpu,也就是把数据从硬盘转移到内存(内存的读写速度快)
  或者换更快的磁盘
本文就简单总结下如何缓存数据和数据库对象(也就是把数据移向内存,提高内存的命中率,以提高整体io速度)
1.缓存数据
2.缓存数据对象的定义,例如package,procedure,pl/sql和sql(也就是cursor)等
上面说的这两种数据就存在oracle最重要的两个部件中share pool和buffer pool中,提高这两个pool的命中率也提高了
io速度,而io又是当今技术发展最慢,系统的最大的瓶颈。
1. 缓存数据
这里说的oracle数据是占大量存储空间的,不是存在数据库字典里的数据;oracle的数据的类型一般为:
SQL> select se.segment_type from dba_segments se group by se.segment_type;
SEGMENT_TYPE
------------------
LOBINDEX
INDEX PARTITION
TABLE PARTITION
NESTED TABLE
ROLLBACK
LOB PARTITION
LOBSEGMENT
INDEX
TABLE
CLUSTER
TYPE2 UNDO
11 rows selected
SQL>
在大部分时候,把这些数据放到内存里,会很大的提升系统的性能
buffer pool分为三个子pool,这三个pool都主要使用LRU算法管理的
default buffer pool:默认所有的数据块都存在这,并遵循本pool的LRU算法
keep buffer pool:如果指定数据块缓存到keep区的,数据块就不太可能因为执行其他一些操作被其他数据块交换出,即使较长时间没使用了,只遵循本pool的LRU
recycle buffer pool:设置recycle是因为有时会有一些大的又教少使用的表的操作,如果不设置单独的缓存区,那么缺省的缓存区中的数据块就被这些偶尔使用的数据换出,它的空间比较小,所以说一般使用完就释放掉了,它也只遵守本pool的LRU算法
以table为例:
修改table的缓存空间
alter table a_user storage(buffer_pool keep) cache/nocache;  ---把表a_user缓存到keep buffer pool中最热端/把表a_user从keep buffer pool立刻释放出去
alter table a_user cache/nocache  ---把表a_user缓存到default buffer pool中最热端/把表a_user从default buffer pool立刻释放出去
eg:
1)
SQL> alter t


相关文档:

Oracle启动过程详解 介绍及命令,还有关闭

Oracle启动过程介绍及命令,还有关闭。
写在前面:启动数据库前,请先启动监程序。
lsnrctl start
启动的三个步骤,依次为1.创建并启动实例、2.装载数据库、3.打开数据库。
可以通过命令startup来实现。
startup 命令格式
startup [ nomount | mount | open | force ] [ restrict ] [ pfile=filename ];
方法1 -- st ......

oracle 多表关联 的 update


表中要更新的数据,必须要通过和另一个表来关联才能确定要更新的条目,mssql可以直接用 from t1.id=t2.id 来更新,而Oracle则报错
最后google到这样,直接将关联后的表作为一个表来更新。。。。
update (select * from us_cm_cat_petrol_gun g 
       left join us_cm_ci c on g.machine_sn ......

Solaris10 安装Oracle 10g

http://inthirties.com:90/thread-1233-1-1.html
好没有碰Solaris了,手有些生了,看来真要装个solaris,平时多玩玩。
在solaris上装Oracle 10g先。
1. 检查安装依赖包
官方要求的包
SUNWarc
SUNWbtool
SUNWhea
SUNWlibm
SUNWlibms
SUNWsprot
SUNWtoo
SUNWi1of
SUNWi1cs
SUNWi15cs
SUNWxwfnt
执行命令
# p ......

ORACLE函数大全

LONEFOX题记:
最近搞ORACLE, 转过来供参考。
=================================
1、SQL 语句基础
下面给出SQL语句的基本介绍。
1.1、SQL语句所用符号
操作符
 用途
 例子
 
+ -
 表示正数或负数,正数可省去 +
 -1234.56
 
+
 将两个数或表达式进行相加
 A=c+b ......

oracle 常用函数

1. select * from emp;
2. select empno, ename, job from emp;
3. select empno 编号, ename 姓名, job 工作 from emp;
4. select job from emp;
5. select distinct job from emp;
6. select distinct empno, job from emp;
说明:因为雇员编号不重复, 所以此时证明所有的列没有重复,所以不能消 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号