linux执行数据库的命令,实验-shell执行数据库命令.TXT
今天来复习一下在shell中如何登陆oracle,并执行脚本或命令。
我编了以下这个小程序,起名为test.txt用于修改表结构,并执行几条输出命令:
#!/bin/sh
sqlplus -s "scott/tiger"
alter table binfo add sales_nm varchar2(6);
Set timing on --该设置可以使结果中显示语句执行耗时
Set time on --此设置没有意义,因为无论是此文件的日志还是使用spool,都不显示sqlplus的提示符
Set serveroutput on
select * from v\$instance; --此处用于说明在使用$符号时,需要前面加斜杠进行转义,否则shell会将其看做是调用的变量
spool /u01/mig/TL/test.log --在shell脚本中,只要用sqlplus登录了,也是可以开启spool,将程序块结果放入文件中的
declare
i_vc_code varchar2(2);
i_vc_schema varchar2(100);
begin
i_vc_code:='NZ';
i_vc_schema:='NZNZ';
dbms_output.put_line('CODE is:'||i_vc_code);
dbms_lock.sleep(5);
dbms_output.put_line('SCHEMA NAME is :'||i_vc_chema);
end;
/
@/u01/mig/TL/tian.txt --在此环境下,还可以执行一些子脚本
spool off
调用此文件,就可以执行sqlplus环境下的命令的。
[oracle@TSTDB TL]$ ./test.txt &
[1] 11076
[oracle@TSTDB TL]$
此处需要提一句,如果执行某个单独的文件,在文件执行语句后面加 &就可以令其快速返回光标(后台执行);
但如果像上面的程序那样,存在嵌套,可能还没来得及在执行该语句后再次按下回车,子程序已经开始执行了,这时候就无法后台执行了。
若使用命令 nohup ./test.txt &
会将结果日志记录到nohup.out文件中,并能够迅速返回光标。
我们使用shell,一般都是处于两个目的:
1)自动化
2)在我们期望执行的时间执行
要达到第二个目的,可以在系统设置crontab任务。
[oracle@TSTDB TL]$ crontab -e --添加,用VI命令将需要设置的任务写入文件,所有用户的定时任务放在/var/spool/cron中
[oracle@TSTDB TL]$ crontab -l --查看
20 18 * * * /u01/mig/TL/bsd_exe.txt >>nohup.out
[oracle@TSTDB TL]$ crontab -r --删除
linux执行数据库的命令,实验-shell执行数据库命令.TXT相关推荐
- mac每次执行mvn -v命令要先执行source ~/.bash_profile才生效
问题:mac每次执行mvn -v命令要先执行source ~/.bash_profile才生效. 原因:当前系统是shell,配置环境变量是在bash.输入echo $SHELL,如果输出输出是/bi ...
- linux修改数据库内容命令,linux中的数据库命令
linux中的数据库命令包括链接,重启,关闭等等.下面由学习啦小编为大家整理了linux下的数据库命令的相关知识,希望对大家有帮助! 一.linux下启动mysql数据库的命令 1. mysqladm ...
- mysql命令行执行复杂sql_mysql命令行中执行sql的几种方式总结
1.直接输入sql执行 MySQL> select now(); +---------------------+ | now() | +---------------------+ | 2013 ...
- mysql 执行cmd,mysql命令行中执行sql的几种方式总结
1.直接输入sql执行 MySQL> select now(); +---------------------+ | now() | +---------------------+ | 2013 ...
- linux下数据库mysql命令大全_linux中mysql数据库操作命令大全有哪些
Linux中经常会对数据库进行操作,除了在软件应用中操作,还能使用命令实现,具体有哪些命令呢?下面由学习啦小编为大家整理了linux重启mysql数据库命令的相关知识,希望对大家有帮助! linux中 ...
- excel中录制宏只执行一半的命令,没有执行全部如何解决?
数据情况: 1-8月 每日的数据清单,每日数据为一个sheet. 目的: 对所有sheet 执行同样的几个操作,具体操作保护如下: 1.取消表头单元格合并,并删除1行 2.取消sheet隐藏行 3.选 ...
- oracle导出表中某天数据命令,Oracle数据库使用命令行导入导出数据表及数据内容(本地、远程)...
一.本机导入导出 1.数据库导出命令,导出用户userA下的表结构和数据: exp 用户名/密码@服务名 owner=用户名 file=导出文件指定存储路径 full=y 2.数据库导入命令,将use ...
- 《数据库原理》实验六 SQL数据查询实验
本系列传送门: 实验二 SQL Server SSMS工具创建和管理数据库及数据表 实验三 SQL Server SSMS工具添加数据 实验四 SQL的数据定义语句 实验五 数据库完整性约束的实现与验 ...
- Linux环境下oracle切换用户并查询数据库命令
1.切换用户 su - oracle 2.执行export命令 export ORACLE_SID=gooddb1 注:gooddb1为数据库的实例名 3.进入oracle数据库 sqlplus / ...
最新文章
- 禁止COOKIE后对SESSION的影响
- 【STM32】IIC的基本原理(实例:普通IO口模拟IIC时序读取24C02)(转载)
- python里的define怎么用_如何用(?(DEFINE))在Python中编写正则表达式?
- React 深入系列4:组件的生命周期
- cmd 220 ftp 远程主机关闭连接_网络基础知识:FTP工作流程
- java中包定义_java中包的定义与使用
- 434.字符串中的单词数
- SIYI AK28 遥控器接收机的SBUS口与STM32通讯
- linux raid 卡日志,Linux系统下RAID卡异常日志收集方法、系统及存储介质与流程
- JavaScript - canvas - 使用鼠标画线,带撤销与重做功能
- 分析内网即时通讯软件安全性如何
- python 搭建服务器
- python编写密码登录程序_python初学之用户登录的实现过程(实例讲解)
- 终于有人把数据安全讲明白了
- 名帖299 王铎 行书《书法册页李贺诗四首》
- 2021年中国造林面积及造林方式情况分析[图]
- AUTOCAD——创建可编辑属性块
- 计算机网络基础基本知识
- FPGA 中的有符号数乘法
- 办公室必备-上班偷看小说利器