自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

转载 GBase 8c Raft协议学习(七)

关于Raft的一些问题1、Raft分为哪几个部分?主要是分为leader选举、日志复制、日志压缩、成员变更等。2、Raft中任何节点都可以发起选举吗?Raft发起选举的情况有如下几种:" 刚启动时,所有节点都是follower,这个时候发起选举,选出一个leader;" 当leader挂掉后,时钟最先跑完的follower发起重新选举操作,选出一个新的leader。" 成员变更的时候会发起选举操作。3、Raft中选举中给候选人投票的前提?Raft确保新当选的Leader包含所有已提交(集群

2021-12-25 09:23:04 243

转载 GBase 8c Raft协议学习(六)

成员变更1、常规处理成员变更存在的问题我们先将成员变更请求当成普通的写请求,由领导者得到多数节点响应后,每个节点提交成员变更日志,将从旧成员配置(Cold)切换到新成员配置(Cnew)。但每个节点提交成员变更日志的时刻可能不同,这将造成各个服务器切换配置的时刻也不同,这就有可能选出两个领导者,破坏安全性。考虑以下这种情况:集群配额从 3 台机器变成了 5 台,可能存在这样的一个时间点,两个不同的领导者在同一个任期里都可以被选举成功(双主问题),一个是通过旧的配置,一个通过新的配置。简而言之,成员变更

2021-12-25 09:22:19 211

转载 GBase 8c Raft协议学习(五)

日志压缩在实际的系统中,不能让日志无限增长,否则系统重启时需要花很长的时间进行回放,从而影响可用性。Raft采用对整个系统进行snapshot来解决,snapshot之前的日志都可以丢弃(以前的数据已经落盘了)。每个副本独立的对自己的系统状态进行snapshot,并且只能对已经提交的日志记录进行snapshot。【Snapshot中包含以下内容】:" 日志元数据,最后一条已提交的 log entry的 log index和term。这两个值在snapshot之后的第一条log entry的Appen

2021-12-25 09:21:46 200

转载 GBase 8c Raft协议学习(四)

安全性Raft增加了如下两条限制以保证安全性:" 拥有最新的已提交的log entry的Follower才有资格成为leader。" Leader只能推进commit index来提交当前term的已经复制到大多数服务器上的日志,旧term日志的提交要等到提交当前term的日志来间接提交(log index 小于 commit index的日志被间接提交)。...

2021-12-25 09:21:02 114

转载 GBase 8c Raft协议学习(三)

日志复制(保证数据一致性)1、日志复制的过程Leader选出后,就开始接收客户端的请求。Leader把请求作为日志条目(Log entries)加入到它的日志中,然后并行的向其他服务器发起 AppendEntries RPC复制日志条目。当这条日志被复制到大多数服务器上,Leader将这条日志应用到它的状态机并向客户端返回执行结果。" 客户端的每一个请求都包含被复制状态机执行的指令。" leader把这个指令作为一条新的日志条目添加到日志中,然后并行发起 RPC 给其他的服务器,让他们复制这条信息。

2021-12-25 09:20:03 111

转载 GBase 8c Raft协议学习(二)

Leader选举1、Leader选举的过程Raft 使用心跳(heartbeat)触发Leader选举。当服务器启动时,初始化为Follower。Leader向所有Followers周期性发送heartbeat。如果Follower在选举超时时间内没有收到Leader的heartbeat,就会等待一段随机的时间后发起一次Leader选举。每一个follower都有一个时钟,是一个随机的值,表示的是follower等待成为leader的时间,谁的时钟先跑完,则发起leader选举。Follower将其

2021-12-25 09:19:22 141

转载 GBase 8c Raft协议学习(一)

Raft算法概述1、三种角色Raft是一个用于管理日志一致性的协议。它将分布式一致性分解为多个子问题:Leader选举(Leader election)、日志复制(Log replication)、安全性(Safety)、日志压缩(Log compaction)等。同时,Raft算法使用了更强的假设来减少了需要考虑的状态,使之变的易于理解和实现。Raft将系统中的角色分为领导者(Leader)、跟从者(Follower)和候选者(Candidate):" Leader:接受客户端请求,并向Follow

2021-12-25 09:18:28 247

原创 GBase 8s需要参数的SQL脚本

sql文件不能如shell脚本一样接收$1这样的参数,因此当我们有一个sql脚本,又需要传入参数运行时,需要用shell脚本传进参数建一个sh文件,例如1.sh,内容为echo “execute procedure proc_his_data_sync($1,0)”|dbaccess -e -m afcdb然后chmod +x 1.sh执行时 ./1.sh 20211201echo “execute procedure test_p5($1,0)”|dbaccess -e -m afcdb如果第一

2021-12-25 09:14:06 1234

原创 GBase 8s故障信息收集步骤

一、System Crash1、保留 af.XXXXX文件,该文件一般在 /tmp目录,可从online.log中找出该文件名及准确路径。2、保留shmem.XXXX文件,一般情况下,生产机不会有此文件,可在测试环境中允许生成。参考onconfig的配置参数:DUMPDIR /tmp # Preserve diagnostics in this directoryDUMPSHMEM 1 # Dump a copy of shared memory建议考

2021-12-25 09:13:08 333

原创 \GBase 8s对clob大对象的操作

GBase 8s对clob大对象的操作与其他数据库有一些差别,实际操作中需要按以下方式执行:1、首先挂载存储智能对象的表空间(包括blob,clob等)。onspaces -c -S sbspacedbs -p /home/gbasedbt/storage/tpdchk17 -o 0 -s 100000;2、修改onconfig文件中如下的几行:SBSPACETEMP sbspacedbsSBSPACENAME sbspacedbsSYSSBSPACENAME sbspacedbs重启数据库使

2021-12-25 09:11:49 598

原创 GBase 8s报951错的处理

使用connect连接数据库时,输入用户名和口令报951错,在用户名和口令正确的情况下,一般是bin下执行文件出现了权限问题,重新正确安装数据库或tar一个正常的数据库bin包后一般可以解决问题,或者用脚本修改一下bin目录执行文件的权限亦可...

2021-11-29 17:59:27 862

原创 GBase 8s数据库备份到目录

GBase 8s在备份时使用ontape命令时,可以通过-t将备份指向某个目录:ontape -s -L 0 -t /home/gbasedbt/gbase/bak -d当备份路径指向目录时,没有人机交互过程,从第二个备份开始,备份文件会带服务名和日期时间,非常方便管理。以上方式在linux下测试通过。...

2021-11-29 17:52:23 342

原创 GBase 8s自动备份-windows版本

GBase 8s在备份时使用ontape命令时,需要人工确认备份路径并回车使备份开始,如果希望备份自动完成,可以使用以下方式:echo | ontape -s -L 0 -t ph.dat通过echo输入一个空格完成确认。而如果在windows平台的DOS下,echo 不合语法,需要使用如下命令:echo.|ontape -s -L 0 -t %filename%以上方式在windows下测试通过。...

2021-11-29 17:51:46 206

原创 GBase 8s自动备份

GBase 8s在备份时使用ontape命令时,需要人工确认备份路径并回车使备份开始,如果希望备份自动完成,可以使用以下方式:echo | ontape -s -L 0 -t ph.dat通过echo输入一个空格完成确认。以上方式在linux下测试通过。...

2021-11-29 17:51:14 255

原创 GBase 8s数据库状态判断脚本

GBase 8s数据库有多种状态,包括on-line状态、off-line状态、静默状态、从机状态等。可以使用onstat -获取数据库状态。如果需要用脚本对数据库操作,需要判断数据库状态,一般来说只有on-line且为主机状态时,部分操作才能实施,例如备份等操作。on-line且为主机状态时,数据库状态为5,这时使用onstat -的隐式返回值为5,我们通常使用这样的脚本实现状态判断:#!/bin/bash. /home/gbasedbt/.bash_profileonstat -if [

2021-11-29 17:44:12 568

原创 GBase 8s重复记录删除

摘要:本文介绍如何使用存储过程删除GBase 8s数据库某张表的重复数据。有些表没有唯一索引或主键,但也不希望某些字段有重复记录,而重复记录不能靠唯一索引或主键保证时,就需要用存储过程来实现去重,以GBase 8s数据库为例说明存储过程的用法:CREATE PROCEDURE del_dul()DEFINE i, j INT;define k, l char(20);FOREACH SELECT a,rowid into k,i FROM dul t where rowid<(SELECT

2021-11-26 17:46:01 1172

原创 GBase 8s的copy安装

GBase 8s安装非常简单,甚至可以直接通过复制一个已有数据库在新的服务器上,具体步骤如下:在一个正常数据库GBase 8s账户家目录下执行:tar cvf gbase8s.tar aaodir bin dbssodir demo doc etc forms gls help ids_license incl ism jdbc lib msg release snmp建立GBase 8s压缩包在需要安装的机器上的root下执行:groupadd gbasedbtuseradd -g gbase

2021-11-26 17:06:34 295

原创 PowerBuilderer和GBase 8s的连接测试

一、测试目的本文主要验证SAP PowerBuilder(下文简称PB)和Gbase 8s(下文简称8s)的连接可行性。后续根据需要可以增加PB在8s上其他功能的支持测试。二、测试环境说明Windows版本:window 7家庭普通版,64位InformixCSDK版本:IBM Informix CSDKr Version 3.50.32位GBase 8s版本:GBase 8s Version 8.8 for windows XPPB版本:SAP PowerBuilder 12.5,32位三、

2021-11-26 11:34:07 169

原创 用jmeter工具测试GBase数据库

一.前言压力测试是每一个数据库上线之前都需要做的一个测试,压力测试可以帮助我们发现系统中的瓶颈问题,减少发布到生产环境后出问题的几率;预估系统的承载能力,使我们能根据其做出一些应对措施。本文介绍压力测试工具JMeter如何测试GBase 8s数据库。二.关于JMeterApache JMeter是Apache组织开发的基于Java的压力测试工具。它可以用于对服务器、网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。你可以使用它做性能的图形分析或在大并发负载测试你的服务器/脚本/对

2021-11-26 11:32:30 781

原创 使用BenchMarkSQL5.0测试GBase 8s数据库

摘要本文介绍使用BenchMarkSQL 5.0测试GBase 8s数据库的方法。测试环境测试机172.16.17.127 : CentOS 7.3 (64 Bit)数据库GBase 8s V8.8使用说明本说明手册是在CentOS 7.3 (64 Bit),jdk-1.8环境下编译过的,如果直接使用该文件进行测试,请直接跳到“使用benchmarksql5.0进行测试”。软件下载与安装安装benchmarkSQL5.0下载地址:https://sourceforge.net/proj

2021-11-26 10:17:01 2043

原创 GBase 8s中应用的文本文件字符集转换方法

GBase 8s中应用的文本文件字符集转换方法字符(Character)是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。字符集(Character set)是多个字符的集合,字符集种类较多,每个字符集包含的字符个数不同,常见字符集名称:ASCII字符集、GB2312字符集(简体中文)、BIG5字符集(繁体中文)、 GB18030字符集(亚洲字符集合)、Unicode( 常用 UTF-8) 字符集等。在GBase 8s数据库中如果需要支持中文,则会指定字符集,不同编码的字符集并不兼

2020-08-28 17:27:02 1212

原创 Linux下Druid连接池GBase 8s数据库配置

@[TOC]Linux下Druid连接池GBase 8s数据库配置Linux下Druid连接池GBase 8s数据库配置前言一、Druid&GBase 8s是什么?二、Druid配置1.properties文件2.在java代码中增加GBase 8s数据库相关内容3.编译和运行总结前言Druid是目前比较流行的数据库连接池,已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模部署的严苛考验。本文介绍Linux环境下Druid如何配置GBase 8s数据库。提示:以下是本篇文章

2020-08-26 11:39:21 1947

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除