Shell脚本连接oracle数据库
Shell 脚本连接 oracle 数据库defrost
最近研究了⼀下怎样使⽤shell 脚本连接数据库,然后执⾏查询语句。这样对于需要定时执⾏的脚本,我们可以建个 crontab 去定时执⾏。
先介绍⼀下客户端的安装:
1. linux 环境需要⽤ sqlplus 客户端去连接oracle 数据库,⾸先我们需要确认有没有安装:which sqlplus
2. 如果没有安装就需要先安装⼀下,安装步骤如下:
到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
exotic
保存之后,执⾏: source /etc/profile
whereis oracle #查看oracle 客户端安装路径
进⼊客户端⽬录
添加配置⽂件:a待摊费用科目
编辑配置⽂件:a
DATABASENAME =
(DESCRIPTION =
2011陕西中考数学(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA =
急遽
(SERVICE_NAME = rvicename)
)
英语人物传记)
编辑保存完成以后,可以⽤命令⾏测试是否连接成功
sqlplus urname/password@DATABASENAME
如果正常的话,就可以顺利的连上oracle 数据库了。
那我们就开始写⾃⼰的shell 脚本:
#! /bin/bash
sqlplus urname/password@DATABASENAME & << EOF
dex
t heading off
t line 4000
t WRAP OFF
Select ur_id,mobile From txlx_xxx_ur_info Where rownum <20;
exit
EOF
d -i 1,
d -i -e'/lected/,$d'
d -i -e'/Disconnected/,$d' 束手无策英语
d -i '$d'
逐⾏解释⼀下:
#!/bin/bash #shell 脚本开头,指定使⽤哪种shell
连接数据库语句,标准输出到 ,从<<EOF 之间获取输⼊
去掉表头
设置⾏宽度
关闭⾃动换⾏
查询语句
退出
兼职英文翻译EOF 输⼊结束
d 删除 1~12⾏连接数据库产⽣的⽂本
删除 lected 到最后⼀⾏的⽂本
删除 Disconnected 到最后⼀⾏的⽂本
删除最后⼀⾏⽂本