一朋友有个于十年前装了套摊位出租管理软件,软件装好没多久软件公司就倒闭了,最近请求我帮忙解决查询操作巨慢的问题。据其说软件功能还不错,就是用几年后越来越慢,这十年间叫人升级换过两次电脑,后来再叫人升级,别人就说新硬件不兼容这个软件了,现在情况如下:
1、电脑是amd双核4G内存的,操作系统为xp;
2、oracle8 for Nt;
3、数据库主文件接近1G大小;
4、查询合同操作要等10分钟才出来;
5、本人对oracle 是小白,只是一直搞了20年电脑和网络工程,对数据库略知一二,所以朋友找我帮忙。
      现在想请教各位大神:
1、在现有基础上怎样恢复数据库的执行速度,例如用什么命令压缩精简数据库,重新索引等;
2、新装一台高性能的pc服务器,装最新的oracle12 for win64,移植这个数据库和管理软件。
      给出出主意怎么弄好,先跪谢了。
        

解决方案 »

  1.   

    数据库可以装在新的机器上,程序还放在老机上,避免兼容问题
    慢的操作可以监控数据库这边,看看是什么sql引起的速度慢,有针对性增加索引解决,
    不过这个需要对数据库有比较多的了解。
    还有个办法就是删除历史数据,历史数据平时不用的话全部删除掉
    如果要用可以放另外一台机器上,偶尔需要用的时候去查询下
    数据量少了速度自然就快了
      

  2.   

    找台电脑测试一下用新版的oracle是否可以,或是用虚拟机测试。
    感觉:好点的服务器,安装虚拟机,虚拟机中安装win 2003,再安装oracle 8,是不是性能会好一些。
      

  3.   

    1、重建索引或者增加索引需要分析哪些sql执行的慢,否则,无法定位问题点
    2、oracle8i版本确实太老了。升级到11GR2或12C都可以,简单的可以用exp,imp导出导入,或者用rman恢复升级。
    3、不过要注意,不能一次性跨太多的版本,比如,8直接升级到12C貌似不行,先升级到10,再次升级
      

  4.   

    8i 做性能诊断都是个麻烦事,statspack 可能还行,awr 肯定不行。升级到 11 吧。