免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123
最近访问板块 发新帖
楼主: taosicai
打印 上一主题 下一主题

[文本处理] 自动巡检脚本切换用户后不好用!急!!! [复制链接]

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
21 [报告]
发表于 2013-08-01 15:31 |只看该作者
回复 19# taosicai
  1. su - db2inst1 -c "
  2. for DBN in \$(db2 list db directory | sed '/Database name.*SAMPLE/!d; s/.* //')
  3. do
  4.     echo db2 connect to \$DBN
  5.     db2 connect to \$DBN
  6.     # echo '_________'
  7.     # db2 'SELECT BPNAME, NPAGES, PAGESIZE FROM SYSCAT.BUFFERPOOLS'
  8.     # echo '_________'
  9.     db2 \"SELECT * FROM SYSCAT.SCHEMATA WHERE OWNER='SYSIBM'\"
  10.     db2 disconnect \$DBN
  11. done
  12. "
复制代码

论坛徽章:
1
巨蟹座
日期:2013-10-12 09:53:21
22 [报告]
发表于 2013-08-01 17:17 |只看该作者
回复 20# Shell_HAT


老大真历害,连复制过来没改的大小写DBN也看出来了。

通过这两天的沟通了解,
Shell_HAT 不仅是个Shell高手,同时也是db2高手!
鉴定完毕。
{:3_193:}

论坛徽章:
1
巨蟹座
日期:2013-10-12 09:53:21
23 [报告]
发表于 2013-08-02 08:42 |只看该作者
下面贴一下我的脚本,脚本中没有一个多余字符,重点在for内

exec 1>>cms1.log
echo "*********************************"
echo "# uname -a"
uname -a
echo "*********************************"
echo "# cat /etc/services | grep db2"
cat /etc/services | grep db2
echo "*********************************"
echo "# 其他ROOT用户的巡查命令(#提示符后跟Root用户的命令)"
#
echo "*********************************"
echo "# /opt/IBM/db2/V9.7/instance/db2ilist"
/opt/IBM/db2/V9.7/instance/db2ilist
echo "*********************************"
echo "*********************************"
echo "# su - db2inst1"
su - db2inst1 <<EndOfUser
echo "*********************************"
echo "$ db2 list node directory"
db2 list node directory
echo "*********************************"
echo "$ 其他DB2实例用户的非循环巡查命令($提示符后跟数据库用户的命令)"
#
echo "*********************************"
echo "$ db2 list db directory"
db2 list db directory
echo "*********************************"
EndOfUser
echo "*********************************"
su - db2inst1 -c "
for DBN in \$(db2 list db directory | sed '/Database name/!d; s/.* //')
do
  echo '$ db2 connect to '\$DBN
  db2 connect to \$DBN
  echo '*********************************'
  echo '$ db2 get db cfg'
  db2 get db cfg
  echo '*********************************'
  echo '$ 其他实例用户的循环巡查命令($提示符后跟数据库用户的命令)'
  #
  echo '*********************************'
  echo '$ db2 \"SELECT SCHEMANAME, OWNER FROM SYSCAT.SCHEMATA WHERE OWNER<>\"SYSIBM\"\"'
  db2 \"SELECT SCHEMANAME, OWNER FROM SYSCAT.SCHEMATA WHERE OWNER='SYSIBM'\"
  echo '*********************************'
  echo '$ db2 \"SELECT BPNAME, NPAGES, PAGESIZE FROM SYSCAT.BUFFERPOOLS\"'
  db2 'SELECT BPNAME, NPAGES, PAGESIZE FROM SYSCAT.BUFFERPOOLS'
  echo '*********************************'
done
"

论坛徽章:
1
巨蟹座
日期:2013-10-12 09:53:21
24 [报告]
发表于 2013-08-02 09:08 |只看该作者
下面贴一下我的脚本结果cms1.log

*********************************
# uname -a
AIX DX-CRMSDBA 1 6 00F782764C00
*********************************
# cat /etc/services | grep db2
ibm-db2                 523/tcp                # IBM-DB2
questdb2-lnchr        5677/udp                # Quest Central DB2 Launchr
DB2_db2inst1        60000/tcp
DB2_db2inst1_1        60001/tcp
DB2_db2inst1_2        60002/tcp
DB2_db2inst1_END        60003/tcp
*********************************
# 其他ROOT用户的巡查命令(#提示符后跟Root用户的命令)
*********************************
# /opt/IBM/db2/V9.7/instance/db2ilist
db2inst1
rept
*********************************
*********************************
# su - db2inst1
*********************************
$ db2 list node directory

Node Directory

Number of entries in the directory = 2

Node 1 entry:

Node name                      = N1122
Comment                        =
Directory entry type           = LOCAL
Protocol                       = TCPIP
Hostname                       = 193.168.3.11
Service name                   = 60000

Node 2 entry:

Node name                      = N2233
Comment                        =
Directory entry type           = LOCAL
Protocol                       = TCPIP
Hostname                       = 193.168.5.22
Service name                   = 50000

*********************************
$ 其他DB2实例用户的非循环巡查命令($提示符后跟数据库用户的命令)
*********************************
$ db2 list db directory

System Database Directory

Number of entries in the directory = 1

Database 1 entry:

Database alias                       = NXCRM
Database name                        = NXCRM
Local database directory             = /credit/DBPATH
Database release level               = d.00
Comment                              =
Directory entry type                 = Indirect
Catalog database partition number    = 0
Alternate server hostname            =
Alternate server port number         =

*********************************
*********************************
$ db2 connect to NXCRM

   Database Connection Information

Database server        = DB2/AIX64 9.7.4
SQL authorization ID   = DB2INST1
Local database alias   = NXCRM

*********************************
$ db2 get db cfg

       Database Configuration for Database

Database configuration release level                    = 0x0d00
Database release level                                  = 0x0d00

Database territory                                      = CN
Database code page                                      = 1386
Database code set                                       = GBK
Database country/region code                            = 86
Database collating sequence                             = UNIQUE
Alternate collating sequence              (ALT_COLLATE) =
Number compatibility                                    = OFF
Varchar2 compatibility                                  = OFF
Date compatibility                                      = OFF
Database page size                                      = 16384
###此处信息涉密,被楼主忽略N行###

*********************************
$ 其他实例用户的循环巡查命令($提示符后跟数据库用户的命令)
*********************************
$ db2 "SELECT SCHEMANAME, OWNER FROM SYSCAT.SCHEMATA WHERE OWNER<>"SYSIBM""

SCHEMANAME                                                                                                                       OWNER                                                                                                                           
-------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------
SYSIBM                                                                                                                           SYS                                                                                                                          
  1 record(s) selected.

*********************************
$ db2 "SELECT BPNAME, NPAGES, PAGESIZE FROM SYSCAT.BUFFERPOOLS"

BPNAME                                                                                                                           NPAGES      PAGESIZE   
-------------------------------------------------------------------------------------------------------------------------------- ----------- -----------
IBMDEFAULTBP                                                                                                                         4194304       16384

  1 record(s) selected.

*********************************

论坛徽章:
1
巨蟹座
日期:2013-10-12 09:53:21
25 [报告]
发表于 2013-08-02 09:10 |只看该作者
本帖最后由 taosicai 于 2013-08-02 09:10 编辑

整个脚本日志结果看起来就像真实的生产环境直接输入命令返回结果一样。
好了,新手可以学习下。

结贴
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP