Home > oracle 10g > 尽量缩短oracle upgrade时间

尽量缩短oracle upgrade时间

在做oracle upgrade的时候,因为需要down机,所以节约每一分钟时间都很重要,特别是当需要升级很多台数据库的时候。

我们过去两年的时间内升级了两三百台primary数据库。从节约时间上来说,大致有以下三个tips:

1. 将新的binary copy到服务器上,在维护前先relink all。
2. 在中间startup upgarde的时候采用比较小的SGA参数,这样可以节约allocate和deallocate SGA的时间,特别是对于SGA较大的情况(>20GB)
3. set echo off
这里不仅仅指运行catupgrd.sql前的set echo off,而且要修改两个脚本,将其中的set echo on改为set echo off或者去掉。

\mv $ORACLE_HOME/rdbms/admin/prvthlrt.plb $ORACLE_HOME/rdbms/admin/prvthlrt.plb.bak
sed ‘s/SET ECHO ON/SET ECHO OFF/’ $ORACLE_HOME/rdbms/admin/prvthlrt.plb.bak > $ORACLE_HOME/rdbms/admin/prvthlrt.plb

\mv $ORACLE_HOME/rdbms/admin/catocm.sql $ORACLE_HOME/rdbms/admin/catocm.sql.bak
sed ‘s/set echo on/set echo off/’ $ORACLE_HOME/rdbms/admin/catocm.sql.bak > $ORACLE_HOME/rdbms/admin/catocm.sql

改动这两个脚本可以节约好几分钟的时间。在不同的机器上时间差别可能不同。

我在Sun V440上做过9i到10g的实验,如果不修改文件,需要耗时27分钟,修改后耗时22分钟,相差5分钟。

Eagle Fan oracle 10g

  1. March 17th, 2010 at 05:19 | #1

    (1) One single command to in-place edit all text files from somedir down:

    find somedir -type f -exec perl -pi.bak -e ‘s/set echo on/set echo off/’ {} \;

    (2) Relevant to the time to upgrade:
    http://www.freelists.org/post/oracle-l/Time-to-upgrade-verses-size-of-DB,5

    The suggestion to gather sys stats may work. And the referenced “PPT at OOW2009″ sounds interesting.

  1. February 21st, 2010 at 10:56 | #1