【转】优化Oracle数据库性能
【IT168 技术文档】随着网络应用和电子商务的不断发展,各个站点的访问量越来越大,如何使有限的计算机系统资源为更多的用户服务?如何保证用户的响应速度和服务质量?这些问题都属于服务器性能优化的范畴。作为较成功的数据库厂商,Oracle公司数据库的性能优化是如何进行的
优化策略
为了保证Oracle数据库运行在最佳的性能状态下,在信息系统开发之前就应该考虑数据库的优化策略。优化策略一般包括服务器操作系统参数调整、数据库参数调整、网络性能调整、应用程序SQL语句分析及设计等几个方面,其中应用程序的分析与设计是在信息系统开发
分析评价Oracle数据库性能主要有数据库吞吐量、数据库用户响应时间两项指标。数据库用户响应时间又可以分为系统服务时间和用户等待时间两项,即:
数据库用户响应时间=系统服务时间+用户等待时间
因此,获得满意的用户响应时间有两个途径:一是减少系统服务时间,即提高数据库的吞吐量;二是减少用户等待时间,即减少用户访问同一数据库资源的冲突率。
数据库性能优化包括如下几个部分:
1. 调整数据结构的设计 这一部分在开发信息系统之前完成,程序员需要考虑是否使用Oracle数据库的分区功能,对于经常访问的数据库表是否需要建立索引等。
2. 调整应用程序结构设计 这一部分也是在开发信息系统之前完成的。程序员在这一步需要考虑应用程序使用什么样的体系结构,是使用传统的Client/Server两层体系结构,还是使用Browser/Web/Database的三层体系结构。不同的应用程序体系结构要求的数据库资源
3. 调整数据库SQL语句 应用程序的执行最终将归结为数据库中的SQL语句执行,因此SQL语句的执行效率最终决定了Oracle数据库的性能。 Oracle公司推荐使用Oracle语句优化器(Oracle Optimizer)和行锁管理器(Row-Level Manager)来调整优化SQL语句。
4. 调整服务器内存分配 内存分配是在信息系统运行过程中优化配置的。数据库管理员根据数据库的运行状况不仅可以调整数据库系统全局区(SGA区)的数据缓冲区、日志缓冲区和共享池的大小,而且还可以调整程序全局区(PGA区)的大小。
5. 调整硬盘I/O 这一步是在信息系统开发之前完成的。数据库管理员可以将组成同一个表空间的数据文件放在不同的硬盘上,做到硬盘之间I/O 负载均衡。
6. 调整操作系统参数 例如:运行在Unix操作系统上的 Oracle数据库,可以调整 Unix数据缓冲区
相关文档:
今天客户的一套RAC环境出现问题
双节点RAC环境中,一个节点因为锁竞争而挂起,shutdown之后无法启动。
故障出现时我正在路上,匆匆回到家中,处理故障。
解决之后查找故障原因。
检查当时的AWR信息发现Top 5 Timed Events显示如下信息:
Top 5 Timed Events &nb ......
oracle实现汉字按照拼音、笔画和部首排序
找了相关的一些资料,都说的不是很清楚,自己也研究了下,终于搞明白了,希望对大家有帮助。
需要说明的是下面的方法需要ORACLE9i和以上的版本才支持。
Oracle9i之前,中文是按照二进制编码进行排序的。
在oracle9i中新增了按照拼音、部首、笔画排序功能。设置NLS_SORT值
......
oracle wait event:cursor: pin S wait on X
cursor: pin S wait on X等待事件的处理过程
http://database.ctocio.com.cn/tips/114/8263614_1.shtml
cursor: pin S wait on X等待!
http://www.itpub.net/viewthread.php?tid=1003340
解决cursor: pin S wait on X 有什么好办法:
http://www.itpub.net/thread-1163543 ......
oracle 从10.2.0.2 到 10.2.0.4 升级
一、下载升级包
下载地址:
ftp://updates.oracle.com/6810189/p6810189_10204_Linux-x86.zip
注意:不要用flashget下载,用迅雷下载。文件大小1G多。
二、关闭数据库
以oracle用户远程登录suse系统:
1. sqlplus /nolog
SQL> connect /as sysdba
SQL> ......
--使用DBA创建两个用户
create user gubo identified by gubo;
create user gubo2 identified by gubo;
--给两个用户连接权限
grant create session to gubo;
grant create session to gubo2;
--给其中一个用户访问表空间的权限
grant unlimited tablespace to gubo;
--连接其中用户,创建表
--conn gubo
......