问题是这样的:现在的系统是一个OA的系统,PHP的,数据库是oracle8.06的,PHP程序和数据库在一台机子上面。我现在要把数据移植到另外一台机子上去,是oracle8.17的服务器。PHP程序不动。
用的是exp80导出数据,然后修改DMP文件里面的十六进制的字符集信息和oracle8.17的一样,再把DMP文件copy到817的服务器上去,用imp导入。成功了,数据在企业管理器里面显示也是正常的。然后修改了PHP程序,连接到817的服务器,创建监听,登录系统!速度太慢了,登录一次居然要8分钟,不知道咋回事?(PHP程序肯定没问题)一、是不是806的数据类型和817的数据类型不太一样,这样817要重新解析一下数据?所以导致速度慢呢?
二、是不是修改了字符集后,速度就是慢呢?但是不修改又不能imp,不能连接。各位大哥们!帮忙想想办法!看看还有什么好办法?还有我现在想通过分布式管理来实现数据的传输,从806到817。
一、这样版本不同的oracle数据库之间可以用分布式管理吗?
二、如果能用的话,分布式管理能传输数据吗?(分布式管理我不太懂呀)还有我想通过另外写一个程序来从806读取数据然后插入到817里面去。
一、现在的806库有1G多了,比较大了点,是不是能行的通呢?
二、如果能行得通,会不会还有字符集的问题呢,或是数据类型的问题呢?   这些问题,我都晕了!请各位大哥们帮忙呀。
   如有好办法欢迎联系我:
   msn:  [email protected]
      mail: [email protected]
     滴水之恩当以泉相报!!!!

解决方案 »

  1.   

    一,在php机上装上Oracle817的客户端,配置网络服务名测试一下连接是否正常。如果是正常的,可能是程序有问题,比如使用驱动的版本太低。
    二,修改字符集不会影响Oracle连接速度。
      

  2.   

    有时候为了保证把数据库成功导入到高版本的Oracle中,需要用低版本的imp。分布式管理我也不懂“还有我想通过另外写一个程序来从806读取数据然后插入到817里面去。?”oracle不同版本,不同字符集之间的备份恢复最好用Oracle的imp,exp工具,用程序实现可能有些困难。一般来说,都是向下兼容的。csdn上有一片专门讲Oracle不同版本,不同字符集数据库备份,恢复的帖子,建议你看一下。
      

  3.   

    楼上兄弟,谢谢你的帮助,你的名字不错呀,很好呀!!!你说的方法一。我已经试过了,是可以连接的,不然时间长慢也不能连接呀能不能加上我的MSN?我想请教一下,谢谢!
      

  4.   

    希望有人来说说  oracle的分布式管理方面的认识
      

  5.   

    你采用的exp不行的话,就使用dblink吧,再怎么说,通过8.1.7的版本连接8.0.6的数据库,并且从8.0.6中导出数据,不会有字符集的问题吧;还有一种方式,就是通过8.1.7的版本连接8.0.6的数据库,使用sql语句直接插入8.1.7的版本。
      

  6.   

    楼主上面的MSN号不对,请用下面这个   [email protected]谢谢!!
      

  7.   

    TO: wupangzi(无本之木)我也试过你所说的方法的,从806创建监听到817,然后用imp80导入到817,但是在企业管理器里面显示出来的中文全部是乱码!!
      

  8.   

    dblink的用法你应该知道吧
    在8.1.7版本中使用sqlplus
    create public dababase link ora806 connect to 访问806的用户名 identified by 访问806的密码 using '连接806的服务别名';
    select * from 806的表@ora806;
      

  9.   


    一、是不是806的数据类型和817的数据类型不太一样,这样817要重新解析一下数据?所以导致速度慢呢?
    二、是不是修改了字符集后,速度就是慢呢?”
    这2种说法都是不成立的,这不是泥应用慢的原因所在。还是检查一下应用移植是否产生了问题。另外,应当澄清一下的是,在进行不同版本的ORACLE之间进行EXP/IMP的时候,应当用低版本的进行EXP,用当前版本的来IMP。
      

  10.   

    字符集相同是不会有乱码的,只要二边能互联就dblink导数据
    用pl/sql建好ddl,先生成ddl再用dblink将数据导入,这样应没有问题
      

  11.   

    楼主说明:
          我是这样做的,在806里面exp80,生成了dmp文件,然后用UE打开了DMP文件(十六进制的)修改第二和第三字节为 03 54 为简体中文,
          然后在817上面用imp导入的,在企业管理器里面显示是正常的。   如果不修改十六进制的字符集信息的话,在817上imp后显示的中文就是乱码了,并且程序也不能连接了。