ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 某物流公司升级数据库报错

某物流公司升级数据库报错

原创 Linux操作系统 作者:hxcqu 时间:2009-01-01 00:36:57 0 删除 编辑

------------------
一. 背景
------------------

今天收到一个用户的远程电话,客户正在升级生产数据库,windows平台,由10201升级到10204,在执行升级的过程中,使用dbua图形界面工具,在升级执行完成86%的时候,遇到一个错误,如下图所示:

当时由于正在另外一个城市的现场,上网不方便。不过客户比较着急。只好在自己的电脑上,搜一些资料。


------------------
二. 处理过程
------------------
*) 询问客户,升级前有备份没有?
   客户说有备份,windows平台的冷备份,但是没有备份注册表相关部分。
   还好,有这个冷备份还是很好的,注册表部分应该通过编辑,可以进行正确修改,不过可能有点麻烦。

*) 立即建议客户将现在的几个键完成导出备份,每个键备份成名称分别为1,2,3....,这样比较快一点。
  备份注册表,以便保护现场,如果编辑注册表不成功,可以恢复到那个时刻的状态。

   报错是跟OEM有关的,这个一时还找不到具体原因,不过这个可以在以后再解决,先把数据库正常运转再说。

*) 让客户将监听器启用
*) 让客户使用使用客户端工具,sqlplus登录
  select open_mode from v$database;

*) 检查数据库的各个部件的升级状态和版本
  select comp_id,comp_name,version,procedure,status,modified from dba_registry;

*) 检查无效对象,然后重新编译
  @%ORACLE_HOME%\rdbms\admin\utlrp.sql

*) 结束,数据库本身运行正常。
*) 关于OEM的配置,以后再处理。这个需要运行某些脚本,参照说明进行配置。

 

------------------
三. 小结
------------------
1.) 执行小版本升级,一般有两种方法,使用手工升级和使用dbua进行。
    手工升级就是比较灵活,自己可以掌控升级的进度,但是步骤很多,很多操作手工完成,有时候容易忘记而出错。
    dbua很简单,点击next一路往下。对客户很黑箱,不知道现在到底干什么,当然可以打开升级日志进行观察。

    两种方法都可以做。

    我喜欢用手工方式进行升级

2.) 升级前,有很多预操作要做,一定要做足功夫。比如关掉进程和服务,严格按照操作文档执行。
    一般来所,预操作做好了,升级一般会顺利。

3.) 升级前有条件的,尽量做好备份,做好备份就是给自己上安全保险。有退路。

 

 

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/195785/viewspace-524842/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 2008-12-30号
请登录后发表评论 登录
全部评论

注册时间:2008-09-08

  • 博文量
    11
  • 访问量
    56170