`
forestkqq
  • 浏览: 210328 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

Oracle8i应用往Oracle10g上迁移所遇到的问题

阅读更多

一个Tomcat应用原先使用的数据库版本是Oracle8i,近期在往Oracle10g上迁移的时候,遇到了一些问题,在此先罗列一下现象和主要的解决办法,晚些时候再补充具体的过程吧(有的问题没有记录下来,也先空着号)。

 

 

 

问题现象01:

数据库访问页面,显示错误信息:ttcgcshnd-1

java.sql.SQLException: ORA-00600: 内部错误代码, 参数: [ttcgcshnd-1], [0], [], [], [], [], [], []...

解决方案01:使用正确的jdbc的驱动(class12.zip)

 

 

问题现象05:

数据库访问页面,显示错误信息:

 

HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Cannot create PoolableConnectionFactory (Io 异常: The Network Adapter could not establish the connection)
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)

......
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

root cause

org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Io 异常: The Network Adapter could not establish the connection)
org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:855)
org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540)

.......
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

 

解决方案05:Oracle Database Listener配置有问题

 

 

问题现象06:

提交的数据没有汉字时,程序不报错。如果有汉字,出现:ORA-01461 : can bind a LONG value only for insert into a LONG column 错误。

解决方案06:

classes12.jar的版本问题。可参考 http://www.blogjava.net/chenlb/archive/2009/05/04/154558.html.

 

 

 

 

 

 

问题现象07:显示的日期或时间与预期的有出入。如填写出生日期1986/05/04,却显示1986/05/03。

解决方案07:配置 Tomcat 的时区

 

问题现象08:显示查询结果列表的顺序与 8i 下显示的顺序不一致

我的有问题的语句是:
select y.xzqhdm,y.bmddm,to_char(y.bmdsj,'yyyy-mm-dd') bmdsj,y.cnt_sub,x.cnt_total,
 to_char((y.cnt_sub/x.cnt_total)*100,'900.00') percent
               from ( select a.xzqhdm,a.bmddm,count(*) cnt_total from t_bmddm a,t_bmdsj b,t_bmk c
                where a.bmddm=b.bmddm and a.bmddm=c.bmddm and to_char(b.bmdsj,'yyyy-mm-dd')=c.bmyysj
                group by a.xzqhdm,a.bmddm ) x, (
                select a.xzqhdm,a.bmddm,b.bmdsj,count(*) cnt_sub from t_bmddm a,t_bmdsj b,t_bmk c
                where a.bmddm=b.bmddm and a.bmddm=c.bmddm and to_char(b.bmdsj,'yyyy-mm-dd')=c.bmyysj
                group by a.xzqhdm,a.bmddm,b.bmdsj ) y
              where x.xzqhdm=y.xzqhdm and x.bmddm=y.bmddm ;

解决方案08:修改程序,增加 order by

 

问题现象09:

从 oracle10g1.2往1.1上导入的时候,表数据能正确导入,但中间夹杂着一些错误信息:

 

IMP-00017: following statement failed with ORACLE error 20001:
 "BEGIN  DBMS_STATS.SET_INDEX_STATS(NULL,'"SYS_C001199"',NULL,NULL,NULL,1,1,1"
 ",1,1,1,0,6); END;"
IMP-00003: ORACLE error 20001 encountered
ORA-20001: Invalid or inconsistent input values
ORA-06512: at "SYS.DBMS_STATS", line 4572
ORA-06512: at line 1
IMP-00017: following statement failed with ORACLE error 20001:
 "BEGIN  DBMS_STATS.SET_TABLE_STATS(NULL,'"AFFICHE"',NULL,NULL,NULL,1,5,66,6)"
 "; END;"
IMP-00003: ORACLE error 20001 encountered
ORA-20001: Invalid or inconsistent input values
ORA-06512: at "SYS.DBMS_STATS", line 5167
ORA-06512: at line 1
IMP-00017: following statement failed with ORACLE error 20001:
 "DECLARE  SREC DBMS_STATS.STATREC; BEGIN SREC.MINVAL := 'C20212'; SREC.MAXVA"
 "L := 'C20212'; SREC.EAVS := 0; SREC.CHVALS := NULL; SREC.NOVALS := DBMS_STA"
 "TS.NUMARRAY(117,117); SREC.BKVALS := DBMS_STATS.NUMARRAY(0,1); SREC.EPC := "
 "2; DBMS_STATS.SET_COLUMN_STATS(NULL,'"AFFICHE"','"ID"', NULL ,NULL,NULL,1,1"
 ",0,srec,4,6); END;"
IMP-00003: ORACLE error 20001 encountered
ORA-20001: Invalid or inconsistent input values
ORA-06512: at "SYS.DBMS_STATS", line 4194
ORA-06512: at line 1
IMP-00017: following statement failed with ORACLE error 20001:
 "DECLARE  SREC DBMS_STATS.STATREC; BEGIN SREC.MINVAL := '32303038C4EAB0B2BBD"
 "5CAA1B3C9C8CBB8DFD0A3D5D0C9FABFBCCAD4CAA1BFBC'; SREC.MAXVAL := '32303038C4E"
 "AB0B2BBD5CAA1B3C9C8CBB8DFD0A3D5D0C9FABFBCCAD4CAA1BFBC'; SREC.EAVS := 0; SRE"
 "C.CHVALS := NULL; SREC.NOVALS := DBMS_STATS.NUMARRAY(2605922191087360000000"
 "00000000000000,260592219108736000000000000000000000); SREC.BKVALS := DBMS_S"
 "TATS.NUMARRAY(0,1); SREC.EPC := 2; DBMS_STATS.SET_COLUMN_STATS(NULL,'"AFFIC"
 "HE"','"TITLE"', NULL ,NULL,NULL,1,1,0,srec,51,6); END;"
IMP-00003: ORACLE error 20001 encountered
ORA-20001: Invalid or inconsistent input values
ORA-06512: at "SYS.DBMS_STATS", line 4194
ORA-06512: at line 1
IMP-00017: following statement failed with ORACLE error 20001:
 "DECLARE  SREC DBMS_STATS.STATREC; BEGIN SREC.MINVAL := '323030382D30392D323"
 "7'; SREC.MAXVAL := '323030382D30392D3237'; SREC.EAVS := 0; SREC.CHVALS := N"
 "ULL; SREC.NOVALS := DBMS_STATS.NUMARRAY(26059221892530700000000000000000000"
 "0,260592218925307000000000000000000000); SREC.BKVALS := DBMS_STATS.NUMARRAY"
 "(0,1); SREC.EPC := 2; DBMS_STATS.SET_COLUMN_STATS(NULL,'"AFFICHE"','"TIME"'"
 ", NULL ,NULL,NULL,1,1,0,srec,11,6); END;"
IMP-00003: ORACLE error 20001 encountered
ORA-20001: Invalid or inconsistent input values
ORA-06512: at "SYS.DBMS_STATS", line 4194
ORA-06512: at line 1

 

解决方案09: 

导入命令加入statistics=none选项

 

 

 

 

 

 

 

 

0
0
分享到:
评论

相关推荐

    oracle10g-oracle11g的数据库迁移

    Oracle 10g 到 Oracle 11g 数据库迁移 在进行数据库迁移之前,需要对源主机和目标主机进行准备工作。源主机需要新建 Oracle 别名目录,并赋予 oracle 用户读写权限。在目标主机上,需要新建表空间、用户,并赋予...

    Oracle-使用RMAN从10g直接迁移到11G

    Oracle-使用RMAN-将-DB-从10g-直接-Restore-到11g-示例

    Oracle+10g-11g+XTTS迁移方案.pdf

    Oracle 10g 到 11g 的迁移是一个复杂的过程,涉及到多个步骤和技术,其中XTTS(Extreme Transaction Transport Services)是一种高级的数据迁移工具。XTTS是Oracle提供的一种用于在线数据迁移的技术,它允许在不中断...

    Oracle11g冷备份并迁移整个数据库去另一台服务器.doc

    Oracle 11g冷备份并迁移整个数据库到另一台服务器 Oracle 11g冷备份是指在不停止数据库的前提下,对数据库进行备份的操作。cold backup是相对于hot backup的,hot backup是在数据库运行时进行备份,而cold backup是...

    oracle 11g ,10g软件资源 百度云下载

    ### Oracle 11g与10g软件资源百度...综上所述,Oracle 10g和11g作为Oracle数据库的重要版本,在企业级应用中扮演着至关重要的角色。了解这两个版本的特点和区别,有助于更好地选择合适的解决方案来满足企业的实际需求。

    Oracle8i 企业版功能综述

    6. **并行服务器(Parallel Server)**:这一特性使得Oracle8i能够在多处理器系统上实现真正的并行执行,增强了数据库的并发处理能力,提高了系统性能。 7. **闪回技术**:Oracle8i引入了闪回查询(Flashback Query...

    oracle向达梦数据库迁移

    Oracle12C 向达梦8(DM8)迁移是一个涉及多个步骤的技术过程,主要目的是将现有的Oracle数据库系统顺利地转换到达梦数据库平台,以利用其特定的优势或满足特定的业务需求。以下是对这个迁移过程的详细说明: 一、...

    记使用Oracle SQL Developer 迁移MySql 数据至 Oracle.docx

    在迁移过程中遇到问题时,要逐一排查,如检查服务状态、验证连接信息和数据库对象的命名规则,以确保迁移的成功进行。通过遵循这些指南,可以有效地将MySQL数据库转换为Oracle数据库,实现数据的无缝转移。

    oracle8升级到Oracle10g数据库升级脚本

    Oracle数据库是世界上最广泛使用的数据库系统之一,从Oracle 8到Oracle 10g的升级是一个重要的里程碑,因为Oracle 10g引入了许多新特性和性能优化。以下将详细阐述这个升级过程中涉及的关键知识点: 1. **版本兼容...

    Oracle ADF JDeveloper10g应用到11g迁移(中英文对照)

    Oracle ADF (Application Development Framework) 是Oracle公司推出的一款企业级Java EE开发框架,它提供...通过深入理解"10g到11g迁移文档",开发者能够系统地规划和执行迁移任务,确保应用程序在新平台上的稳定运行。

    oracle8i DBA

    10. **数据库升级与迁移**:从Oracle 8i到更高版本的升级过程,包括数据迁移、应用兼容性测试等,是DBA经常面临的工作。 通过深入学习和实践,Oracle 8i DBA可以有效地管理数据库,保证其稳定运行,提高业务效率。...

    Oracle10g数据库存储迁移案例

    ### Oracle10g数据库存储迁移案例详解 #### 一、环境及需求简要说明 本案例涉及的是Oracle10.2.0.5版本数据库在Linux操作系统上的存储迁移过程。原有的存储设备为AMS200,计划更换为AMS2100。数据量方面,已知的...

    ArcSDE 10.2 FOR Oracle10g、11g安装包

    ArcSDE 10.2 for Oracle 10g 和 11g 是Esri公司推出的用于管理和分发地理空间数据的中间件产品,它在Windows平台上提供了与Oracle数据库系统的集成。ArcSDE使得GIS(地理信息系统)软件,如ArcGIS,能够高效地访问和...

    oracle11g数据备份导入到10g数据库中

    由于版本差异,直接导入可能会遇到兼容性问题,因此需要采取一定的策略来确保数据能够顺利地从11g迁移到10g。 #### 二、准备工作 在进行Oracle 11g到10g的数据迁移之前,需要完成以下准备工作: 1. **11g源数据库...

    Oracle 11.2.0.4 迁移到Oracle 12.2.0.1

    Oracle 数据库迁移是指从低版本的 Oracle 数据库迁移到高版本的 Oracle 数据库,例如从 Oracle 11g 迁移到 Oracle 12c。该过程需要按照数据库用户模式迁移的详细步骤进行,以确保数据的安全和完整性。 在 Oracle ...

    Oracle 9i 11g历史库升级迁移数据至19c CDB.docx

    ### Oracle 9i/11g 历史库升级迁移数据至 19c CDB #### 背景介绍 随着业务的发展和技术的进步,企业数据库系统面临着更新换代的需求。本文档主要介绍了如何将Oracle 9i/11g的历史数据库升级并迁移数据至Oracle 19c...

    Oracle-11g-R2-RAC-with-ASM存储迁移-手记.docx

    Oracle 11g R2 RAC with ASM 存储迁移手记 本文详细介绍了如何将 Oracle RAC 的数据库数据迁移到新的存储设备上,并提供了详细的迁移步骤和图文说明。整个迁移过程中,使用了 ASM DISKGROUP 的方式来完成存储迁移,...

Global site tag (gtag.js) - Google Analytics