今天来复习一下在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相关推荐

  1. mac每次执行mvn -v命令要先执行source ~/.bash_profile才生效

    问题:mac每次执行mvn -v命令要先执行source ~/.bash_profile才生效. 原因:当前系统是shell,配置环境变量是在bash.输入echo $SHELL,如果输出输出是/bi ...

  2. linux修改数据库内容命令,linux中的数据库命令

    linux中的数据库命令包括链接,重启,关闭等等.下面由学习啦小编为大家整理了linux下的数据库命令的相关知识,希望对大家有帮助! 一.linux下启动mysql数据库的命令 1. mysqladm ...

  3. mysql命令行执行复杂sql_mysql命令行中执行sql的几种方式总结

    1.直接输入sql执行 MySQL> select now(); +---------------------+ | now() | +---------------------+ | 2013 ...

  4. mysql 执行cmd,mysql命令行中执行sql的几种方式总结

    1.直接输入sql执行 MySQL> select now(); +---------------------+ | now() | +---------------------+ | 2013 ...

  5. linux下数据库mysql命令大全_linux中mysql数据库操作命令大全有哪些

    Linux中经常会对数据库进行操作,除了在软件应用中操作,还能使用命令实现,具体有哪些命令呢?下面由学习啦小编为大家整理了linux重启mysql数据库命令的相关知识,希望对大家有帮助! linux中 ...

  6. excel中录制宏只执行一半的命令,没有执行全部如何解决?

    数据情况: 1-8月 每日的数据清单,每日数据为一个sheet. 目的: 对所有sheet 执行同样的几个操作,具体操作保护如下: 1.取消表头单元格合并,并删除1行 2.取消sheet隐藏行 3.选 ...

  7. oracle导出表中某天数据命令,Oracle数据库使用命令行导入导出数据表及数据内容(本地、远程)...

    一.本机导入导出 1.数据库导出命令,导出用户userA下的表结构和数据: exp 用户名/密码@服务名 owner=用户名 file=导出文件指定存储路径 full=y 2.数据库导入命令,将use ...

  8. 《数据库原理》实验六 SQL数据查询实验

    本系列传送门: 实验二 SQL Server SSMS工具创建和管理数据库及数据表 实验三 SQL Server SSMS工具添加数据 实验四 SQL的数据定义语句 实验五 数据库完整性约束的实现与验 ...

  9. Linux环境下oracle切换用户并查询数据库命令

    1.切换用户 su - oracle 2.执行export命令 export ORACLE_SID=gooddb1 注:gooddb1为数据库的实例名 3.进入oracle数据库 sqlplus / ...

最新文章

  1. 禁止COOKIE后对SESSION的影响
  2. 【STM32】IIC的基本原理(实例:普通IO口模拟IIC时序读取24C02)(转载)
  3. python里的define怎么用_如何用(?(DEFINE))在Python中编写正则表达式?
  4. React 深入系列4:组件的生命周期
  5. cmd 220 ftp 远程主机关闭连接_网络基础知识:FTP工作流程
  6. java中包定义_java中包的定义与使用
  7. 434.字符串中的单词数
  8. SIYI AK28 遥控器接收机的SBUS口与STM32通讯
  9. linux raid 卡日志,Linux系统下RAID卡异常日志收集方法、系统及存储介质与流程
  10. JavaScript - canvas - 使用鼠标画线,带撤销与重做功能
  11. 分析内网即时通讯软件安全性如何
  12. python 搭建服务器
  13. python编写密码登录程序_python初学之用户登录的实现过程(实例讲解)
  14. 终于有人把数据安全讲明白了
  15. 名帖299 王铎 行书《书法册页李贺诗四首》
  16. 2021年中国造林面积及造林方式情况分析[图]
  17. AUTOCAD——创建可编辑属性块
  18. 计算机网络基础基本知识
  19. FPGA 中的有符号数乘法
  20. 办公室必备-上班偷看小说利器

热门文章

  1. 从内部自用到对外服务,配置管理的演进和设计优化实践
  2. CSS样式----标记选择器
  3. open3d 0.13版本 vs2019编译
  4. allow_unreachable flag
  5. bitmap数据格式
  6. python url请求
  7. VS2015下使用websocketpp和asio构建websock服务器
  8. labelimg选中高亮
  9. FFMPEG 日志输出控制
  10. ERROR LNK2019:无法解析的外部的符号 _sscanf或者_vsprintf