暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Gbase安装小记

原创 lair 云和恩墨 2022-08-05
1452

----------基本规划-------->
数据库:gbase
用户:gbasedbt
实例名:hdr1、hdr2
别名:appdb101、appdb102
安装目录:/gbase
心跳地址:192.168.56.99/100
业务地址:192.168.56.99/100
<----------基本规划---------

修改系统内核:
vi /etc/sysctl.conf在文件末尾添加
kernel.shmmax = 4398046511104
kernel.shmmni = 4096
kernel.shmall = 67108864
kernel.sem = 250 32000 32 4096 #默认值不太一样,暂定用默认值
fs.aio-max-nr = 1048576 #该值应该默认有
sysctl -p #生效内核



一、安装服务端:
1、创建用户和组:
groupadd -g 200 gbasedbt
useradd -g gbasedbt -d /home/gbasedbt gbasedbt
echo '1cmszx#YZSSY' | passwd --stdin gbasedbt

2、数据库安装目录,使用root账户:
cd /
mkdir gbase
chown gbasedbt:gbasedbt gbase

3、root上传压缩包至/home/gbasedbt并解压缩不用把压缩包给gbase权限:
tar -xvf GBase8sV8.8_TL_3.3.0_2_36477d_RHEL6_x86_64.tar

4、安装(自定义安装)
root下执行:
(1)执行ids_install:
cd /home/gbasedbt
sh ids_install

(2)输入”Y”接受授权条款,按回车键继续
(3)指定安装路径
/gbase
(4)选择安装类型
选择1,Typical installation
(5)不启动实例
选择2,do not create an instance
(6)后面所有选项,一律回车,直到结束

5、手动创建和初始化实例
1)创建数据库的数据文件存储目录 /dbs,需要提前划分lv,具体和现网保持一致
rootdbs 4G,tempdbs1/2是10G,物理和逻辑日志是10G,userdbs三个50G

VMware可以添加一块新盘符 新建lvm
pvcreate /dev/sdb
pvs
root@hdr1:/dev/dbvg>pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 hdvg lvm2 a-- 19.50g 0
/dev/sdb dbvg lvm2 a-- <20.00g <2.00g

vgcreate dbvg /dev/sdb
root@hdr1:/dev/dbvg>pvdisplay
--- Physical volume ---
PV Name /dev/sda2
VG Name hdvg
PV Size 19.51 GiB / not usable 11.00 MiB
Allocatable yes (but full)
PE Size 32.00 MiB
Total PE 624
Free PE 0
Allocated PE 624
PV UUID Z1w6zx-jlRo-5Iv3-wLr4-eN7S-ehUL-ScleIk

--- Physical volume ---
PV Name /dev/sdb
VG Name dbvg
PV Size 20.00 GiB / not usable 4.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 5119
Free PE 511
Allocated PE 4608
PV UUID xu0y60-gyk3-uD0w-metP-tcWG-11qh-8sd5RL


lvcreate -n xxlv -L 10G xxvg



lvcreate -L 4G -n rootdbs1 /dev/dbvg
lvcreate -L 10G -n logdbs1 /dev/dbvg
lvcreate -L 10G -n phydbs1 /dev/dbvg
lvcreate -L 10G -n tempdbs1 /dev/dbvg
lvcreate -L 10G -n tempdbs2 /dev/dbvg
lvcreate -L 50G -n userdbs1 /dev/dbvg
lvcreate -L 50G -n userdbs2 /dev/dbvg
lvcreate -L 50G -n userdbs3 /dev/dbvg

lvcreate -L 1G -n rootdbs1 /dev/dbvg
lvcreate -L 2G -n logdbs1 /dev/dbvg
lvcreate -L 2G -n phydbs1 /dev/dbvg
lvcreate -L 2G -n tempdbs1 /dev/dbvg
lvcreate -L 2G -n tempdbs2 /dev/dbvg
lvcreate -L 3G -n userdbs1 /dev/dbvg
lvcreate -L 3G -n userdbs2 /dev/dbvg
lvcreate -L 3G -n userdbs3 /dev/dbvg

gbasedbt下执行:
cd /gbase
mkdir dbfiles
cd dbfiles
ln -s /dev/dbvg/rootdbs1 rootdbs1
ln -s /dev/dbvg/logdbs1 logdbs1
ln -s /dev/dbvg/phydbs1 phydbs1
ln -s /dev/dbvg/tempdbs1 tempdbs1
ln -s /dev/dbvg/tempdbs2 tempdbs2
ln -s /dev/dbvg/userdbs1 userdbs1
ln -s /dev/dbvg/userdbs1 userdbs2
ln -s /dev/dbvg/userdbs1 userdbs3

chown gbasedbt:gbasedbt /dev/dbvg/*
chmod 660 /dev/dbvg/*
cd /etc/udev/rules.d目录下,创建一个新文件93-application-devices.rules文件,文件内容如下(注意:下面DM_VG_NAME的名字根据真实使用的lv修改)
ENV{DM_VG_NAME}=="dbvg", ENV{DM_LV_NAME}=="rootdbs1", OWNER:="gbasedbt", GROUP:="gbasedbt"
ENV{DM_VG_NAME}=="dbvg", ENV{DM_LV_NAME}=="tempdbs1", OWNER:="gbasedbt", GROUP:="gbasedbt"
ENV{DM_VG_NAME}=="dbvg", ENV{DM_LV_NAME}=="tempdbs2", OWNER:="gbasedbt", GROUP:="gbasedbt"
ENV{DM_VG_NAME}=="dbvg", ENV{DM_LV_NAME}=="phydbs1", OWNER:="gbasedbt", GROUP:="gbasedbt"
ENV{DM_VG_NAME}=="dbvg", ENV{DM_LV_NAME}=="logdbs1", OWNER:="gbasedbt", GROUP:="gbasedbt"
ENV{DM_VG_NAME}=="dbvg", ENV{DM_LV_NAME}=="userdbs1", OWNER:="gbasedbt", GROUP:="gbasedbt"
ENV{DM_VG_NAME}=="dbvg", ENV{DM_LV_NAME}=="userdbs2", OWNER:="gbasedbt", GROUP:="gbasedbt"
ENV{DM_VG_NAME}=="dbvg", ENV{DM_LV_NAME}=="userdbs3", OWNER:="gbasedbt", GROUP:="gbasedbt"


若使用熟文件,命令格式如下:
touch rootdbs1
touch logdbs1
touch phydbs1
touch tempdbs1
touch tempdbs2
touch userdbs1
chown gbasedbt:gbasedbt *
chmod 660 *

2)配置环境变量
gbasedb下执行:
vi .bash_profile

export GBASEDBTSERVER=hdr1
export GBASEDBTDIR=/gbase
export PATH=$GBASEDBTDIR/bin:/usr/bin:$PATH
export ONCONFIG=onconfig.hdr1
export GBASEDBTSQLHOSTS=$GBASEDBTDIR/etc/sqlhosts
export GL_DATE="%Y-%m-%d"
export DATETIME="%Y-%m-%d %H:%M:%S"
export LD_LIBRARY_PATH=$GBASEDBTDIR/lib:$GBASEDBTDIR/lib/esql:$GBASEDBTDIR/lib/cli
export TERM=vt100
export TERMCAP=$GBASEDBTDIR/etc/termcap
export GBASEDBTTERM=termcap
export DBTEMP=$GBASEDBTDIR/tmp
export IFX_LARGE_PAGES=1
export GBASEDBTCONRETRY=1
export GBASEDBTCONTIME=2
#export DB_LOCALE=zh_cn.GB18030-2000
#export CLIENT_LOCALE=zh_cn.GB18030-2000

二节点
export GBASEDBTSERVER=hdr2
export GBASEDBTDIR=/gbase
export PATH=$GBASEDBTDIR/bin:/usr/bin:$PATH
export ONCONFIG=onconfig.hdr2
export GBASEDBTSQLHOSTS=$GBASEDBTDIR/etc/sqlhosts
export GL_DATE="%Y-%m-%d"
export DATETIME="%Y-%m-%d %H:%M:%S"
export LD_LIBRARY_PATH=$GBASEDBTDIR/lib:$GBASEDBTDIR/lib/esql:$GBASEDBTDIR/lib/cli
export TERM=vt100
export TERMCAP=$GBASEDBTDIR/etc/termcap
export GBASEDBTTERM=termcap
export DBTEMP=$GBASEDBTDIR/tmp
export IFX_LARGE_PAGES=1
export GBASEDBTCONRETRY=1
export GBASEDBTCONTIME=2
#export DB_LOCALE=zh_cn.GB18030-2000
#export CLIENT_LOCALE=zh_cn.GB18030-2000

4)生效环境变量:. .bash_profile

5)配置信任:
gbasedbt账户:
echo '+' >> .rhosts
root账户:
echo '+' >> /etc/hosts.equiv

6)配置 onconfig.hdr1 参数文件(配置和informix一样)
cd /gbase/etc/
cp onconfig.std onconfig.hdr1

cd /gbase/etc/
cp onconfig.std onconfig.hdr2

sed -i 's@^ROOTPATH.*@ROOTPATH $GBASEDBTDIR/dbfiles/rootdbs1@' onconfig.hdr1
sed -i 's@^ROOTSIZE.*@ROOTSIZE 2000000@' onconfig.hdr1 ##根据配置的rootsize大小来设置,必须大于 1000000
sed -i 's@^MSGPATH.*@MSGPATH /home/gbasedbt/online.log@' onconfig.hdr1
sed -i 's@^DBSPACETEMP.*@DBSPACETEMP tempdbs1,tempdbs2@' onconfig.hdr1
sed -i 's@^ONDBSPACEDOWN.*@ONDBSPACEDOWN 1@' onconfig.hdr1
sed -i 's@^DBSERVERNAME.*@DBSERVERNAME hdr1@' onconfig.hdr1
sed -i 's@^DBSERVERALIASES.*@DBSERVERALIASES appdb1@' onconfig.hdr1
sed -i 's@^FULL_DISK_INIT.*@FULL_DISK_INIT 1@' onconfig.hdr1
sed -i 's@^NETTYPE.*@NETTYPE soctcp,4,150,NET@' onconfig.hdr1
sed -i 's@^LISTEN_TIMEOUT.*@LISTEN_TIMEOUT 10@' onconfig.hdr1
sed -i 's@^MULTIPROCESSOR.*@MULTIPROCESSOR 1@' onconfig.hdr1
sed -i 's@^VPCLASS.*@VPCLASS cpu,num=15,noage@' onconfig.hdr1
sed -i 's@^CLEANERS.*@CLEANERS 16@' onconfig.hdr1
sed -i 's@^LOCKS.*@LOCKS 200000@' onconfig.hdr1
sed -i 's@^DEF_TABLE_LOCKMODE.*@DEF_TABLE_LOCKMODE row@' onconfig.hdr1
sed -i 's@^SHMVIRTSIZE.*@SHMVIRTSIZE 1000000@' onconfig.hdr1
sed -i 's@^SHMADD.*@SHMADD 80000@' onconfig.hdr1
sed -i 's@^CKPTINTVL.*@CKPTINTVL 3600@' onconfig.hdr1
sed -i 's@^TAPEDEV.*@TAPEDEV /dev/null@' onconfig.hdr1
sed -i 's@^TAPEBLK.*@TAPEBLK 128@' onconfig.hdr1
sed -i 's@^LTAPEDEV.*@LTAPEDEV /dev/null@' onconfig.hdr1
sed -i 's@^OPTCOMPIND.*@OPTCOMPIND 0@' onconfig.hdr1
sed -i 's@^DRAUTO.*@DRAUTO 2@' onconfig.hdr1
sed -i 's@^DUMPSHMEM.*@DUMPSHMEM 0@' onconfig.hdr1
sed -i 's@^QSTATS.*@QSTATS 1@' onconfig.hdr1
sed -i 's@^WSTATS.*@WSTATS 1@' onconfig.hdr1
sed -i 's@^BUFFERPOOL@#BUFFERPOOL@g' onconfig.hdr1
echo 'BUFFERPOOL size=2k,buffers=16777216,lrus=64,lru_min_dirty=0,lru_max_dirty=0.05' >> onconfig.hdr1

7)配置 sqlhosts文件
cd /gbase/etc
cp sqlhosts.std sqlhosts

vi sqlhosts
hdr1 onsoctcp 192.168.56.99 7778
hdr2 onsoctcp 192.168.56.100 7778
appdb1 onsoctcp 192.168.56.99 7779
appdb2 onsoctcp 192.168.56.100 7779
跨vs的用7777端口

12、初始化数据库
oninit -ivy

rootdbs 4,tempdbs1/2s是10,物理和逻辑日志是10,userdbs三个50
14、创建dbspace:
onspaces -c -d tempdbs1 -t -p /gbase/dbfiles/tempdbs1 -o 0 -s 10000000
onspaces -c -d tempdbs2 -t -p /gbase/dbfiles/tempdbs2 -o 0 -s 10000000
onspaces -c -d logdbs -p /gbase/dbfiles/logdbs1 -o 0 -s 10000000
onspaces -c -d phydbs -p /gbase/dbfiles/phydbs1 -o 0 -s 10000000
onspaces -c -d userdbs -p /gbase/dbfiles/userdbs1 -o 0 -s 50000000
onspaces -a userdbs -p /gbase/dbfiles/userdbs2 -o 0 -s 50000000
onspaces -a userdbs -p /gbase/dbfiles/userdbs3 -o 0 -s 50000000


onspaces -c -d tempdbs1 -t -p /gbase/dbfiles/tempdbs1 -o 0 -s 1000000
onspaces -c -d tempdbs2 -t -p /gbase/dbfiles/tempdbs2 -o 0 -s 1000000
onspaces -c -d logdbs -p /gbase/dbfiles/logdbs1 -o 0 -s 1000000
onspaces -c -d phydbs -p /gbase/dbfiles/phydbs1 -o 0 -s 1000000
onspaces -c -d userdbs -p /gbase/dbfiles/userdbs1 -o 0 -s 1000000
onspaces -a userdbs -p /gbase/dbfiles/userdbs2 -o 0 -s 1000000
onspaces -a userdbs -p /gbase/dbfiles/userdbs3 -o 0 -s 1000000



15、添加逻辑日志
onmode -sy //将informix数据库转为Quiescent状态
onparams -a -d logdbs -s 200000 //执行3次
ontape -s -L 0 //零备
onparams -d -l 2
onparams -d -l 3
onparams -d -l 4
onparams -d -l 5
onparams -d -l 6
onmode -l //手工做逻辑日志切换
onmode -c //检测是否备份
onparams -d -l 1
ontape -s -L 0
onstat -l //查看是否删除成功

16、更改物理日志的大小:
onparams -p -s 990000 -d phydbs -y
ontape -s -L 0


停掉主备库
onmode -ky

13、搭hdr:
ontape -s -L 0 -F -t STDIO|ssh 192.168.56.100 'cd /home/gbasedbt/;. ./.bash_profile;ontape -p -t STDIO'

密码:1cmszx#YZSSY

登陆主库执行
onmode -d primary hdr2
登陆备库执行:
onmode -d secondary hdr1

二、安装客户端
1、创建账户:
groupadd -g 200 gbasedbt
useradd -g gbasedbt -d /home/gbasedbt gbasedbt
echo '1cmszx#YZSSY' | passwd --stdin gbasedbt

2、上传压缩包并解压缩:
tar xvf clientsdk_3.3.0_2_36477d_RHEL6_x86_64.tar

3、执行安装:
sh installclientsdk
<---只需要选择安装路径,其他一律回车直到结束--->

4、修改环境变量(与informix修改类似):
vi .bash_profile
export GBASEDBTSERVER=appdb101
export GBASEDBTDIR=/home/gbasedbt
export PATH=$GBASEDBTDIR/bin:/usr/bin:$PATH
export ONCONFIG=onconfig.hdr1
export GBASEDBTSQLHOSTS=$GBASEDBTDIR/etc/sqlhosts
export GL_DATE="%Y-%m-%d"
export DATETIME="%Y-%m-%d %H:%M:%S"
export LD_LIBRARY_PATH=$GBASEDBTDIR/lib:$GBASEDBTDIR/lib/esql:$GBASEDBTDIR/lib/cli
export TERM=vt100
export TERMCAP=$GBASEDBTDIR/etc/termcap
export GBASEDBTTERM=termcap
export DBTEMP=$GBASEDBTDIR/tmp
export IFX_LARGE_PAGES=1
export GBASEDBTCONRETRY=1
export GBASEDBTCONTIME=2
#export DB_LOCALE=zh_cn.GB18030-2000
#export CLIENT_LOCALE=zh_cn.GB18030-2000

5、修改sqlhost:
cd etc
cp sqlhosts.std sqlhosts
vi sqlhosts
appdb101 onsoctcp 173.25.0.152 9089
appdb102 onsoctcp 173.25.0.153 9089




=================================================主从==============================================================================

1、备库一定是宕干净 ps -ef|grep oninit还有ipcs -m没有informix进程以及onconfig.hdrX下面的配置文件为:TAPEDEV STDIO。
2、主库一定是标准库 standard模式   onmode -d standard
3、执行此命令进行HDR正式搭建[informix@podb1 etc]$  ontape -s -L 0 -F | rsh podb2 ". ~/.bash_profile; ontape -p"  (备份时需要耐心等待)
或者[informix@podb1 ~]$ ontape -s -L 0 -F |ssh -p 19222 172.0.0.2 "cd $HOME;. ./.bash_profile;ontape -p" 
The authenticity of host '172.0.0.2 (172.0.0.2)' can't be established.
RSA key fingerprint is fd:78:bb:61:ca:e4:2a:fc:e4:08:26:6f:40:0c:21:7e.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.0.0.2' (RSA) to the list of known hosts.
informix@172.0.0.2's password: 

4、主数据库操作 onmode -d primary servername(备库的实例名) 
5、备数据库操作
onmode -d secondary pohdr1(主实例名)
ontape -s -L 0 -F | rsh 172.18.22.143 "cd $INFORMIXDIR; . ./.bash_profile; ontape -p"

ontape -s -L 0 -F | rsh db2 ". ~/.bash_profile; ontape -p"

IBM Informix Dynamic Server Version 10.00.FC6     -- Fast Recovery (CKPT REQ) -- Up 00:01:48 -- 4458200 Kbytes
Blocked:CKPT 

Data Replication: 
  Type         State        Paired server        Last DR CKPT (id/pg)     
  standard     off          pohdr1                       -1 / -1 

  DRINTERVAL   30 
  DRTIMEOUT    30 
  DRAUTO       2 
  DRLOSTFOUND  /home/informix/etc/dr.lostfound 
  DRIDXAUTO    0 

ontape -s -L 0 -F | rsh podb1 ". ~/.bash_profile; ontape -p"

onmode -d secondary pohdr2


====================报错======================================================================
11:45:16 GBase Database Server Started.
11:45:16 Requested shared memory segment size rounded from 29748KB to 30532KB
解决:host文件里检查ip及对应的名称。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论