oracle迁移postgres之-oracle_fdw
export ORACLE_HOME=/u01/app/oracle export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH export PATH=${PATH}:${ORACLE_HOME}/bin/
--下载 : http://pgxn.org/dist/oracle_fdw/
[root@sdserver40_222 contrib]# unzip oracle_fdw-1.5.0.zip [root@sdserver40_222 contrib]# cd oracle_fdw-1.5.0 --查看pg_config是否在对应PGHOME/bin目录下。编译后会在对应的目录下面 [root@sdserver40_222 oracle_fdw-1.5.0]# which pg_config /opt/pgsql/bin/pg_config [root@sdserver40_222 oracle_fdw-1.5.0]# make [root@sdserver40_222 oracle_fdw-1.5.0]# make install [root@sdserver40_222 oracle_fdw-1.5.0]# cd /opt/pgsql/lib [root@sdserver40_222 lib]# ll oracle_fdw.so -rwxr-xr-x 1 root root 151893 Oct 18 14:11 oracle_fdw.so 编译成功会在PGHOME/lib目录下会生成 oracle_fdw.so。
[root@sdserver40_222 lib]# cd /u01/app/oracle/lib/ [root@sdserver40_222 lib]# ll libclntsh.so.11.1 -rwxr-xr-x 1 oracle oinstall 48725761 Jul 26 14:12 libclntsh.so.11.1 [root@sdserver40_222 lib]# cp libclntsh.so.11.1 /opt/pgsql/lib [root@sdserver40_222 lib]# cd /opt/pgsql/lib [root@sdserver40_222 lib]# ll libclntsh.so.11.1 -rwxr-xr-x 1 root root 48725761 Oct 18 14:50 libclntsh.so.11.1
在psql中,使用超级用户:
postgres=# create extension oracle_fdw; CREATE EXTENSION postgres=# \dx List of installed extensions Name | Version | Schema | Description -------------+---------+------------+---------------------------------------- oracle_fdw | 1.1 | public | foreign data wrapper for Oracle access pgstattuple | 1.3 | public | show tuple-level statistics plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language
postgres=# CREATE SERVER oradb FOREIGN DATA WRAPPER oracle_fdw OPTIONS (dbserver 'ora229'); CREATE SERVER -- 将server oradb付给用户 postgres=# GRANT USAGE ON FOREIGN SERVER oradb TO lottu; GRANT --关联用户(oracle->postgres) postgres=# CREATE USER MAPPING FOR postgres SERVER oradb OPTIONS (user 'lottu', password 'li0924'); CREATE USER MAPPING
SQL> select * from oratab; no rows selected SQL> insert into oratab select level,'lottu'||level from dual connect by level <=5; 5 rows created. SQL> commit; Commit complete.
postgres=# CREATE FOREIGN TABLE lottu(id int options(key 'true'), name varchar(20)) SERVER oradb OPTIONS (schema 'LOTTU', table 'ORATAB'); CREATE FOREIGN TABLE postgres=# select * from lottu; id | name ----+-------- 1 | lottu1 2 | lottu2 3 | lottu3 4 | lottu4 5 | lottu5
--oracle SQL> insert into oratab values (1001,'li0924'); 1 row created. SQL> commit; Commit complete.
--postgres postgres=# delete from lottu where id = 1; DELETE 1 postgres=# select * from lottu; id | name ------+-------- 2 | lottu2 3 | lottu3 4 | lottu4 5 | lottu5 1001 | li0924
oracle迁移postgres之-oracle_fdw的更多相关文章
- oracle迁移postgres之-Ora2Pg
描述 Ora2Pg:甲骨文PostgreSQL数据库模式转换器是一个免费的工具用于Oracle数据库迁移到PostgreSQL兼容模式.它连接Oracle数据库,扫描它自动提取其结构或数据,然后生成S ...
- 阿里云如何打破Oracle迁移上云的壁垒
2018第九届中国数据库技术大会,阿里云数据库产品专家萧少聪带来以阿里云如何打破Oracle迁移上云的壁垒为题的演讲.Oracle是指“数据库管理系统”,面对Oracle迁移上云的壁垒,阿里云如何能够 ...
- 适用MySQL Migration Toolkit 1.0 将oracle迁移到mysql中遇到的问题
这里主要说一下我在适用中碰到的问题,主要过程参考 http://www.cnblogs.com/duwenlei/p/3520759.html. 首先启动MySQLMigrationTool.exe ...
- 使用Microsoft SQL Server Migration Assistant for Oracle迁移数据库
前言:使用Microsoft SQL Server Migration Assistant for Oracle迁移Oracle数据库到SqlServer数据库. 准备:Oracle11g.SqlSe ...
- 使用navicat premium将数据库从Oracle迁移到SQL Server,或从Oracle迁移到MySQL
有时候我们有迁移数据库的需求,例如从Oracle迁移到SQL Server,或者从MySQL迁移到Oracle. 很多江湖好汉一时不知如何手工操作,所幸的是Navicat提供了迁移的自动化操作界面. ...
- Oracle迁移到MySQL性能下降的注意点(转)
背景:最近有较多的客户系统由原来由Oracle改造到MySQL后出现了性能问题CPU 100%,或是后台的CRM系统复杂SQL在业务高峰的时候出现堆积导致业务故障.在我的记忆里面淘宝最初从Oracle ...
- 从Oracle迁移到MySQL的各种坑及自救方案
当企业内部使用的数据库种类繁杂时,或者有需求更换数据库种类时,都可能会做很多数据迁移的工作.有些迁移很简单,有些迁移可能就会很复杂,大家有没有考虑过为了顺利完成复杂的数据库迁移任务,都需要考虑并解决哪 ...
- 怎么将数据库从Oracle迁移到SQL Server,或从Oracle迁移到MySQL
有时候我们有迁移数据库的需求,例如从Oracle迁移到SQL Server,或者从MySQL迁移到Oracle. 很多江湖好汉一时不知如何手工操作,所幸的是Navicat提供了迁移的自动化操作界面. ...
- oracle、postgres、mysql数据库的建库、创建用户、导人导出备份总结
本文包含的内容:使用命令操作oracle.postgres.mysql的导入导出,登录到数据,创建用户 注:我在公司使用的是Center OS操作系统,所以oracle和postgres均是在Linu ...
随机推荐
- HTML5 history新特性pushState、replaceState
DOM中的window对象通过window.history方法提供了对浏览器历史记录的读取,让你可以在用户的访问记录中前进和后退. 从HTML5开始,我们可以开始操作这个历史记录堆栈. 1.Histo ...
- js == 与 === 的区别,‘’与“”的区别
js == 与 === 的区别 1.对于string,number等基础类型,==和===是有区别的 1)不同类型间比较,==之比较"转化成同一类型后的值"看"值&quo ...
- python基础3
一.文件操作:打开文件:f = open("db", "r") #只读f = open("db", "w") #只写,注 ...
- mysql临时禁用触发器
mysql支持设定session变量,并且有带入到触发器中使用的能力,故可以间接的设置触发器失效 思路是: 在执行前设定一个session变量,执行过程中判断该变量的值(没有设定该变量的值时该变量默认 ...
- .net使用pdfobject.js加载pdf文件
1.下载pdfobject.js文件 2. <script type="text/javascript" src="<%= Application[" ...
- web前端开发培训和自学 哪种选择更适合你
web前端相对于其他软件开发是比较容易入门的,但是如果深入学习就比较困难了,这门技能需要从业人员掌握一定的设计.代码.交互技能和一些SEO技能,容易入门还涉及这么多知识和技能,那学习web前端开发到底 ...
- linear-gradient----渐变
CSS3 渐变(gradient)可以让你在两个或多个指定的颜色之间显示平稳的过渡. 以前,你必须使用图像来实现这些效果,现在通过使用 CSS3 的渐变(gradients)即可实现.此外,渐变效果的 ...
- [SharePoint 2010] Modify lookup mapping with PowerShell
SharePoint支持将列表保存成列表模板,但当列表包含Lookup字段时,通过模板创建的列表会丢失Lookup字段的信息. 通过PowerShell,可以修改Lookup字段的xml内容. Fun ...
- DataTables样式
Styling 官方链接 AdminLTE HTML代码 <div class="row"> <div class="col-xs-12"&g ...
- xtrabackup备份rds记录
在执行最后一步时 mysqld_safe --defaults-file=/home/mysql/data/backup-my.cnf --user=mysql --datadir=/home/mys ...