06 2024 档案
摘要:设置帐号有效期 注意事项 创建新用户时,需要限制用户的操作期限(有效开始时间和有效结束时间)。 不在有效操作期内的用户需要重新设定帐号的有效操作期。 操作步骤 以操作系统用户omm登录数据库主节点。 使用如下命令连接数据库。 gsql -d postgres -p 8000 postgres为需要连
阅读全文
摘要:设置帐户安全策略 背景信息 openGauss为帐户提供了自动锁定和解锁帐户、手动锁定和解锁异常帐户和删除不再使用的帐户等一系列的安全措施,保证数据安全。 自动锁定和解锁帐户 为了保证帐户安全,如果用户输入密码次数超过一定次数(failed_login_attempts),系统将自动锁定该帐户,默认
阅读全文
摘要:设置账本数据库 账本数据库概述 查看账本历史操作记录 校验账本数据一致性 归档账本数据库 修复账本数据库 详情查看:https://opengauss.org 详情查看:https://docs-opengauss.osinfra.cn
阅读全文
摘要:审计概述 背景信息 数据库安全对数据库系统来说至关重要。openGauss将用户对数据库的所有操作写入审计日志。数据库安全管理员可以利用这些日志信息,重现导致数据库现状的一系列事件,找出非法操作的用户、时间和内容等。 关于审计功能,用户需要了解以下几点内容: 审计总开关audit_enabled支持
阅读全文
摘要:使用MOT 本章介绍如何部署、使用和管理openGauss MOT。使用MOT的方法非常简单。MOT命令的语法与openGauss基于磁盘的表相同。只有MOT中的创建和删除表语句与openGauss中基于磁盘的表的语句不同。您可以参考本章了解如何入门、如何将基于磁盘的表转换为MOT、如何使用MOT的
阅读全文
摘要:授予用户权限 以授予数据库用户对MOT存储引擎的访问权限为例。每个数据库用户仅执行一次,通常在初始配置阶段完成。 说明: MOT通过外部数据封装器(Foreign Data Wrapper,FDW)机制与openGauss数据库集成,所以需要授权用户权限。 要使特定用户能够创建和访问MOT(DDL、
阅读全文
摘要:术语表 缩略语 定义描述 2PL 2阶段锁(2-Phase Locking) ACID 原子性(Atomicity),一致性(Consistency),隔离性(Isolation),持久性(Durability) AP 分析处理(Analytical Processing) Arm 高级RISC机器
阅读全文
摘要:相关概念 数据库 数据库用于管理各类数据对象,与其他数据库隔离。创建数据对象时可以指定对应的表空间,如果不指定相应的表空间,相关的对象会默认保存在PG_DEFAULT空间中。数据库管理的对象可分布在多个表空间上。 表空间 在openGauss中,表空间是一个目录,可以存在多个,里面存储的是它所包含的
阅读全文
摘要:统一审计策略概述 背景信息 传统审计会产生大量的审计日志,且不支持定制化的访问对象和访问来源配置,不方便数据库安全管理员对审计日志的分析。而统一审计策略支持绑定资源标签、配置数据来源输出审计日志,可以提升安全管理员对数据库监控的效率。 详情查看:https://opengauss.org 详情查看:
阅读全文
摘要:为MOT创建索引 支持标准的openGauss创建和删除索引语句。 例如: create index text_index1 on test(x) ; 创建一个用于TPC-C的ORDER表,并创建索引: create FOREIGN table bmsql_oorder ( o_w_id integ
阅读全文
摘要:维护审计日志 前提条件 用户必须拥有审计权限。 背景信息 与审计日志相关的配置参数及其含义请参见表1。 表 1 审计日志相关配置参数 配置项 含义 默认值 audit_directory 审计文件的存储目录。 /var/log/gaussdb/用户名/pg_audit audit_resource_
阅读全文
摘要:向表中插入数据 在创建一个表后,表中并没有数据,在使用这个表之前,需要向表中插入数据。本小节介绍如何使用INSERT命令插入一行或多行数据,及从指定表插入数据。如果有大量数据需要批量导入表中,请参考导入数据。 背景信息 服务端与客户端使用不同的字符集时,两者字符集中单个字符的长度也会不同,客户端输入
阅读全文
摘要:校验账本数据一致性 前提条件 数据库正常运行,并且对防篡改数据库执行了一系列增、删、改等操作,保证在查询时段内有账本操作记录结果产生。 背景信息 账本数据库校验功能目前提供两种校验接口,分别为:ledger_hist_check(text,...和ledger_gchain_check(text..
阅读全文
摘要:修复账本数据库 前提条件 系统中需要有审计管理员或者具有审计管理员权限的角色。 数据库正常运行,并且对防篡改数据库执行了一系列增、删、改等操作,保证在查询时段内有账本操作记录结果产生。 背景信息 当在异常情况或表被损坏时需要使用ledger_gchain_repair(tex...或ledger_h
阅读全文
摘要:用SSH隧道进行安全的TCP/IP连接 背景信息 为了保证服务器和客户端之间的安全通讯,可以在服务器和客户端之间构建安全的SSH隧道。SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。 从SSH客户端来看,SSH提供了两种级别的安全验证: 基于口令的安全验证:使用帐号和口令登录到远
阅读全文
摘要:用SSL进行安全的TCP/IP连接 背景信息 openGauss支持SSL标准协议(TLS 1.2),SSL协议是安全性更高的协议标准,它们加入了数字签名和数字证书来实现客户端和服务器的双向身份验证,保证了通信双方更加安全的数据传输。 openGauss支持TLCP协议,TLCP采用国密算法进行身份
阅读全文
摘要:用户 使用CREATE USER和ALTER USER可以创建和管理数据库用户。openGauss包含一个或多个已命名数据库用户和角色在openGauss范围内是共享的,但是其数据并不共享。即用户可以连接任何数据库,但当连接成功后,任何用户都只能访问连接请求里声明的那个数据库。 非三权分立下,ope
阅读全文
摘要:用户权限设置 给用户直接授予某对象的权限,请使用GRANT。 将Schema中的表或者视图对象授权给其他用户或角色时,需要将表或视图所属Schema的USAGE权限同时授予该用户或角色。否则用户或角色将只能看到这些对象的名称,并不能实际进行对象访问。 例如,下面示例将Schema tpcds的权限赋
阅读全文
摘要:用于Oracle的外部数据包装器 oracle_fdw(foreign data wrapper for oracle)用于Oracle的外部数据包装器,是一款开源插件。openGauss基于开源的oracle_fdw Release 2.2.0 版本进行开发适配。 编译和使用oracle_fdw需
阅读全文
摘要:账本数据库概述 背景信息 账本数据库融合了区块链思想,将用户操作记录至两种历史表中:用户历史表和全局区块表。当用户创建防篡改用户表时,系统将自动为该表添加一个hash列来保存每行数据的hash摘要信息,同时在blockchain模式下会创建一张用户历史表来记录对应用户表中每条数据的变更行为;而用户对
阅读全文
摘要:证书生成 操作场景 在测试环境下,用户可以用通过以下方式进行数字证书测试。在客户的运行环境中,请使用从CA认证中心申请的数字证书。 前提条件 Linux环境安装了tassl组件。 自认证证书生成过程 生成自签名CA证书。 --假设tassl的安装路径为/home/omm/tassl --copy 配
阅读全文
摘要:证书生成 操作场景 在测试环境下,用户可以用通过以下方式进行数字证书测试。在客户的运行环境中,请使用从CA认证中心申请的数字证书。 前提条件 Linux环境安装了openssl组件。 自认证证书生成过程 搭建CA环境。 --假设用户为omm已存在,搭建CA的路径为test --以omm用户身份登录L
阅读全文
摘要:证书替换<a name="ZH-CN_TOPIC_0289900549"></a> 操作场景<a name="zh-cn_topic_0283137045_zh-cn_topic_0237121097_zh-cn_topic_0059778589_section12641165319257"></a
阅读全文
摘要:重试中止事务 在乐观并发控制(OCC)中,在COMMIT阶段前的事务期间(使用任何隔离级别)不会对记录进行锁定。这是一个能显著提高性能的强大优势。它的缺点是,如果另一个会话尝试更新相同的记录,则更新可能会失败。所以必须中止整个事务。这些所谓的更新冲突是由MOT在提交时通过版本检查机制检测到的。 说明
阅读全文
摘要:主备证书认证配置 <a name="ZH-CN_TOPIC_0000001262443815"></a> 操作场景 <a name="zh-cn_topic_0283137045_zh-cn_topic_0237121097_zh-cn_topic_0059778589_section1264116
阅读全文
摘要:btree 索引故障情况下应对策略 问题现象 偶发索引丢失错误,报错如下。 ERROR: index 'xxxx_index' contains unexpected zero page 或 ERROR: index 'pg_xxxx_index' contains unexpected zero
阅读全文
摘要:CopyManager类简介 CopyManager是 openGauss JDBC驱动中提供的一个API接口类,用于批量向openGauss中导入数据。 CopyManager的继承关系 CopyManager类位于org.postgresql.copy Package中,继承自java.lang
阅读全文
摘要:core问题定位 磁盘满故障引起的core问题 GUC参数log_directory设置不正确引起的core问题 开启RemoveIPC引起的core问题 详情查看:https://opengauss.org 详情查看:https://docs-opengauss.osinfra.cn
阅读全文
摘要:dblink dblink是一个可以在一个openGauss数据库会话中连接到其它openGauss数据库的工具,同libpq支持的连接参数一致,可参考链接参数。openGauss默认不编译dblink,下面依次介绍如何编译和使用dblink。 编译dblink 当前dblink的源码放在contr
阅读全文
摘要:file_fdw file_fdw模块提供了外部数据封装器file_fdw,可以用来在服务器的文件系统中访问数据文件。数据文件必须是COPY FROM可读的格式,具体请参见COPY的介绍。使用file_fdw访问的数据文件是当前可读的,不支持对该数据文件的写入操作。 当前openGauss会默认编译
阅读全文
摘要:Foreign Data Wrapper openGauss的FDW(Foreign Data Wrapper)可以实现各个openGauss数据库及远程服务器(包括数据库、文件系统)之间的跨库操作。目前支持的远程数据库类型包括Oracle、Mysql(MariaDB)、openGauss(post
阅读全文
摘要:MOT SILO增强特性 SILO[对比:磁盘与MOT]凭借其基本算法流程,优于我们在研究实验中测试的许多其他符合ACID的OCC算法。然而,为了使SILO成为产品级机制,我们必须用许多在最初设计中缺失的基本功能来增强它,例如: 新增对交互式事务的支持,其中事务的SQL运行在客户端实现,而不是作为服
阅读全文
摘要:MOT SQL覆盖和限制 MOT设计几乎能够覆盖SQL和未来特性集。例如,大多数支持标准的Postgres SQL,也支持常见的数据库特性,如存储过程、自定义函数等。 下面介绍各种SQL覆盖和限制。 不支持的特性 MOT不支持以下特性: 跨引擎操作:不支持跨引擎(磁盘+MOT)的查询、视图或事务。计
阅读全文
摘要:MOT VACUUM清理 使用VACUUM进行垃圾收集,并有选择地分析数据库,如下所示。 【openGauss】 在openGauss中,VACUUM用于回收死元组占用的存储空间。在正常的openGauss操作中,删除的元组或因更新而作废的元组不会从表中物理删除。只能由VACUUM清理。因此,需要定
阅读全文
摘要:MOT本地内存和全局内存 SILO管理本地内存和全局内存,如所示。 全局内存是所有核共享的长期内存,主要用于存储所有的表数据和索引。 本地内存是短期内存,主要由会话使用,用于处理事务及将数据更改存储到事务内存中,直到提交阶段。 当事务需要更改时,SILO将该事务的所有数据从全局内存复制到本地内存。使
阅读全文
摘要:MOT并发控制机制 通过大量研究,我们找到了最佳的并发控制机制,结论为:基于SILO[的OCC算法是MOT中最符合ACID特性的OCC算法。SILO为满足MOT的挑战性需求提供了最好的基础。 说明: MOT完全符合原子性、一致性、隔离性、持久性(ACID)特性,如MOT简介所述。 下面介绍MOT的并
阅读全文
摘要:MOT部署 以下各小节介绍了各种必需和可选的设置,以达到最佳部署效果。 MOT服务器优化:x86 MOT服务器优化:基于Arm的华为TaiShan2P/4P服务器 MOT配置 详情查看:https://opengauss.org 详情查看:https://docs-opengauss.osinfra
阅读全文
摘要:MOT测试总结 MOT比磁盘表性能提升2.5至4.1倍,在Arm/鲲鹏256核服务器上达到480万tpmC。测试结果清楚表明MOT在扩展和利用所有硬件资源方面的卓越能力。随着CPU槽位和服务器核数增加,性能会随之跃升。 MOT在Arm/鲲鹏架构下最高可达3万tpmC/核,在x86架构下最高可达4万t
阅读全文
摘要:MOT查询原生编译(JIT) MOT使您可以在执行之前以原生格式(使用PREPARE语句)准备并分析预编译的完整查询。 这种本机格式以后可以更有效地执行(使用EXECUTE命令)。这种类型的执行效率要高得多,因为在执行期间,本机格式绕过了多个数据库处理层。这种分工避免了重复的解析分析操作。Lite
阅读全文
摘要:MOT持久性 持久性是指长期的数据保护(也称为磁盘持久化)。持久性意味着存储的数据不会遭受任何形式的退化或损坏,因此数据不会丢失或损坏。持久性可确保在有计划停机(例如维护)或计划外崩溃(例如电源故障)后数据和MOT引擎恢复到一致状态。 内存存储是易失的,需要电力来维护所存储的信息。另一方面,磁盘存储
阅读全文
摘要:MOT持久性概念 持久性是指长期的数据保护(也称为磁盘持久性)。持久性意味着存储的数据不会遭受任何形式的退化或破坏,因此数据不会丢失或损坏。持久性可确保在有计划停机(例如维护)或计划外崩溃(例如电源故障)后数据和MOT引擎恢复到一致状态。 内存存储是易失的,需要电源来维护所存储的信息。另一方面,磁盘
阅读全文
摘要:MOT错误消息 错误可能由多种场景引起。所有错误都记录在数据库服务器日志文件中。此外,与用户相关的错误作为对查询、事务或存储过程执行或数据库管理操作的响应的一部分返回给用户。 服务器日志中报告的错误包括函数、实体、上下文、错误消息、错误描述和严重性。 向用户报告的错误被翻译成标准PostgreSQL
阅读全文
摘要:MOT的概念 本章介绍openGauss MOT的设计和工作原理,阐明其高级特性、功能及使用方法,旨在让读者了解MOT操作上的技术细节、重要特性细节和创新点。本章内容有助于决策MOT是否适合于特定的应用需求,以及进行最有效的使用和管理。 MOT纵向扩容架构 MOT并发控制机制 扩展FDW与其他ope
阅读全文
摘要:MOT低延迟 以下是在Arm/鲲鹏两路服务器(128核)上进行测试的结果。单位为毫秒(ms)。 图 1 低延迟(90th%)性能基准 MOT的平均事务速度为2.5倍,MOT延迟为10.5ms,而基于磁盘的表延迟为23至25ms。 说明: 计算平均数时,已考虑TPC-C的5个事务分布占比。有关更多信息
阅读全文
摘要:MOT服务器优化:x86 通常情况下,数据库由以下组件绑定: CPU:更快的CPU可以加速任何CPU绑定的数据库。 磁盘:高速SSD/NVME可加速任何I/O绑定数据库。 网络:更快的网络可以加速任何SQL*Net绑定数据库。 除以上内容外,以下通用服务器设置默认使用,可能会明显影响数据库的性能。
阅读全文
摘要:MOT服务器优化:基于Arm的华为TaiShan2P/4P服务器 以下是基于Arm/鲲鹏架构的华为TaiShan 2280 v2服务器(2路128核[对比:磁盘与MOT])和TaiShan 2480 v2服务器(4路256核[对比:磁盘与MOT])上运行MOT时的建议配置。 除非另有说明,以下设置适
阅读全文
摘要:MOT复制和高可用 由于MOT集成到openGauss中,并且使用或支持其复制和高可用,因此,MOT原厂功能即支持同步复制和异步复制。 openGauss gs_ctl工具用于可用性控制和openGauss实例操作。这包括gs_ctl切换、gs_ctl故障切换、gs_ctl构建等等。 有关更多信息,
阅读全文
摘要:MOT高吞吐量 MOT高吞吐量测试结果如下。 Arm/鲲鹏2路128核 性能 下图是华为Arm/鲲鹏2路128核服务器TPC-C基准测试的结果。 一共进行了四类测试: MOT和openGauss基于磁盘的表各进行了2次测试。 其中两项测试是在单节点(无高可用性)上执行,这意味着没有向备节点执行复制。
阅读全文
摘要:MOT隔离级别 即使MOT完全兼容ACID,openGauss 1.0并非支持所有的隔离级别。下表介绍了各隔离级别,以及MOT支持和不支持的内容。 表 1 隔离级别 隔离级别 说明 READ UNCOMMITTED MOT不支持 READ COMMITTED MOT支持 READ COMMITTED
阅读全文
摘要:MOT关键技术 MOT的关键技术如下: 内存优化数据结构:以实现高并发吞吐量和可预测的低延迟为目标,所有数据和索引都在内存中,不使用中间页缓冲区,并使用持续时间最短的锁。数据结构和所有算法都是专门为内存设计而优化的。 免锁事务管理:MOT在保证严格一致性和数据完整性的前提下,采用乐观的策略实现高并发
阅读全文
摘要:MOT管理 下面介绍MOT管理。 MOT持久性 MOT恢复 MOT复制和高可用 MOT内存管理 MOT VACUUM清理 MOT统计 MOT监控 MOT错误消息 详情查看:https://opengauss.org 详情查看:https://docs-opengauss.osinfra.cn
阅读全文
摘要:MOT恢复 MOT恢复的主要目标是在有计划停机(例如维护)或计划外崩溃(例如电源故障后)后,将数据和MOT引擎恢复到一致状态。 MOT恢复是随着openGauss数据库其余部分的恢复而自动执行的,并且完全集成到openGauss恢复过程(也称为冷启动)。 MOT恢复包括两个阶段: 检查点恢复:必须通
阅读全文
摘要:MOT恢复概念 MOT恢复模块提供了恢复MOT表数据所需的所有功能。恢复模块的主要目标是在计划(例如维护)关闭或计划外(例如电源故障)崩溃后,将数据和MOT引擎恢复到一致的状态。 openGauss数据库恢复(有时也称为冷启动)包括MOT表,并且随着数据库其余部分的恢复而自动执行。MOT恢复模块无缝
阅读全文
摘要:MOT恢复时间目标(RTO)和冷启动时间 高可用RTO MOT完全集成到openGauss中,包括支持主备部署的高可用场景。WAL重做日志的复制机制将把复制更改到数据库备节点并使用备节点进行重放。 如果故障转移事件发生,无论是由于计划外的主节点故障还是由于计划内的维护事件,备节点都会迅速活跃。恢复和
阅读全文
摘要:MOT监控 监控的所有语法支持基于openGauss的FDW表,包括下面的表或索引大小。此外,还存在用于监控MOT内存消耗的特殊函数,包括MOT全局内存、MOT本地内存和单个客户端会话。 表和索引大小 可以通过查询pg_relation_size来监控表和索引的大小。 例如: 数据大小 select
阅读全文
摘要:MOT检查点概念 在openGauss中,检查点是事务序列中一个点的快照,在该点上,可以保证堆和索引数据文件已经同步了检查点之前写入的所有信息。 在执行检查点时,所有脏数据页都会刷新到磁盘,并将一个特殊的检查点记录写入日志文件。 数据直接存储在内存中。MOT没有像openGauss那样存储数据,因此
阅读全文
摘要:MOT简介 openGauss引入了MOT存储引擎,它是一种事务性行存储,针对多核和大内存服务器进行了优化。MOT是openGauss数据库最先进的生产级特性(Beta版本),它为事务性工作负载提供更高的性能。MOT完全支持ACID特性,并包括严格的持久性和高可用性支持。企业可以在关键任务、性能敏感
阅读全文
摘要:MOT介绍 本章介绍了openGauss内存优化表(Memory-Optimized Table,MOT)的特性及价值、关键技术、应用场景、性能基准和竞争优势。 MOT简介 MOT特性及价值 MOT关键技术 MOT应用场景 MOT性能基准 详情查看:https://opengauss.org 详情查
阅读全文