您的位置:首页 > 数据库 > Oracle

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

2017-11-02 22:26 573 查看
本文主要描述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表示关闭
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: