大家晚上好,咨询下数据库大神:Oracle 数据库有办法将表结构导入 PostgreSQL 吗?才接触 oracle,一头雾水。
目的不是迁移数据库,而是本地程序调用第三方软件 Oracle 中的数据,从而显示 Oracle 中的实时数据。
如果不能直接导表结构到 PostgreSQL,如何才能快速导出不带数据的表结构?上百个表单,17GB 多的数据。。。先提前感谢了~💐🍻
1
liprais 2018-09-03 22:50:20 +08:00
这俩数据库 ddl 不兼容,别想了
|
2
elsagong OP @liprais 那我可以光把表结构导出来吗?不导数据,想先了解数据库结构,在 PostgreSQL 中建立一模一样的表名和字段,再利用 Django 的 multi-db 来访问 oracle 数据库
|
3
tenwx 2018-09-03 23:05:59 +08:00
阿里云的 DTS 数据传输服务了解一下 https://www.aliyun.com/product/dts,支持异构数据库实时迁移和同步
|
4
wqawd520 2018-09-03 23:19:15 +08:00
在 plsql 中找到那个表,右键 viewTable 还是什么的,就是打开表结构,最右面有个 viewSql,点击按钮,就会出现表结构语句。修改修改就能用了
|
5
liprais 2018-09-03 23:55:46 +08:00
|
6
beginor 2018-09-04 06:23:28 +08:00 via Android
能连多种数据库的工具基本上都有这功能吧,navicat,database.net
|
7
elsagong OP @liprais 真的尝试搜索了很多了,可能是搜索的关键词不对?感谢你发我链接,我注意到有句“ Depending on the tool you are using, you may need to run set long 10000 first, that tells SQL*Plus to display the first 10,000 bytes of any LOB that is selected. If your DDL is longer, set a larger value.” 我有 17.6GB 的数据,岂不是要执行 set long 176000000..bytes ?我看到里面讲述的是显示表单里的的所有行吗?没有看到有导出的 SQL 语句。。。
|
8
elsagong OP @wqawd520 可能是我表述不太清楚,我想导 oracle 数据库的表结构,大哥,你让我在 psql 里改什么表😂
|
10
singerll 2018-09-04 08:31:15 +08:00 via Android
etl 工具,就是干这个活的
|
11
oracle128g 2018-09-04 08:40:44 +08:00 via iPhone
kettle 完美解决您的问题
|
12
bpllzbh 2018-09-04 08:43:19 +08:00 via iPhone
好像有个叫 spoon 的工具
|
13
weizhen199 2018-09-04 08:46:25 +08:00
试试 datax
|
14
elsagong OP 天呐,四个人推荐四种方法,有一样重复也好啊!我要凌乱了
|
15
elsagong OP @oracle128g 我下载他们官网的安装包,按照安装步骤来双击 Data Integration,Mac 系统下没有一点反应😂这个软件是不是下线了😂
|
18
saulshao 2018-09-04 09:27:27 +08:00
我记得 Django 有一个功能,允许你从现有的数据库生成模型文件。
这个模型文件就是标准的 Python 代码,从这个代码按道理是可以将这个结构生成到 PLSQL 的。 |
19
elsagong OP @wtks1 我有一百多个表,建表语句直接在 SQL developer 表单 view 里的 SQL 就能直接看到,我想一次性全部导出表单结构
|
22
totland 2018-09-04 10:04:53 +08:00
exp rows=n sqlfile=xx.sql
|
24
pythonee 2018-09-04 10:44:45 +08:00
迁移服务是个专业性比较强的活
|
25
TommyLemon 2018-09-04 11:17:46 +08:00
试试 Navicat,不行的话就写代码吧,读取 Oracle 的表结构,生成 PostgreSQL 的 DDL 并连接 PostgreSQL 数据库来执行
|
26
mingl0280 2018-09-04 11:33:38 +08:00
Navicat Premium 支持互导,但是会出很多错
|
28
likuku 2018-09-04 12:56:56 +08:00 via iPhone
有专业公司提供付费迁移的服务的,以前基于 pg 的 enterprise database 产品和公司 记得就是干这个事
|
29
oracle128g 2018-09-04 13:16:44 +08:00
|
30
elsagong OP @pythonee 目的不是迁移数据库,而是本地程序调用第三方软件 Oracle 中的数据,从而显示 Oracle 中的实时数据。
|
31
elsagong OP @oracle128g @miniliuke 感谢二位,这个软件针对 Mac 系统的安装真的有点奇葩,我就是从官方下载的,按步骤双击文件安装无反应,通过 brew install 安装好了,在终端 /命令行捣鼓了半天,就是无法进入 kettler 输入命令的地方。无论如何,现在已经安装好,在研究怎么导表格了,通过这个文章解决的,竟然要来回拖拽两次到程序目录😂http://www.page.keyllo.com/mac/linux/2017/05/25/mac-kettle.html
|
32
elsagong OP @yanzixuan 我搜搜,谢谢你啦,@totland 谢谢你,不过 `exp rows=n sqlfile=xx.sql` 这样导应该和手动 export 导出一样吧?是带了表中数据的,总共 17.6GB ,我的小本本还没导到天荒地老,恐怕电脑就挂😂不行哦 @mingl0280 @TommyLemon 感谢对于 Navicat 的建议,我安装好了 kettle,先研究这个方法了,虽然官方文档不太友好😑
|
33
oracle128g 2018-09-04 15:26:36 +08:00 via iPhone
@elsagong 在软件菜单栏工具选项中有个叫向导的东西,里面官方提供了单表和多表复制向导,你可以试试,不过得先创建好 2 个数据库连接这个选项才是 enabled
|
34
elsagong OP @oracle128g 嗯嗯,下午一直在导,谢谢你哦,就是有几个表导入失败,就跳过导其他了,你知道怎么导入不带数据的表结构吗?原数据太多,我想只导表和字段就好
|
35
iwiki 2018-09-04 21:48:55 +08:00
navicat 试试
|
36
fyourm 2018-09-05 09:01:19 +08:00
navicat 有一个数据同步功能,我的项目里有个定时任务,每天从 PostgreSQL 里同步一张表的数据到 oracle,反过来没有试过
|
38
elsagong OP @oracle128g 嗨,外键等关系是不是没有办法导过来?
|