数据库
文章平均质量分 61
沉舟侧畔千帆过_
这个作者很懒,什么都没留下…
展开
-
金仓数据库KingbaseES支持自定义异常
KingbaseES PLSQL 从 V8R6C4 版本开始,支持用户自定义异常。2、用户自定义异常可以与一个错误码进行绑定。1、用户自定义异常必须被显示触发。原创 2023-03-31 14:36:07 · 67 阅读 · 0 评论 -
金仓数据库KingbaseES PLSQL 支持语句级回滚
KingbaseES默认如果在PLSQL-block 执行过程中的任何SQL 语句导致错误,都会导致该事务的所有语句都被回滚,而Oracle 则是语句级的回滚。KingbaseES 为了更好的与 Oracle兼容,新增参数ora_statement_level_rollback。当 ora_statement_level_rollback 为 on时,表示启用了语句级的回滚。原创 2023-03-31 14:35:23 · 273 阅读 · 0 评论 -
金仓数据库KingbaseES误删除系统超级用户(superuser)权限的恢复方式
这个Superuser的存在其实对于权限的管控是很有用的,但是如果我们误操作,把数据库所有的superuser都变成普通账号后,可能会引起很多问题。在使用KingbaseES数据库的时候,系统默认存在一个跟系统初始化用户同名的Superuser(默认是system用户,可更改)。恢复的方式就是修改修改元数据,将sys_authid表中system用户的rolsuper值修改为true。重新登录查看,system用户的superuser权限已恢复。在kingbase.conf中添加这2个参数后,重启数据库。原创 2023-03-31 14:25:49 · 329 阅读 · 0 评论 -
金仓数据库KingbaseES存储过程 RETURN语句
如果声明函数返回void,那么一个RETURN语句可以用于提前退出函数;但是不要在RETURN后面写一个表达式。如果声明函数带输出参数,那么就只需要写无表达式的RETURN。那么输出参数变量的当前值将被返回。如果没有使用表达式,RETURN 命令用于告诉这个函数已经完成执行了,如示例2.可以用于标量和复合数据类型;对于复合类型,将返回一个完整的结果"table"。如果返回标量类型,那么可以使用任何表达式。将一条查询的结果追加到一个函数的结果集中。:不带有表达式return。带有表达式return。原创 2023-03-31 11:54:11 · 391 阅读 · 0 评论 -
金仓数据库KingbaseES表空间介绍
同时,一个很少使用的或者对性能要求不高的存储归档数据的表可以存储在一个便宜但比较慢的磁盘系统上。表空间的创建本身必须作为一个数据库超级用户完成,但在创建完之后之后你可以允许普通数据库用户来使用它.要这样做,给数据库普通用户授予表空间上的CREATE权限。KingbaseES的临时表空间用来存储临时表或临时表的索引,以及执行SQL时可能产生的临时文件例如排序,聚合,哈希等。表空间sys_default是用来存储系统目录对象、用户表、用户表index、和临时表、临时表index、内部临时表的默认空间。原创 2023-03-31 11:31:13 · 1163 阅读 · 0 评论 -
金仓数据库KingbaseES V8R6索引坏块故障处理
对于KingbaseES数据库,索引块的损坏会影响到表数据的正常访问,对于索引块故障处理比较简单,直接重建索引一般都可以解决此类问题。在执行表数据查询时,出现下图所示错误,索引故障导致表无法访问,后重建索引问题解决。本案例复现了此类故障解决过程。1、查看索引文件存储路径。2、模拟数据文件被破坏。二、模拟数据文件故障。三、重建索引解决故障。原创 2023-03-06 17:54:07 · 282 阅读 · 0 评论 -
金仓数据库KingbaseES数据目录结构
wal segment文件命名形如0000000100000001 0000001A,文件名共24位,前8位是timeline,中间8位是logid,后8位是logseg,logseg的前6位始终是0,后2位是lsn的前2位。数字命名的文件用于存储系统表的内容。当数据库从多个时间线的备份中恢复时,数据库从.history文件中找到从sys_control的start_timeline到指定的recovery_target_timeline间的所有wal段文件进行恢复。而dml语句会对数据库状态产生影响。原创 2023-03-06 17:50:34 · 977 阅读 · 0 评论 -
金仓数据库KingbaseES V8R6普通表toast表故障修复
数据库在日常的维护过程中,在执行表查询(select),如下图所示,出现“could not read block 0 in file "base/16385/16408": read only 512 of 8192 bytes”故障,通过对“base/16385/16408”的定位,故障和toast表有关。TOAST存储的表不能单独创建,只有当普通表包含了main,extended或external存储格式的字段时,系统会自动创建一个和普通表关联的TOAST表。2、定位源表发生故障的记录。原创 2023-03-06 17:16:32 · 321 阅读 · 0 评论 -
金仓数据库KingbaseES V8R6 索引膨胀
通过以上方法监控索引膨胀,以及索引碎片情况,及时对索引reindex 进行碎片优化,建议不要在一个表上建太多索引,准确评估经常update的列和经常select的列,以便创建合适的索引。原创 2023-03-06 16:56:27 · 536 阅读 · 0 评论 -
金仓数据库KingbaseES V8R6 中unlogged表
如果需要加快业务上某些大表的insert速度可以开启这个特性,但是不能保证数据的安全性,不过我们可以在DML 执行完毕后,对unlogged表更为logged属性。原创 2023-03-06 16:53:24 · 124 阅读 · 0 评论 -
解决金仓数据库KingbaseES安装报错CXXABI_1.3.8 not found的问题
ERROR:libstdc++.so.6: version: 'CXXABI_1.3.8' not found (required by ...)原创 2023-03-01 20:37:36 · 1411 阅读 · 0 评论 -
解决麒麟系统中金仓数据库KingbaseES安装时JAVA环境故障的问题
Unsupported major.minor version 52.0原创 2023-03-01 20:26:03 · 399 阅读 · 0 评论 -
Windows系统配置ODBC驱动访问金仓数据库KingbaseES
金仓数据库KingbaseES ODBC驱动配置过程及常见问题windows系统配置ODBC报错代码126原创 2023-03-01 20:18:23 · 1761 阅读 · 2 评论 -
金仓数据库KingbaseES创建、备份及读取控制文件
KingbaseES使用基础备份的方式备份控制文件。在基础备份执行的过程中,控制文件随着数据目录一起被备份起来。控制文件的配置信息允许用户在初始化时一次性定制,不再允许修改,例如重做日志段尺寸。控制文件的静态信息在初始化时自动生成,运行过程中不允许修改,例如系统标识符。控制文件的WAL及检查点的动态信息,在KingbaseES运行中动态修改。控制文件内部信息的创建 ,一部分在初始化时创建,一部分在运行时动态修改。控制文件在初始化数据库的时候创建。原创 2023-02-27 19:43:57 · 312 阅读 · 0 评论 -
金仓数据库KingbaseES控制文件简介
¶每个KingbaseES都有一个控制文件,它是一个记录数据库内部状态的重要文件。初始化静态信息WAL及检查点的动态信息一些配置信息当KingbaseES启动时,控制文件必须可供数据库正确读取和写入。如果没有控制文件或控制文件不可读,数据库无法启动。KingbaseES的控制文件是在初始化数据库的时候创建的。原创 2023-02-27 19:43:10 · 404 阅读 · 0 评论 -
金仓数据库KingbaseES性能监控视图
当一个服务器进程被要求显示任何这些统计信息时,它首先取得收集器进程最近发出的报告并且接着为所有统计视图和函数使用这个快照,直到它的当前事务的结尾。一个事务也可以在视图 sys_stat_xact_all_tables、sys_stat_xact_sys_tables、sys_stat_xact_user_tables 和 sys_stat_xact_user_functions 中看到它自己的统计信息(还没有被传送给收集器)。在使用性能视图的数据时,你必须了解这些信息并非是实时更新的。原创 2023-02-27 19:40:47 · 252 阅读 · 0 评论 -
金仓数据库KingbaseES监控等待事件
可以查看系统视图 sys_stat_activity 来进行查看每个连接上的等待事件。注意当前执行的查询语句和等待事件状态需要在开启 track_activities 参数的情况下才可以查看。开启该参数会带来一定的性能损耗。sys_stat_activity 视图结构如下:表 1 视图结构字段名类型说明datidoid数据库OIDdatnamename数据库名称pidinteger服务于这个连接的进程IDusesysidoid用户IDusenamename用户名。原创 2023-02-27 19:39:20 · 302 阅读 · 0 评论 -
金仓数据库KingbaseES监控锁
例如,如果事务 1 在表 A 上获得一个排他锁,同时试图获取一个在表 B 上的排他锁, 而事务 2 已经持有表 B 的排他锁,同时却正在请求表 A 上的一个排他锁,那么两个事务就都不能进行下去。KingbaseES 能够自动检测到死锁情况 并且会通过中断其中一个事务从而允许其它事务完成来解决这个问题(具体哪个事务会被中 断是很难预测的,而且也不应该依靠这样的预测)。事务一试图在指定行上获得一个行级锁,但是它得不到:事务二已经持有了这样的锁。因此,事务一被事务二阻塞,而事务二也被事务一阻塞:一个死锁。原创 2023-02-27 19:37:06 · 468 阅读 · 0 评论 -
金仓数据库KingbaseES性能监控
等待事件是由服务器进程递增的统计信息,表明它必须等待事件完成才能继续处理。会话可能出于多种原因等待,包括等待更多输入、等待操作系统完成诸如磁盘写入之类的服务,或者它可能等待锁定或闩锁。锁是防止访问同一资源的事务之间的破坏性交互的机制。资源可以是用户对象,例如表和行,也可以是用户不可见的系统对象,例如内存中的共享数据结构和数据字典行。通过查询一组性能视图来监控 KingbaseES 数据库实例。监控性能包括监控锁、监控等待事件以及查询一组数据字典视图。性能监控数据字典视图。原创 2023-02-27 19:36:15 · 209 阅读 · 0 评论 -
金仓数据库KingbaseES错误和警报监控
在kbbadger的使用过程中,可以使用命令行选项来启用并行处理模式从而加快日志解析速度,使用-j命令行选项来指定解析使用的CPU核心数,使用-J命令行选项来并行解析的文件数,两个选项可以同时使用。kbBadger支持任何设置到kingbase.conf文件的log_line_prefix中的自定义格式,只要它指定时间转义序列(%t,%m或%n)和与进程相关的转义序列(%p或%c)。对于数据库运行过程中的错误,除了人工去查看数据库运行过程中产生的日志文件外,也可以使用 kbbadger 工具自动分析。原创 2023-02-27 19:36:51 · 549 阅读 · 0 评论 -
金仓数据库KingbaseES内存管理
¶了解KingbaseES数据库基础的内存结构。KingbaseES数据库中,相关的基本内存结构包括:系统全局区(简写为SGA) SGA是一组共享内存结构,其中包含一个KingbaseES数据库实例的数据和控制信息。SGA由所有服务器和后台进程共享。存储在SGA中的数据包括数据块缓冲区和重做日志缓冲区等。进程全局区(简写为PGA) PGA是包含单个服务进程的数据和控制信息的内存区域。它是在启动服务进程时创建的非共享内存。只有该服务进程可以对本PGA进行访问。原创 2023-02-27 19:36:00 · 607 阅读 · 0 评论 -
金仓数据库KingbaseES进程和会话视图
可以通过以上视图中pid/sess_id/sid作为唯一标志和其他视图关联获取进程/会话信息。例如和sys_locks视图关联获取进程/会话的封锁信息。sys.vsession兼容Oracle的vsession兼容Oracle的vsession视图,提供当前系统中会话信息。sys_catalog.sys_stat_activity 当前系统中进程/会话的信息。sys.sys_session 当前系统中的会话信息。可以通过以下视图获取。原创 2023-02-27 19:33:44 · 492 阅读 · 0 评论 -
金仓数据库KingbaseES终止会话操作
某一会话执行的SQL语句占用过多资源影响业务时,可以通过取消会话执行的SQL代替终止会话。会话执行SQL所在的事务将回滚。使用sys_cancel_backend(integer)函数取消会话执行的SQL语句,参数为会话的pid。终止会话将结束会话并断开客户端到服务端的连接。会话正在执行的事务会由于连接断开回滚。使用sys_terminate_backend(integer)函数终止会话,参数为会话的pid。终止会话需要指定会话的pid。管理数据库有时需要终止会话,例如终止占用封锁或系统资源过多的会话。原创 2023-02-27 19:21:53 · 895 阅读 · 0 评论 -
人大金仓KingbaseES数据库管理入门
这样的数据库成为远程的数据库。数据库的用户类型和各自的职责取决于数据库支持的业务。您可以使用 Ksql 设置数据库初始化参数、创建和管理用户、创建和更改数据库对象 (例如表和索引)、插入和更新数据、运行 SQL 查询等等。您可以使用 Ksql 设置数据库初始化参数、创建和管理用户、创建和更改数据库对象 (例如表和索引)、插入和更新数据、运行 SQL 查询等等。KingbaseES 数据库包含以下组件:KingbaseES 数据库实例,它是进程和内存的集合,以及一组包含用户数据和系统数据的磁盘文件。原创 2023-02-24 17:32:22 · 1306 阅读 · 0 评论 -
人大金仓KingbaseES数据库预防删除工具指南
因为某些场景下,操作人员有可能误删除重要的文件或文件夹,导致整个数据库系统发生严重的问题,使用rm-protect这一机制,预防重要文件被误操作删除。使用alias rm的方式,操作人员命令行使用rm 时,重定向到具有强制确认的删除文件命令。本文所指的移除,是停用此功能,并不包含去删除二进制文件。已经设置删除保护的文件,不在继续具有删除保护的效果。删除保护将在执行此安装步骤后,重新登录系统的session或进程生效,强烈建议重启主机一次。同时删除多个文件时的行为,如果包含受到保护的、没有受到保护的。原创 2023-02-24 17:32:57 · 727 阅读 · 0 评论 -
人大金仓KingbaseES系统巡检并自动生成html结果(kb_check)
功能:实现数据库和操作系统的巡检功能,并生成html格式报告。本工具的面向的是普通数据库用户,报告结果简明扼要,html格式使得报告容易理解。用户也可根据实际需求,修改通用参数文件。包括:CPU,磁盘,内存,IO,TOP CPU进程,TOP memory 进程。包括:内核参数,limits 限制,selinux,IO 调度算法,防火墙。包括:数据库大小,表空间大小,数据库活动状态,锁,license 信息。包括:节点状态信息,流复制信息,xlog差异检查。包括:版本,大小写敏感,主数据库目录。原创 2023-02-24 17:30:47 · 217 阅读 · 0 评论 -
人大金仓KingbaseES数据库逻辑备份清理脚本(logic_backup_manager)
¶备份原理:sys_dump、copy清理原理:每次执行备份任务都会在相应的 .job.record 文件追加本次备份内容所在的独立的目录,依据保留次数清除旧的目录免密原理:依据配置参数设置 ${HOME}/.encpwd 实现清理wal原理:SQL查询 archive_command 若包含sys_rman则不执行清理;原创 2023-02-24 17:30:06 · 962 阅读 · 0 评论 -
人大金仓KingbaseES数据库逻辑备份一键部署(kb_backup)
功能:实现数据库逻辑备份、部署逻辑备份定时任务工。配置定时备份任务:运行 ./fast_deploy_backup8.sh。检查备份情况:运行 ./backup8_check.sh。工具使用:进入kb_backup目录。工具存放路径:SupTools/kb_backup。数据库逻辑备份:运行 ./backup8.sh。自动帮助配置crontab任务。配置crontab 定时任务。自动创建相关目录、备份数据。备份历史管理、备份集压缩。原创 2023-02-24 17:30:42 · 230 阅读 · 0 评论 -
人大金仓KingbaseES数据库问题诊断辅助工具chk_top_wal.sh
检查当前哪些 SQL引发最多的 WALWrite 或 WALSync 等待事件,通过观察当前的等待事件,可以间接确认哪些SQL引发频繁redo日志写或redo日志刷盘。times:等待事件次数。calls:查询次数。query:查询语句。原创 2023-02-24 17:27:58 · 75 阅读 · 0 评论 -
人大金仓KingbaseES数据库问题诊断辅助工具chk_top_table_dml.sh
查询过去10秒(时间参数,可填),增删改次数最多的表。数据取自sys_stat_user_tables。insertopeation:增删改次数。Relname:统计对象名(表)Schename:模式名。原创 2023-02-24 17:27:11 · 91 阅读 · 0 评论 -
人大金仓KingbaseES数据库问题诊断辅助工具chk_top_indexIO.sh
与 chk_top_tableIO不同,这里只关注哪些索引引发的IO最大,分别统计逻辑IO与物理IO。Relname:统计对象名(表)indexIO:索引的IO块数量。Schename:模式名。Relname:索引名。原创 2023-02-24 17:26:22 · 65 阅读 · 0 评论 -
人大金仓KingbaseES数据库问题诊断辅助工具chk_top_tableseqscanIO.sh
查询过去10秒,全表扫描的IO数量最大的表。全表扫描的IO数量是seq_scan次数与表大小的乘积,数据取自pg_stat_sys_tables。Relname:统计对象名(表)Seq_scan:扫描对象次数。xxxIO:对象的IO块数量。Schename:模式名。原创 2023-02-24 17:27:01 · 118 阅读 · 0 评论 -
人大金仓KingbaseES数据库问题诊断辅助工具chk_top_tablephysicalIO.sh
查询过去10秒,物理IO 值最大的表(数量可传参数)。分别统计表的IO,表的索引IO,toast 对象的 IO,数据取自pg_statio_all_tables,与chk_top_table IO不同,这里的IO只包括磁盘物理读取。Relname:统计对象名(表、索引、toast、表的合计)xxxIO:对象的IO块数量。Schename:模式名。原创 2023-02-23 15:21:11 · 96 阅读 · 0 评论 -
人大金仓KingbaseES数据库问题诊断辅助工具chk_top_tableIO.sh
查询过去10秒,IO 值最大的表。分别统计表的IO,表的索引IO,toast 对象的 IO ,数据取自pg_statio_all_tables。这里的IO包括缓冲区读取和磁盘物理读取。Relname:统计对象名(表、索引、toast)xxxIO:对象的IO块数量。Schename:模式名。原创 2023-02-23 15:19:10 · 69 阅读 · 0 评论 -
人大金仓KingbaseES数据库问题诊断辅助工具chk_top_sql.sh
查询过去10秒,最耗时、逻辑IO最多、物理IO最多(扣除buffer hit)、临时块写入最多的SQL,每类选取5条(默认5条),分别列出,数据取自sys_stat_statement。可以通过 chk_top_sql.sh $n ,返回 n 条记录。原创 2023-02-23 15:17:24 · 110 阅读 · 0 评论 -
人大金仓KingbaseES数据库问题诊断辅助工具chk_lock.sh
检查当前数据库锁等待的会话信息,及当前会话执行的SQL。通过层级显示,可以方便定位源头操作。Null: 表对象的名称。由于是事务锁,因此,这里为null。transactioid: 表示锁的类型,这里是事务锁。Delete from t1 :表示引起锁的具体SQL。Exclusive: 表示锁的模式,这里是独占锁。425715: 表示进程PID。原创 2023-02-23 15:18:01 · 129 阅读 · 0 评论 -
人大金仓KingbaseES数据库问题诊断辅助工具chk_event_sql.sh
查看过去60秒内与特定等待事件相关的SQL。脚本运行时,需要特定的等待事件作为参数传入。等待事件可以根据chk_top_waitevent.sh结果,针对性进行分析。该脚本显示的数据取自 perf.session_history。该脚本传入参数是一个等待事件,通常是3.4.2节返回的top waitevent,用于进一步查询具体哪些SQL导致了该等待事件。原创 2023-02-23 15:15:58 · 95 阅读 · 0 评论 -
人大金仓KingbaseES数据库问题诊断辅助工具chk_top_waitevent.sh
该工具的信息取自perf.session_history,如果报该表不存在,表示sys_ksh 没有正确启用。查看过去60秒内的数据库等待事件,按等待事件数量排序,数据取自 perf.session_history。原创 2023-02-23 15:16:12 · 78 阅读 · 0 评论 -
人大金仓KingbaseES数据库问题诊断辅助工具chk_current_waitevent.sh
¶问题诊断辅助工具是针对KingbaseES V8R6数据库开发的一套问题诊断工具。方便用户在系统故障情况下,及时了解系统特定信息。为了保证脚本的通用性,本工具使用bash语法编写脚本,实际运行环境必须支持bash。本工具的使用需要获取查询语句及等待事件,要求开启track_activities参数。部分shell脚本还需要依赖于extension的开启,如:sys_stat_statement, sys_kwr,sys_ksh。以上插件的开启方法可以参照《KingbaseES数据库性能调优指南》文档。原创 2023-02-23 15:13:53 · 103 阅读 · 1 评论 -
人大金仓KingbaseES数据库问题诊断辅助工具
¶问题诊断辅助工具是针对KingbaseES V8R6数据库开发的一套问题诊断工具。方便用户在系统故障情况下,及时了解系统特定信息。为了保证脚本的通用性,本工具使用bash语法编写脚本,实际运行环境必须支持bash。本工具的使用需要获取查询语句及等待事件,要求开启track_activities参数。部分shell脚本还需要依赖于extension的开启,如:sys_stat_statement, sys_kwr,sys_ksh。以上插件的开启方法可以参照《KingbaseES数据库性能调优指南》文档。原创 2023-02-23 15:04:45 · 148 阅读 · 0 评论