Shell脚本如何连接oracle数据库

这篇文章给大家分享的是有关Shell脚本如何连接oracle数据库的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

最近研究了一下怎样使用shell 脚本连接数据库,然后执行查询语句。这样对于需要定时执行的脚本,我们可以建个 crontab 去定时执行。

先介绍一下客户端的安装:

linux 环境需要用 sqlplus 客户端去连接oracle 数据库,首先我们需要确认有没有安装:which sqlplus如果没有安装就需要先安装一下,安装步骤如下:

到oracle 官网下载,之后安装以下两个模块:

rpm-ivhoracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm
rpm-ivhoracle-instantclient11.2-sqlplus-11.2.0.3.0-1.x86_64.rpm

配置环境变量: vim /etc/profile

Shell脚本如何连接oracle数据库

保存之后,执行: source /etc/profile

whereis oracle #查看oracle 客户端安装路径

Shell脚本如何连接oracle数据库

进入客户端目录

Shell脚本如何连接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)
)
)

编辑保存完成以后,可以用命令行测试是否连接成功

sqlplususername/password@DATABASENAME

如果正常的话,就可以顺利的连上oracle 数据库了。 那我们就开始写自己的shell 脚本:

#!/bin/bash
sqlplususername/password@DATABASENAME>tmp.txt<<EOF
setheadingoff
setline4000
setWRAPOFF
Selectuser_id,mobileFromtxlx_xxx_user_infoWhererownum<20;
exit
EOF
sed-i1,12dtmp.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数据库”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

发布于 2021-03-21 22:37:53
收藏
分享
海报
0 条评论
178
上一篇:如何使用HTML5做的导航条 下一篇:this与super怎么在java项目中使用
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码