GBase 8s
安装配置
文章

openEuler24.03安装GBase8sV8.8_AEE_3.5.1(简化)

发表于2025-11-18 13:12:23191次浏览4个评论

 

## 说明:

- 本文是在 openEuler release 24.03 (LTS-SP2) 上部署GBase8sV8.8_AEE_3.5.1_3X2_1_8fbc0b 的记录,细微修改可以通用其他Linux系统。

## 配置本地yum源:

```shell
#mount欧拉的光盘到/mnt/openEuler目录后,执行下面的yum源配置:
mkdir -p /etc/yum.repos.d/backup
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/

vim /etc/yum.repos.d/local.repo
[local_repo]
name=Local Repository
baseurl=file:///mnt/openEuler
enabled=1
gpgcheck=1
gpgkey=file:///mnt/openEuler/RPM-GPG-KEY-openEuler

dnf clean all
dnf makecache
dnf repolist all
```

 

## 安装依赖:

```shell
yum -y install java 
yum -y install tar
yum -y install java unzip glibc-devel ncurses-libs  libaio
ln -s /usr/lib64/libnsl.so.3 /usr/lib64/libnsl.so.1
ln -s /usr/lib64/libncurses.so.6 /usr/lib64/libncurses.so.5
ln -s /usr/lib64/libtinfo.so.6 /usr/lib64/libtinfo.so.5
```

 

## 优化OS配置:

### ulimit -a  (进程和文件资源限制)

```shell
cat /etc/security/limits.conf
cat >> /etc/security/limits.conf <<EOF
*               soft    nproc   65536
*               hard    nproc   65536
*               soft    nofile  1048576
*               hard    nofile  1048576
EOF
sed -i "s/#DefaultLimitNOFILE.*/DefaultLimitNOFILE=1048576/g" /etc/systemd/system.conf
sed -i "s/#DefaultLimitNPROC.*/DefaultLimitNPROC=65536/g" /etc/systemd/system.conf
```

### ipcs -l   (内存资源限制,这一步不用做,openEuler默认很大)

```shell
cat /etc/sysctl.conf
cat >> /etc/sysctl.conf <<EOF
kernel.shmmax=4398046511104
kernel.shmall=4294967296
kernel.shmmin=4096
kernel.sem=250 32000  32 128
EOF
sysctl -p
```

### firewall-cmd --zone=public --list-ports   (防火墙开放端口)

```shell
systemctl status firewalld.service
firewall-cmd --permanent --zone=public --add-port=9088/tcp
firewall-cmd --permanent --zone=public --add-port=9099/tcp
firewall-cmd --permanent --zone=public --add-port=9200/tcp
firewall-cmd --permanent --zone=public --add-port=9300/tcp
firewall-cmd --reload
```

### cat /etc/nsswitch.conf |grep ^hosts  (使用hosts文件解析域名)

```shell
sed -i "s#^hosts.*#hosts:      files#g" /etc/nsswitch.conf
```

### loginctl show-session | grep RemoveIPC   (关闭IPC退出时清理)

```shell
sed -i "s/^#RemoveIPC.*/RemoveIPC=no/g" /etc/systemd/logind.conf
systemctl daemon-reload
systemctl restart systemd-logind
```

### hostname 和 hosts  (设置主机名和域名解析配置)

```shell
echo "dbhost01">/etc/hostname
hostname dbhost01

# 注意:真实IP地址
cat >> /etc/hosts <<EOF

1.1.1.41 dbhost01

EOF
```

### timedatectl show (修改时区)

```shell
timedatectl set-timezone "Asia/Shanghai"

```

### systemctl status chronyd.service  (配置时钟同步)

```shell
#配置时钟同步,修改对应IP(10.10.10.10)为NTP服务器IP:
cp /etc/chrony.conf  /etc/chrony.conf_bak
sed -i "s/^server.*/#&/g" /etc/chrony.conf
sed -i "s/#hwtimestamp.*/hwtimestamp */g" /etc/chrony.conf
sed -i "s/#local stratum.*/local stratum 10/g" /etc/chrony.conf
sed -i "/#server 3.*/a server 10.10.10.10 iburst" /etc/chrony.conf
systemctl enable chronyd.service

```

### timedatectl && date && hwclock (修改系统时间)

```shell
#如系统时钟与当前时间差异较大,且没有NTP时钟同步,调整系统时间:
#修改硬件时间
hwclock --set --date “2023-02-22 19:10:30”
#同步系统时间和硬件时间
hwclock --hctosys
#保存时钟
clock -w
#重启系统
reboot

```

### getenforce (关闭SELINUX)

```shell
# SELinux共有3个状态enforcing (执行中)、permissive (不执行但产生警告)、disabled(关闭)
sed -i "s#^SELINUX=.*#SELINUX=disabled#g" /etc/selinux/config
reboot

```

## 创建用户和准备安装目录:

```shell
#userdel -r gbasedbt
groupadd gbasedbt -g 1000
useradd gbasedbt -u  1000 -g gbasedbt -m -d /home/gbasedbt -s /bin/bash
echo "GBase123(DB)" | passwd --stdin gbasedbt

mkdir /opt/gbase
mkdir /db
chown gbasedbt:gbasedbt /db

```

 

## 解压和安装8s:

### 解压安装数据库

```shell
[root@localhost 8s]# pwd
/opt/soft/8s
[root@localhost 8s]# mkidr server
[root@localhost 8s]# ls -l
total 338404
-rw-r--r--. 1 root root 346521600 Nov 18 17:10 GBase8sV8.8_AEE_3.5.1_3X2_1_8fbc0b_RHEL6_x86_64.tar
drwxr-xr-x. 3 root root      4096 Nov 18 17:11 server
[root@localhost 8s]#tar xvf GBase8sV8.8_AEE_3.5.1_3X2_1_8fbc0b_RHEL6_x86_64.tar -C server/
[root@localhost 8s]# cd server/
[root@localhost server]# ./ids_install


```

### 安装过程记录

```log
[root@localhost server]# ./ids_install
Preparing to install...
WARNING: /tmp does not have enough disk space!
        Attempting to use /root for install base and tmp dir.
Extracting the JRE from the installer archive...
Unpacking the JRE...
Extracting the installation resources from the installer archive...
Configuring the installer for this system's environment...

Launching installer...

===============================================================================
GBase Software Bundle                            (created with InstallAnywhere)
-------------------------------------------------------------------------------

Preparing CONSOLE Mode Installation...

 


===============================================================================
Getting Started
---------------

This application  will guide you through the installation of GBase Software
Bundle.
Copyright General Data Corporation 2014, 2025. All rights reserved.

1. Release Notes
The Release Notes can be found in
/opt/soft/8s/server/doc/ids_unix_relnotes_12.10.html.
2. Launch Information Center
Access the GBase Information Center at http://www.gbase.cn.
To Begin Installation, respond to each prompt to proceed to the next step in
the installation.
If you want to change something on a previous step, type 'back'.
You may cancel this installation at any time by typing 'quit'.


PRESS <ENTER> TO CONTINUE:

 

===============================================================================
License Agreement
-----------------

Installation and Use of GBase Software Bundle Requires Acceptance of the
Following License Agreement:
......
All trademarks and registered trademarks mentioned herein are the  property of
their respective owners.

 

DO YOU ACCEPT THE TERMS OF THIS LICENSE AGREEMENT? (Y/N): y

 

===============================================================================
Installation Location
---------------------

Choose location for software installation.

 Default Install Folder: /opt/GBASE/gbase

ENTER AN ABSOLUTE PATH, OR PRESS <ENTER> TO ACCEPT THE DEFAULT
     : /opt/gbase

INSTALL FOLDER IS: /opt/gbase
  IS THIS CORRECT? (Y/N): y

 

===============================================================================
Installation or Distribution
----------------------------

Select the installation type.

Typical: Install the database server with all features and a database server
that
is configured with default values. Includes:
** Client Software Development Kit (CSDK)
** Java Database Connectivity (JDBC)
Minimum disk space required: 700-800MB

Custom: Install the database server with specific features and software that
you need.
Optionally install a configured database server instance.
Minimum disk space required: 75 MB (without a server instance)

 ->1- Typical installation
   2- Custom installation
   3- Extract the product files (-DLEGACY option)

ENTER THE NUMBER FOR YOUR CHOICE, OR PRESS <ENTER> TO ACCEPT THE DEFAULT::

 


===============================================================================
Server Instance Creation
------------------------

Create a server instance?

 ->1- Yes - create an instance
   2- No - do not create an instance

ENTER THE NUMBER FOR YOUR CHOICE, OR PRESS <ENTER> TO ACCEPT THE DEFAULT:: 2

 


===============================================================================
Installation Summary
--------------------

Please review the following before continuing:

Product Name:
   GBase Software Bundle

Install Folder:
   /opt/gbase

Product Features:
   GBase database server,
   Base Server,
   Extensions and tools,
   J/Foundation,
   Database extensions,
   Conversion and reversion support,
   XML publishing,
   Demonstration database scripts,
   Enterprise Replication,
   Data loading utilities,
   onunload and onload utilities,
   dbload utility,
   Backup and Restore,
   archecker utility,
   ON-Bar utility,
   Interface to Tivoli Storage Manager,
   Administrative utilities,
   Performance monitoring utilities,
   Miscellaneous monitoring utilities,
   Auditing utilities,
   Database import and export utilities,
   JSON Client Support,
   Global Language Support (GLS),
   Chinese

Disk Space Information (for Installation Target):
   Required:  579,888,975 Bytes
   Available: 7,918,284,800 Bytes

PRESS <ENTER> TO CONTINUE:

 

===============================================================================
Ready To Install
----------------

InstallAnywhere is now ready to install GBase Software Bundle onto your system
at the following location:

  /opt/gbase

PRESS <ENTER> TO INSTALL:

 

===============================================================================
Installing...
-------------

[==================|==================|==================|==================]
[------------------|------------------|------------------|------------------]

 

===============================================================================
Installation Complete
---------------------

Congratulations! GBase Software Bundle installation is complete.

Product install status:
GBase: Successful
GBase Connect: Successful

GBase 8s V8.8


For more information about using GBase products, see the GBase Information
Center at http://www.gbase.cn.

PRESS <ENTER> TO EXIT THE INSTALLER:
[root@localhost server]#
[root@localhost server]#


```

 

## 创建实例:

### profile

```shell
su - gbasedbt
#修改INSTANCE为实例名
INSTANCE=gbase41
cat > .bash_profile << EOF

[ -f ~/.bashrc ] && . ~/.bashrc
export GBASEDBTDIR=/opt/gbase
export GBASEDBTSERVER=${INSTANCE}
export ONCONFIG=onconfig.${INSTANCE}
export GBASEDBTSQLHOSTS=\$GBASEDBTDIR/etc/sqlhosts.${INSTANCE}
export DB_LOCALE=zh_CN.utf8
export CLIENT_LOCALE=zh_CN.utf8
export GL_USEGLU=1
export DBDATE=Y4MD-
export PATH=\$GBASEDBTDIR/bin:/usr/bin:\${PATH}:.
export LD_LIBRARY_PATH=\$GBASEDBTDIR/lib:\$GBASEDBTDIR/lib/esql:\$GBASEDBTDIR/lib/cli:/usr/lib:/lib:/lib32:/lib64:/usr/lib64

EOF
source .bash_profile

```

### onconfig (8CPU 16G 主机配置)

```shell
#gbasedbt用户
source ~/.bash_profile
DATADIR=/db/data41
cp $GBASEDBTDIR/etc/onconfig.std  $GBASEDBTDIR/etc/$ONCONFIG
sed -i "s#^ROOTPATH.*#ROOTPATH ${DATADIR}/rootdbschk001#g" $GBASEDBTDIR/etc/$ONCONFIG
sed -i "s#^ROOTSIZE.*#ROOTSIZE 4090000 #g" $GBASEDBTDIR/etc/$ONCONFIG
sed -i "s#^DBSERVERNAME.*#DBSERVERNAME $GBASEDBTSERVER#g" $GBASEDBTDIR/etc/$ONCONFIG
sed -i "s#^NETTYPE.*#NETTYPE soctcp,4,100,NET#g" $GBASEDBTDIR/etc/$ONCONFIG
sed -i "s#^TAPEDEV.*#TAPEDEV /dev/null#g" $GBASEDBTDIR/etc/$ONCONFIG
sed -i "s#^LTAPEDEV.*#LTAPEDEV /dev/null#g" $GBASEDBTDIR/etc/$ONCONFIG
sed -i "s#^MULTIPROCESSOR.*#MULTIPROCESSOR 1#g" $GBASEDBTDIR/etc/$ONCONFIG;
sed -i "s#^CLEANERS.*#CLEANERS 16#g" $GBASEDBTDIR/etc/$ONCONFIG;
sed -i "s#^LOCKS.*#LOCKS 2000000#g" $GBASEDBTDIR/etc/$ONCONFIG;
sed -i "s#^DEF_TABLE_LOCKMODE.*#DEF_TABLE_LOCKMODE row#g" $GBASEDBTDIR/etc/$ONCONFIG;
sed -i "s#^DS_TOTAL_MEMORY.*#DS_TOTAL_MEMORY 4096000#g" $GBASEDBTDIR/etc/$ONCONFIG;
sed -i "s#^DS_NONPDQ_QUERY_MEM.*#DS_NONPDQ_QUERY_MEM 1024000#g" $GBASEDBTDIR/etc/$ONCONFIG;
sed -i "s#^SHMVIRTSIZE.*#SHMVIRTSIZE 4096000#g" $GBASEDBTDIR/etc/$ONCONFIG;
sed -i "s#^SHMADD.*#SHMADD 2048000#g" $GBASEDBTDIR/etc/$ONCONFIG
sed -i "s#^STACKSIZE.*#STACKSIZE 2048#g" $GBASEDBTDIR/etc/$ONCONFIG
sed -i "s#^SBSPACENAME.*#SBSPACENAME sbspace01#g" $GBASEDBTDIR/etc/$ONCONFIG
sed -i "s#^DBSPACETEMP.*#DBSPACETEMP tempdbs01,tempdbs02,tempdbs03,tempdbs04#g" $GBASEDBTDIR/etc/$ONCONFIG
sed -i "s#^VPCLASS cpu.*#VPCLASS cpu,num=7,noage#g" $GBASEDBTDIR/etc/$ONCONFIG
sed -i "s#^TEMPTAB_NOLOG.*#TEMPTAB_NOLOG 1#g" $GBASEDBTDIR/etc/$ONCONFIG
sed -i "s#^NS_CACHE.*#NS_CACHE host=0,service=0,user=0,group=0#g" $GBASEDBTDIR/etc/$ONCONFIG
sed -i "s#^DUMPSHMEM.*#DUMPSHMEM 0#g" $GBASEDBTDIR/etc/$ONCONFIG
sed -i "s#^FULL_DISK_INIT.*#FULL_DISK_INIT 1#g" $GBASEDBTDIR/etc/$ONCONFIG
echo "BUFFERPOOL size=16k,buffers=200000,lrus=64,lru_min_dirty=50,lru_max_dirty=60">>$GBASEDBTDIR/etc/$ONCONFIG
diff $GBASEDBTDIR/etc/onconfig.std  $GBASEDBTDIR/etc/$ONCONFIG

```

### onconfig (2CPU 4G 主机配置)

```shell
#gbasedbt用户
source ~/.bash_profile
DATADIR=/db/data41
cp $GBASEDBTDIR/etc/onconfig.std  $GBASEDBTDIR/etc/$ONCONFIG
sed -i "s#^ROOTPATH.*#ROOTPATH ${DATADIR}/rootdbschk001#g" $GBASEDBTDIR/etc/$ONCONFIG
sed -i "s#^ROOTSIZE.*#ROOTSIZE 1024000 #g" $GBASEDBTDIR/etc/$ONCONFIG
sed -i "s#^DBSERVERNAME.*#DBSERVERNAME $GBASEDBTSERVER#g" $GBASEDBTDIR/etc/$ONCONFIG
sed -i "s#^NETTYPE.*#NETTYPE soctcp,2,100,NET#g" $GBASEDBTDIR/etc/$ONCONFIG
sed -i "s#^TAPEDEV.*#TAPEDEV /dev/null#g" $GBASEDBTDIR/etc/$ONCONFIG
sed -i "s#^LTAPEDEV.*#LTAPEDEV /dev/null#g" $GBASEDBTDIR/etc/$ONCONFIG
sed -i "s#^MULTIPROCESSOR.*#MULTIPROCESSOR 1#g" $GBASEDBTDIR/etc/$ONCONFIG;
sed -i "s#^CLEANERS.*#CLEANERS 4#g" $GBASEDBTDIR/etc/$ONCONFIG;
sed -i "s#^LOCKS.*#LOCKS 200000#g" $GBASEDBTDIR/etc/$ONCONFIG;
sed -i "s#^DEF_TABLE_LOCKMODE.*#DEF_TABLE_LOCKMODE row#g" $GBASEDBTDIR/etc/$ONCONFIG;
sed -i "s#^DS_TOTAL_MEMORY.*#DS_TOTAL_MEMORY 512000#g" $GBASEDBTDIR/etc/$ONCONFIG;
sed -i "s#^DS_NONPDQ_QUERY_MEM.*#DS_NONPDQ_QUERY_MEM 10240#g" $GBASEDBTDIR/etc/$ONCONFIG;
sed -i "s#^SHMVIRTSIZE.*#SHMVIRTSIZE 512000#g" $GBASEDBTDIR/etc/$ONCONFIG;
sed -i "s#^SHMADD.*#SHMADD 256000#g" $GBASEDBTDIR/etc/$ONCONFIG
sed -i "s#^STACKSIZE.*#STACKSIZE 512#g" $GBASEDBTDIR/etc/$ONCONFIG
sed -i "s#^SBSPACENAME.*#SBSPACENAME sbspace01#g" $GBASEDBTDIR/etc/$ONCONFIG
sed -i "s#^DBSPACETEMP.*#DBSPACETEMP tempdbs01,tempdbs02,tempdbs03,tempdbs04#g" $GBASEDBTDIR/etc/$ONCONFIG
sed -i "s#^VPCLASS cpu.*#VPCLASS cpu,num=2,noage#g" $GBASEDBTDIR/etc/$ONCONFIG
sed -i "s#^TEMPTAB_NOLOG.*#TEMPTAB_NOLOG 1#g" $GBASEDBTDIR/etc/$ONCONFIG
sed -i "s#^NS_CACHE.*#NS_CACHE host=0,service=0,user=0,group=0#g" $GBASEDBTDIR/etc/$ONCONFIG
sed -i "s#^DUMPSHMEM.*#DUMPSHMEM 0#g" $GBASEDBTDIR/etc/$ONCONFIG
sed -i "s#^FULL_DISK_INIT.*#FULL_DISK_INIT 1#g" $GBASEDBTDIR/etc/$ONCONFIG
echo "BUFFERPOOL size=16k,buffers=20480,lrus=64,lru_min_dirty=50,lru_max_dirty=60">>$GBASEDBTDIR/etc/$ONCONFIG
diff $GBASEDBTDIR/etc/onconfig.std  $GBASEDBTDIR/etc/$ONCONFIG

```

### sqlhosts

```shell
#gbasedbt用户
source ~/.bash_profile
IPADDR01=1.1.1.41
cat >$GBASEDBTSQLHOSTS <<EOF
db_group        group   -       -
gbase41 onsoctcp ${IPADDR01}  9088  g=db_group
EOF

```

### oninit -ivy

```shell
#gbasedbt用户
source ~/.bash_profile
DATADIR=/db/data41
mkdir ${DATADIR}
touch ${DATADIR}/rootdbschk001
chmod 660 ${DATADIR}/rootdbschk001
oninit -ivyw

```

### plogdbs

```shell
DATADIR=/db/data41
touch ${DATADIR}/plogdbschk001
chmod 660 ${DATADIR}/plogdbschk001
SIZE_K_ALL=20481000
SIZE_K_USE=20480000
onspaces -c -d plogdbs -p ${DATADIR}/plogdbschk001 -o 0 -s ${SIZE_K_ALL}
onparams -p -d plogdbs -s ${SIZE_K_USE} -y

```

### llogdbs

```shell
DATADIR=/db/data41
touch ${DATADIR}/llogdbschk001
chmod 660 ${DATADIR}/llogdbschk001
SIZE_K_ALL=40961000
SIZE_K_USE=204800
onspaces -c -d llogdbs -p ${DATADIR}/llogdbschk001 -o 0 -s ${SIZE_K_ALL}
for i in `seq 200`;do onparams -a -d llogdbs -s ${SIZE_K_USE}; done
for i in `seq 7`;do onmode -l;done
onmode -c
for i in `seq 6`;do onparams -d -l $i -y;done

```

### tempdbs

```shell
DATADIR=/db/data41
#创建四个临时空间,每个10GB
SIZE_K_ALL=10240000
touch ${DATADIR}/tempdbs01chk001
touch ${DATADIR}/tempdbs02chk001
touch ${DATADIR}/tempdbs03chk001
touch ${DATADIR}/tempdbs04chk001
chmod 660 ${DATADIR}/tempdbs01chk001
chmod 660 ${DATADIR}/tempdbs02chk001
chmod 660 ${DATADIR}/tempdbs03chk001
chmod 660 ${DATADIR}/tempdbs04chk001
onspaces -c -d tempdbs01 -p ${DATADIR}/tempdbs01chk001 -o 0 -s ${SIZE_K_ALL} -k 16 -t
onspaces -c -d tempdbs02 -p ${DATADIR}/tempdbs02chk001 -o 0 -s ${SIZE_K_ALL} -k 16 -t
onspaces -c -d tempdbs03 -p ${DATADIR}/tempdbs03chk001 -o 0 -s ${SIZE_K_ALL} -k 16 -t
onspaces -c -d tempdbs04 -p ${DATADIR}/tempdbs04chk001 -o 0 -s ${SIZE_K_ALL} -k 16 -t

```

### sbdbs

```shell
DATADIR=/db/data41
#创建智能大对象数据库空间,大小10GB,如未使用blob、clob数据类型,可不创建
SIZE_K_ALL=10240000
touch ${DATADIR}/sbspace01chk001
chmod 660 ${DATADIR}/sbspace01chk001
onspaces -c -S sbspace01 -p ${DATADIR}/sbspace01chk001 -o 0 -s ${SIZE_K_ALL} -Df "LOGGING = ON"

```

### datadbs

```shell
DATADIR=/db/data41
#量个datadbs每个100G
SIZE_K_ALL=102400000
touch ${DATADIR}/datadbs01chk001
touch ${DATADIR}/datadbs02chk001
chmod 660 ${DATADIR}/datadbs01chk001
chmod 660 ${DATADIR}/datadbs02chk001
onspaces -c -d datadbs01 -p ${DATADIR}/datadbs01chk001 -o 0 -s ${SIZE_K_ALL} -k 16
onspaces -c -d datadbs02 -p ${DATADIR}/datadbs02chk001 -o 0 -s ${SIZE_K_ALL} -k 16

```

 

## 创建业务数据库:

```shell
# su - gbasedbt ; #用gbasedbt用户操作:
db_name=testdb
dbs_name=datadbs01
dbaccess sysmaster <<EOF
create database ${db_name} in ${dbs_name} with log;
EOF

```

## 创建业务用户:

```shell
# 用root用户操作:
user_name=user01
user_passwd=(base)pwd95
useradd ${user_name} -m -d /home/${user_name} -s /bin/bash
echo "${user_passwd}" | passwd --stdin ${user_name}
cat /home/gbasedbt/.bash_profile  > /home/${user_name}/.bash_profile

```

## 授权:

```shell
# su - gbasedbt ; #用gbasedbt用户操作:
db_name=testdb
user_name=user01
dbaccess ${db_name} <<EOF
grant dba to ${user_name};
EOF

```

 

## 安装和业务库信息汇总:

```shell
- 软件安装目录:           /opt/gbase/
- chunk数据文件存储目录:  /db/data41/
- 数据库超级用户名和密码:  gbasedbt  GBase123(DB)
- 实例名:                 gbase41
- 监听地址:               1.1.1.41
- 监听端口:               9088
- 业务库名称:             testdb
- 业务库DBA用户名称和密码: user01 (base)pwd95

```

 

## 业务用户连接数据库测试:

### 用业务用户连接数据库建表和查询:

```shell
# 用root切换到业务用户,业务用户连接数据库建表和查询:
[user01@dbhost01 ~]$ su - user01 
[user01@dbhost01 ~]$ dbaccess testdb -

Database selected.

> info tables;


Table name


> create table t01(id int ,name varchar(9));

Table created.

> insert into t01 values(1,'aaa');

1 row(s) inserted.

> select * from t01;


        id name

         1 aaa

1 row(s) retrieved.

> info tables;


Table name

t01

>

Database closed.

 

```

### 用业务用户导出业务表结构:

```shell
# 用业务用户导出业务表结构
[user01@dbhost01 ~]$ dbschema -d testdb -t t01 -ss

DBSCHEMA Schema Utility       GBASE-SQL Version 12.10.FC4G1AEE

 

 

 

set environment sqlmode 'oracle';

set environment sqlmode 'gbase';
{ TABLE "user01".t01 row size = 15 number of columns = 2 index size = 0 ccolnum = 0
commcol = id,name }

create table "user01".t01
 (
   id integer,
   name varchar(9)
 ) extent size 16 next size 64 lock mode row;

revoke all on "user01".t01 from "public" as "user01";

 


set environment sqlmode 'oracle';
set environment sqlmode 'gbase';
set environment sqlmode 'oracle';
set environment sqlmode 'gbase';
[user01@dbhost01 ~]$

```

## 配置数据库的备份:

### 配置备份环境,并开启逻辑日志归档:

```shell
#创建备份目录:
mkdir -p /backup
chown gbasedbt:gbasedbt /backup
chmod 775 /backup

#配置逻辑日志归档:
su - gbasedbt
BACKUPDIR=/backup
onmode -wf TAPEDEV=$BACKUPDIR
onmode -wf LTAPEDEV=$BACKUPDIR
onmode -wf TAPEBLK=2048
onmode -wf LTAPEBLK=2048
sed -i "s#^ALARMPROGRAM.*#ALARMPROGRAM \$GBASEDBTDIR/etc/log_full.sh#g" $GBASEDBTDIR/etc/$ONCONFIG
sed -i "s#^BACKUP_CMD.*#BACKUP_CMD=\"ontape -a -d\" #g" $GBASEDBTDIR/etc/log_full.sh
onmode -ky
oninit -v

```

### 编写全量0级备份脚本:(注意:脚本执行会自动删除/backup目录下超过10天的文件)

```shell
cat <<! >/opt/gbase/etc/backup.sh
#!/bin/bash
. /home/gbasedbt/.bash_profile
onstat - |grep "On-Line" >/dev/null
if [ \$? -eq 0 ]
then
DATE=\`date\`
echo "Level 0 backup of "\$GBASEDBTSERVER" strat at "\$DATE
ontape -s -L 0
DATE=\`date\`
echo "Level 0 backup of "\$GBASEDBTSERVER" completed at "\$DATE
find /backup -mtime +10 -type f ! -name *.sh ! -name *.log |xargs rm -rf
fi
exit 0
!
chmod 775 /opt/gbase/etc/backup.sh

```

### 部署crontab任务,调用全量0级备份脚本:(每天凌晨1点执行全量备份)

```shell
# crontab -e
#如gbasedbt用户无crontab权限,使用root添加:echo "gbasedbt">>/etc/cron.allow
0 1 * * * /opt/gbase/etc/backup.sh >>/opt/gbase/tmp/backup.log 2>&1


```

### 验证:手动执行crontab中的任务,看0级备份是否成功:

```shell
[gbasedbt@dbhost01 ~]$ /opt/gbase/etc/backup.sh >>/opt/gbase/tmp/backup.log 2>&1
[gbasedbt@dbhost01 ~]$
[gbasedbt@dbhost01 ~]$ cat /opt/gbase/tmp/backup.log
Level 0 backup of gbase41 strat at Tue Nov 18 08:38:54 PM CST 2025
100 percent done.
File created: /backup/dbhost01_0_L0

Please label this tape as number 1 in the arc tape sequence.
This tape contains the following logical logs:

14

Program over.
Level 0 backup of gbase41 completed at Tue Nov 18 08:38:57 PM CST 2025
[gbasedbt@dbhost01 ~]$ onstat -g arc
On-Line -- Up 00:10:43 -- 987000 Kbytes


num   DBSpace            Q Size Q Len  Buffer partnum    size     scanner

Dbspaces - Archive Status
name               number level date             log        log-position
rootdbs            1      0     11/18/2025.20:38 14         0x183018
plogdbs            2      0     11/18/2025.20:38 14         0x183018
llogdbs            3      0     11/18/2025.20:38 14         0x183018
sbspace01          8      0     11/18/2025.20:38 14         0x183018
datadbs01          9      0     11/18/2025.20:38 14         0x183018
datadbs02          10     0     11/18/2025.20:38 14         0x183018

[gbasedbt@dbhost01 ~]$


```

### 验证:切换一个逻辑日志看日志是否归档

```shell
[gbasedbt@dbhost01 ~]$ onmode -l
[gbasedbt@dbhost01 ~]$ onmode -c
[gbasedbt@dbhost01 ~]$ ls -l /backup/
total 57344
-rw-rw---- 1 gbasedbt gbasedbt 52428800 Nov 18 20:38 dbhost01_0_L0
-rw-rw---- 1 gbasedbt gbasedbt  6291456 Nov 18 20:39 dbhost01_0_Log0000000014
[gbasedbt@dbhost01 ~]$


```

 

--- 至此:部署GBase8s完成。

 

 

 

评论

登录后才可以发表评论
用户头像
GBase用户28017发表于 8个月前
优秀。
崔哥发表于 7个月前
劝君莫惜金缕衣,劝君须惜少年时。有花堪折直须折,莫待无花空折枝。青天无云月如烛,露泣梨花白如玉。子规一夜啼到明,美人独在空房宿。空赐罗衣不赐恩,一薰香后一销魂。虽然舞袖何曾舞,常对春风裛泪痕。不洗残妆凭绣床,也同女伴绣鸳鸯。回针刺到双飞处,忆著征夫泪数行。眼想心思梦里惊,无人知我此时情。不如池上鸳鸯鸟,双宿双飞过一生。一去辽阳系梦魂,忽传征骑到中门。纱窗不肯施红粉,徒遣萧郎问泪痕。莺啼露冷酒初醒,罨画楼西晓角鸣。翠羽帐中人梦觉,宝钗斜坠枕函声。行人南北分征路,流水东西接御沟。终日坡前怨离别,谩名长乐是长愁。偏倚绣床愁不起,双垂玉箸翠鬟低。卷帘相待无消息,夜合花前日又西。悔将泪眼向东开,特地愁从望里来。三十六峰犹不见,况伊如燕这身材。满目笙歌一段空,万般离恨总随风。多情为谢残阳意,与展晴霞片片红。两心不语暗知情,灯下裁缝月下行。行到阶前知未睡,夜深闻放剪刀声。近寒食雨草萋萋,著麦苗风柳映堤。早是有家归未得,杜鹃休向耳边啼。水纹珍簟思悠悠,千里佳期一夕休。从此无心爱良夜,任他明月下西楼。数日相随两不忘,郎心如妾妾如郎。出门便是东西路,把取红笺各断肠。无定河边暮角声,赫连台畔旅人情。函关归路千馀里,一夕秋风白发生。花落长川草色青,暮山重叠两冥冥。逢春便觉飘蓬苦,今日分飞一涕零。洛阳才子邻箫恨,湘水佳人锦瑟愁。今昔两成惆怅事,临邛春尽暮江流。浙江轻浪去悠悠,望海楼吹望海愁。莫怪乡心随魄断,十年为客在他州。
曾浩轩发表于 2个月前
三人行必有我师
GBase用户51887发表于 2个月前
学会了