首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
拉勾
V2EX  ›  程序员

Oracle 表结构有办法导入 PostgreSQL 吗?或如何快速导出不带数据的表结构?

  •  
  •   elsagong · 200 天前 · 2202 次点击
    这是一个创建于 200 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大家晚上好,咨询下数据库大神:Oracle 数据库有办法将表结构导入 PostgreSQL 吗?才接触 oracle,一头雾水。

    目的不是迁移数据库,而是本地程序调用第三方软件 Oracle 中的数据,从而显示 Oracle 中的实时数据。

    如果不能直接导表结构到 PostgreSQL,如何才能快速导出不带数据的表结构?上百个表单,17GB 多的数据。。。先提前感谢了~💐🍻

    38 回复  |  直到 2018-09-06 15:55:27 +08:00
        1
    liprais   200 天前
    这俩数据库 ddl 不兼容,别想了
        2
    elsagong   200 天前
    @liprais 那我可以光把表结构导出来吗?不导数据,想先了解数据库结构,在 PostgreSQL 中建立一模一样的表名和字段,再利用 Django 的 multi-db 来访问 oracle 数据库
        3
    tenwx   200 天前
        4
    wqawd520   200 天前
    在 plsql 中找到那个表,右键 viewTable 还是什么的,就是打开表结构,最右面有个 viewSql,点击按钮,就会出现表结构语句。修改修改就能用了
        5
    liprais   200 天前
        6
    beginor   200 天前 via Android
    能连多种数据库的工具基本上都有这功能吧,navicat,database.net
        7
    elsagong   200 天前 via iPhone
    @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   200 天前 via iPhone
    @wqawd520 可能是我表述不太清楚,我想导 oracle 数据库的表结构,大哥,你让我在 psql 里改什么表😂
        9
    wtks1   200 天前 via Android
    @elsagong 他的意思是让你在那里看建表语句,然后自己改改再用到新的数据库里
        10
    singerll   200 天前 via Android
    etl 工具,就是干这个活的
        11
    oracle128g   200 天前 via iPhone
    kettle 完美解决您的问题
        12
    bpllzbh   200 天前 via iPhone
    好像有个叫 spoon 的工具
        13
    weizhen199   200 天前
    试试 datax
        14
    elsagong   199 天前
    天呐,四个人推荐四种方法,有一样重复也好啊!我要凌乱了
        15
    elsagong   199 天前
    @oracle128g 我下载他们官网的安装包,按照安装步骤来双击 Data Integration,Mac 系统下没有一点反应😂这个软件是不是下线了😂
        16
    miniliuke   199 天前 via Android
    @elsagong spoon 就是 kettle,kettle 图形界面就叫 spoon
        17
    miniliuke   199 天前 via Android
    @elsagong 还有 kettle 就是一种 etl 工具
        18
    saulshao   199 天前
    我记得 Django 有一个功能,允许你从现有的数据库生成模型文件。
    这个模型文件就是标准的 Python 代码,从这个代码按道理是可以将这个结构生成到 PLSQL 的。
        19
    elsagong   199 天前 via iPhone
    @wtks1 我有一百多个表,建表语句直接在 SQL developer 表单 view 里的 SQL 就能直接看到,我想一次性全部导出表单结构
        20
    elsagong   199 天前 via iPhone
    @saulshao 我搜搜看,谢谢你啦
        21
    elsagong   199 天前
    @miniliuke 明白了,谢谢你,这个软件还是安装不到我的系统里,我不得不搜索其他方法了。。。
        22
    totland   199 天前
    exp rows=n sqlfile=xx.sql
        23
    miniliuke   199 天前 via Android
    @elsagong 这个软件不需要安装绿色的.......
        24
    pythonee   199 天前
    迁移服务是个专业性比较强的活
        25
    TommyLemon   199 天前
    试试 Navicat,不行的话就写代码吧,读取 Oracle 的表结构,生成 PostgreSQL 的 DDL 并连接 PostgreSQL 数据库来执行
        26
    mingl0280   199 天前
    Navicat Premium 支持互导,但是会出很多错
        27
    yanzixuan   199 天前
    @saulshao 那你得先搞到 oracle 得表结构,sqlacdodegen 了解一下?
        28
    likuku   199 天前 via iPhone
    有专业公司提供付费迁移的服务的,以前基于 pg 的 enterprise database 产品和公司 记得就是干这个事
        30
    elsagong   199 天前 via iPhone
    @pythonee 目的不是迁移数据库,而是本地程序调用第三方软件 Oracle 中的数据,从而显示 Oracle 中的实时数据。
        31
    elsagong   199 天前
    @oracle128g @miniliuke 感谢二位,这个软件针对 Mac 系统的安装真的有点奇葩,我就是从官方下载的,按步骤双击文件安装无反应,通过 brew install 安装好了,在终端 /命令行捣鼓了半天,就是无法进入 kettler 输入命令的地方。无论如何,现在已经安装好,在研究怎么导表格了,通过这个文章解决的,竟然要来回拖拽两次到程序目录😂http://www.page.keyllo.com/mac/linux/2017/05/25/mac-kettle.html
        32
    elsagong   199 天前
    @yanzixuan 我搜搜,谢谢你啦,@totland 谢谢你,不过 `exp rows=n sqlfile=xx.sql` 这样导应该和手动 export 导出一样吧?是带了表中数据的,总共 17.6GB ,我的小本本还没导到天荒地老,恐怕电脑就挂😂不行哦 @mingl0280 @TommyLemon 感谢对于 Navicat 的建议,我安装好了 kettle,先研究这个方法了,虽然官方文档不太友好😑
        33
    oracle128g   199 天前 via iPhone
    @elsagong 在软件菜单栏工具选项中有个叫向导的东西,里面官方提供了单表和多表复制向导,你可以试试,不过得先创建好 2 个数据库连接这个选项才是 enabled
        34
    elsagong   199 天前 via iPhone
    @oracle128g 嗯嗯,下午一直在导,谢谢你哦,就是有几个表导入失败,就跳过导其他了,你知道怎么导入不带数据的表结构吗?原数据太多,我想只导表和字段就好
        35
    iwiki   199 天前
    navicat 试试
        36
    fyourm   198 天前
    navicat 有一个数据同步功能,我的项目里有个定时任务,每天从 PostgreSQL 里同步一张表的数据到 oracle,反过来没有试过
        37
    elsagong   197 天前 via iPhone
    @fyourm 嗨,咨询一下你,两个数据库的数据同步,是不是表名和字段设置全部要一模一样
        38
    elsagong   197 天前 via iPhone
    @oracle128g 嗨,外键等关系是不是没有办法导过来?
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1665 人在线   最高记录 4385   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 21ms · UTC 00:49 · PVG 08:49 · LAX 17:49 · JFK 20:49
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1