Shell脚本连接oracle数据库的实现代码
2020-06-20 11:47
1526 查看
最近研究了一下怎样使用shell 脚本连接数据库,然后执行查询语句。这样对于需要定时执行的脚本,我们可以建个 crontab 去定时执行。
先介绍一下客户端的安装:
linux 环境需要用 sqlplus 客户端去连接oracle 数据库,首先我们需要确认有没有安装:which sqlplus如果没有安装就需要先安装一下,安装步骤如下:
到oracle 官网下载,之后安装以下两个模块:
rpm -ivh oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm rpm -ivh oracle-instantclient11.2-sqlplus-11.2.0.3.0-1.x86_64.rpm
配置环境变量:
vim /etc/profile
保存之后,执行: source /etc/profile
whereis oracle #查看oracle 客户端安装路径
进入客户端目录
添加配置文件:touch tnsnames.ora
编辑配置文件:vim tnsnames.ora
DATABASENAME = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = servicename) ) )
编辑保存完成以后,可以用命令行测试是否连接成功
sqlplus username/password@DATABASENAME
如果正常的话,就可以顺利的连上oracle 数据库了。
那我们就开始写自己的shell 脚本:
#! /bin/bashsqlplus username/password@DATABASENAME >tmp.txt << EOF set heading off set line 4000 set WRAP OFF Select user_id,mobile From txlx_xxx_user_info Where rownum <20; exit EOF sed -i 1,12d tmp.txt sed -i -e '/selected/,$d' tmp.txt sed -i -e '/Disconnected/,$d' tmp.txt sed -i '$d' tmp.txt
逐行解释一下:
#!/bin/bash #shell 脚本开头,指定使用哪种shell
连接数据库语句,标准输出到 tmp.txt,从<<EOF 之间获取输入
去掉表头
设置行宽度
关闭自动换行
查询语句
退出
EOF 输入结束
sed 删除tmp.txt 1~12 行连接数据库产生的文本
删除 selected 到最后一行的文本
删除 Disconnected 到最后一行的文本
删除最后一行文本
到此这篇关于Shell脚本连接oracle数据库的实现代码的文章就介绍到这了,更多相关Shell连接oracle内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:
相关文章推荐
- Linux下使用Shell脚本实现ftp的自动上传下载的代码小结
- Shell脚本实现复制文件到多台服务器的代码分享
- Shell脚本读取ini配置文件的实现代码2例
- shell脚本连接oracle数据库并将查询出的数据写入文件
- shell脚本中实现大段代码的注释方法
- Shell脚本实现批量下载网络图片代码分享
- Shell脚本实现检测文件是否被修改过代码分享
- shell脚本实现网络连接的检测
- linux下 Findbugs-3.0.1与jenkins配合,实现自动代码质量检查 -- shell脚本方式
- Shell脚本实现批量下载网络图片代码分享
- Shell脚本实现C语言代码行数统计
- 通过Git WebHooks+脚本实现自动更新发布代码之shell脚本
- Linux下使用Shell脚本实现ftp的自动上传下载的代码小结
- Linux下文件剪切的shell脚本实现代码
- .Net连接Oracle数据库的实现代码
- .Net连接Oracle数据库的实现代码
- Shell脚本实现的阳历转农历代码分享
- Shell脚本实现的阳历转农历代码分享
- shell实现自动adsl拨号并检测连接状况脚本分享
- Shell脚本实现的基于SVN的代码提交量统计工具