专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

神通数据库主从部署(一主两从)_神通数据库如何启动

ins518 2025-08-30 23:22:39 技术文章 13 ℃ 0 评论



基础环境

ShenTong7.0.8_342.233.linux64

jdk1.8.0_144

vip 192.168.2.200

master 192.168.2.201

slave 192.168.2.202

slave 192.168.2.203

数据库安装

1、安装数据库软件

添加环境变量

JAVA_HOME=/usr/jdk1.8.0_144
CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME CLASSPATH PATH
source /etc/profile

安装

./setup -console

安装路径:/data/ShenTong

输入O继续、注册HA服务、不创建快捷方式、不需要创建数据库

安装完成后会自动添加环境变量

export SZ_OSCAR_HOME=/data/ShenTong
export PATH=/data/ShenTong/datamigrate:${PATH}
export PATH=/data/ShenTong/bin:${PATH}
export LD_LIBRARY_PATH=/data/ShenTong/bin:/data/ShenTong/jre/lib/amd64:${LD_LIBRARY_PATH}

需要执行

source /etc/profile

2、创建数据库

执行oscar命令启动神通数据库到backend下,然后创建数据库

oscar
backend> CREATE DATABASE OSRDB ENCODING 'utf-8' CASEINSENSITIVE ARCHIVELOG '/data/ShenTong/arch' CONTROLFILE '/data/ShenTong/admin/OSRDB.ctrl' LOGFILE '/data/ShenTong/odbs/OSRDB/OSRDB01.log' SIZE 100M AUTOEXTEND ON NEXT 100M TEMPFILE '/data/ShenTong/odbs/OSRDB/OSRDBtmp01.dbf' SIZE 100M AUTOEXTEND ON NEXT 100M DATAFILE '/data/ShenTong/odbs/OSRDB/OSRDB01.dbf' SIZE 100M AUTOEXTEND ON NEXT 100M AUDITFILE '/data/ShenTong/odbs/OSRDB/OSRDBaux01.dbf' SIZE 100M AUTOEXTEND ON NEXT 100M UNDO tablespace undots01 datafile '/data/ShenTong/odbs/OSRDB/OSRDBundo_01.dbf' SIZE 100M AUTOEXTEND ON NEXT 100M ;

3、初始化数据库

oscar -o restrict -d OSRDB

注意:若创建了名称非OSRDB的新数据库,还需要在$SZ_OSCAR_HOME/admin目录下新建一个文件:db_name.conf(注意db_name需大写),可以通过copy默认的oscar.conf文件,再修改其中的 PORT 端口号创建

4、安装数据库服务

oscar -o install -d OSRDB

5、参数修改

OSRDB.conf

COMPATABLE_DBMS=0
ENABLE_ORACLE_OPER=true
#SQL语句返回的结果中列名、别名是否大小写区分,默认不区分
COLUMN_CASE_SENSITIVE=true
#SQL中表名和列名是否区分大小写,为FALSE时SQL里小写也可以匹配上数据库里大写的表名列名
NAME_CASE_SENSITIVE=false
INST_MEM_THRESHOLD=0
BUF_DATA_BUFFER_PAGES=250000

#是否开启线程池
ENABLE_THREADPOOL=true
#线程池最大线程数(默认100000)
THREADPOOL_MAX_THREADS=100000
#线程池最小线程数
THREADPOOL_MIN_THREADS=40
#线程池分组数。0表示自动设置成服务器逻辑CPU个数,建议使用默认值。
THREADPOOL_SIZE=4

6、启动数据库

/etc/init.d/oscaragentd start
/etc/init.d/oscardb_OSRDBd start

如果启动数据库报以下错误,是因为license下授权文件需要更新

Starting oscar -o normal -d "OSRDB":

grep: /data/ShenTong/admin/OSRDB.db: No such file or directory

grep: /data/ShenTong/admin/OSRDB.db: No such file or directory

7、登录数据库

默认用户密码:sysdba/szoscar55

isql -p 2003 -U sysdba/szoscar55 -d osrdb


主从部署

1、主库备份

brcmd -O backup -d OSRDB -u SYSDBA -p 123456 -P 2003 -t full -k file -f /home/bk.osrbk -b 8192 -e /home/bk_log.txt -c TRUE -m TRUE
scp –r /home/bk.osrbk root@192.168.2.202:/home/
scp –r /home/bk_log.txt root@192.168.2.203:/home/

2、从库恢复

先停止数据库服务

/etc/init.d/oscardb_OSRDBd stop

执行恢复

brcmd -O restore -d OSRDB -u SYSDBA -p szoscar55 -P 2003 -t backup_point_last -k file -f /home/bk.osrbk -b 8192 -e /home/bk_log.txt

3、修改OSRDB.conf文件(所有节点)

/data/ShenTong/admin/OSRDB.conf

HOTSTANDBY_DATABASE_TYPE=2
ENABLE_HA_SINGLE_ALIVE=false
HA_ELECTION_TIMEOUT_MS=30000 #HA集群备机选主超时时间,单位:毫秒。当同步备机超过该时间没有收到主机心跳时,尝试转换成主机。
HA_HEARTBEAT_PERIOD_MS=5000 #HA集群主机心跳间隔时间,单位:毫秒。心跳间隔时间应当小于备机选主超时时间。为避免网络抖动产生的影响,此参数设置建议不大于HA_ELECTION_TIMEOUT_MS/2。
HA_SLAVE_WRITE_BUFFER_BLOCK_NUM=655350
HA_SLAVE_QUERY_WAIT_TIMEOUT=5000
BUF_GROUP_WRITE_SIZE=512
HA_GATEWAY='192.168.3.1'
HA_SUB_MASK='255.255.252.0'
HA_SERVER_IP_ADDRESS='192.168.2.200'
HA_LOCAL_NET_DEV_NAME='eth0:1'

启动所有节点数据库服务

4、在master节点,登录数据库

alter database add node '192.168.2.201'; ### 先添加本机ip

添加完本机地址后,等几十秒,退出数据库重新登录,再执行以下添加

alter database add node '192.168.2.202'; ### 再添加备库ip
alter database add node '192.168.2.203'; ### 再添加备库ip

添加完后可通过ifconfig命令查看浮动ip是否生效

在数据库内执行命令查看各节点状态:

select * from v_sys_ha_slave_info;

注:从库执行查看为空,只能在主库进行查看

通过vip登录测试

isql -p 2003 -U sysdba/szoscar55 -d osrdb -h 192.168.2.200


注:

如果重新配置集群需要在主库执行以下操作,然后再备库、恢复至从库。

alter database clean up node list; 命令清理集群状态,以免影响到数据库物理备份恢复

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表