下载对应数据库采集程序,并在数据库服务器上运行。
- oracle
- postgresql
- mysql
无数据
btrobot 版本:v 2.2.7
大小:236.24 kb
适应系统:all platform
更新时间:2019-03-19
使用方法
直接在一个节点运行脚本。(windows请查看下方对应的使用方法)
--解压采集程序
unzip btrobot_v2.2.7.zip
cd btrobot_v2.2.7
--检查设置环境变量
echo $oracle_home
--export oracle_home=/u01/app/oracle/product/11.2.0/db_1
echo $oracle_sid
--export oracle_sid=btdb
--开始采集(采集7天内的信息,且不采集dg数据)
perl runme.pl -e 7 -l 7 -s -t 7 -t 7
--获取采集数据包
get data/btdb_20180719094613.zip
windows
解压后直接在cmd窗口运行。
--下载到d盘解压打开cmd窗口
cmd
d:
cd btrobot_v2.2.7
--设置环境变量
set oracle_home=c:\oracle\product\10.2.0\db_1
set oracle_sid=windb
set path=%oracle_home%\bin;%oracle_home%\perl\5.8.3\bin\mswin32-x64-multi-thread;%path%
--tips:以下环境变量的值请依据实际情况替换,确保可以在 cmd 中使用 perl 并且可以正常登录数据库实例
--开始采集(采集7天内的信息,且不采集dg数据)
perl runme.pl -e 7 -l 7 -s -t 7 -t 7
--数据包位置
d:\btrobot_v2.2.7\data\windb_20180719094613.zip
帮助信息
可以执行如下命令查看帮助信息以及参数释义
perl runme.pl -h
cat readme_en.txt
rac无用户等效
正常情况下,rac 节点之间都会配置用户等效,此时在一个节点运行采集工具即可采集所有节点的信息。但若采集的目标库是 rac 数据库,且并未在集群节点间配置用户等效,那么会有如下提示信息:
user equivalent is not configured
you can choose :
p: [password mode] use password to login remote and collect data
l: [listener mode] you must run command on remote manually (it's default)
====>
采集工具提示用户选择远程节点的采集方式,有密码模式(p)和监听模式(l)两种:
其中:密码模式适用于操作者知道远程节点密码的情况,且需要当前服务器有 setsid 命令;监听模式适用于操作者不知道远程节点密码,但能通过其他方式连接远程节点的情况。
若操作者选择密码模式,则根据提示信息,一步步输入各个远程节点(如果密码相同,则根据提示只需要输入一次)的密码即可正常采集。
若操作者选择监听模式,则在采集节点操作系统信息的时候,会有如下提示信息:
15:25:22 complete: bxdb -> collection completed, running is [xx]
15:26:24 cltnodres:
15:26:24 cltnodres: <=============================[ attention ]=============================>
15:26:24 cltnodres: follow command must manual run on remote node
15:26:24 cltnodres: remote list: xx
15:26:24 cltnodres: <=======================================================================>
# ------------------------[ run on remote by oracle ]---------------------------
perl -e 'use io::socket;use io::select;
$oh=$env{oracle_home};my ($pn,$pp)=(" 123.123.123.123",12345); # primary
my $sk=io::socket::inet->new(peeraddr=>$pn,peerport=>$pp,proto=>tcp,timeout=>60)
or die "connect [$!]";$sl=io::select->new($sk);$nh=($sl->handles)[0];my @fl;
print "files :";$nh->send("get_file|x\n");die "no reply"
if(! $sl->can_read(60));while(1){my $nd;chomp($nd=$nh->getline);last if($nd eq
"completed");print $nd;push(@fl,$nd);open fh,">",$nd;while(1){chomp($nd=
$nh->getline);last if($nd eq "<-eof->");print fh "$nd\n";}close fh;
print "[ok] ";}print "\n";$env{"libpath"}="$oh/lib32:$oh/lib";
$env{"shlib_path"}=$env{"ld_library_path"}=$env{"libpath"};
system("$oh/perl/bin/perl noderobot.pl $pn $pp");foreach(\@fl){unlink}'
# ------------------------[ run on remote by oracle ]---------------------------
采集工具此时会挂起,等待用户操作,需按照提示操作:拷贝提示信息中完整的 perl 命令,在远程节点列表内的服务器中运行命令。
dg数据采集
默认-s不会采集dg信息,若需采集dg信息,请去掉-s参数,并在dg库按照提示执行语句:
15:35:15 cltdgdat: ==================== [ dg information ] ====================
15:35:15 cltdgdat: | dg name remote host remote ip |
15:35:15 cltdgdat: | -------------------- -------------------- --------------- |
15:35:15 cltdgdat: | bxdg bxdg 10.51.94.237 |
15:35:15 cltdgdat: ============================================================
15:35:15 cltdgdat: notes: you can skip dg collection by [ctrl c]
# ------------------------[ run on remote by oracle ]---------------------------
perl -e 'use io::socket;use io::select;
$oh=$env{oracle_home};my ($pn,$pp)=(" 123.123.123.123",12345); # primary
my $sk=io::socket::inet->new(peeraddr=>$pn,peerport=>$pp,proto=>tcp,timeout=>60)
or die "connect [$!]";$sl=io::select->new($sk);$nh=($sl->handles)[0];my @fl;
print "files :";$nh->send("get_file|x\n");die "no reply"
if(! $sl->can_read(60));while(1){my $nd;chomp($nd=$nh->getline);last if($nd eq
"completed");print $nd;push(@fl,$nd);open fh,">",$nd;while(1){chomp($nd=
$nh->getline);last if($nd eq "<-eof->");print fh "$nd\n";}close fh;
print "[ok] ";}print "\n";$env{"libpath"}="$oh/lib32:$oh/lib";
$env{"shlib_path"}=$env{"ld_library_path"}=$env{"libpath"};
system("$oh/perl/bin/perl dgrobot.pl $pn $pp");foreach(\@fl){unlink}'
# ------------------------[ run on remote by oracle ]---------------------------
采集工具此时会挂起,等待用户操作,需按照提示操作:拷贝提示信息中完整的 perl 命令,在远程节点列表内的服务器中运行命令。
将上一步采集的数据包上传到平台中。
--获取采集数据包
get data/btdb_20180719094613.zip
--win数据包位置
d:\btrobot_v2.2.7\data\windb_20180719094613.zip
-
暂无数据,请更换搜索条件