Oracle9i 升级到Oracle10g 需要注意什么?

ZhouBoTong 2010-09-01 08:51:18
现在根据项目需要,需要对数据库环境进行升级,升级内容如下:
1.Oracle9i 升级到Oracle10g
2.安装Oracle的DB服务器的操作系统从Windows变成Linux

进行如上升级时,需要注意什么?或者说,应该如何升级。
...全文
180 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
No1bigtooth 2010-09-13
  • 打赏
  • 举报
回复
确实没问题
gelyon 2010-09-08
  • 打赏
  • 举报
回复
楼上的好
No1bigtooth 2010-09-08
  • 打赏
  • 举报
回复
这是我的数据库连接类

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
Rotel-刘志东 2010-09-08
  • 打赏
  • 举报
回复
oracle9i升级到oracle10g应该不会有什么问题。
Chen_Weihappy_love 2010-09-08
  • 打赏
  • 举报
回复
如果数据不多 可以考虑到处sql 那样字符集的问题也免了
ZhouBoTong 2010-09-07
  • 打赏
  • 举报
回复
谢谢各位的回复!
minitoy 2010-09-07
  • 打赏
  • 举报
回复
从兼容角度说,10g会兼容9i的,应该问题不大.可以建个测试环境实验下先.
No1bigtooth 2010-09-07
  • 打赏
  • 举报
回复
是否有人成功做过把9i数据导入10g然后.net项目成功运行的经验,请分享下
shadow841112 2010-09-07
  • 打赏
  • 举报
回复
9i到10g问题不大,我们的项目中经常频繁在这两个版本中更改。不管是9i到10g还是10g到9i,数据导出用低版本就可。
ZhouBoTong 2010-09-02
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lanlandetian 的回复:]

1、充分测试,尽可能的模拟生产环境,包括一些后台
2、数据库尽可能打最新的补丁
3、技术层面要注意的就是表分析问题,代码一般不要动,需要结合1分析。
[/Quote]

谢谢回复,【表分析问题】能具体说说么?谢谢!
ZhouBoTong 2010-09-02
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 cuizhou5876 的回复:]

没有问题的. 如果数据量不大exp imp是没问题的, 只是需要注意字符集, 目标库的字符集必须是源库的超集。那如果使用可传输表空间, 从WINDOWS到LINUX也是没问题的。 字节编码顺序是一样的。 可以通过
select * from v$transportable_platform order by ENDIAN_FORMAT 得到验证. 唯一可能需要考虑的是optimizer优化器……
[/Quote]
谢谢各位的回复!

也就是说,需要考虑字符集,和优化器?这些应该是不涉及到源程序的修改,通过数据库的设置应该能搞定吧?
ZhouBoTong 2010-09-02
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 no1bigtooth 的回复:]

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

客户端的Oracle驱动也得升级到10g才行吧。
没有9i的安装程序,就是有,估计也很大,很难传过去吧。
cuizhou5876 2010-09-01
  • 打赏
  • 举报
回复
没有问题的. 如果数据量不大exp imp是没问题的, 只是需要注意字符集, 目标库的字符集必须是源库的超集。那如果使用可传输表空间, 从WINDOWS到LINUX也是没问题的。 字节编码顺序是一样的。 可以通过
select * from v$transportable_platform order by ENDIAN_FORMAT 得到验证. 唯一可能需要考虑的是optimizer优化器的优化方式可能变的不一样了。 不过如果原来的库没有很复杂的hint提示的优化过SQL。 问题不大.
No1bigtooth 2010-09-01
  • 打赏
  • 举报
回复
还有,我这个项目是.net项目,下面分了几期做的,所以包含了好几个子项目,如果我把数据导入到10g,难道不改任何东西就能连到10g吗?我在本机的IIS发布了,不成功啊
No1bigtooth 2010-09-01
  • 打赏
  • 举报
回复
关注,我也有类似的项目在维护,03年的老项目,数据库用的也是9i,楼主有9i的安装程序没?可以给我传个不?QQ358653471
fancyivan 2010-09-01
  • 打赏
  • 举报
回复
没什么要注意的。

字符集编码?
ngx20080110 2010-09-01
  • 打赏
  • 举报
回复
1.Oracle升级只要按照Oracle的官方文档进行就好了,一般没有什么问题。不过要多做测试

2.没试过从windows升级到linux。
关注。
lanlandetian 2010-09-01
  • 打赏
  • 举报
回复
1、充分测试,尽可能的模拟生产环境,包括一些后台
2、数据库尽可能打最新的补丁
3、技术层面要注意的就是表分析问题,代码一般不要动,需要结合1分析。
ZhouBoTong 2010-09-01
  • 打赏
  • 举报
回复
谢谢各位的关注!

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

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧