• [ 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表示关闭
  • 相关阅读:
    hdu2089 数位dp
    AIM Tech Round 3 (Div. 2)
    Codeforces Round #372 (Div. 2)
    src 小心得
    水平文字垂直居中
    点击验证码刷新(tp3.1)--超简单
    TP3.1 中URL和APP区别
    getField方法
    PHP截取中文无乱码函数——cutstr
    substr — 详解
  • 原文地址:https://www.cnblogs.com/linyfeng/p/7774924.html
Copyright © 2020-2023  润新知