概述

今天主要分享一下两个shell脚本,主要是为了查看所有数据库用户及其表空间,统计某个指定用户的明细,下面一起来看看吧~


数据库连接脚本

use script settdb.sh for DB login details registry

#!/bin/bashtmp_username=$SH_USERNAMEtmp_password=$SH_PASSWORDtmp_db_sid=$SH_DB_SID#check $1 and $2 should be mandatory from inputif [[ -z $1 ]] || [[ -z $2 ]]; thenecho '***********************************************'echo 'WARNING :UserName And PassWord Is Needed!'echo '***********************************************'exitfiif [[ -z $3 ]] && [[ -z $ORACLE_SID ]];thenecho '***********************************************'echo 'WARNING :There is Instance can be used !'echo '***********************************************'exitfiSH_USERNAME=`echo "$1"|tr '[a-z]' '[A-Z]'`SH_PASSWORD=$2echo '***********************************************'if [[ -z $3 ]]then SH_DB_SID=$ORACLE_SID echo 'Using Default Instance :'$ORACLE_SID echo .else SH_DB_SID=`echo "$3"|tr '[a-z]' '[A-Z]'`fiif [[ $SH_DB_SID = $tmp_db_sid ]] && [[ $SH_USERNAME = $tmp_username ]] && [[ $SH_PASSWORD = $tmp_password ]];then echo 'Instance '$SH_DB_SID 'has been connected' echo '***********************************************' exitfiexport SH_USERNAME=$SH_USERNAMEexport SH_DB_SID=$SH_DB_SIDexport SH_PASSWORD=$SH_PASSWORDexport DB_CONN_STR=$SH_USERNAME/$SH_PASSWORD#echo $DB_CONN_STRlistfile=`pwd`/listdbNum=`echo show user | $ORACLE_HOME/bin/sqlplus -s $DB_CONN_STR@$SH_DB_SID| grep -i 'USER ' | wc -l`if [ $Num -gt 0 ] then ## ok - instance is up echo 'Instance '$SH_DB_SID 'has been connected' echo -e '--' `date`'-- --'$SH_USERNAME@$SH_DB_SID 'has been connected --' >> listdb echo '***********************************************' echo 'Initalize DB login details registry OK!' echo 'Now you can Execution script~' echo '***********************************************' $SHELL  else ## inst is inaccessible  echo Instance: $SH_DB_SID Is Invalid Or UserName/PassWord Is Wrong  echo '***********************************************' exit fidel_length=3tmp_txt=$(sed -n '$=' listdb) echo '***********************************************'echo '********* ' $SH_USERNAME'@'$SH_DB_SID '**********'echo '***********************************************'curr_len=`cat $listfile|wc -l`if [ $curr_len -gt $del_length ]; thenecho ' There Are Below Sessions Still Alive 'echo '***********************************************'fised $((${tmp_txt}-${del_length}+1)),${tmp_txt}d $listfile | tee tmp_listfilemv tmp_listfile $listfile

输出:./settdb.sh 用户名 用户密码


showusers.sh

脚本内容如下:

#!/bin/bashecho "========================================查看所有数据库用户及其默认表空间================================================="echo "set pages 70 lines 99 feedback offcol DEFAULT_TABLESPACE head 'Default TBS' for a15 trunccol TEMPORARY_TABLESPACE head 'TEMP TBS' for a15 trunccol MB head 'Size (Mb)' for 999,999,999col username format a30set linesize 150break on reportcompute sum of MB on reportselect USERNAME,DEFAULT_TABLESPACE,TEMPORARY_TABLESPACE,CREATED,nvl(sum(seg.blocks*ts.blocksize)/1024/1024,0) MBfrom sys.ts$ ts,sys.seg$ seg,sys.user$ us,dba_users duwhere us.name (+)= du.username and seg.user# (+)= us.user# and ts.ts# (+)= seg.ts#group by USERNAME,DEFAULT_TABLESPACE,TEMPORARY_TABLESPACE,CREATEDorder by MB desc,username,created/" | sqlplus -s $DB_CONN_STR@$SH_DB_SID

输出:./showusers.sh


showusers.sh

脚本内容如下:

#!/bin/bashecho "========================================查看所有数据库用户$1具体信息================================================="NAME=`echo $1|cut -d. -f1`if [ -z "$NAME" ] then echo -e "User must be provided: c"; read NAMEfisqlplus -s $DB_CONN_STR@$SH_DB_SID <

输出:./showusers.sh 用户名

大家有什么需要统计的可以在下方留言,后面我也会整理相关脚本,感兴趣的朋友可以关注下

oracle 造数据脚本_Oracle数据库shell脚本--统计所有数据库用户信息及明细相关推荐

  1. linux 脚本 获取pid,Shell脚本中获取进程ID的方法

    提问: 我想要知道运行中脚本子shell的进程id.我该如何在shell脚本中得到PID. 当我在执行shell脚本时,它会启动一个叫子shell的进程.作为主shell的子进程,子shell将she ...

  2. 【跟晓月学shell脚本】掌握shell脚本变量原理及概念

    前言 跟晓月一起学shell,死磕shell脚本,让shell脚本学习不再难. 想学习更多shell脚本的案例,可以前往我的师父的shell脚本专栏:shell脚本从入门到实战-案例篇 文章目录 前言 ...

  3. linux脚本编写规则,shell脚本编写守则

    现在centos7中使用的是bash软件,通过以下命令可以查看bash版本: [root@localhost ~]# cat /etc/redhat-release #查看系统的版本 CentOS L ...

  4. linux脚本简介,Linux Shell脚本简介

    Shell 诞生于 Unix,是与 Unix/Linux 交互的工具,单独地学习 Shell 是没有意义的,请先参考Unix/Linux入门教程,了解 Unix/Lunix 基础. 近几年来,Shel ...

  5. 什么是脚本语言,shell脚本又是什么?

    脚本语言就是解释型语言: 脚本语言(Script language,scripting language,scripting programming language)是为了缩短传统的编写-编译-链接 ...

  6. Tcl/Tk脚本中执行Shell脚本

    在Tcl/Tk脚本中执行Shell命令 set n 0 set x "*"while {$n < 10} {puts $xset x "$x"*set n ...

  7. 【跟晓月学shell脚本】掌握shell脚本变量实战案例

    前言 上篇文章我们探讨了shell脚本变量的基本原理和概念,本篇我们基于上面的内容增加一些实战. 如果你还没有学习shell脚本的变量理论,可以点击链接:[跟晓月学shell脚本]掌握shell脚本变 ...

  8. dz mysql导出shell_mysql数据备份并导入数据库shell脚本

    #!/bin/bash ############################################# # #           mysql手工导入,qa到dev # ######### ...

  9. Linux qt shell脚本,QT执行shell脚本或者执行linux指令

    由于我在做linux下的QT开发,有时候会用到shell脚本的辅助,但是需要QT运行shell脚本并获取执行结果,今天给大家分享下我的技巧,废话少说直接上代码: //执行shell指令或者shell脚 ...

最新文章

  1. OpenStack Neutron浅析(二)
  2. 怎么看cudnn的版本好_针对此次版本削弱,怎么用好嫦娥!
  3. Windows 平台下的C++代理类(供C # 使用)
  4. LeetCode刷题(6)
  5. AcWing 898. 数字三角形
  6. 读“我为什么不要应届毕业生”
  7. Android UI学习之RadioButton和RadioGroup
  8. web界面设计要素及基本设计规范
  9. mysql execute immediate_动态SQL之EXECUTE IMMEDIATE
  10. linux文件系统ram,Linux常用文件系统概述-RAM篇
  11. iphone刷基带_揭秘:iPhone6S开机白苹果维修、安卓机刷基带分享
  12. Android 听筒扬声器切换 并且监听音量变化
  13. AutoLeaders控制组——51单片机学习笔记(蜂鸣器、AT24C02芯片)
  14. 计算机网络体系结构划分
  15. vhs预设_如何在Linux中数字化VHS磁带
  16. 十二个“一”与耍猴(互动媒体技术作业)
  17. 行业音视频通信市场的技术发展
  18. 终于有人把云计算、大数据和 AI 讲明白了【深度好文】
  19. android twerk,抖音薛老湿bgm手机铃声响起拍照是什么歌 Android Twerk在哪听
  20. 英飞凌TC264之ADC

热门文章

  1. mockito_书评:Mockito Essentials
  2. jpa和hibernate_从JPA到Hibernate的旧版和增强型标识符生成器
  3. javafx_JavaFX技巧4:总结
  4. Java中的LinkedHashMap
  5. 为什么需要切换到在线签署文档和合同
  6. 带有JUnit 5支持的Ant 1.10.3发布
  7. spring javafx_带有Spring的JavaFX 2
  8. Java命令行界面(第22部分):argparser
  9. Gradle技巧–显示buildscript依赖项
  10. 将原生SQL功能Hibernate到您的Spring Data Repository中