首页 > 数据库 >【Oracle】获取指定用户的所有表的行数(实时的)

【Oracle】获取指定用户的所有表的行数(实时的)

时间:2024-03-27 22:38:02浏览次数:25  
标签:实时 ORACLE USER 行数 SID Oracle table PORT row


#!/bin/bash

# 
ORACLE_USER="username"
ORACLE_PASSWORD="password"
ORACLE_HOST="hostname"
ORACLE_PORT="port"
ORACLE_SID="SID"

# row count
function get_table_row_count() {
    local table_name=$1
    sqlplus -S ${ORACLE_USER}/${ORACLE_PASSWORD}@${ORACLE_HOST}:${ORACLE_PORT}/${ORACLE_SID} << EOF
    set heading off
    set feedback off
    SELECT COUNT(*) FROM ${table_name};
    exit;
EOF
}

# current sysdate
current_date=$(sqlplus -S ${ORACLE_USER}/${ORACLE_PASSWORD}@${ORACLE_HOST}:${ORACLE_PORT}/${ORACLE_SID} << EOF
    set heading off
    set feedback off
    SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') FROM DUAL;
    exit;
EOF
)

# current System Change Number
current_scn=$(sqlplus -S ${ORACLE_USER}/${ORACLE_PASSWORD}@${ORACLE_HOST}:${ORACLE_PORT}/${ORACLE_SID} << EOF
    set heading off
    set feedback off
    SELECT SCN_TO_TIMESTAMP(CURRENT_SCN) FROM V$DATABASE;
    exit;
EOF
)

# all tables
table_names=$(sqlplus -S ${ORACLE_USER}/${ORACLE_PASSWORD}@${ORACLE_HOST}:${ORACLE_PORT}/${ORACLE_SID} << EOF
    set heading off
    set feedback off
    SELECT table_name FROM dba_tables where owner='' order by 1;
    exit;
EOF
)

# for all tables
IFS=$'\n'
for table_name in ${table_names}
do
    row_count=$(get_table_row_count ${table_name})
    echo "Table ${table_name}: ${row_count} rows"
done

# print sysdate and SCN
echo "Current Date: ${current_date}"
echo "Current SCN: ${current_scn}"


标签:实时,ORACLE,USER,行数,SID,Oracle,table,PORT,row
From: https://www.cnblogs.com/Jeona/p/18100460

相关文章

  • oracle 11G 数据库归档日志清理流程。
    oracle11G数据库归档日志清理流程。链接:ORACLE11g数据库归档日志清理规程-百度文库(baidu.com)......
  • Oracle 分页查询,排序分页
    效率最高内查询小于等于外查询大于select*from(selectt.*,rownumasnfromSTUDENTtwhererownum<=4)twheret.n>2orderbyt.iddesc;查看执行计划explainplanforselect*from(selectrownumasn,d.*fromdeptdwhererownum<=4)twheret.n>......
  • Oracle 小知识
    --会乱码SELECTsys_guid()fromdual;--大写uuidSELECTRAWTOHEX(SYS_GUID())FROMdual;--小写SELECTlower(sys_guid())fromdual;--列拼接SELECTname||create_time||idaFROMSTUDENTs;--字符串拼接SELECT'张三'||'李四'||'王五'nameFROM......
  • 一套集群实时在线扩容为两套集群方案
    一套集群实时在线扩容为两套集群方案解决问题:当一套集群A承担不了业务压力,需要在A集群在线情况下,扩出来一套与A集群完全一样的B集群,之后从业务层面控制A和B各自承担原A承担的一半业务压力。1、配置A集群1.1A集群创建用户并赋权selectfrompg_userwhere;......
  • 鸿蒙应用开发-录音并使用WebSocket实现实时语音识别
    功能介绍:录音并实时获取RAW的音频格式数据,利用WebSocket上传数据到服务器,并实时获取语音识别结果,参考文档使用AudioCapturer开发音频录制功能(ArkTS),更详细接口信息请查看接口文档:AudioCapturer8+和@ohos.net.webSocket(WebSocket连接)。知识点:熟悉使用AudioCapturer录......
  • Oracle数据库入门第三课(函数)
    前面二白讲了一些简单的查询语句,仅仅知道查询语句的语法是不够的,要想实现更多的需求,更重要的是函数的使用,这节课我们简单说一下一些函数的使用。一、函数的分类什么叫做函数?函数就是用来实现某种功能的,提前声明好的代码块分类:•系统函数         ‣单行函数......
  • Oracle导出数据库与还原
    导出部分1.获取到Oracledirectory目录与实际电脑目录的映射2.CMD导出Oracle数据库DMP文件//expdp用户/密码@数据库监听地址schemas=表空间名称dumpfile=自定义名称.dmpdirectory=DATA_DIR(上面SQL中DIRECTORY_NAME选择一个导出的文件就会在对应的DIRECTORY_PATH......
  • 实时数仓之Flink消费kafka消息队列数据入hbase
    一、流程架构图 二、开源框架及本版选择    本次项目中用到的相关服务有:hadoop、zookeeper、kafka、maxwell、hbase、phoenix、flink   三、服务部署完成后,开发Flink主程序  3.1结构图如下:      3.2代码详细内容  3.2.1pom文件<?xml......
  • Oracle备份的几种方式
    原文出处:https://www.cnblogs.com/lcword/p/11775657.html 从物理与逻辑的角度来分类:从物理与逻辑的,备份可以分为物理备份和逻辑备份。物理备份:对数据库操作系统的物理文件(数据文件,控制文件和日志文件)的备份。物理备份又可以分为脱机备份(冷备份)和联机备份(热备份),前者是在关闭数......
  • [Oracle]细节与使用经验
    【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)https://www.cnblogs.com/cnb-yuchen/p/18032041出自【进步*于辰的博客】纯文字阐述,内容比较干。并且,由于考虑到时间长了恐有所遗漏,便即兴记录,并没有对内容进行筛选、排序。因此,大家在阅读时可以直接Ctrl+F进行......