oracle导入错误
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle导入错误相关的知识,希望对你有一定的参考价值。
Connected to: Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options
Export file created by EXPORT:V10.01.00 via conventional path
import done in ZHS16GBK character set and AL16UTF16 NCHAR character set
IMP-00017: following statement failed with ORACLE error 990:
"GRANT CREATE EXTERNAL JOB TO "SCHEDULER_ADMIN" WITH ADMIN OPTION"
IMP-00003: ORACLE error 990 encountered
ORA-00990: missing or invalid privilege
IMP-00061: Warning: Object type "SYSTEM"."REPCAT$_OBJECT_NULL_VECTOR" already exists with a different identifier
"CREATE TYPE "REPCAT$_OBJECT_NULL_VECTOR" TIMESTAMP '2008-06-22:23:35:56' OI"
"D '505096D1060D10A6E0430A7A430B10A6' AS OBJECT"
"("
" -- type owner, name, hashcode for the type represented by null_vector"
user的权限不足 参考技术B 加 IGNORE=y 选项试试, 还有可能是权限不足 参考技术C 字符集不一致
尝试从 Oracle 导入到 H2 时出现 Temenos DBImport 错误
【中文标题】尝试从 Oracle 导入到 H2 时出现 Temenos DBImport 错误【英文标题】:Temenos DBImport error when trying to import from Oracle to H2 【发布时间】:2020-03-09 09:38:48 【问题描述】:我正在尝试使用以下设置将 Temenos T24 数据库从 Oracle 导入 H2:
目标数据库:H2 网址:jdbc:h2:tcp…data/temenos/h2/TAFJDB1 驱动程序:org.h2.Driver 用户 ID:**** 密码:**** 布局:TEXT -> VARCHAR / VARCHAR 使用 XMLBinary:否 保留 TAF_VOC:是 zOS 模式:否
源数据库:Oracle 网址:jdbc:oracle:thin:@...:ORA12C 驱动程序:oracle.jdbc.driver.OracleDriver 用户 ID:**** 密码:****
待办事项 创建表:是 清除表:否 插入记录:是 创建视图:是的
表 进程:全部 排除: 不插入: 从 XML 中排除:F.JOB.LIST.* UD 例外:[F.DL.DATA、DW.EXPORT、&HOLD&、&COMO&]
按继续...
导入运行了大约 50%,然后在错误日志中出现以下错误而停止:
[INFO ] 2020-03-06 09:50:13,683 [Thread-11] DBIMPORT - Creating TAFJ_CACHE table ...
[ERROR] 2020-03-06 09:50:13,698 [Thread-11] DBIMPORT - Exception while creating TAFJ_CACHE :
org.h2.jdbc.JdbcSQLException: Table "TAFJ_CACHE" already exists; SQL statement:
CREATE TABLE TAFJ_CACHE (RECID VARCHAR(255) NOT NULL PRIMARY KEY, CACHENAME VARCHAR(255), WRITEBATCHROWS VARCHAR(5)) [42101-161]
at org.h2.engine.SessionRemote.done(SessionRemote.java:538) ~[h2-1.3.161.jar:1.3.161]
at org.h2.command.CommandRemote.executeUpdate(CommandRemote.java:183) ~[h2-1.3.161.jar:1.3.161]
at org.h2.jdbc.JdbcStatement.executeInternal(JdbcStatement.java:177) ~[h2-1.3.161.jar:1.3.161]
at org.h2.jdbc.JdbcStatement.execute(JdbcStatement.java:152) ~[h2-1.3.161.jar:1.3.161]
at com.temenos.dbi.oracle.DBImport.createTAFJCacheTable(DBImport.java:3144) [TAFJDBImport.jar:19.30.0]
at com.temenos.dbi.oracle.DBImport.doItForTwoDatabases(DBImport.java:1453) [TAFJDBImport.jar:19.30.0]
at com.temenos.dbi.gui.MainWindow$4$1.run(MainWindow.java:330) [TAFJDBImport.jar:19.30.0]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_241]
[INFO ] 2020-03-06 14:05:36,723 [Thread-11] DBIMPORT - Processing table :F.STANDARD.SELECTION
[INFO ] 2020-03-06 14:05:36,727 [Thread-11] DBIMPORT - Processing table : F.STANDARD.SELECTION
[INFO ] 2020-03-06 14:05:37,449 [Thread-11] DBIMPORT - Adding table into currentWork : F_STANDARD_SELECTION
[INFO ] 2020-03-06 14:08:31,604 [Thread-11] DBIMPORT - Adding table into currentWork : D_F_STANDARD_SELECTION
[INFO ] 2020-03-06 14:08:36,998 [Thread-11] DBIMPORT - Processing table :F.PGM.FILE
[INFO ] 2020-03-06 14:08:36,999 [Thread-11] DBIMPORT - Processing table : F.PGM.FILE
[INFO ] 2020-03-06 14:08:37,015 [Thread-11] DBIMPORT - Adding table into currentWork : F_PGM_FILE
[ERROR] 2020-03-06 14:08:37,017 [Thread-11] DBIMPORT - Failed Executing: CREATE TABLE "F_PGM_FILE" (RECID VARCHAR(255) NOT NULL PRIMARY KEY, XMLRECORD VARCHAR)
org.h2.jdbc.JdbcSQLException: Table "F_PGM_FILE" already exists; SQL statement:
CREATE TABLE "F_PGM_FILE" (RECID VARCHAR(255) NOT NULL PRIMARY KEY, XMLRECORD VARCHAR) [42101-161]
at org.h2.engine.SessionRemote.done(SessionRemote.java:538) ~[h2-1.3.161.jar:1.3.161]
at org.h2.command.CommandRemote.executeUpdate(CommandRemote.java:183) ~[h2-1.3.161.jar:1.3.161]
at org.h2.jdbc.JdbcStatement.executeInternal(JdbcStatement.java:177) ~[h2-1.3.161.jar:1.3.161]
at org.h2.jdbc.JdbcStatement.execute(JdbcStatement.java:152) ~[h2-1.3.161.jar:1.3.161]
at com.temenos.dbi.oracle.DBImport.insertDDLSQL(DBImport.java:4438) [TAFJDBImport.jar:19.30.0]
at com.temenos.dbi.oracle.DBImport.createTable(DBImport.java:2822) [TAFJDBImport.jar:19.30.0]
at com.temenos.dbi.oracle.DBImportWorker.doWork(DBImportWorker.java:336) [TAFJDBImport.jar:19.30.0]
at com.temenos.dbi.oracle.DBImport.doItForTwoDatabases(DBImport.java:1494) [TAFJDBImport.jar:19.30.0]
at com.temenos.dbi.gui.MainWindow$4$1.run(MainWindow.java:330) [TAFJDBImport.jar:19.30.0]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_241]
[ERROR] 2020-03-06 14:08:37,018 [Thread-11] DBIMPORT - Failed to create : 'F_PGM_FILE' Layout : 'TEXT' : org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "F_PGM_FILE" already exists; SQL statement:
CREATE TABLE "F_PGM_FILE" (RECID VARCHAR(255) NOT NULL PRIMARY KEY, XMLRECORD VARCHAR) [42101-200]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:453)
at org.h2.message.DbException.getJdbcSQLException(DbException.java:429)
at org.h2.message.DbException.get(DbException.java:205)
at org.h2.message.DbException.get(DbException.java:181)
at org.h2.command.ddl.CreateTable.update(CreateTable.java:89)
at org.h2.command.CommandContainer.update(CommandContainer.java:198)
at org.h2.command.Command.executeUpdate(Command.java:251)
at org.h2.server.TcpServerThread.process(TcpServerThread.java:406)
at org.h2.server.TcpServerThread.run(TcpServerThread.java:183)
at java.lang.Thread.run(Unknown Source)
[ERROR] 2020-03-06 14:08:37,018 [Thread-11] DBIMPORT - SQL = :
[ERROR] 2020-03-06 14:08:37,020 [Thread-11] DBIMPORT - Exception on F.PGM.FILE/F_PGM_FILE : Error creating table in destination connection:F_PGM_FILE
[ERROR] 2020-03-06 14:08:37,021 [Thread-11] DBIMPORT - Exception on F.PGM.FILE/F_PGM_FILE : Failed to create pgm table. Terminating.
如果您对我可以做些什么来解决这个问题有任何想法,请告诉我。
谢谢你, 船底座
【问题讨论】:
【参考方案1】:确保您为此任务使用空白的 H2 数据库/数据文件。使用 tCreateDB 脚本创建一个空白的 TAFJ H2 数据库。此脚本与 TAFJFunctions.jar 一起位于 TAFJ_HOME/dbscripts/h2 中,需要在运行 DBImport 之前将其加载到 DB 中。
如果您要重新启动先前终止的 DBImport,请使用“-startwithfile”选项并输入上次运行 DBImport 处理的最后一个文件(未):
DBImport -startwithfile FBNK.ACCOUNT
还有一个“-endwithfile”选项。
来自 Temenos "TAFJ-DB Setup.pdf" 文档:
-startwithfile DBImport 可以从特定的起点开始创建文件(即,如果您的 DBImport 程序由于某种原因崩溃并且您不想从头开始,这很有用)。请注意,选项后的文件名是 VOC(J4 文件名)而不是 ORACLE 文件名
【讨论】:
我已经加载了 TAFJFunctions.jar 并且数据库是空白的。第二次运行导入时出现此错误,因为它在第一次运行时没有完成,我已经杀死了该进程并在第二天再次运行它。选中“保持 TAF_VOC:是”,该过程应从最后一个表恢复。我在另一篇文章中读到这里有一个 schema.sql,我可以在其中将语句从 CREATE TABLE 更改为 CREATE IF NOT EXIST TABLE。知道该脚本在哪里吗?我试过在那里问这个问题,但它被删除了。 在这种情况下,您是否尝试使用 DBImport 选项“-startwithfile”?我已经更新了我对此的回答。我不确定您是否可以修改 Temenos DBImport 以使用 CREATE IF NOT EXIST ... 是的,我已经尝试过这个选项并且我已经完成了导入。谢谢以上是关于oracle导入错误的主要内容,如果未能解决你的问题,请参考以下文章