[ SHELL编程 ] 编程常用的ORACLE相关命令

Posted Beng Dou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[ 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表示关闭

 


以上是关于[ SHELL编程 ] 编程常用的ORACLE相关命令的主要内容,如果未能解决你的问题,请参考以下文章

[ SHELL编程 ] shell编程中数值计算方法实例

shell编程中如何执行oracle语句

[ shell编程 ] 前言

Linux Shell常用技巧 Shell编程

运维linux shell 编程之函数使用

shell编程中常用的技巧