shell脚本之分析oracle数据库数据泵日志中表的大小
1、分析日志格式如下
|
. . imported "xxx_330508"."xxx_T_DATA" 46.17 MB 268 rows . . imported "xxx_330508"."xxx_T_CAUSERLOG" 24.74 MB 72246 rows . . imported "xxx_330508"."xxx_T_UIQUERYFORM" 23.98 MB 124432 rows . . imported "xxx_330508"."P#xxx_T_PAPAGE" 23.82 MB 102843 rows . . imported "xxx_330508"."yyyyy" 15.90 MB 8946 rows |
这里我主要关注红色部分的总和。
2、用于分析上述日志的shell脚本如下:
|
# vi oracle_ayalyze_dpfile.sh |
|
#!/bin/sh #echo -n "Please input analyze filename:" #read filename val01=`egrep -o "([0-9\.0-9]+? GB)" $1 |egrep -o "([0-9\.0-9]+?)" | awk '{sum+=$0*1024*1024}END{print sum}' | awk '{print $0*1}'` val02=`egrep -o "([0-9\.0-9]+? MB)" $1 |egrep -o "([0-9\.0-9]+?)" | awk '{sum+=$0*1024}END{print sum}' | awk '{print $0*1}'` val03=`egrep -o "([0-9\.0-9]+? KB)" $1 |egrep -o "([0-9\.0-9]+?)" | awk '{sum+=$0}END{print sum}' | awk '{print $0*1}'` val=`echo "$val01+$val02+$val03" | bc` val=`echo "scale=2;$val/1024/1024" | bc` echo $val"GB" |
|
测试: |
|
# /home/oracle/oracle_ayalyze_dpfile.sh /u01/app/oracle/admin/orcl/dpdump/db_xc161125.log 12.37GB |
|
解释: |
|
1)egrep -o "([0-9\.0-9]+? GB)" $1 -- 使用egrep查找匹配数据,egrep默认支持正则表达式,grep不支持正则,除非指定参数-E,参数-o表示仅返回匹配字段值,否则返回整行数据。"([0-9\.0-9]+? GB)"这部分是正则规则,目的匹配日志中红色字段内容,$1表示分析文件通过参数方式传递。 |
|
2)egrep -o "([0-9\.0-9]+?)" -- 在上一步分析的基础上去掉单位 |
|
3)awk '{sum+=$0*1024*1024}END{print sum}' --使用awk对上一步的分析结果做一个求和的操作,即sum。 |
|
4)awk '{print $0*1}' --为了防止大数字使用科学计数法表示 |
|
5)val=`echo "$val01+$val02+$val03" | bc` --对上面计算出的3个结果进行一个求和操作,单位为kb |
|
6)val=`echo "scale=2;$val/1024/1024" | bc` --将单位为kb的结果转换为单位为gb的结果 |
|
7)echo $val"GB" --输出结果,打印在控制台 |
shell脚本之分析oracle数据库数据泵日志中表的大小的更多相关文章
- [转]oracle 10g数据泵之impdp-同时导入多个文件
要了解impdp,请先了解导出,我之前作过导出的笔记:oracle 10g数据泵之expdp.这两个笔记也许只对程序员有用,通常用于把正式区的数据导入到测试区,对数据库管理员也许帮助不大,他们使用这些 ...
- oracle数据库数据导入导出步骤(入门)
oracle数据库数据导入导出步骤(入门) 说明: 1.数据库数据导入导出方法有多种,可以通过exp/imp命令导入导出,也可以用第三方工具导出,如:PLSQL 2.如果熟悉命令,建议用exp/imp ...
- Oracle使用数据泵导入/导出数据(expdp/impdp)
Oracle使用数据泵导入/导出数据(expdp/impdp) A电脑上的操作(expdp数据导出) 运行cmd: 登录数据库,输入命令:sqlplus 使用管理员角色登录需要在用户名后加" ...
- oracle 数据库数据备份
oracle 数据库数据备份 1.使用oracle用户应该就可以进行数据备份(不需要root用户):su oracle 查oracle实例名:echo $ORACLE_SID 例如查出来的 ...
- 用shell脚本实现定时备份数据库
1.备份数据库的方法 可以使用命令查看 ls /usr/local/mysql/bin 这个mysqldump就是系统内置的用来备份数据库的工具. 2.实现方法 ①先随便进入一个位置创建一个目录 ② ...
- Oracle使用——数据泵导入导出数据库——impdp/expdp使用
使用前提 EXPDP和IMPDP只可以在Oracle服务端使用. EXP导出的文件只可以使用IMP导入,不适用于IMPDP导入文件:EXPDP导出的文件只可以使用IMPDP导入,而不适用于IMP导出文 ...
- Oracle基础 数据泵导出/导入Expdp/impdp(转)
一.EXPDP和IMPDP使用说明 Oracle Database 10g引入了最新的数据泵(Data Dump)技术,数据泵导出导入(EXPDP和IMPDP)的作用 1)实现逻辑备份和逻辑恢复. 2 ...
- Linux下通过脚本自动备份Oracle数据库并删除指定天数前的备份
说明: Oracle数据库服务器操作系统:CentOSIP:192.168.0.198端口:1521SID:orclOracle数据库版本:Oracle11gR2 具体操作: 1.root用户登录服务 ...
- 如何使用shell脚本快速排序和去重文件数据
前面写过一篇通过shell脚本去重10G数据的文章,见<用几条shell命令快速去重10G数据>.然而今天又碰到另外一个业务,业务复杂度比上次的单纯去重要复杂很多.找了很久没有找到相应的办 ...
随机推荐
- MySQL设置全局sql日志
分别执行开启日志以及日志路径和日志文件名 SET GLOBAL general_log_file = '/var/lib/mysql/localhost.log';SET GLOBAL genera ...
- 深入浅出理解c++虚函数
深入浅出理解c++虚函数 记得几个月前看过C++虚函数的问题,当时其实就看懂了,最近笔试中遇到了虚函数竟然不太确定,所以还是理解的不深刻,所以想通过这篇文章来巩固下. 装逼一刻: 最近,本人思想发 ...
- Spark 论文篇-大型集群上的快速和通用数据处理架构(中英双语)
论文内容: 待整理 参考文献: An Architecture for Fast and General Data Processing on Large Clusters. Matei Zahari ...
- 借着Python-3来聊聊utf-8字符集
[关于文本文件] 文本文件也是以二进制序列的方式保存在磁盘中的,磁盘并不能保存文本:我们打开文本文件的时候之所以能看到文字,是因为 软件根据文件所用编码的字符集对文件进行解码的原因. [以utf-8字 ...
- vue项目eslint环境配置与vscode配置eslint
eslint基础环境搭建 全局安装eslint:npm install eslint -g 项目eslint初始化:eslint --init,按团队或自己的编程风格回答三道题. ? How woul ...
- vue项目使用webpack loader把px转换为rem
下载lib-flexible https://github.com/amfe/lib-flexible npm i lib-flexible --save 在main.js中引入lib-flexibl ...
- C++11模版元编程的应用
1.概述 关于C++11模板元的基本用法和常用技巧,我在程序员2015年2月B<C++11模版元编程>一文(后称前文)中已经做了详细地介绍,那么C++11模版元编程用来解决什么实际问题呢, ...
- linux每日命令(9):cp命令
一.命令格式: cp [参数] source dest 或 cp [参数] source... directory 二.命令功能: 将源文件复制至目标文件,或将多个源文件复制至目标目录. 三. 命令参 ...
- linux每日命令(23):find命令之xargs
在使用 find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行.但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出 ...
- 【iCore1S 双核心板_FPGA】例程一:GPIO输出实验——点亮LED
实验现象: 三色LED循环点亮. 核心源代码: //--------------------Module_LED-----------------------------// module LED( ...