avatar

AntDB数据库

积分:1905
收藏话题: 0
入驻时间: 2年前
AntDB数据库评论的话题
AntDB数据库 9个月前 评论了 BryantYY 创建的话题 › AntDB怎么查版本号

select adb_version()

AntDB数据库 9个月前 评论了 g1izyb 创建的话题 › antdb部署问题,急! 审核未通过

1

AntDB数据库 9个月前 评论了 g1izyb 创建的话题 › antdb部署问题,急!

这个可能是由于目录太长导致的。建议将安装软件目录中的文件:\setup\common\.bashrc_for_antdb中的如下行注释掉,然后再次尝试部署:
#export PYTHONPATH=xxxx...

AntDB数据库 1年前 评论了 Princess Nuno 创建的话题 › antdb数据库使用ora2pg导出分区表时,仍以继承表的方式实现,而非最新的内置分区表方式实现。

解决方式

配置文件添加下述2个新增的配置项。
其中adb_VERSION支持10/11,按实际情况配置即可。

adb_SUPPORTS_PARTITION 1
adb_VERSION 11

原因说明

工具调整,新增了几个配置项。

AntDB数据库 1年前 评论了 ajhdf 创建的话题 › 使用antdb数据库,出现“ERROR: Cannot create index whose evaluation cannot be enforced to remote nodes”提示。

解决方式

目前非分片键不允许创建主键或唯一索引。
若一定要创建主键,带上分片键即可。
以下给出一个示例说明:

antdb=# create table sy01(id int,name text) distribute by hash(name);
CREATE TABLE
antdb=# ALTER TABLE sy01 add constraint pk_sy01_1 primary key (id);
ERROR: Cannot create index whose evaluation cannot be enforced to remote nodes
antdb=# ALTER TABLE sy01 add constraint pk_sy01_1 primary key (id,name);
ALTER TABLE
antdb=# \d+ sy01
Table "public.sy01"
Column | Type | Modifiers | Storage | Stats target | Description
--------+---------+-----------+----------+--------------+-------------
id | integer | not null | plain | |
name | text | not null | extended | |
Indexes:
"pk_sy01_1" PRIMARY KEY, btree (id, name)
Distribute By: HASH(name)
Location Nodes: ALL DATANODES














AntDB数据库 1年前 评论了 shudaonan 创建的话题 › antdb数据库显示“ERROR: adb_basebackup: could not receive data from WAL stream: server closed the connection unexpectedly”。

adb_log报错信息:terminating walsender process due to replication timeout

解决方式

测试备机ssh至主机能否成功

ssh datanode_master_ip -p ssh_port

若调通ssh登录后,仍然失败,则进行步骤2的排查

测试备机adb至主机能否成功

adb -p datanode_master_port -h master_ip -d replication

若调通adb登录后,仍然失败,则进行步骤3的排查

测试备机adb至主机能否成功

wal_sender_timeout 由默认的60s调整为0. (0 没有时间限制)

wal_sender_timeout参数说明:
服务端会中断那些停止活动超过该配置的复制连接。
这对发送服务器检测一个备机崩溃或网络中断有用。
设置为0将禁用该超时机制。
该参数只能在postgresql.conf文件中或在服务器命令行上设置。默认值是 60 秒。



其他可能相关配置项

--提升wal_keep_segments,由128调整至1024
wal_keep_segments = 1024
--打开归档模式
archive_mode = "on"
archive_command = "rsync -a %p /data2/antdb/data/arch/dn1/%f"



原因说明

产生原因较多,请按上述步骤依次排查。

AntDB数据库 1年前 评论了 dehydration 创建的话题 › antdb数据库连接时,出现“FATAL: database “cz” does not exist”。

解决方式

未指定数据库实例名。
adb 需要指定 -d 选项 或 在环境变量添加 PGDATABASE=xxx

adb -d shcrm -p xxx -U xxx

原因说明

adb连接时,若不指定数据库名称,则以下述顺序优先选择:
环境变量 $PGDATABASE > adb登录时的用户名
若上述2个配置名称在数据库中均不存在,则抛出高错误。

AntDB数据库 1年前 评论了 shudaonan 创建的话题 › antdb数据库数据备份提示“ssh output clean: FAILED (the configured ssh_command must not add anything to the remote command output)”该怎么处理?

执行barman check命令时,返回上述报错信息

barman -c /aifs01/users/antdb/barman/conf/datanode0.conf check datanode0

解决方式**

datanode0.conf 的 ssh_command 命令,在最后添加 -q 选项,不产生任何输出信息.

ssh_command = ssh antdb[[[[@10](http://ask.antdb.net/user/10)](http://ask.antdb.net/user/10)](http://ask.antdb.net/user/10)](http://ask.antdb.net/user/10).1.242.25 -p 22022 -q

详细的原因说明,请参考:
The test that Barman does is to execute ‘true’ using the ssh_command and checking that the output is empty.

In your case, please check that the following command doesn’t produce any output.

链接:https://groups.google.com/forum/#!topic/pgbarman/1xjUU4mnrfI

确保archive_command和barman配置文件中几个变量值的对应关系

----------archive_command命令示例:
archive_command = 'rsync --address=10.1.242.27 --port=22022 -a %p antdb[[[[@10](http://ask.antdb.net/user/10)](http://ask.antdb.net/user/10)](http://ask.antdb.net/user/10)](http://ask.antdb.net/user/10).1.242.27:/aifs01/users/antdb/barman/data/datanode0/incoming/%f'

---------datanode0.conf配置示例:

[barman]
barman_home = /aifs01/users/antdb/barman/data/

[datanode0]

--------两者对应关系:
archive_command命令中的
/aifs01/users/antdb/barman/data/datanode0
必须等于
datanode0.conf配置文件中的 barman_home的配置值 + [datanode0]的配置值
/aifs01/users/antdb/barman/data/datanode0
即:
barman_home的配置值 + [datanode0]的配置值 + 'incoming/%f'固定字符串






原因说明

centos7.2以后,某些ssh场景下需要静默返回输出,即ssh命令添加了 -q 静默选项,否则就报标题所示的错误。

AntDB数据库 1年前 评论了 Princess Nuno 创建的话题 › antdb数据迁移时,出现"FATAL: Can’t open FUNCTION_/data/ora2pg/ddl/dmp_others.sql: No such file or directory"。

解决方式

ora2pg的-o选项,建议以相对路径配置即可
下面给出一个示例说明:

cd /data/ora2pg/exp
ora2pg -c /data/ora2pg/conf/xxx.conf -o cz.sql

AntDB数据库 1年前 评论了 ajhdf 创建的话题 › 使用antdb数据库,出现“ERROR: No Datanode defined in cluster”提示。

解决方式

登录coordinator执行select * from pgxc_node,检查是否存在node_type=D 的节点信息。
执行select pgxc_pool_reload() 重新加载pgxc_node信息之后,重新执行上述的查询。
若仍然没有node_type=D 的节点信息,则需要重新init集群。
或若登录adbmgr执行monitor all,显示所有节点均为running状态,也可以手工初始化pgxc_node表的信息,但比较麻烦。


重新初始化集群的步骤:
登录adbmgr操作

stop all mode fast;
clean all;
init all;

手工添加pgxc_node表的初始化信息的步骤:
登录每个coordinator操作

--创建一个coordinator的节点信息
create node ${node_name} with (type=coordinator, host='${node_ip}', port=${node_port}, primary=false);

--创建第一个datanode master的节点信息(datanode slave不需要初始化)
create node ${node_name} with (type=datanode, host='${node_ip}', port=${node_port}, primary=true);
--创建其他datanode master的节点信息(datanode slave不需要初始化)
create node ${node_name} with (type=datanode, host='${node_ip}', port=${node_port}, primary=false);


注:该方式比较原始,不建议这样操作。

原因说明

init all初始化集群时,agtm没有正常初始化,导致各个节点在初始化pgxc_node时,向agtm获取事务号失败,导致pgxc_node该表初始化异常。