1、首先我们先创建一个sql文件,文件名为 aa.sql ,sql语句如下所示。第一个spool后面跟着的 /opt/dt.txt ,表示将oracle执行后生成的可用于redis读取的语句存放在此文件中
set heading off
set term off
set feedback off
set pagesize 0
set trimout on
set trimspool on
set linesize 200
spool /opt/dt.txt
select '*4\r\n$5\r\nHMSET\r\n$8\r\ncustomer\r\n$'||length(keys)||'\r\n'||keys||'\r\n$'||length(vals)||'\r\n'||vals||'\r\n'
from (
select concat(loginname,upwd) keys,
userid||','||profileld||','||loginname||','||mobile||','||email||','||upwd||','||status||','||gender vals from user_base
)a;
spool off
2、将 aa.sql 文件上传到linux的 /opt 目录中
使用 rz -y 或者其他工具上传都可
![](https://i-blog.csdnimg.cn/blog_migrate/dec544da97ee40d7cceeeea710c806cf.png)
3、在之后执行sql语句创建dt.txt时,在该文件目录下必须要有足够的权限,下面进行 /opt 目录权限的提升
命令:
chmod -R 777 /opt/
![](https://i-blog.csdnimg.cn/blog_migrate/e38392f520c7e26a16f6e243bfa2c64d.png)
4、登录oracle,执行sql文件,执行完退出
SQL命令:
@ /opt/aa.sql
![](https://i-blog.csdnimg.cn/blog_migrate/4f5867e6ae5be1fde4874e1a9c1231ef.png)
5、开始将 dt.txt 文件中的数据导入redis数据库
命令:
echo -e "$(cat /opt/dt.txt)" | redis-cli --pipe -h 192.168.1.199
![](https://i-blog.csdnimg.cn/blog_migrate/d57a6212a39ffbbefe68e1aebcc9fc7e.png)