Chinaunix首页 | 论坛 | 博客
  • 博客访问: 923990
  • 博文数量: 119
  • 博客积分: 6248
  • 博客等级: 准将
  • 技术积分: 1419
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-08 14:14
文章分类

全部博文(119)

文章存档

2014年(1)

2012年(1)

2011年(2)

2010年(22)

2009年(81)

2008年(12)

分类: LINUX

2010-02-09 14:00:03

项目需要核对数据库表记录,由于表太多了,一一核对是相当痛苦的事情,于是临时写了2个超级简单的脚本,一个是核对mysql数据库表的脚本,另外一个是oracle数据库表的脚本,脚本如下:
 
核对mysql数据库表的shell脚本:
 
 

#!/bin/bash
for i in `cat /root/mysql_tables.txt
do
dir=$(mysql -u root -p123456 -e "select count(*) from xxt.$i" |grep -v "count" )
echo -e "$i\t\t$dir">>/root/mysql_check.txt
done

说明:mysql_tables.txt是你要核对的数据库表的文件,mysql_check.txt是核对以后的数据库表和记录数对应的关系文件.

#!/bin/bash
for i in `cat /home/nagios/oracle_xxt_tables.txt`
do
dir_2=`sqlplus -silent xxt/xxt@ora10 <<END
select count(*) from $i;
exit;
END`
echo -e "$i\t\t$dir_2" >>/root/xxt.txt
done


说明:oracle_xxt_tables.txt是你要核对的数据库表的文件,xxt.txt是核对以后的数据库表和记录数对应的关系文件.

这样就很方便的批量检测数据库表记录数了,节省了很多时间.

阅读(2258) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~