参考GP的安装手册,结合自己安装过程中的点点滴滴,重新梳理了配置的步骤和顺序,绝对比GP的手册更方便,防止在安装的过程中走岔路,尤其是在多台机器进行安装配置的时候。
------------------------------------------------------------------------------------
对于PC服务器自带的存储考虑
------------------------------------------------------------------------------------
PC服务器的推荐配置:
2*4 CPU
8个千兆网卡(master节点需要增加两张网卡,对外提供服务)
24*1TSAS盘配置 该盘用于放置数据库数据文件,建议的raid配置为4组raid10,
每组6块盘,raid10的条带设置为128K,不配置hotspare盘
2*300G 用于安装操作系统
------------------------------------------------------------------------------------
文件系统设置要求
------------------------------------------------------------------------------------
MASTER NODE
/ 48G EXT3
swap 48G SWAP
/data 200G XFS
SEGMENT NODE
/ 48G EXT3
swap 48G SWAP
/data1 6T XFS
/data2 6T XFS
##############################################################################################
1)修改IO调度算法
由于修改的是/boot/grub/menu.lst文件,稍有不慎会导致系统无法启动
并且/boot/grub/menu.lst在同样的安装下,经常会有些差异,不建议直接分发Master修改的结果
建议单独到每台机器上进行配置,包括Master,Standby Master,Segment Host,ETL Host
主机名很多时候也需要重新设置,也需要每台单独设置
##############################################################################################
------------------------------------------------------------------------------------
1.1)修改IO调度算法
------------------------------------------------------------------------------------
vi /boot/grub/menu.lst
root=/dev/VolGroup00/LogVol00 rhgb noapic quiet elevator=deadline
After the next reboot, use this command to verify that the correct scheduler is in use:
cat /sys/block/*/queue/scheduler
Each line of output shown should have the word [deadline] surrounded as shown in square brackets.
noop anticipatory [deadline] cfq
2.6内核的四种调度算法
In the 2.6 kernel series, there are four interchangeable schedulers, as follows:
cfq- “Completely Fair Queuing” makes a good default for most workloads on general-purpose servers.
as - “Anticipatory Scheduler” is best for workstations and other systems with slow, single-spindle storage.
deadline - “Deadline” is a relatively simple scheduler which tries to minimize I/O latency by re-ordering requests to improve performance.
noop- “NOOP” is the most simple scheduler of all, and is really just a single FIFO queue.
With newer Linux kernels (Red Hat Enterprise Linux v3 Update 3 does not have this feature. It is present in the main Linux tree as of 2.6.15), one can change the scheduler while running.
在运行中,也可以修改IO调度算法:
比如:
echo deadline > /sys/block/sdb/queue/scheduler
------------------------------------------------------------------------------------
1.2)设置主机名
------------------------------------------------------------------------------------
hostname mdw
vi /etc/sysconfig/network
HOSTNAME=mdw
#vi /etc/hosts
这一步可以先不做,后面会有完整的配置
##############################################################################################
2)
接下来的配置基本都是单独在Master上执行的
如果特别需要在segment进行配置的,会单独进行说明
##############################################################################################
------------------------------------------------------------------------------------
2.1)设置全局的profile
------------------------------------------------------------------------------------
vi /etc/profile
# Set user prompt by xigua
if [ $LOGNAME = "root" ]; then
PS1=`hostname`':$PWD#'
else
PS1=`hostname`':$PWD$'
umask 022
fi
set -o vi
# End set
------------------------------------------------------------------------------------
2.2)设置启动级别到3
------------------------------------------------------------------------------------
vi /etc/inittab
id:3:initdefault:
------------------------------------------------------------------------------------
2.3)配置内核参数和用户限额
------------------------------------------------------------------------------------
vi /etc/sysctl.conf
# Set for GreenPlum
net.ipv4.ip_forward = 0
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 1
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.sem = 250 64000 100 512
kernel.shmmni = 4096
kernel.shmmax = 500000000
kernel.shmall = 4000000000
net.ipv4.tcp_tw_recycle=1
net.ipv4.tcp_max_syn_backlog=4096
net.core.netdev_max_backlog=10000
vm.overcommit_memory=2
net.ipv4.conf.all.arp_filter = 1
# End set of GreenPlum
执行下面的命令使上面的配置生效:
sysctl -p
vi /etc/security/limits.conf
#Set for GreenPlum
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072
#End set of GreenPlum
------------------------------------------------------------------------------------
2.4)配置时钟同步服务
------------------------------------------------------------------------------------
vi /etc/ntp.conf
server 132.224.200.3 prefer
server mdw
------------------------------------------------------------------------------------
2.5)设置read-ahead到rc.local
------------------------------------------------------------------------------------
The changes to this file force the disk read-ahead buffers to larger than normal.
Each disk device file should have a read-ahead value of 16384.
vi /etc/rc.local
#Change the disk read-ahead buffers to larger than normal.
#Change for Dell
blockdev --setra 16384 /dev/sd*
#Change for HP
blockdev --setra 16384 /dev/cciss/c?d?*
After the next reboot, issue this command to verify the setting:
blockdev --getra /dev/sd*
------------------------------------------------------------------------------------
2.6)关闭selinux
------------------------------------------------------------------------------------
vi /etc/selinux/config
SELINUX=disabled
------------------------------------------------------------------------------------
2.7)配置/etc/hosts
------------------------------------------------------------------------------------
vi /etc/hosts
#Master node
132.224.36.207 mdw-ext
192.168.1.250 mdw-1 mdw
192.168.2.250 mdw-2
192.168.3.250 mdw-3
192.168.4.250 mdw-4
#Standby master node
132.224.36.208 smdw-ext
192.168.1.251 smdw-1 smdw
192.168.2.251 smdw-2
192.168.3.251 smdw-3
192.168.4.251 smdw-4
#Segment node1
192.168.1.1 sdw1-1 sdw1
192.168.2.1 sdw1-2
192.168.3.1 sdw1-3
192.168.4.1 sdw1-4
#Segment node2
192.168.1.2 sdw2-1 sdw2
192.168.2.2 sdw2-2
192.168.3.2 sdw2-3
192.168.4.2 sdw2-4
#Segment node3
192.168.1.3 sdw3-1 sdw3
192.168.2.3 sdw3-2
192.168.3.3 sdw3-3
192.168.4.3 sdw3-4
#Segment node4
192.168.1.4 sdw4-1 sdw4
192.168.2.4 sdw4-2
192.168.3.4 sdw4-3
192.168.4.4 sdw4-4
#Segment node5
192.168.1.5 sdw5-1 sdw5
192.168.2.5 sdw5-2
192.168.3.5 sdw5-3
192.168.4.5 sdw5-4
#Segment node6
192.168.1.6 sdw6-1 sdw6
192.168.2.6 sdw6-2
192.168.3.6 sdw6-3
192.168.4.6 sdw6-4
#ETL node1
132.224.36.203 etl1-ext1
132.224.36.204 etl1-ext2
132.224.36.203 etl1-1 etl1
132.224.36.204 etl1-2
#ETL node2
132.224.36.205 etl2-ext1
132.224.36.206 etl2-ext2
132.224.36.205 etl2-1 etl2
132.224.36.206 etl2-2
为方便后面GP配置命令使用,配置一个包含所有节点的host文件
cat > /root/allhost
mdw-ext
mdw
mdw-1
mdw-2
mdw-3
mdw-4
smdw-ext
smdw
smdw-1
smdw-2
smdw-3
smdw-4
sdw1
sdw1-1
sdw1-2
sdw1-3
sdw1-4
sdw2
sdw2-1
sdw2-2
sdw2-3
sdw2-4
sdw3
sdw3-1
sdw3-2
sdw3-3
sdw3-4
sdw4
sdw4-1
sdw4-2
sdw4-3
sdw4-4
sdw5
sdw5-1
sdw5-2
sdw5-3
sdw5-4
sdw6
sdw6-1
sdw6-2
sdw6-3
sdw6-4
etl1-ext1
etl1-ext2
etl1
etl1-1
etl1-2
etl2-ext1
etl2-ext2
etl2
etl2-1
etl2-2
配置一个不包含ETL节点的host文件
grep -v etl allhost > /root/allgphost
配置一个包含所有Segment host节点的host文件
grep sdw[0-9]-[0-9] allhost > /root/allgpseg
配置一个包含所有ETL host节点的host文件
grep etl[0-9] allhost |grep -v - > /root/alletl
------------------------------------------------------------------------------------
2.8)设置master节点到所有segment节点的ssh互信,root用户的
互信的配置可以极大的简化后面配置的复杂度,如果对于上百台机器
的配置,那可以巨大的节约工作量
------------------------------------------------------------------------------------
方法一:
mkdir ~/.ssh
ssh-keygen -t rsa
cp id_rsa.pub authorized_keys
将公共密钥分发到所有的segment节点
for iter in `cat /etc/hosts | grep sdw[0-9]-[0-9.] | awk '{print $2}'`; do
ssh root@${iter} " mkdir ~/.ssh ; chmod 700 ~/.ssh "
scp authorized_keys root@${iter}:~/.ssh
done
将公共密钥分发到master的standby节点
for iter in `cat /etc/hosts | grep smdw | awk '{print $2}'`; do
ssh root@${iter} " mkdir ~/.ssh ; chmod 700 ~/.ssh "
scp authorized_keys root@${iter}:~/.ssh
done
方法二:(推荐使用)
对于互信的设置,更为简单的方法是利用GP自带的命令进行设置,因此可以在Master节点先上传和安装GP软件
mkdir /gpsoft
ftp && put greenplum-db-4.2.0.0-build-5-RHEL5-x86_64.zip
unzip greenplum-db-4.2.0.0-build-5-RHEL5-x86_64.zip
sh greenplum-db-4.2.0.0-build-5-RHEL5-x86_64.bin
安装完gp软件之后,就可以利用GP提供的gpssh-exkeys命令来简单的配置互信了。
source /usr/local/greenplum-db/greenplum_path.sh
gpssh-exkeys -f /root/allhost
##############################################################################################
3)
互信配置好了,接下来的配置工作就相对来说轻松的多了
以上的配置基本都是在Master完成,然后利用配置的互信和GP的分发命令分发到
包括Master,Standby Master,Segment Host,ETL Host在内的所有服务器上。
接下来的配置和安装,都在Master利用GP分发命令直接执行了
为大家清晰所有操作所属的节点,特意在此说明
##############################################################################################
------------------------------------------------------------------------------------
3.1)首先将前面Master的设置分发到所有Master,Standby Master,Segment Host,ETL Host
------------------------------------------------------------------------------------
利用GP提供的基于互信的命令进行分发,注意在分发之前先进行备份
source /usr/local/greenplum-db/greenplum_path.sh
cd /root
gpssh -f /root/allhost -v -e '/bin/cp -f /etc/profile /etc/profile.bak'
gpscp -f allhost /etc/profile =:/etc/profile
gpssh -f /root/allhost -v -e '/bin/cp -f /etc/inittab /etc/inittab.bak'
gpscp -f allhost /etc/inittab =:/etc/inittab
gpssh -f /root/allhost -v -e '/bin/cp -f /etc/sysctl.conf /etc/sysctl.conf.bak'
gpscp -f allhost /etc/sysctl.conf =:/etc/sysctl.conf
gpssh -f /root/allhost -v -e '/bin/cp -f /etc/security/limits.conf /etc/security/limits.conf.bak'
gpscp -f allhost /etc/security/limits.conf =:/etc/security/limits.conf
gpssh -f /root/allhost -v -e '/bin/cp -f /etc/hosts /etc/hosts.bak'
gpscp -f allhost /etc/hosts =:/etc/hosts
gpssh -f /root/allhost -v -e '/bin/cp -f /etc/ntp.conf /etc/ntp.conf.bak'
gpscp -f allhost /etc/ntp.conf =:/etc/ntp.conf
gpssh -f /root/allhost -v -e '/bin/cp -f /etc/rc.local /etc/rc.local.bak'
gpscp -f allhost /etc/rc.local =:/etc/rc.local
gpssh -f /root/allhost -v -e '/bin/cp -f /etc/selinux/config /etc/selinux/config.bak'
gpscp -f allhost /etc/selinux/config =:/etc/selinux/config
------------------------------------------------------------------------------------
3.2)配置服务,包括Master,Standby Master,Segment Host,ETL Host
------------------------------------------------------------------------------------
gpssh -f /root/allhost -v -e 'service sendmail stop'
gpssh -f /root/allhost -v -e 'chkconfig sendmail off'
gpssh -f /root/allhost -v -e 'service ipmi start'
gpssh -f /root/allhost -v -e 'chkconfig ipmi on'
gpssh -f /root/allhost -v -e 'service iptables stop'
gpssh -f /root/allhost -v -e 'chkconfig iptables off'
gpssh -f /root/allhost -v -e 'service ip6tables stop'
gpssh -f /root/allhost -v -e 'chkconfig ip6tables off'
gpssh -f /root/allhost -v -e 'chkconfig avahi-daemon off'
gpssh -f /root/allhost -v -e 'chkconfig avahi-dnsconfd off'
gpssh -f /root/allhost -v -e 'chkconfig conman off'
gpssh -f /root/allhost -v -e 'chkconfig bluetooth off'
gpssh -f /root/allhost -v -e 'chkconfig cpuspeed off'
gpssh -f /root/allhost -v -e 'chkconfig setroubleshoot off'
gpssh -f /root/allhost -v -e 'chkconfig hidd off'
gpssh -f /root/allhost -v -e 'chkconfig hplip off'
gpssh -f /root/allhost -v -e 'chkconfig isdn off'
gpssh -f /root/allhost -v -e 'chkconfig kudzu off'
gpssh -f /root/allhost -v -e 'chkconfig yum-updatesd off'
gpssh -f /root/allhost -v -e 'chkconfig ntpd on'
gpssh -f /root/allhost -v -e 'service ntpd start'
------------------------------------------------------------------------------------
3.3)创建xfs文件系统,包括Master,Standby Master,Segment Host,ETL Host
------------------------------------------------------------------------------------
上传安装文件然后分发
kmod-xfs-0.4-2.x86_64.rpm
xfsprogs-2.9.4-4.el5.x86_64.rpm
gpscp -f /root/allhost kmod-xfs-0.4-2.x86_64.rpm =:/root
gpscp -f /root/allhost xfsprogs-2.9.4-4.el5.x86_64.rpm =:/root
安装rpm包
gpssh -f allhost -ev 'rpm -ivh kmod-xfs-0.4-2.x86_64.rpm xfsprogs-2.9.4-4.el5.x86_64.rpm'
手工加载xfs模块
gpssh -f allhost -ev 'modprobe xfs'
检查结果
gpssh -f allhost -ev 'lsmod | grep xfs'
检查需要格式化的盘,在我这里每台机器的配置相同,需要格式化的盘有两块:/dev/sdb,/dev/sdd
gpssh -f allhost -ev 'fdisk -l |grep Disk'
格式硬盘
gpssh -h etl1 -h etl2 -ev 'mkfs.xfs -f /dev/sdb'
gpssh -h etl1 -h etl2 -ev 'mkfs.xfs -f /dev/sdd'
gpssh -f /root/allgpseg -ev 'mkfs.xfs -f /dev/sdb'
gpssh -f /root/allgpseg -ev 'mkfs.xfs -f /dev/sdd'
创建文件系统挂载目录
gpssh -h etl1 -h etl2 -ev 'mkdir –p /data1'
gpssh -h etl1 -h etl2 -ev 'mkdir –p /data2'
gpssh -f /root/allgpseg -ev 'mkdir –p /data1'
gpssh -f /root/allgpseg -ev 'mkdir –p /data2'
gpssh -f /root/allgpseg -ev 'echo "/dev/sdb /data1 xfs noatime,inode64,allocsize=16m 1 1" >> /etc/fstab '
gpssh -f /root/allgpseg -ev 'echo "/dev/sdd /data2 xfs noatime,inode64,allocsize=16m 1 1" >> /etc/fstab '
gpssh -h etl1 -h etl2 -ev 'echo "/dev/sdb /data1 xfs noatime,inode64,allocsize=16m 1 1" >> /etc/fstab '
gpssh -h etl1 -h etl2 -ev 'echo "/dev/sdd /data2 xfs noatime,inode64,allocsize=16m 1 1" >> /etc/fstab '
gpssh -h etl1 -h etl2 -ev 'mount /data1'
gpssh -h etl1 -h etl2 -ev 'mount /data2'
gpssh -f /root/allgpseg -ev 'mount /data1'
gpssh -f /root/allgpseg -ev 'mount /data2'
gpssh -f /root/allhost -ev 'df -h'
------------------------------------------------------------------------------------
3.4)在master上创建组和用户,包括Master,Standby Master,Segment Host,ETL Host
------------------------------------------------------------------------------------
gpssh -f /root/allhost -ev 'groupadd -g 3030 gpadmin'
gpssh -f /root/allhost -ev 'groupadd -g 3040 gpmon'
gpssh -f /root/allhost -ev 'useradd -u 3030 -g gpadmin -d /home/gpadmin -s /bin/bash -m gpadmin'
gpssh -f /root/allhost -ev 'useradd -u 3040 -g gpmon -d /home/gpmon -s /bin/bash -m gpmon'
修改密码:
gpssh -f /root/allhost -ev 'echo "gpadmin" > /tmp/tmp.txt && passwd gpadmin --stdin < /tmp/tmp.txt && rm -f /tmp/tmp.txt'
gpssh -f /root/allhost -ev 'echo "gpmon" > /tmp/tmp.txt && passwd gpadmin --stdin < /tmp/tmp.txt && rm -f /tmp/tmp.txt'
------------------------------------------------------------------------------------
3.5)安装gp软件,包括Master,Standby Master,Segment Host,ETL Host
------------------------------------------------------------------------------------
首先在Master上安装GP软件,上传安装文件greenplum-db-4.2.0.0-build-5-RHEL5-x86_64.zip
mdw#cd /tmp
mdw#unzip greenplum-db-4.2.0.0-build-5-RHEL5-x86_64.zip
mdw#sh greenplum-db-4.2.0.0-build-5-RHEL5-x86_64.bin
mdw#source /usr/local/greenplum-db/greenplum_path.sh
其实在步骤2.8)中已经完成Master节点的安装了
在segment节点上分发安装gp软件,root用户直接用gpseginstall命令分发安装
首先将allhost之类的文件拷贝到gpadmin用户目录下
cp /root/all* /home/gpadmin
chown gpadmin:gpadmin /home/gpadmin/all*
chmod 644 /home/gpadmin/all*
分发软件有两种方法一(推荐):
gpscp -f allgphost -r /usr/local/greenplum-db-4.2.0.0 =:/usr/local/greenplum-db-4.2.0.0
gpssh -f allgphost -ev 'cd /usr/local; rm -rf greenplum-db; ln -fs greenplum-db-4.2.0.0 greenplum-db'
gpssh -f allgphost -ev 'chown -R gpadmin:gpadmin /usr/local/greenplum-db*'
gpscp -h etl1 -h etl2 -r /usr/local/greenplum-db-4.2.0.0 =:/usr/local/greenplum-db-4.2.0.0
gpssh -h etl1 -h etl2 -ev 'cd /usr/local; rm -rf greenplum-db; ln -fs greenplum-db-4.2.0.0 greenplum-db'
gpssh -h etl1 -h etl2 -ev 'chown -R gpadmin:gpadmin /usr/local/greenplum-db*'
方法二:
gpseginstall -f allgphost -u gpadmin -p gpadmin
检查所有segment节点的安装结果
gpssh -f allseg -e ll $GPHOME
------------------------------------------------------------------------------------
3.6)配置gpadmin的环境变量,包括Master,Standby Master,Segment Host,ETL Host
------------------------------------------------------------------------------------
在Master和Standby Master上创建/gpmaster目录
mkdir /gpmaster ; chown -R gpadmin:gpadmin /gpmaster
切换到gpadmin用户
su - gpadmin
vi /home/gpadmin/.bash_profile
. /usr/local/greenplum-db/greenplum_path.sh
export MASTER_DATA_DIRECTORY=/gpmaster/gpseg-1
export PGPORT=5432
export PGUSER=gpadmin
export PGDATABASE=gpyxpt
分发到所有的其他节点
su - gpadmin
gpscp -f allhost .bash_profile =:/home/gpadmin
------------------------------------------------------------------------------------
3.7)配置数据文件目录
------------------------------------------------------------------------------------
su - root
gpssh -f /home/gpadmin/allgpseg -e 'chown -R gpadmin:gpadmin /data1'
gpssh -f /home/gpadmin/allgpseg -e 'chown -R gpadmin:gpadmin /data2'
su - gpadmin
gpssh -f /home/gpadmin/allgpseg -ev 'mkdir -p /data1/primary'
gpssh -f /home/gpadmin/allgpseg -ev 'mkdir -p /data2/primary'
gpssh -f /home/gpadmin/allgpseg -ev 'mkdir -p /data1/mirror'
gpssh -f /home/gpadmin/allgpseg -ev 'mkdir -p /data2/mirror'
最后一次重启主机
gpssh -f /home/gpadmin/allhost -ev 'init 6'
------------------------------------------------------------------------------------
3.8)配置gp的配置文件
------------------------------------------------------------------------------------
su - gpadmin
mkdir gpconfigs
cd gpconfigs
cat > gpinitsystem_config
ARRAY_NAME="EMC Greenplum DW"
SEG_PREFIX=gpseg
PORT_BASE=40000
declare -a DATA_DIRECTORY=(/data1/primary /data1/primary /data2/primary /data2/primary)
MASTER_HOSTNAME=mdw
MASTER_DIRECTORY=/gpmaster
MASTER_PORT=5432
TRUSTED_SHELL=ssh
CHECK_POINT_SEGMENTS=8
ENCODING=UNICODE
MIRROR_PORT_BASE=50000
REPLICATION_PORT_BASE=41000
MIRROR_REPLICATION_PORT_BASE=51000
declare -a MIRROR_DATA_DIRECTORY=(/data1/mirror /data1/mirror /data2/mirror /data2/mirror)
MASTER_MAX_CONNECT=25
DATABASE_NAME=gpyxpt
MACHINE_LIST_FILE=/home/gpadmin/allgpseg
------------------------------------------------------------------------------------
3.9)创建gp实例
------------------------------------------------------------------------------------
方法一:连带Standby Master一起创建
gpinitsystem -c /home/gpadmin/gpconfigs/gpinitsystem_config -s smdw -S
方法二:先创建Master,然后单独添加Standby Master
gpinitsystem -c /home/gpadmin/gpconfigs/gpinitsystem_config
gpinitstandby -s smdw
检查数据库创建完后的情况:
mdw:/home/gpadmin$gpstate -s | grep Address |wc -l
48
$psql
psql (8.2.15)
Type "help" for help.
gpyxpt=# select * from gp_segment_configuration ;
dbid | content | role | preferred_role | mode | status | port | hostname | address | replication_port | san_mounts
------+---------+------+----------------+------+--------+-------+----------+---------+------------------+------------
1 | -1 | p | p | s | u | 5432 | mdw | mdw | |
2 | 0 | p | p | s | u | 40000 | sdw1 | sdw1-1 | 41000 |
6 | 4 | p | p | s | u | 40000 | sdw2 | sdw2-1 | 41000 |
10 | 8 | p | p | s | u | 40000 | sdw3 | sdw3-1 | 41000 |
14 | 12 | p | p | s | u | 40000 | sdw4 | sdw4-1 | 41000 |
18 | 16 | p | p | s | u | 40000 | sdw5 | sdw5-1 | 41000 |
22 | 20 | p | p | s | u | 40000 | sdw6 | sdw6-1 | 41000 |
3 | 1 | p | p | s | u | 40001 | sdw1 | sdw1-2 | 41001 |
7 | 5 | p | p | s | u | 40001 | sdw2 | sdw2-2 | 41001 |
11 | 9 | p | p | s | u | 40001 | sdw3 | sdw3-2 | 41001 |
15 | 13 | p | p | s | u | 40001 | sdw4 | sdw4-2 | 41001 |
19 | 17 | p | p | s | u | 40001 | sdw5 | sdw5-2 | 41001 |
23 | 21 | p | p | s | u | 40001 | sdw6 | sdw6-2 | 41001 |
4 | 2 | p | p | s | u | 40002 | sdw1 | sdw1-3 | 41002 |
8 | 6 | p | p | s | u | 40002 | sdw2 | sdw2-3 | 41002 |
12 | 10 | p | p | s | u | 40002 | sdw3 | sdw3-3 | 41002 |
16 | 14 | p | p | s | u | 40002 | sdw4 | sdw4-3 | 41002 |
20 | 18 | p | p | s | u | 40002 | sdw5 | sdw5-3 | 41002 |
24 | 22 | p | p | s | u | 40002 | sdw6 | sdw6-3 | 41002 |
5 | 3 | p | p | s | u | 40003 | sdw1 | sdw1-4 | 41003 |
9 | 7 | p | p | s | u | 40003 | sdw2 | sdw2-4 | 41003 |
13 | 11 | p | p | s | u | 40003 | sdw3 | sdw3-4 | 41003 |
17 | 15 | p | p | s | u | 40003 | sdw4 | sdw4-4 | 41003 |
21 | 19 | p | p | s | u | 40003 | sdw5 | sdw5-4 | 41003 |
25 | 23 | p | p | s | u | 40003 | sdw6 | sdw6-4 | 41003 |
46 | 20 | m | m | s | u | 50000 | sdw1 | sdw1-2 | 51000 |
26 | 0 | m | m | s | u | 50000 | sdw2 | sdw2-2 | 51000 |
30 | 4 | m | m | s | u | 50000 | sdw3 | sdw3-2 | 51000 |
34 | 8 | m | m | s | u | 50000 | sdw4 | sdw4-2 | 51000 |
38 | 12 | m | m | s | u | 50000 | sdw5 | sdw5-2 | 51000 |
42 | 16 | m | m | s | u | 50000 | sdw6 | sdw6-2 | 51000 |
43 | 17 | m | m | s | u | 50001 | sdw1 | sdw1-3 | 51001 |
47 | 21 | m | m | s | u | 50001 | sdw2 | sdw2-3 | 51001 |
27 | 1 | m | m | s | u | 50001 | sdw3 | sdw3-3 | 51001 |
31 | 5 | m | m | s | u | 50001 | sdw4 | sdw4-3 | 51001 |
35 | 9 | m | m | s | u | 50001 | sdw5 | sdw5-3 | 51001 |
39 | 13 | m | m | s | u | 50001 | sdw6 | sdw6-3 | 51001 |
40 | 14 | m | m | s | u | 50002 | sdw1 | sdw1-4 | 51002 |
44 | 18 | m | m | s | u | 50002 | sdw2 | sdw2-4 | 51002 |
48 | 22 | m | m | s | u | 50002 | sdw3 | sdw3-4 | 51002 |
28 | 2 | m | m | s | u | 50002 | sdw4 | sdw4-4 | 51002 |
32 | 6 | m | m | s | u | 50002 | sdw5 | sdw5-4 | 51002 |
36 | 10 | m | m | s | u | 50002 | sdw6 | sdw6-4 | 51002 |
37 | 11 | m | m | s | u | 50003 | sdw1 | sdw1-1 | 51003 |
41 | 15 | m | m | s | u | 50003 | sdw2 | sdw2-1 | 51003 |
45 | 19 | m | m | s | u | 50003 | sdw3 | sdw3-1 | 51003 |
49 | 23 | m | m | s | u | 50003 | sdw4 | sdw4-1 | 51003 |
29 | 3 | m | m | s | u | 50003 | sdw5 | sdw5-1 | 51003 |
33 | 7 | m | m | s | u | 50003 | sdw6 | sdw6-1 | 51003 |
50 | -1 | m | m | s | u | 5432 | smdw | smdw | |
(50 rows)
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10867315/viewspace-714283/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10867315/viewspace-714283/