热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

Oracle9i数据库中动态重配置深入分析

欢迎进入Oracle社区论坛,与200万技术人员互动交流进入Oracle9i最重要的新特性就能动态修改几乎所有Oracle性能参数。这使Oracle专家能在Oracle实例运行期间动态地重新配置它――不管是因为要解决当前的一个性能问题,还是因为预测到一个紧迫的性能需求。

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 Oracle9i最重要的新特性就能动态修改几乎所有Oracle性能参数。这使Oracle专家能在Oracle实例运行期间动态地重新配置它――不管是因为要解决当前的一个性能问题,还是因为预测到一个紧迫的性能需求。

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入

Oracle9i最重要的新特性就能动态修改几乎所有Oracle性能参数。这使Oracle专家能在Oracle实例运行期间动态地重新配置它――不管是因为要解决当前的一个性能问题,还是因为预测到一个紧迫的性能需求。由于能动态修改系统全局区域(System Global Area,SGA)中的所有东西(SGA是Oracle的一个实例使用的RAM),所以至关重要的一点就是知道如何监视Oracle数据库。归纳出系统访问趋势及访问模式后,可因为预测到常规的资源需求而提前重新配置好数据库。

牵涉到动态数据库调节操作时,Oracle专家通常关心的是两方面的问题:事先安排好的重配置,以支持常规处理需求的变化;以及基于趋势的动态重配置,以响应从STATSPACK中获取的信息。下面来看看Oracle如何对这两种活动提供支持。

安排好的重配置

假定一个Oracle数据库在白天以“联机事务处理”(OLTP)模式运行,夜间以“决策支持”模式运行。这两种服务为了获得最佳的性能,分别提出了完全不同的要求。针对这种类型的数据库,Oracle DBA可事先安排好一个任务,针对当前的处理类型,将Oracle实例重配置为最恰当的配置。

通常可选择两种工具之一来安排动态重配置。最常见的方式是使用一个UNIX cron作业,它启动一个shell脚本来安排定期重配置。还可使用Oracle dbms_job实用程序。这两种工具都允许你安排一次配置更改。

清单A如下:

Listing A: Script to change to DSS-mode 
   
#!/bin/ksh 
 # First, we must set the environment . . . . 
ORACLE_SID=$1 export ORACLE_SID 
ORACLE_HOME=`cat /etc/oratab|grep ^$ORACLE_SID:|cut -f2 -d':'
#ORACLE_HOME=`cat /var/opt/oracle/oratab|grep 
^$ORACLE_SID:|cut -f2 -d':'` export ORACLE_HOME 
PATH=$ORACLE_HOME/bin:$PATH export 
PATH $ORACLE_HOME/bin/sqlplus ?s /nologin<  
alter system set db_cache_size=1500m;
alter system set shared_pool_size=500m;
alter system set pga_aggregate_target=4000m;
exit !
  

清单A提供了一个UNIX脚本,可用它针对决策支持处理而重配置Oracle。注意该脚本修改了shared_pool、db_cache_size以及pga_aggregate_target等参数,以满足数据仓库活动的需要。第二天早上可运行一个类似的脚本,将数据库配置变回OLTP模式。

[1] [2]


推荐阅读
author-avatar
要做转播达人
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有