现在根据项目需要,需要对数据库环境进行升级,升级内容如下:
1.Oracle9i 升级到Oracle10g
2.安装Oracle的DB服务器的操作系统从Windows变成Linux进行如上升级时,需要注意什么?或者说,应该如何升级。

解决方案 »

  1.   

    1.Oracle升级只要按照Oracle的官方文档进行就好了,一般没有什么问题。不过要多做测试2.没试过从windows升级到linux。
    关注。
      

  2.   

    谢谢各位的关注!哦,但不好意思,我表达的不清楚。
    我说的“升级”的意思是,对本项目的xx系统而言是升级。
    升级的内容为:Oracle9i要改成用10g --> 这个把数据从9i导入到10g就可以了。担心的是,这种数据库的变化,需不需要修改访问数据库的代码(项目中使用了Java,Cobol).
    并且,原来Oracle9i是安装在Windows上的,但现在呢要改安装在Linux系统里。
    (并不是指像Win98升级到WinXP的那样的升级)
      

  3.   

    关注,我也有类似的项目在维护,03年的老项目,数据库用的也是9i,楼主有9i的安装程序没?可以给我传个不?QQ358653471
      

  4.   

    还有,我这个项目是.net项目,下面分了几期做的,所以包含了好几个子项目,如果我把数据导入到10g,难道不改任何东西就能连到10g吗?我在本机的IIS发布了,不成功啊
      

  5.   

    没有问题的. 如果数据量不大exp imp是没问题的, 只是需要注意字符集, 目标库的字符集必须是源库的超集。那如果使用可传输表空间, 从WINDOWS到LINUX也是没问题的。 字节编码顺序是一样的。 可以通过
    select * from v$transportable_platform order by ENDIAN_FORMAT 得到验证.  唯一可能需要考虑的是optimizer优化器的优化方式可能变的不一样了。 不过如果原来的库没有很复杂的hint提示的优化过SQL。 问题不大. 
      

  6.   


    客户端的Oracle驱动也得升级到10g才行吧。
    没有9i的安装程序,就是有,估计也很大,很难传过去吧。
      

  7.   

    是否有人成功做过把9i数据导入10g然后.net项目成功运行的经验,请分享下
      

  8.   

    9i到10g问题不大,我们的项目中经常频繁在这两个版本中更改。不管是9i到10g还是10g到9i,数据导出用低版本就可。
      

  9.   

    这是我的数据库连接类using System;
    using System.Data;
    using System.Data.OracleClient;namespace zlxx.data
    {
        /// <summary>
        /// Oracle数据库连接和公用的方法。
        /// 2003年6月28日9点28分
        /// </summary>
        public class OracleConn
        {    
            /// <summary>
            /// 连接oracle数据库
            /// </summary>
            static string connString="Data Source=orcl;User ID=myusername; Password=mypassword";
            public OracleConnection Connection()
            {
                OracleConnection conn = new OracleConnection();
                    conn.ConnectionString = connString;
                    conn.Open();
                return conn;
            }
            public static OracleConnection aptConn()
            {
                OracleConnection conn = new OracleConnection();
                conn.ConnectionString = connString;
                return conn;
            }
        }
    }这是在项目用户登录时候创建对象并调用方法的代码try
    {
       OracleConn myConn=new OracleConn();   //用new  创建OracleConn 对象
        conn=myConn.Connection();     //myConn.Connection()返回conn
    }
    catch(Exception err)
    {
        js.Text="alert(\"数据库连接错误,请与管理员联系或再试几次!\");window.close();";
    }在OracleConn myConn=new OracleConn()这行调用了连接方法,但是conn返回的值却是null,
    所以捕捉到了System.Data.OracleClient抛出
    accessviolationexception尝试读取或写入受保护的内存这个异常
    这是什么原因呢?解决问题送上100分,不够可以加分的
    http://topic.csdn.net/u/20100901/21/98f0e7e6-3159-4da7-9b34-bdebdc908a06.html
      

  10.   

    http://topic.csdn.net/u/20100901/21/98f0e7e6-3159-4da7-9b34-bdebdc908a06.html
      

  11.   

    如果数据不多   可以考虑到处sql  那样字符集的问题也免了
      

  12.   

    oracle9i升级到oracle10g应该不会有什么问题。