zoukankan      html  css  js  c++  java
  • [ SHELL编程 ] 编程常用的ORACLE相关命令

      本文主要描述shell编程中常用的Oracle相关命令。

    1、sqlplus -L/-S参数

    sqlplus -L user/password #-L参数表示用户只尝试登录一次, 而不是在出错时再次提示,可判断用户/密码是否正确
    sqlplus -S user/password #-S表示设置无提示模式,常用

    2、set相关命令

    set timing on #显示SQL语句的运行时间。默认值为OFF。可用于性能分析SQL执行效率。
    set autotrace on #允许对执行的SQL进行分析
    set trimout on # 去除标准输出每行的拖尾空格,缺省为OFF
    set trimspool on #去除重定向(SPOOL)输出每行的拖尾空格,缺省为OFF
    set echo on #不显示START启动的脚本中的每个SQL命令,缺省为ON
    set feedback on #设置显示"已选择XX行",显示本次SQL命令处理的记录条数,缺省为ON
    set colsep '|' #输出列之间的分隔符。
    set heading off #输出域标题,缺省为on
    set pagesize 0 #输出每页行数,缺省为24,为了避免分页,可设定为0。
    set linesize 150 #设置每行显示字符数,缺省为80,最大值为999
    set numwidth 12 #输出NUMBER类型域长度,缺省为10
    set termout off #常用SPOOL XXX时,即关闭报表在屏幕上的显示以节省时间,缺省值为ON
    set serveroutput on #设置允许显示输出类似DBMS_OUTPUT
    set verify of #可以关闭和打开提示确认信息old 1和new 1的显示.
    show all #显示当前所有参数情况

    3、保存SQL执行结果

    方法一:利用spool命令

    sqlplus -S / as sysdba << EOF
      set echo off;
      set pagesize 0;
      set linesize 150;
      spool temp.txt;
      select username from dba_users;
      spool off;
      exit
    EOF

    方法二:利用重定向

    echo "set echo off;" >> ${operate_sql}
    echo "set pagesize 0;" >> ${operate_sql}
    echo "set linesize 150;" >> ${operate_sql}
    echo "select username from dba_users;" >> ${operate_sql}
    echo "exit" >> ${operate_sql}
    sqlplus -S / as sysdba < ${operate_sql} > ${operate_sql_result}

    方法三:利用重定向

    sqlplus -S / as sysdba > temp.txt << EOF
      set echo off;
      set pagesize 0;
      set linesize 150;
      select username from dba_users;
      exit
    EOF

    4、常用SQL

    select username from dba_users; #dba用户登录
    
    #获取用户记录数一
    select 'analyze table'||t.TABLE_NAME||'compute statistics;' from user_tables t; #先刷新
    select table_name,num_rows from user_tables;
    #获取用户记录数二
    select count(*) from table_name;

    5、判断oracle实例启动状态

    ps -ef | grep ora_pmon | grep -v grep &>/dev/null #通过pmon进程判断
    [ $? -eq 0 ]  && return 0 || return 1  #返回0表示正常,1表示关闭

     6、判断Oracle监听状态

    ps -ef | grep tnslsnr | grep -v grep &>/dev/null #通过tnslsnr进程判断
    [ $? -eq 0 ]  && return 0 || return 1  #返回0表示正常,1表示关闭
  • 相关阅读:
    JS事件冒泡
    iis设置Gzip后,无后缀的url无法压缩解决 MVC iis GZIP
    SQL中的循环、for循环、游标
    采用CDN加速后,如何在程序里获取用户IP地址
    Resharper 的快捷键
    JS防后退跳转
    ASP.NET MVC如何实现自定义验证(服务端验证+客户端验证)
    Log4net创建日志及简单扩展
    统治世界的十大算法
    ffmpeg save rtsp stream
  • 原文地址:https://www.cnblogs.com/linyfeng/p/7774924.html
Copyright © 2011-2022 走看看