shell oracle连接,Shell脚本连接oracle数据库的实现代码

最近研究了一下怎样使用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

d8e52defe2b5155d0b096f35417e6b38.png

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

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

ad91bb17d012e45a70d2963b4ad387c2.png

进入客户端目录

60302da5d77e4b8b867ce5a9ca8a1876.png

添加配置文件: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/bash

sqlplus 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 输入结束

sed 删除tmp.txt 1~12 行连接数据库产生的文本

删除 selected 到最后一行的文本

删除 Disconnected 到最后一行的文本

删除最后一行文本

到此这篇关于Shell脚本连接oracle数据库的实现代码的文章就介绍到这了,更多相关Shell连接oracle内容请搜索云海天教程以前的文章或继续浏览下面的相关文章希望大家以后多多支持云海天教程!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值