linux下uxdb映射oracle数据
一、 安装oracle_fdw插件
-
安装oracle客户端:使用ftp上传安装包,以root权限执行命令:
rpm -ivh oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm
-
解压文件oracle_migration,命令:
tar -xvf oracle_migration_v2.1.tar.gz
, 进入到解压文件夹,执行安装程序
-
进入目录
uxdbinstall/dbsql/share/extension
,输入命令ls | grep oracle
,查看fdw安装完整性
-
进入目录
/home/uxdb/uxdbinstall/dbsql/lib
,使用命令ldd oracle_fdw.so
查看fdw动态库配置情况,发现动态库文件出错
-
root用户来配置文件,命令
vim /etc/ld.so.conf
,将oracle客户端lib目录写入到当前文件,使用ldconfig
命令使配置文件生效,并重启数据库
二、使用oracle_fdw映射数据
- 数据库内部安装oracle_fdw插件,进入uxdb,执行命令:
create extension oracle_fdw;
, - 创建外部连接服务:在uxdb数据库执行命令
create server ora_server foreign data wrapper oracle_fdw options (dbserver '192.168.1.140:1521/orcl');
注:192.168.1.140为Oracle服务器IP,1521为Oracle端口号,Orcl为Oracle实例名 - 创建用户映射,将Oracle端SCOTT用户映射到本地uxdb,命令:
create user mapping for uxdb server ora_server options (user 'SCOTT', password '970725');
注:SCOTT为Oracle端用户注意大小写,此大小写与Oracle端一致,Oracle端默认为大写 - 本地创建模式,命令:
create schema scott;
- 将public和scott模式设置为使用模式,命令:
set search_path to public,scott;
- 仅映射emp表,命令:
import foreign schema "SCOTT" limit to (emp) from server ora_server into scott;
,映射成功
- 映射命令:
//自动创建外部表,将所有oracle SCOTT模式下的表映射到本地scott模式下
import FOREIGN SCHEMA "SCOTT" from server ora_server into scott;
//仅映射SCOTT模式下指定表,将oracle SCOTT模式下test,test1,emp表映射到本地scott模式下
import foreign schema "SCOTT" limit to (test,test1,emp) from server ora_server into scott;
//排除指定表进行映射,将oracle SCOTT模式下除test,test1以外的所有表映射到本地scott模式下
import foreign schema "SCOTT" EXCEPT (test,test1) from server ora_server into scott;
linux下uxdb迁移oracle数据
- 在uxdb上创建oracle数据库,命令:
create database oracle;
- 进入orcl数据库,创建相应的scott模式,命令:
create schema scott;
- 创建oracle兼容性插件,命令:
create extension orafce;
- 使用工具进行数据迁移
- 进入uxdb,验证数据
在linux下uxdb迁移mysql数据
- 安装mysql客户端,命令:
rpm -ivh https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm
yum install mysql-community-client.x86_64 -y
- 在uxdb下创建mysql数据库
- 进入mysql数据库创建模式test
- 将public模式和test模式设置为常用模式
- 进行数据迁移
迁移总结:
- 需要使用源数据库的客户端
- 迁移工具可以在另一台机器上,源数据库A机器,客户端与uxdbB机器,迁移工具C机器