在GBase 8c 上建立外表时,不会在Oracle 数据库中同步建表,需要自行在Oracle 数据
库中建表。
执行CREATE USER MAPPING 时使用的Oracle 用户需要有远程连接Oracle 数据库及
对表相关操作的权限。使用外表前,可以在GBase 8c server 所在的机器上,使用Oracle
的客户端,使用对应的用户名密码确认能否成功连接Oracle 并进行操作。
执行CREATE EXTENSION oracle_fdw;时,
报错显示类似
“ERROR: could not load library
“/home/gbase/GBase8cV5_S3.0.0B12/lib/……oracle_fdw.so”: libclntsh.so.21.1: cannot open
shared objeck file: No such file or directory”。原因是Oracle 的开发库libclntsh.so 不在系
统的相关路径中,可以进入客户端目录找到libclntsh.so 的具体路径,然后将其中包含
所需要的依赖包放入每个节点的/lib64 目录下。
查询外部表时报错显示类似“ERROR : error connecting ro Oracle: OCIEnvCreate failed to
create enviroment handle”信息。原因可能是缺少libociei.so、libnuma.so、libndctl.so。
解决方法是将客户端下libociei.so 依赖包复制到/lib64 路径下;
libnuma.so 则需要通过下
载numactl,yum install -y numactl;libndctl.so 需要通过下载ndctl,yum install -y ndctl,
并重启数据库生效。