oracle9.204升级(linux)

1462阅读 0评论2008-06-19 niezhenqun
分类:Oracle

一准备工作:
--------
1,备份数据库
2,下载p4163445_9207_LINUX.zip的升级包
3,解压$unzip p4163445_9207_LINUX.zip #压缩包不要放在跟oracle的原安装包一个目录下,因为解压后会生成同样的Disk1文件夹
二升级步骤
--------
如果是新安装完的那么请重新起动机器,否则升级出错(具体原因可能是有些进程没有完全退出)
如果是新安全完升级的化可以直接从第6步骤开始。
1>以sysdba登录,关闭数据库
$sqlplus /nolog
SQL>connect /as sysdba #conn
SQL>shutdown immediate;    #migrate
exit
2>停止oracle的apachectl
$ cd $ORACLE_HOME/Apache/Apache/bin
$ ./apachectl stop
3>停止oracle的监听
$ dbshut
$ lsnrctl stop
4>查看oracle进程是否全部关闭
$ps –ef |grep oracle #若没有以root身份登陆后#kill -9 pid
5>在root用户下执行slibclean 将内存中的动态库清除。
# /usr/sbin/slibclean
6>运行解压出来的/Disk1/runInstaller,升级OUI(如果oui版本够新可直接进行步骤7)
7>象第一次安装oracle那样一步一步的进行即可,期间以root运行的命令选择y替换原文件
8>完毕后运行dbca看创建数据库界面能否正常运行
9>升级数据库文件
$lsnrctl start
$sqlplus /nolog
SQL>connect /as sysdba
SQL>STARTUP MIGRATE
SQL>alter system set shared_pool_size=209715200 scope=spfile;   #200m
SQl>alter system set java_pool_size=157286400 scope=spfile;     #150m
SQL>alter system set db_cache_size=209715200 scope=spfile;      #200m
SQL>shutdown
SQL>startup migrate #新的设置需要重起才生效
升级数据库字典
SQL>SPOOL patch.log          #/tmp/patch.log
SQL>@$ORACLE_HOME/rdbms/admin/catpatch.sql #升级数据库字典
检查patche.log有没有错误
重新开终端运行
$grep "ORA-" /tmp/patch.log(可能有无关紧要的错误,可以忽略)
没错误继续,如有明显错误请删除patch.log根据错误调整后继续升级数据库字典那一步
SQL>SPOOL OFF
SQL>SHUTDOWN
SQL>STARTUP migrate
升级编译程序
SQL>spool rp.log            #/tmp/rp.log
SQL>@$ORACLE_HOME/rdbms/admin/utlrp.sql    #升级编译程序
SQL>spool off
查看升级结果
SQL>select * from V$version
10>恢复shared_pool_size和java_pool_size,db_cache_size参数并重启动数据库
SQL>alter system set shared_pool_size=83886080 scope=spfile;
SQl>alter system set java_pool_size=83886080 scope=spfile;
SQL>alter system set db_cache_size=16777216 scope=spfile;
SQL>shutdown
SQL>exit
11>重新停止数据库
$ dbshut
12>启动监听
$lsnrctl start
13>启动数据库
$ dbstart
-----------更新全部结束
上一篇:LINUX系统打开的最大文件数限制
下一篇:shell下获取时间戳