• ora2pg的安装与使用


    ora2pg是一款可以方便将oracle内的数据导出并转换成pgsql格式的工具。它支持导出表,视图,序列等,十分强大,下面介绍它的安装与使用:
     
    安装ora2pg需要以下三个软件支持
      1)、DBD::Oracle
      2)、DBI
      3)、Ora2pg
    要求:perl版本5.8以上
    查看perl版本
      perl -v
    1、首先安装依赖包
      
       yum install perl-DBI perl-DBD-Pg perl-ExtUtils-MakeMaker gcc
      wget http://search.cpan.org/CPAN/authors/id/P/PY/PYTHIAN/DBD-Oracle-1.74.tar.gz
      tar -zxvf DBD-Oracle-1.74.tar.gz
      cd DBD-Oracle-1.74
      source /home/oracle/.bash_profile
      perl Makefile.PL -l
      make
      make install        
    

      

     
    2、安装 ora2pg包
      下载地址:https://sourceforge.net/projects/ora2pg/files/?source=navbar
      解压文件
      
      tar -jxvf ora2pg-18.2.tar.bz2
      cd ora2pg-18.2
      perl Makefile.PL
      make
      make install
      默认安装在/usr/local/bin/目录下
    3、配置
     
    ORACLE_DSN dbi:Oracle:host=192.168.0.153;sid=orcl
    ORACLE_USER system
    ORACLE_PWD highgo
    SCHEMA TEST (注意要大写,否则匹配不到)
    TYPE TABLE DATA 设置导出的内容
    allow emp 导出TEEST下面的emp表 如果需要让数据自动导入到PostgreSQL中,则需要同时配置关于连接PostgreSQL的相关信息,配置类似上面Oracle的配置,如下: PG_DSN dbi:Pg:dbname
    =test_db;host=192.168.100.106;port=5432 PG_USER test PG_PWD highg

    4、使用

    ora2pg -c /etc/ora2pg.conf

    vim /etc/ora2pg/ora2pg.conf
    -d | --debug :启用详细输出。   -h | --help :打印出简单的帮助信息。   -v | --version :显示Ora2Pg的版本。   -c | --conf file :使用另一个替代的配置文件,默认是/etc/ora2pg/ora2pg.conf。   -l | --log file :使用一个日志文件,默认是标准输出。   -o | --out file :指定导出的SQL脚本文件的路径,默认是当前目录下。   -t | --type export :指定导出格式。覆盖配置文件中指定的TYPE。   -p | --plsql :启用PLSQL到PLPSQL码的转换。   -s | --source dsn :设置Oracle DBI数据源。   -u | --user user :设置连接Oracle的用户名。   -w | --password pass :设置Oracle用户密码。   -n | --namespace schema :设置用于提取的Oracle模式名称。   -b | --basedir dir :设置默认的输出文件目录,输出的文件将被保存到该目录。   -x | --xtable relname :用于显示给定表的列名,仅在TYPE为SHOW_COLUMN时使用。   -f | --forceowner :如果设置为1将促使Ora2Pg设置表和序列的所有者。如果将其值设置为一个用户名会被设定为对象的所有者。   --nls_lang code :设置Oracle NLS_LANG客户端编码。   --client_encoding code :设置PostgreSQL客户端编码。   -i | --input_file file :文件包含在没有Oracle数据库连接发起时Oracle PL/SQL代码的转换。  

    如果出现以下错误

    请不要惊慌,耐心等待即可

     5、将导出的文件导入pgsql数据库

      首先创建一个test_db数据库,再创建一个test用户,在test_db数据库下以超级用户创建一个schema,并将该schema的权限者设为test,最后以test用户在test_db数据库下导入数据脚本:

    $ psql  
    postgres=# CREATE DATABASE test_db;  
    postgres=# CREATE USER test password ‘highgo’;  
    postgres=# c test_db  
    test_db=# CREATE schema test authorization test;  
    test_db=# c test_db test  
    test_db=> i /root/output.SQL 
     

  • 相关阅读:
    对于现有的无人零售技术的调研
    HTTP协议学习
    通过spring提供的DeferredResult实现长轮询服务端推送消息
    Optional int parameter 'topicId' is present but cannot be translated into a null value
    fastJson泛型如何转换
    @RequestParam 的简单用法
    Docker学习记录
    待研究
    Postgresql查询时不区分大小写
    认证授权系统代码结构
  • 原文地址:https://www.cnblogs.com/alighie/p/7834136.html
Copyright © 2020-2023  润新知