首页 > 数据库 >从达梦数据库到Oracle数据库的性能测试数据迁移和导入优化

从达梦数据库到Oracle数据库的性能测试数据迁移和导入优化

时间:2023-09-01 18:11:49浏览次数:40  
标签:从达 数据库 导出 视图 导入 file Oracle

为了在同样的数据基础上对比达梦数据库和Oracle数据库的业务性能,我们需要将达梦数据库的数据导入到Oracle数据库中。本文将提供一种思路来解决导入过程中遇到的问题及存在问题记录。

数据库版本信息

  • 源数据库:达梦数据库(DM) V8
  • 目标数据库:Oracle数据库 V11.2.0.4

导出达梦数据库的数据

首先,将达梦数据库中的数据导出为 .dmp 文件格式。

导入数据到Oracle数据库

在完成达梦数据库的数据导出后,我们将尝试将数据导入到目标Oracle数据库中。然而,直接使用impdp命令导入时出现以下错误:

Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORA-39001: invalid argument value
ORA-39000: bad dump file specification
ORA-31619: invalid dump file "/u01/app/oracle/admin/orcl/dpdump/Vxxx_XXX_0816.dmp"

为了解决这个问题,我们可以尝试使用达梦数据库的迁移工具将数据导入到Oracle数据库。然而,根据反馈,有两个表和300多个视图导入失败,导致该数据库也不可用。

为了解决这个问题,我们将采取以下步骤:

1. 在功能测试环境中导出迁移后的Oracle数据库所缺失的视图和表。

  • 导出视图:使用expdp命令导出视图数据。命令示例如下:
expdp $username/$passwd@$ORACLE_SID DIRECTORY=DATA_PUMP_DIR DUMPFILE=$dumpfile.dmp LOGFILE=$dumpfile.log SCHEMAS=$schemas INCLUDE=VIEW
请替换以下参数:
$username:数据库用户名
$passwd:数据库用户密码
$ORACLE_SID:数据库实例名
$dumpfile:导出的文件名(与 $schemas 相同)
$schemas:需要导出的用户名
  • 导出多表:使用exp命令导出多个表的数据。命令示例如下:
exp $username/$passwd@$ORACLE_SID file=/$file_path/$file_name.dmp tables=table1,table2,...
请替换以下参数:
$username:数据库用户名
$passwd:数据库用户密码
$ORACLE_SID:数据库实例名
$file_path:导出文件的路径
$file_name:导出文件名称
tables=table1,table2,...:要导出的表名列表,以逗号分隔

2. 将导出的视图和表数据导入到迁移后的Oracle数据库中。

  • 导入视图:使用impdp命令导入视图数据。命令示例如下:
impdp $username/$passwd@$ORACLE_SID DIRECTORY=DATA_PUMP_DIR DUMPFILE=$dumpfile.dmp LOGFILE=$dumpfile.log REMAP_SCHEMA=$fromUser:$toUser
请替换以下参数:
$username:数据库用户名
$passwd:数据库用户密码
$ORACLE_SID:数据库实例名
$dumpfile:导入的文件名
$fromUser:导出数据库用户名
$toUser:导入数据库用户名
  • 导入多表:使用imp命令导入多个表的数据。命令示例如下:
imp $username/$passwd file=/$file_path/$file_name.dmp log=/$log_path/$log_name.log fromuser=$fromuser
请替换以下参数:
$username:数据库用户名
$passwd:数据库用户密码
$file_path:导入文件的路径
$file_name:导入文件名称
$log_path:导入日志的路径
$log_name:导入日志名称
$fromuser:导出数据库用户名

通过以上步骤,将导入失败的视图和表从功能测试环境中导出,并将其导入到迁移后的Oracle数据库中。

但是,启动应用服务,仍存在缺失相关视图或语法方面的报错。尝试先将导出的视图和表导入新建的数据库用户,再导入从达梦服务导出的数据库,缺失相关视图或语法方面的问题仍然存在。

根据Oracle数据可以成功导入达梦,而达梦导入Oracle却存在报错。足以说明:达梦做到去兼容Oracle,但Oracle却没去兼容达梦。

考虑到再继续付出时间、精力去研究导入数据库启动服务失败的问题,不一定能够解决该问题,且产出比较低。只好在达梦数据库重造性能测试数据。

总结

本文介绍了在对比达梦数据库和Oracle数据库的业务性能时,如何将达梦数据库的数据导入到Oracle数据库中。我们通过导出.dmp文件并利用达梦数据库的迁移工具,进行数据库的导入。但由于Oracle未对达梦进行兼容适配,导致最终的结果还是失败。

标签:从达,数据库,导出,视图,导入,file,Oracle
From: https://www.cnblogs.com/n00dle/p/17635421.html

相关文章

  • 数据库敏感字段加解密便捷方式
    因为项目临时新加需求对数据库的敏感字段加解密,需要对项目的整体代码进行修改,可愁怀我了在网上发现有注解的方式可以进行针对字段加解密,感兴趣的可以去看原作者的文章https://blog.csdn.net/u012954706/article/details/105437768#comments我这里只是留下备档防止文章不见了,你们......
  • 达梦数据库:第一章:MySQL数据库与达梦数据库的区别
    达梦数据库管理系统是达梦公司推出的具有完全自主知识产权的高性能数据库管理系统,简称DM,它具有如下特点:1、通用性达梦数据库管理系统兼容多种硬件体系,可运行于X86、X64、SPARC、POWER等硬件体系之上。DM各种平台上的数据存储结构和消息通信结构完全一致,使得DM各种组件在不同的硬......
  • 什么是数据库
    数据库是一种用于有效地存储、组织、管理和检索数据的结构化集合或系统。它是计算机科学和信息技术领域中的重要概念,通常用于在计算机系统中持久地存储和管理大量数据。数据库可以容纳各种类型的数据,例如文本、数字、图像、音频和视频等。数据库系统通常包括以下关键组件:数据:......
  • 什么是关系型数据库
    关系型数据库(RelationalDatabase)是一种数据库类型,它以表格(表)的形式组织和存储数据,并使用关系代数来处理数据之间的关系。这种类型的数据库使用了一种称为结构化查询语言(SQL)的标准查询语言来管理和查询数据。关系型数据库的主要特点包括:表格结构:数据以表格的形式组织,每个表格......
  • winform,c#左链接查询两张表或多张表,数据库正常,但是发现查出来的同一条记录变成了好几
    这个样子就是犯了笛卡尔积,我有两张表那我自己项目来说一下吧:a表的内容如下: b表的内容如下: 到这里,你会发现,又五六个字段内容是一模一样的,该字段两张表都用,那么查询出来数据翻倍就很好解决了在where后面加上a.字段1=b.字段1and......anda.字段n=b.字段n就可以了......
  • 8月《中国数据库行业分析报告》已发布,聚焦数据仓库、首发【全球数据仓库产业图谱】
    为了帮助大家及时了解中国数据库行业发展现状、梳理当前数据库市场环境和产品生态等情况,从2022年4月起,墨天轮社区行业分析研究团队出品将持续每月为大家推出最新《中国数据库行业分析报告》,持续传播数据技术知识、努力促进技术创新与行业生态发展,目前已更至第十六期,并发布了共计1......
  • dbeaver连接国产数据库highgo
    一、下载jar包HgdbJdbc,找项目中的jar包即可。 二、配置模板驱动名:Highgo类名:com.highgo.jdbc.DriverURL模板:jdbc:highgo://{host}:{port}/{database}端口:5866默认数据库:highgo ......
  • oracle配置sde函数库
    1、创建sde用户并授权dropusersdecascade;createusersdeidentifiedbycabletech;grantcreateuser,dropuser,alteruser,createanyview,connect,resource,dba,createsession,createanysequencetosde;grantalteranyindextoSDE;grantaltersystemtoSD......
  • mysql数据库运行sql:datetime(0) NULL DEFAULT NULL报错【杭州多测师_王sir】
     一、错误信息CREATETABLE`file`(`id`varchar(32)CHARACTERSETutf8mb4COLLATEutf8mb4_general_ciNOTNULLCOMMENT'文件md5',`name`varchar(128)CHARACTERSETutf8mb4COLLATEutf8mb4_general_ciNOTNULL,`create_time`datetime(0)NULLDEFA......
  • oracle 的 sqlplus 执行连接无反应
    背景:oracle集群突然出现了个事情,说是执行语句多给卡住了,然后sqlplus/assysdba 都没反应了,但是监听端口什么的也都还在解决过程:只能杀进程了,杀掉卡住的进程是最好的办法,下面是执行的语句ps-ef|grep"oracle"|grep "LOCAL=NO" |awk'{print$2}'|xargs kill-9两个......