`
crabdave
  • 浏览: 1295203 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

将Oracle中的数据导入到Redis缓存中(SqlPlus+Shell)

 
阅读更多

将Oracle中的数据导入到Redis缓存中(SqlPlus+Shell)

 

准备导出spool文件(具体的配置自己查吧!):

set trimspool on

set linesize 120

set pagesize 2000

set newpage 1

set heading off

set term OFF

spool /sql/exp.txt

select 'ZADD',字段key,字段score(数字类型)||'.0',字段value from 表 where 各字段 is not null;

spool off

将脚本保存至:/sql/test.sql

 

 

从数据库中导出数据:

sqlplus 账号/密码 @/sql/test.sql

 

安装tofrodos-1.7.13.tar.gz(这个文件可不好找,我放附件里了!)

tar -xvf tofrodos-1.7.13.tar.gz

cd tofrodos-1.7.13/src

make all

make BINDIR=/usr/local/bin MANDIR=/usr/local/man/ install

 

 

查看一下从oracle中导出的文件

head -n5 exp.txt

发现文件头部分有一个空行

tail -10f exp.txt

发现文件尾有导出数据行数的统计:6 rows selected.

 

删除所有空行,再删除最后一行中的统计信息6 rows selected.

sed '/^\s*$/d' exp.txt | sed '/selected/d' >redis_imp.txt

# The character class \s will match the whitespace characters <tab> and <space>.

 

查看处理后的文件一共多少行:

wc -l redis_imp.txt

6

一共就是导出的6行数据

 

使用dos2unix进行格式转换(直接覆盖原文件使用-o选项):

dos2unix -o redis_imp.txt

 

准备向redis数据库中导入数据(使用pipe):

cat redis_imp.txt  | redis-cli --pipe 

 

稍等片刻:

All data transferred. Waiting for the last reply...

Last reply received from server.

errors: 0, replies: 6

 

测试了一下,100万数据,没多大会就导入进去了!

 

你成功啦!

 

附上SQLPLUS的配置:

export ORACLE_SID=实例名

export ORACLE_BASE=/oracle/

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/Db_1

 

ln -s $ORACLE_HOME/bin/sqlplus /usr/bin

 

cd $ORACLE_HOME/network/admin

cp tnsnames.ora tnsnames20160101.ora

vi tnsnames.ora

添加:

TEST =  登陆的SID  

(DESCRIPTION =  

    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.21.1)(PORT = 1521))  IP地址和端口号  

    (CONNECT_DATA =  

      (SERVER = DEDICATED)  

      (SERVICE_NAME = orcl)  要链接数据库名  

    )  

)  

 

:wq

 

设置一下配置文件权限,以便其它用户使用

chmod 755 tnsnames.ora

 

 

sqlplus 用户名/密码@登陆的SID

 

分享到:
评论

相关推荐

    SpringBoot项目 MybatisPlus使用 Redis缓存.zip

    在SpringBoot项目中,MybatisPlus与Redis的整合可以实现高效的数据缓存,提升应用程序的性能。本项目中,我们看到“SpringBoot项目 MybatisPlus使用 Redis缓存.zip”主要涉及了SpringBoot、MybatisPlus和Redis三个...

    redis缓存服务器Nginx+Tomcat+redis+MySQL实现session会话共享

    "redis缓存服务器Nginx+Tomcat+redis+MySQL实现session会话共享"的主题旨在探讨如何利用这些技术组件来实现这一目标。以下是相关知识点的详细说明: **Redis**:Redis是一个高性能的键值数据存储系统,常用于做缓存...

    mybatis+redis缓存配置

    通过以上步骤,我们可以成功地将Redis集成到MyBatis中,利用其作为二级缓存,极大地提高了系统的性能和响应速度。需要注意的是,在实际应用中还需要根据具体业务需求调整缓存策略,比如选择合适的缓存淘汰策略、调整...

    ssm+redis和ssm+redis+shiro源码

    在SSM+Redis+Shiro的架构中,Shiro可以与Redis结合,将用户的登录信息和权限信息存储在Redis中,实现跨服务器的会话共享,提高系统的可扩展性和安全性。 "redisdemo"可能是一个包含Redis示例代码的项目,开发者可以...

    spring + ehcache + redis两级缓存

    3. **实现缓存策略**: 缓存策略决定了何时从Ehcache中移除数据,以及何时将数据从Ehcache写入Redis。这通常可以通过设置过期时间、缓存更新事件监听器等方式实现。 4. **代码中使用缓存**: 在业务代码中,我们可以...

    P2P网络借贷平台项目SSH+Redis+ActiveMQ+POI+Shiro+AngularJS+Nginx+Quartz等

    4、在缓存方面运用了互联网的流行技术redis实现缓存存贮,通过本项目可以理解redis在实际运用中的优势。 5、会员认证通过短信平台发送手机短信流行的认证方式,可以深刻理解手机验证码发送功能的实现。 6、...

    maven+springmvc+redis+mybatis整合

    5. 集成Redis,配置Redis连接池,编写RedisTemplate或StringRedisTemplate的配置,实现数据缓存操作。 6. 编写Spring MVC的Controller,通过注解将HTTP请求映射到处理方法,调用服务层完成业务逻辑。 7. 运行项目,...

    springboot + mybatis-plus + oracle + 多数据源 + redis + hutool

    springboot + mybatis-plus + database+ 多数据源 + redis + hutool 框架干净,没有其他冗余的成分; 配置了MP的代码生成器,意见生成代码,节省开发时间! 可用于各种定时任务处理,各种夸库操作, 多数据源支持...

    springMybatis+redis三级缓存框架

    Redis是一款基于键值对的高性能NoSQL数据库,常用于做数据缓存。它支持丰富的数据结构(如字符串、哈希、列表、集合等),并且具备高速读写性能,能够提供更强大的缓存能力。 在"springMybatis+redis三级缓存框架...

    redis本地缓存与redis缓存

    本地缓存指的是将数据存储在应用程序的内存中,通常是Java的HashMap、Guava Cache或C#的MemoryCache等。这种方式的优点在于数据读取速度极快,因为避免了网络通信的延迟。但是,本地缓存的缺点也很明显,如数据一致...

    springboot+redis+mybatis+oracle+apidoc

    Redis是一个开源的、高性能的键值对存储系统,常用于数据缓存。在本项目中,Redis被用来提升系统的响应速度,通过缓存常用数据,减少对Oracle数据库的访问。Spring Boot提供了对Redis的集成支持,可以方便地进行连接...

    Redis基本原理+缓存+优化+应用示例资源合集

    remote dictionary Server(Redis) 是一个由 Salvatore Sanfilippo写的 key value存储系统。Redis 提供了一些丰富的数据结构,...本资源里面包括了Redis基本原理+缓存+优化+应用示例资源合集,有兴趣的朋友可以下载学习

    读书笔记:高性能秒杀系统redis限流+redis缓存+kafka消息队列+mysql乐观锁.zip

    读书笔记:高性能秒杀系统redis限流+redis缓存+kafka消息队列+mysql乐观锁

    Redis+接口+token+Sign+时间戳 Demo

    在"Redis+接口+token+Sign+时间戳 Demo"的项目中,它扮演了关键角色,帮助优化接口访问效率并确保安全性。 接口是应用程序之间进行通信的桥梁,而在这个Demo中,Redis被用来管理接口的访问控制。例如,通过设置过期...

    SpringBoot项目+MybatisPlus使用+Redis缓存

    1. **MybatisPlus整合Redis**:在需要缓存的查询方法上添加`@Cacheable`注解,通过Spring Cache抽象层,将结果存储到Redis中。下次请求相同数据时,直接从缓存获取,提高响应速度。 2. **RedisTemplate与...

    Redis+Desktop+Manager+0.9.3.39(最后的免费版本).zip

    9. **导入导出功能**:支持将数据从一个Redis实例导出到另一个,或者导出到文件,方便数据迁移和备份。 在压缩包中的"readme.txt"文件可能包含了关于如何安装和使用Redis Desktop Manager 0.9.3.39的详细步骤和注意...

    springmvc+mybatis+redis

    在IT行业中,SpringMVC、MyBatis和Redis是三个非常重要的技术组件,它们分别扮演着Web应用架构、数据持久层框架和高速缓存的角色。接下来,我们将详细探讨这三个技术如何整合并发挥协同作用。 首先,SpringMVC是...

    Redis缓存+Spring的集成示例

    Redis缓存+Spring的集成示例 Redis缓存+Spring的集成示例Redis缓存+Spring的集成示例 Redis缓存+Spring的集成示例

    java网上商城,,前台购物,后台发布商品,redis+jsp+servlet+mysql,适合新手学习

    用户在前端进行操作,如浏览商品、添加购物车,这些请求被发送到Servlet,Servlet处理请求并更新数据,然后可能通过Redis缓存数据,最后通过JSP将结果呈现给用户。 6. **学习价值**:对于初学者,这个项目提供了一...

    Redis数据导入导出以及数据迁移的4种方法详解

    3. 将 AOF 文件传输到目标 Redis 实例并使用 `redis-cli --pipe` 命令导入数据。 4. 关闭源 Redis 实例的 AOF 功能。这种方法简单但速度较慢,且文件可能较大,开启 AOF 可能导致 QPS 下降,并存在数据丢失风险。 ...

Global site tag (gtag.js) - Google Analytics