oracle 连接greenplum,Oracle通过DBLINK访问GreenPlum

为多个数据库之间的整合和迁移做POC,尝试使用Oracle Gateway和Heterogeneous Service来中转访问,测试过好多次,最终发现只有在32位的Oracle当中才能成功配置。 配置环境如下: Windows 2003 32bit 或 Windows 2008 64bit Oracle10G 32bit 或 Oracle11G 32bit Source and Target:Oracle 或 MySQL 或 PostgreSQL 或 GreenPlum ...... 我的配置方式是使用一台独立终端来作为类似跳转的机器,实际的source db和target db均在其他的主机上,这样至少3台涉及到的主机。 Linux也是可以的,但是现在没实际用到,唯一需要注意的unixODBC版本的问题,因此这里主要描述在Windows2008 DC Server当中访问GreenPlum的配置过程。 0. 安装Oracle Database 注意是含了一个实例,略。 1. 安装psqlodbc驱动 略。 2. 配置ODBC for GreenPlum 注意选择ANSI,使用UNICODE会对char等字符类型的字段无法查询和显示,略。 3. 配置hs sid hs\admin\initgp.ora: HS_FDS_CONNECT_INFO = gp HS_FDS_TRACE_LEVEL = debug 4. 配置hs listener listener.ora: (SID_DESC =   (PROGRAM = dg4odbc)# hsodbc for 10g   (ORACLE_HOME = C:\oracle\product\11.2.0\dbhome_1)   (SID_NAME = gp)   #(ENVS= "LD_LIBRARY_PATH = /usr/lib:/u01/app/oracle/product/10.2.0/db_1/lib") # for linux ) 5. 配置tns tnsnames.ora: gp =   (DESCRIPTION=     (ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))     (CONNECT_DATA=(SID=gp))     (HS=OK)   )  6. 遇到的问题: 6.0. ORA-01017: 用户名/口令无效; 登录被拒绝 SQL> CREATE PUBLIC DATABASE LINK postgresql CONNECT TO dba IDENTIFIED BY "isdba"  USING 'gp'; 数据库链接已创建。 SQL> select * from "a1"@postgresql; select * from "a1"@postgresql                    * 第 1 行出现错误: ORA-01017: 用户名/口令无效; 登录被拒绝 FATAL: no pg_hba.conf entry for host "10.46.182.233", user "DBA", database "loglapdb", SSL off {28000,NativeErr = 210} ORA-02063: 紧接着 2 lines (起自 POSTGRESQL) 这个错误看起来好像非常简单,就是密码错误,问题是已经确认密码无误且可以使用psql登陆,死活不理解什么原因,去查看网关日志如下: Exiting hgoinit, rc=0 at 2013/05/10-13:31:36 Entered hgolgon at 2013/05/10-13:31:36  reco:0, name:DBA, tflag:0 Entered hgosuec at 2013/05/10-13:31:36 Exiting hgosuec, rc=0 at 2013/05/10-13:31:36 HOSGIP for "HS_FDS_RECOVERY_ACCOUNT" returned "RECOVER" HOSGIP for "HS_FDS_TRANSACTION_LOG" returned "HS_TRANSACTION_LOG" HOSGIP for "HS_FDS_TIMESTAMP_MAPPING" returned "DATE" HOSGIP for "HS_FDS_DATE_MAPPING" returned "DATE" HOSGIP for "HS_FDS_CHARACTER_SEMANTICS" returned "FALSE" HOSGIP for "HS_FDS_MAP_NCHAR" returned "TRUE" HOSGIP for "HS_FDS_RESULTSET_SUPPORT" returned "FALSE" HOSGIP for "HS_FDS_RSET_RETURN_ROWCOUNT" returned "FALSE" HOSGIP for "HS_FDS_PROC_IS_FUNC" returned "FALSE" HOSGIP for "HS_FDS_REPORT_REAL_AS_DOUBLE" returned "FALSE"  using DBA as default value for "HS_FDS_DEFAULT_OWNER" HOSGIP for "HS_SQL_HANDLE_STMT_REUSE" returned "FALSE" Entered hgocont at 2013/05/10-13:31:36  HS_FDS_CONNECT_INFO = "gp"  RC=-1 from HOSGIP for "HS_FDS_CONNECT_STRING" Entered hgogenconstr at 2013/05/10-13:31:36  dsn:gp, name:DBA  optn: Entered hgocip at 2013/05/10-13:31:36  dsn:gp Exiting hgocip, rc=0 at 2013/05/10-13:31:36 Exiting hgogenconstr, rc=0 at 2013/05/10-13:31:36 Entered hgopoer at 2013/05/10-13:31:36 后来看到网友也出现了类似的问题,原来是用户名也要用双引号括起来,我们从这里也可以看到传输的用户名是大写的"DBA":  reco:0, name:DBA, tflag:0 但实际上在greenplum当中的确实小写的"dba",包括在定义dblink中的密码也要用双引号,当然还有sourcename。 SQL> drop public database link postgresql; 数据库链接已删除。 SQL> CREATE PUBLIC DATABASE LINK postgresql CONNECT TO "dba" IDENTIFIED BY "isdb a" USING 'gp'; 数据库链接已创建。 SQL> select * from "a1"@postgresql; 未选定行 6.1. 查询指定字段 SQL> Select Name From "t1"@postgresql; Select Name From "t1"@postgresql        * 第 1 行出现错误: ORA-00904: "NAME": 标识符无效 也必须用双引号: SQL> Select Name From "t1"@postgresql; Select Name From "t1"@postgresql        * 第 1 行出现错误: ORA-00904: "NAME": 标识符无效 另外需要注意的在greenplum中都是小写的表名和字段名称。 6.2. ORA-00600: Internal errorcode, arguments:[HO define: Long fetch], [], [], [], [], [], [], [] 查询的时候报错,确认是个hs dg4odbc bug,不过这个bug只是在使用PLD的时候出现,使用SQL*PLUS没有触发,目前我使用的版本是11.2.0.1.0,具体见Bug 4391058,看描述说在11.2已经修复了,怎么我还会遇到呢?有人反馈说使用具体字段列举替代”*“,可是我这边还是无效。 -EOF-

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/392207.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何使用React和Redux前端创建Rails项目

by Mark Hopson马克霍普森(Mark Hopson) 如何使用React和Redux前端(加上Typescript!)创建Rails项目 (How to create a Rails project with a React and Redux front-end (plus Typescript!)) 在Rails项目中使用React和Redux设置单页Javascript App的完整指南。 (A …

分布与并行计算—用任务管理器画CPU正弦曲线(Java)

class drawSin implements Runnable{Overridepublic void run() {final double SPLIT 0.01;// 角度的分割final int COUNT (int) (2 / SPLIT);// 2PI分割的次数,也就是2/0.01个,正好是一周final double PI Math.PI;final int interval 100;// 时间间…

Rails文件上传file_field报错Encoding::UndefinedConversionError

服务器用的是ubuntu12 64bit,环境是ruby1.9.3rails3mysql,测试是在windows2003上。 上传一个【.gitconfig】文件,没有问题,上传【新浪微博数据挖掘.pdf】报错,上传【back.jpg】报错。 下面是两段信息,是从【…

好久不来这里写东西了.

我正准备离开学校去实现自己的目标,很清楚自己在学校的... ...做共享程序员,就不得不考虑些商业上的东西,自己要吃饭啊!我想我是该好好的处理一下这二者的关系. 转载于:https://www.cnblogs.com/wangxiang/archive/2007/01/01/609714.html

Asp.net mvc中使用配置Unity

第一步:添加unity.mvc 第二步:在添加之后会在app_start中生成UnityConfig.cs,UnityMvcActivator.cs 第三步:使用 第四步:效果展示 转载于:https://www.cnblogs.com/WJ--NET/p/7117839.html

顶级数据恢复_顶级R数据科学图书馆

顶级数据恢复Data science is the discipline of making data useful数据科学是使数据有用的学科 When we talk about the top programming language for Data Science, we often find Python to be the best fit for the topic. Sure, Python is undoubtedly an excellent cho…

xp系统oracle数据库,Oracle10g 数据库的安装基于windowsXP

Oracle的安装一、首先去官网下载自身系统相对应的数据库软件http://www.oracle.com/cn/index.htmlOracle软件本身是免费的,个人用途完全没关系,商业用途并被发现才会被Oracle所要求收费,收费买的不是软件,而是授权。何谓授权&…

了解React Native中的不同JavaScript环境

by Khoa Pham通过Khoa Pham 了解React Native中的不同JavaScript环境 (Get to know different JavaScript environments in React Native) React Native can be very easy to get started with, and then at some point problems occur and we need to dive deep into it.Reac…

分布与并行计算—生命游戏(Java)

生命游戏其实是一个零玩家游戏,它包括一个二维矩形世界,这个世界中的每个方格居住着一个活着的或死了的细胞。一个细胞在下一个时刻生死取决于相邻八个方格中活着的或死了的细胞的数量。如果相邻方格活着的细胞数量过多,这个细胞会因为资源匮…

正确认识 Vista 激活期限

当我们在安装 Vista 时,可以不输入序列号进行安装,这和以往的操作系统安装有所不同,我们不必再为安装系统时找不到我们的序列号标签而发愁。如果不输入序列号而继续安装系统,那么系统将提示我们有30天的激活期限!这里的…

Oracle使用hs odbc连接mssql2008

1.创建odbc 2.在 product\11.2.0\dbhome_1\hs\admin\ 下拷贝initdg4odbc,把名字改为initcrmsql(init所建odbc的名称) HS_FDS_CONNECT_INFO crmsql #odbc名称 HS_FDS_TRACE_LEVEL 0 HS_FDS_RECOVERY_ACCOUNTsa #要连接的数据库名称 HS_FDS_RECOVERY_PWD…

oracle修改物化视图字段,获取物化视图字段的修改矢量(一)

当表建立了物化视图日志之后,表的DML修改会被记录到物化视图日志中,而物化视图日志则包含了一个修改矢量,来记录哪个列被修改。在文章列的修改矢量可以通过2的N次方来获得,也就是POWER(2, N)。而N的值,就是列的位置。但…

聚合 数据处理_R中聚合的简介:强大的数据处理工具

聚合 数据处理by Satyam Singh Chauhan萨蒂扬辛格乔汉(Satyam Singh Chauhan) R中聚合的简介:强大的数据处理工具 (An introduction to aggregates in R: a powerful tool for playing with data) Data Visualization is not just about colors and graphs. It’s …

大数据 notebook_Dockerless Notebook:数据科学期待已久的未来

大数据 notebookData science is hard. Data scientists spend hours figuring out how to install that Python package on their laptops. Data scientists read many pages of Google search results to connect to that database. Data scientists write a detailed docume…

【NGN学习笔记】6 代理(Proxy)和背靠背用户代理(B2BUA)

1. 什么是Proxy模式? 按照RFC3261中的定义,Proxy服务器是一个中间的实体,它本身即作为客户端也作为服务端,为其他客户端提供请求的转发服务。一个Proxy服务器首先提供的是路由服务,也就是说保证请求被发到更加”靠近”…

分布与并行计算—并行计算π(Java)

并行计算π public class pithread extends Thread {private static long mini1000000000;private long start,diff;double sum0;double cur1/(double)mini;public pithread(long start,long diff) {this.startstart;this.diffdiff;}Overridepublic void run() {long istart;f…

linux复制文件跳过相同,Linux cp指令,怎么跳过相同的文件

1、使用cp命令的-n参数即可跳过相同的文件 。2、cp命令使用详解:1)、用法:cp [选项]... [-T] 源文件 目标文件或:cp [选项]... 源文件... 目录或:cp [选项]... -t 目录 源文件...将源文件复制至目标文件,或将多个源文件…

eclipse类自动生成注释

1.创建新类时自动生成注释 window->preference->java->code styple->code template 当你选择到这部的时候就会看见右侧有一个框显示出code这个选项,你点开这个选项,点一下他下面的New …

rman恢复

--建表create table sales( product_id number(10), sales_date date, sales_cost number(10,2), status varchar2(20));--插数据insert into sales values (1,sysdate-90,18.23,inactive);commit; --启用rman做全库备份 运行D:\autobackup\rman\backup_orcl.bat 生成…

微软大数据_我对Microsoft的数据科学采访

微软大数据Microsoft was one of the software companies that come to hire interns at my university for 2021 summers. This year, it was the first time that Microsoft offered any Data Science Internship for pre-final year undergraduate students.微软是到2021年夏…