Chinaunix首页 | 论坛 | 博客
  • 博客访问: 234978
  • 博文数量: 47
  • 博客积分: 1630
  • 博客等级: 上尉
  • 技术积分: 972
  • 用 户 组: 普通用户
  • 注册时间: 2008-02-20 12:52
文章存档

2013年(12)

2012年(6)

2010年(27)

2009年(2)

我的朋友

分类: Oracle

2010-04-22 14:39:55

好就没写文章,今天没事,就想研究一下Oracle 10g的版本升级问题,操作如下:
 
环境:虚拟机
OS: linux 5
oracle 升级前版本: 10.2.0.0.1
 
先关闭数据库和监听
然后杀掉所有的oracle进程
ps -ef |grep oracle |grep -v grep |grep -v ef

kill -9   进程号

然后解压安装包,将安装包改成用户为oracle用户所有,之前已是就不用改了.
chown -R oracle:oinstall   Disk1

我在运行runInstaller时报子目录一个oui权限错误.
所以我把该软件包全部改成可执行.
chown -R 755 oracle:ointsll Disk1

然后确保oracle用户能打开图形界面,可用root用户运行 xhost +
然后以oracle用户执行 ./opt/soft/Disk1/runInstaller
出现图形界面后和windows上一样,选择oracle_home 只有一个数据库的话默认即可.
完了最后会让你以root用户运行一个root.sh的脚本, 该脚本会提示是否覆盖已存在的目录,默认为否即可.

安装后以upgrade方式打开数据库及监听.(否则报704错误)
以sys用户登录.检查system表空间情况.

select tablespace_name, sum(bytes)/(1024*1024) as free_space
     from dba_free_space
     where tablespace_name = 'SYSTEM'
     group by tablespace_name;

如果该值小于50,则需要加大SYSTEM表空间;不建议使用resize方式而是使用添加文件的方式.

alter tablespace system add datafile '/opt/app/oradata/orcl/system02.dbf'size 300m;

4).检查shared_pool_size和java_pool_size大小,可适当增大.否则更新脚本因pool空间不够而无法升级成功.
   如果启用自动sga管理,保证sga_max_size和sga_target在400M以上.

5). 重启数据库, 开始运行升级脚本,执行catupgrd.sql是个很耗时的过程.内存足够的话运行时间半个小时左右,建议在运行期间关闭所有其它相关的运行程序,另外最好有200M的多余内存空间
   shutdown immediate
   STARTUP upgrade
   spool /opt/app/patch.log
   @$Oracke_Home/rdbms/admin/catupgrd.sql
   SPOOL OFF

检查 /opt/app/patch.log是否有报错.如有必要可重新运行.

运行utlrp.sql以重新编译所有无效的PL/SQL程序包。

spool /opt/app/utlrp.log    

@$Oracke_Home/rdbms/admin/utlrp.sql

spool off;

检查执行情况.   

utlrp.sql,catupgrd.sql,utlu102i.sql 执行没有按照先后顺序,也升级成功,不知道在后续的应该中是否有问题。

7).根据实际情况调整SGA

shutdown immediate;

STARTUP;

8).查看升级结果

select * from v$version;

column comp_name format a30;

column version format a20

select comp_name, status, substr(version,1,10) as version from dba_registry;

阅读(801) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~