Kerberos HiveMetaStore 用户映射 用户映射 用户dbo

admin2024-06-06  12

windows下uxdb映射oracle数据

一、安装oracle_fdw插件

  1. oracle_fdw.control ;oracle_fdw–1.0–1.1.sql;oracle_fdw–1.1.sql;这三个文件放在用户正在使用的uxdb的安装目录下。例:UXDB\dbsql\share\extension
  2. oracle_fdw.dll;这个文件放在用户正在使用的uxdb的安装目录下;例:UXDB\dbsql\lib
  3. 重启数据库
  4. 创建fdw插件:进入数据执行命令:create extension oracle_fdw ;

Kerberos HiveMetaStore 用户映射 用户映射 用户dbo,Kerberos HiveMetaStore 用户映射 用户映射 用户dbo_数据库,第1张

6. 创建外部连接服务,命令:

create server ora_server foreign data wrapper oracle_fdw options (dbserver 'IP:1521/orcl');//这里ip'填写oracle的地址
  1. 创建用户映射,将Oracle端SCOTT用户映射到本地uxdb,命令:
create user mapping for uxdb server ora_server options (user 'SCOTT', password 'xxx'); 
//注:SCOTT为Oracle端用户注意大小写,此大小写与Oracle端一致,Oracle端默认为大写
  1. 本地创建模式,命令:create schema scott; 注:为了管理方便统一将所有关于oracle SCOTT用户的外部表映射到scott模式下
  2. Kerberos HiveMetaStore 用户映射 用户映射 用户dbo,Kerberos HiveMetaStore 用户映射 用户映射 用户dbo_数据库_02,第2张


  3. 将scott模式设置为常用模式,命令:set search_path to public,scott;,再使用命令:show search_path去验证

二、将oracle数据库scott模式下的表映射到uxdb数据库的scott模式下

  1. 在uxdb中使用命令\d,查看当前没有表
  2. 在oracle数据库下查询表dept是存在此表且有数据的
  3. 将dept表映射到uxdb中,命令:import foreign schema "SCOTT" limit to (dept) from server ora_server into scott;,完整命令:import foreign schema "SCOTT" limit to (test,test1,emp) from server ora_server into scott;
  4. 对映射的表进行操作,操作会反馈到源表上
    eg:对uxdb下dept插入数据,oracle数据库上dept也会出现插入的数据
  5. 映射命令:
//将所有oracle SCOTT模式下的表映射到本地scott模式下
import FOREIGN SCHEMA "SCOTT" from server ora_server into scott;
//仅映射SCOTT模式下指定表,eg:仅将oracle SCOTT模式下test,test1,emp表映射到本地scott模式下
import foreign schema "SCOTT" limit to (test,test1,emp) from server ora_server into scott;
//排除指定表进行映射,eg:将oracle SCOTT模式下除test,test1以外的所有表映射到本地scott模式下
import foreign schema "SCOTT" EXCEPT (test,test1) from server ora_server into scott;

三、映射时遇到的问题

一、映射表时,出错
  1. 错误截图:
  2. 解决办法:在uxdb数据库所在机器上安装oracle客户端或者oracle整个数据库

uxdb在windows下进行Oracle数据迁移

一、创建fdw插件

由于已经经历过数据映射,所以这里没有验证是否需要oracle_fdw插件

二、在uxdb上做准备工作

这里以orcl数据库实例下scott用户下的表为例子

  1. 在uxdb上创建orcl数据库,命令:create database orcl;
  2. 进入orcl数据库,创建相应的scott模式,命令:create schema scott;
  3. 创建oracle兼容性插件,命令:create extension orafce;
  4. Kerberos HiveMetaStore 用户映射 用户映射 用户dbo,Kerberos HiveMetaStore 用户映射 用户映射 用户dbo_数据库_03,第3张


三、使用迁移工具,进行数据迁移

  1. 将迁移工具解压到不含中文路径的目录下,双击exe启动工具
  2. 创建迁移任务,输入任务名称(随意),选择源数据类型:oracle和目标数据类型:uxdb,点击下一步
  3. Kerberos HiveMetaStore 用户映射 用户映射 用户dbo,Kerberos HiveMetaStore 用户映射 用户映射 用户dbo_数据库_04,第4张

  4. 填写数据源信息:主机名填写oracle所在的ip,端口默认为1521,用户名填写指定的用户登录,这里举例为scott用户,密码为Oracle上scott用户的密码,服务名为数据库名,这里举例为orcl。填写好了以后,点击连接测试,联通后点击下一步填写,目标源信息
  5. Kerberos HiveMetaStore 用户映射 用户映射 用户dbo,Kerberos HiveMetaStore 用户映射 用户映射 用户dbo_oracle_05,第5张

  6. 根据第三步填写目标源信息,这里用户名填写scott,指明使用uxdb上的scott用户操作orcl数据库,进行数据迁移,用户可以换成uxdb,只要有对orcl数据库进行操作权限的用户。
  7. Kerberos HiveMetaStore 用户映射 用户映射 用户dbo,Kerberos HiveMetaStore 用户映射 用户映射 用户dbo_oracle_06,第6张

  8. 这里只迁移scott用户下表,所以只勾选scott,由于是第一次迁移,所以选择迁移数据和结构,点击下一步
  9. Kerberos HiveMetaStore 用户映射 用户映射 用户dbo,Kerberos HiveMetaStore 用户映射 用户映射 用户dbo_数据_07,第7张

  10. 这里选择迁移三个表
  11. Kerberos HiveMetaStore 用户映射 用户映射 用户dbo,Kerberos HiveMetaStore 用户映射 用户映射 用户dbo_oracle_08,第8张

  12. 开始迁移,查看迁移结果
  13. Kerberos HiveMetaStore 用户映射 用户映射 用户dbo,Kerberos HiveMetaStore 用户映射 用户映射 用户dbo_数据库_09,第9张

四、验证迁移完整性

  1. 在uxdb数据库下查看这三个表的数据
  2. Kerberos HiveMetaStore 用户映射 用户映射 用户dbo,Kerberos HiveMetaStore 用户映射 用户映射 用户dbo_oracle_10,第10张

  3. 使用navicat工具查看Oracle下的这三个表,数据一致
  4. Kerberos HiveMetaStore 用户映射 用户映射 用户dbo,Kerberos HiveMetaStore 用户映射 用户映射 用户dbo_oracle_11,第11张


  5. Kerberos HiveMetaStore 用户映射 用户映射 用户dbo,Kerberos HiveMetaStore 用户映射 用户映射 用户dbo_数据_12,第12张


  6. Kerberos HiveMetaStore 用户映射 用户映射 用户dbo,Kerberos HiveMetaStore 用户映射 用户映射 用户dbo_数据库_13,第13张

五、总结

  1. 迁移时目标数据库的名称可以不一致,oracle里面是orcl数据库,uxdb可以自定义一个数据库作为目标数据库,但为方便理解,在uxdb里面也是指定目标数据库为orcl。
  2. 迁移时模式要一致,要迁移scott模式里面的表,就要在uxdb里面创建一个scott模式,因为迁移工具会在迁移时搜索uxdb里面同名的模式,在同名模式下创建表,如果没有建立同名的模式,可能会出错。
  3. 迁移工具使用时,必须与uxdb在同一台机器上,且uxdb机器上需要安装oracle客户端,迁移工具进行数据迁移时,需要使用oracle客户端连接到oracle获取到相应的表结构与数据,再将结构与数据转移到uxdb上。

uxdb在windows下进行mysql数据迁移

  1. 查看mysql的数据库,选择test数据库进行迁移
  2. 在uxdb数据库机器上安装mysql客户端
  3. 在uxdb上创建mysql数据库,并连接到数据库
  4. 根据源数据库名称,创建相应的同名模式,这里要迁移test数据库,所以在uxdb中创建test模式,并设置成常用模式,命令:
//创建test模式
create schema test;
//将public和test模式设置为使用模式
set search_path to public,test;
//查看当前使用的模式
show search_path;

Kerberos HiveMetaStore 用户映射 用户映射 用户dbo,Kerberos HiveMetaStore 用户映射 用户映射 用户dbo_数据_14,第14张

  1. 打开迁移工具,创建任务
  2. 输入数据源信息,点击连接测试,能够连接,点击下一步
  3. 填写目标数据信息,我们希望将数据写入uxdb上的mysql数据库上,且希望uxdb用户来执行这个操作
  4. 选择要迁移mysql的哪个数据库,这里选择test数据库,由于是第一次迁移,我们选择迁移结构和数据
  5. 选择要迁移的数据表,这里选择testtable
  6. 进行数据迁移,查看迁移结构,迁移成功
  7. 到uxdb中查看迁移数据,发现迁移成功

总结:

  1. 迁移时目标数据库的名称可以不一致,mysql里面是test数据库,uxdb可以自定义一个数据库作为目标数据库,这里我们选用mysql数据库。
  2. 迁移时由于mysql没有模式的概念,但是迁移工具会根据源数据库名称,将数据迁移到同名的模式下,所以我们需要创建一个与源数据库同名的模式
  3. 迁移工具使用时,必须与uxdb在同一台机器上,且uxdb机器上需要安装mysql客户端,迁移工具进行数据迁移时,需要使用mysql客户端连接到mysql获取到相应的表结构与数据,再将结构与数据转移到uxdb上。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明原文出处。如若内容造成侵权/违法违规/事实不符,请联系SD编程学习网:675289112@qq.com进行投诉反馈,一经查实,立即删除!