参数 ora_statement_level_rollback 控制KingbaseES 是否实现类似oracle 语句级的回滚.当该参数打开时,如果事务操作失败,仅会回滚最后一条操作,避免了全部操作的回滚.以下举例展示差异. create table t1(id integer); create or replace procedure p1 is begin insert into t1 values(1); insert into t1 values('a'); exception whe…
KingbaseES 基于PostgreSQL进行了大量的Oracle兼容性开发,为了能同时兼容Oracle 和 PG 的特性,增加参数进行控制.以下介绍 KingbaseES 下特有的参数 ignore_char_null_check 功能作用:KES 内部是拿 0x00 作为字符的结束符的.字符里边不允许含有0x00,如果一个字符串里边还有0x00的话,会被截断.参数默认值为 off ,也就是会检查字符串是否有 0x00 字符,这也是 PG 的行为. 1.Oracle对于ascii 0 字符…
在日常数据库运维过程中,我们可能会遇到类似以下的错误.该错误信息是由于部分tuple的 toast 字段丢失,导致数据无法访问.需要通过游标方式,将可以访问的数据备份出来. test=# create table t2_text as select * from t1_text; ERROR: unexpected chunk size -4 (expected 1996) in chunk 0 of 4 for toast value 61962 in pg_toast_61919 注意:设置…
如下图所示: 集群数据同步原理说明: synchronous参数配置测试: 集群节点信息: ID | Name | Role | Status | Upstream | repmgrd | PID | Paused? | Upstream last seen ----+---------+---------+-----------+----------+---------+-------+---------+-------------------- 1 | node101 | standby |…
KingbaseES数据库的配置参数都在kingbase.conf文件中,这些参数有些是直接修改就可以生效,有些需要重启数据库才能生效,而有些根本就不能修改.数据库把这些参数分为以下几类: internal:这类参数为只读参数.有些是程序写死的,有些是在安装数据库时intdb时设置好的. kingbase:这类参数需要重启数据库服务才能生效. sighup:无需重启数据库,但要向kingbase进程发送sighup信号,即需要操作系统命令sys_ctl reload或进入ksql中, selec…
KingbaseES R6集群repmgr.conf参数'recovery'测试案例(一) 案例说明: 在KingbaseES R6集群中,主库节点出现宕机(如重启或关机),会产生主备切换,但是当主库节点系统恢复正常后,如何对原主库节点进行处理,保证集群数据的一致性和安全,可以通过对repmgr.conf文件中配置recovery参数来解决.本案例记录了对'recovery'参数的三种配置的详细测试过程. 注意:对于KingbaseES R6老的版本,recovery参数只支持'manual'和…
一.数据库应用类型 针对不同的应用模型,需要对数据库配置进行优化: 1.网络应用程序(WEB) ​通常受 CPU 限制 DB比RAM小得多 90% 或更多的简单查询 2.在线事务处理 (OLTP) ​通常受 CPU 或 I/O 限制 数据库数据量远大于系统内存 20-40% 小数据写入查询 ​长事务和复杂的读取查询 ​3.数据仓库 (DW) ​通常受 I/O 或 RAM 限制 ​大量数据加载 ​大型复杂报表查询 ​也称为"决策支持"或"商业智能" ​4.混合型应用(…
案例说明:在KingbaseES R6集群中,主库节点出现宕机(如重启或关机),会产生主备切换,但是当主库节点系统恢复正常后,如何对原主库节点进行处理,保证集群数据的一致性和安全,可以通过对repmgr.conf文件中配置recovery参数来解决. 本案例记录了'recovery'参数的三种配置情况下,primary 主机重启后,集群恢复的过程. 注意:对于KingbaseES R6老的版本,recovery参数只支持'manual'和'automatic'. 数据库版本: 集群架构: 集群节…
匿名块的基本语法结构包括声明和执行两部分.匿名块每次提交都被重新编译和执行.因为匿名块没有名称并不在数据库中存储,所以匿名块不能直接从其他PL/SQL 块中调用. 定义语法: [ DECLARE ] [ variable_declaration ] [ cursor_declaration ] BEGIN sequence_of_statement END 说明: a. 声明部分 :类似于存储过程中的声明,预先定义块中要用到的变量.包含PL/SQL 变量,异常,游标等.如果没有变量需要定义,声明…
案例二:测试'recovery = automatic' 1.查看集群节点状态信息: [kingbase@node1 bin]$ ./repmgr cluster show ID | Name | Role | Status | Upstream | Location | Priority | Timeline | Connection string ----+---------+---------+-----------+----------+----------+----------+---…