近段时间,做了些为ORACL数据库管理相关的SHELL脚本编程。
      其实,SHELL功能非常强大,基本可以覆盖操作系统的所有角落。
      PL/SQL同样也非常强大,可以解决ORACLE数据库的众多问题。
      但有时这两个强大的“家伙”混合在一起后,就会多少变得棘手些。就像我,可能做数据库时间长了,很多东西都想通过数据库实现。但有时超过了数据库的范畴,就不灵光了。
      我还是想说几点问题:

1.该SHELL实现的部分或者该数据库实现的应该想想清楚,否则你的SHELL脚本越写越痛苦。
     有段代码,我想将SHELL中的变量,放在SQLPLUS中的SQL语句中操作。但是着实的碰到了问题。因为我的SQL语句是对字符串进行操作:

substr($v_para,(instr($v_para,'A') + 1)

有诸如这样的SQL,这时ORACLE就会报错,通过跟踪可以发现:
    v_para这个变量的值为 1111A2222B333(举例),在SQL中直接引用,结果发现实际的SQL是这样的:

substr(1111A2222B333,(instr(1111A2222B333,'A') + 1)

我们不难发现没有了单引号!如果做SHELL比较敏感的朋友就会想到:单引号在SHELL中意味着什么。为了单引号我必须使用转义符(\)。但是在使用转义符后,实际上这个SQL又变成了

substr(\'1111A2222B333\',(instr(\'1111A2222B333\','A') + 1)

对,越来越错。最后想了又想,还是直接通过PL/SQL操作,也是可以完成的。

2.在SHELL中的一些特殊符号,在SQLPLUS中特殊的作用会消失。
      例如,我在SPOOL结果集到文本中时,对文件名称使用了双引号中带变量的做法。

“$machine_id”

结果输出的文件名上还带着双引号,例如:"50001".txt
      所以要格外注意,当然最为保险的是在实际环境中进行测试!
      
      3.数据库管理人员,多学习学习SHELL会对自己的工作受益良多。当然如果可以再多多深入学习当然操作系统对自己的帮助就会更大,这样的前提是身边一定要有一个好的SA(我共事的SA就非常优秀!多谢这位仁兄(Cityhunter)的大力帮助)。
     
      最后看看这篇文章,算是个抛砖引玉的小文吧。

利器和尖刀,一个也不能少。 -:)

ORACLE相关的SHELL编程相关推荐

  1. shell编程中如何执行oracle语句

    shell编程中如果向oracle中插入数据之类的,需要先把执行语句放到文件中,然后再@这个文件执行 有如下俩种方式供参考: SQL=`sqlplus user/pwd@orains << ...

  2. Linux相关命令、Vi、shell编程

    一. 系统用户.系统组管理 1.useradd 一个用户可以属于多个组,主组只有一个 useradd -c /-d /-D / -g/ -G/ -m/ -s/ -r/ -u -c 密码提示 -d 指定 ...

  3. Linux操作系统与Shell编程

    Linux是自由.开源的操作系统,安装在计算机的硬件之上,是用来操作计算机硬件和软件资源的系统软件,一般应用于专业的web服务器上,具有以下特性 Linux注重系统的安全性,对文件访问权限有严格设定, ...

  4. 【“计算机科学与技术”专业小白成长系列】Linux Shell 编程 极简教程

    Linux Shell 编程 极简教程 内容摘要 本文是 Linux Shell 编程简单入门.主要内容: Linux 简介 Shell 编程入门 Kotlin 脚本与 Shell 脚本 Linux ...

  5. Linux系统命令与Shell编程

    第1章 linux简介 1.linux系统主要特点 免费开源.Linux是一款完全免费的操作系统,任何人都可以从网络上下载到它的源代码,并可以根据自己的需求进行定制化的开发,而且没有版权限制. 模块化 ...

  6. 运维 - 第一阶段 - linux与shell编程

    linux与shell编程 讲师:墨竹 系统运维与linux 1.系统运维是什么 简单来说运维(Operation and maintenance)是指对公司硬件和软件的维护. 硬件包括:机房.机柜. ...

  7. SHELL编程之变量定义

    SHELL编程 学习前奏 1. 文件处理工具 1.1 grep工具 1.2 cut工具 1.3 sort工具 1.4 uniq工具 1.5 tee工具 1.6 paste工具 1.7 tr工具 小试牛 ...

  8. SHELL编程(一)

    SHELL编程 1. 文件处理工具 1.1 grep工具 1.2 cut工具 1.3 sort工具 1.4 uniq工具 1.5 tee工具 1.6 paste工具 1.7 tr工具 2. 编程语言分 ...

  9. 如让自己想学不好shell编程都困难?

    众所周知,shell是linux运维必备的技术,必须要掌握,但是shell语法复杂,灵活,网友掌握了语法也不知道如何应用到实际运维中,老男孩培训shell编程给所有linux运维人员带来了学好shel ...

最新文章

  1. pandas使用groupby函数和cumsum函数计算每个分组内的数值累加值、并生成新的dataframe数据列( cumulative sum of each group in dataframe
  2. 滤波电容、去耦电容、旁路电容作用
  3. mysql session变量_mysql 系统变量和session变量
  4. EntityFramework Core查询数据基本本质
  5. FMStocks7 , 不错的一个.NET 示例程序
  6. mesi协议怎么实现_volatile的底层实现原理
  7. 记次浙大月赛 134 - ZOJ Monthly, June 2014
  8. C++基础——模板的0初始化
  9. python零基础能学吗-初学者必知:零基础学习Python真的能学会吗?
  10. 关于oracle存储微信表情emoji问题 “[[%F0%9F%A4%AA]]“
  11. html做table某一列的合计,Jquery、js计算table列合计
  12. R语言地理探测器--因子探测器实现
  13. appium工作原理
  14. 抖音JAVA工程师_字节跳动抖音社招后台开发工程师面经
  15. 六大机构好评的Teradata 究竟有哪些过人之处?
  16. 【转载】GitHub中国区前100名到底是什么样的人
  17. 基于卷积神经网络的高光谱分类(1D、2D、3D-CNN)
  18. SSLOJ 1317.灵魂分流药剂
  19. Python爬虫——漫画下载
  20. 发那科机器人请关闭电源_发那科机器人报警处理(中文)

热门文章

  1. hadoop yarn 获取日志_在 YARN 中简化用户日志的管理和使用
  2. 零售行业如何增加突围加速度?精细化运营快、准、狠
  3. 周五话营销 | 数据分析强势解决营销人三大痛点
  4. 华润e万家联手神策数据 多维分析助力精益运营
  5. Linux shell 对于文件的删除,复制,修改文件名等操作
  6. Java基础-面向对象第二特征之继承(Inheritance)
  7. Linux软件安装之YUM
  8. Essential fact about future of PhD studies
  9. 《阿凡达》2020再度观看观后感
  10. 能力的齿轮每一次卡不上点的时候都是下一个批评的开始