当前位置: 首页 > news >正文

【赵渝强老师】金仓数据库的运行日志文件

b446

金仓数据库实例初始化的时候会创建一个目录,通常都会在系统配置相关的环境变量$KINGBASEDATA来表示。当数据库初始化完成后,会在这个目录生成相关的子目录以及一些文件。下图展示了金仓数据库的物理结构。
image

金仓数据库的物理存储结构主要是指硬盘上存储的文件,包括:数据文件、日志文件、参数文件、控制文件、WAL预写日志文件等等。其中日志文件又分为运行日志、WAL预写日志、事务日志和服务器日志。下面重点介绍一下金仓数据库的运行日志文件。

在默认的情况下,运行日志没有开启。通过查看主kingbase.conf文件的配置可以看到相关的参数设置,开启后会自动生成该日志文件。

image.png
点击这里查看视频讲解:【赵渝强老师】金仓数据库的运行日志文件

运行时日志一般是记录数据库服务器与数据库的状态,比如各种错误信息、定位慢查询SQL、数据库的启动关闭信息、发生检查点过于频繁等的告警信息等等。该日志有.csv格式和.log格式,建议使用.csv格式。因为.csv格式一般会按大小和时间自动切割。sys_log是可以被清理删除、压缩打包或者转移,同时不影响数据库的正常运行。当有遇到数据库无法启动或者更改参数没有生效时,第一步就可以查看运行时日志。下面展示了主参数文件kingbase.conf中关于运行日志的配置参数。

log_destination
日志文件的格式,例如:log_destination = 'csvlog'
这将使用CSV格式记录审计日志,并在每行日志信息前添加时间戳、用户ID、数据库名称和进程ID。log_directory
日志文件存储的路径。log_filenam
日志文件的名称。在指定文件名称时可以使用日期的通配符,例如:
log_filename = kingbase-%Y-%m-%d.log'
该格式将日志文件命名为 kingbase-年-月-日.log,如:kingbase-2026-04-13.log。log_truncate_on_rotation
默认值为off。如果设置为on,将以覆盖方式写入日志信息到日志文件。log_rotation_age
保留单个让你走文件的最大时长,默认是1d,也可以是1h、1min或者1s。log_rotation_size
保留单个文件的最大尺寸,默认是10MB。log_min_messages
日志信息的级别,该参数主要支持以下的级别设置:
(*)debug5:最详细的日志级别,记录所有调试信息。
(*)debug4:记录详细的调试信息。
(*)debug3:记录更加详细的调试信息。
(*)debug2:记录非常详细的调试信息。
(*)debug1:记录较为详细的调试信息。
(*)info:记录普通信息。
(*)notice:记录警告信息。
(*)warning:记录警告信息。
(*)error:记录错误信息。
(*)log:记录所有日志信息。log_min_duration_statement
该参数的取值包含以下三种情况:
(*)-1:禁用该参数。
(*)0:将记录所有SQL语句和它们的耗时,
(*)大于0:只记录那些耗时超过(或等于)这个值(ms)的SQL语句。log_checkpoints: 记录检查点信息。
log_connections: 记录每个连接到数据库的客户端的信息。
log_disconnections: 记录每个断开与数据库连接的客户端信息。
log_duration: 记录每个SQL语句的执行时间。
log_error_verbosity: 设置错误信息的详细程度。
log_hostname: 记录每个连接到数据库的客户端主机名。
log_line_prefix: 设置每行日志信息的前缀,可以包括时间戳、用户名、数据库名等信息。
log_lock_waits: 记录等待锁的信息。log_statement
记录每个执行的SQL语句,下面列举了该参数的取值:
(*)none:不记录任何操作。
(*)ddl:记录所有DDL语句,如:create,alter,和drop语句。
(*)mod:记录所有DDL语句,再加上数据修改语句insert,update等。
(*)all:记录所有执行的语句,该参数值可以跟踪整个数据库执行的SQL语句,但会对数据库性能产生较大影响,生产环境不建议配置此值。log_temp_files: 记录使用临时文件的信息。
log_timezone: 设置日志记录的时区信息。

一个推荐的KingBase运行日志的参数配置如下:

logging_collector = on
log_destination = 'csvlog'
log_directory = 'logs'
log_filename = 'kingbase-%Y-%m-%d_%H%M%S.csv'
log_truncate_on_rotation = on
log_connections = on
log_disconnections = on
log_statement = ddl
log_min_duration_statement = 60s
log_checkpoints = on
log_lock_waits = on
deadlock_timeout = 1s

这里的参数设置还将死锁的超时时间设置为了1秒钟。这里的log_directory默认值是$KINGBASE_DATA/sys_log/。需要将其注释掉。当重启KingBase完成后,尝试创建一张简单的表,例如:

[kingbase@kingbase ~]$ ksql -U system -d kingbase
用户 system 的口令:
授权类型: 企业版.
输入 "help" 来获取帮助信息.kingbase=# \c scott
您现在以用户名"system"连接到数据库"scott"。scott=# create table mytestaudit as select * from emp;

查看logs目录下生成的日志文件,如下:

[kingbase@kingbase logs]$ pwd
/home/kingbase/kdb/kes_oracle_instance/logs[kingbase@kingbase logs]$ ll
总用量 8
-rw------- 1 kingbase kingbase  187  4月 23 18:29 kingbase-2026-04-23_182958.csv
-rw------- 1 kingbase kingbase 2006  4月 23 18:30 kingbase-2026-04-23_182958.csv.csv

查看日志文件kingbase-2026-04-23_182958.csv.csv的内容,将得到如下的审计日志信息:

...
2026-04-23 18:30:34.089 CST,"system","scott",16020,"[local]",68d276bd.3e94,3,
"CREATE TABLE AS",2026-04-23 18:30:21 CST,6/0,0,LOG,00000,"
声明:create table mytestaudit as select * from emp;",,,,,,,,,"ksql"                                                                                                                    
...
http://www.jsqmd.com/news/795839/

相关文章:

  • 5步精通League Akari:高效解锁英雄联盟LCU工具箱的完整指南
  • 码率控制方法详解
  • BetterRTX终极教程:5分钟免费提升Minecraft画质的完整方案
  • 3分钟高效获取百度网盘提取码:开源自动化工具实战指南
  • NoFences:开源免费的Windows桌面围栏管理工具,让杂乱桌面瞬间井然有序
  • pip install -r requirements.txt报错:Collecting PyGObject (from -r requirements.txt (line 26))...如何解决?
  • 用Python+Elasticsearch实时处理Websocket股票数据:保姆级配置与实战分析
  • 考虑电解槽变载启停特性与阶梯式碳交易机制的综合能源系统优化调度研究(Matlab代码实现)
  • League-Toolkit:基于模块化架构的英雄联盟客户端自动化工具深度解析
  • 科技早报|2026年5月11日:AI Agent 开始补验证、分工和落地这三道工程题
  • 从零打造USB-C一拖二数据线:硬件拆解与引脚焊接实战
  • 论mysql的redo_log和bin_log,redis的RDB和AOF的类似记忆
  • Visual C++运行库一键修复工具:告别DLL错误和软件崩溃的终极解决方案
  • 【信息科学工程学】【社会科学】 第五十五篇 人的利益规则04
  • Akari助手:基于LCU API的自动化竞技辅助框架
  • 2026年论文AI率太高怎么办?这几招帮你高效降到安全线 - 降AI实验室
  • 本周补题5/4--5/10
  • 用 python 和 java 分别写出10道经典题
  • 终极指南:如何用Legacy-iOS-Kit拯救你的老旧iPhone/iPad?一站式降级、越狱与备份工具全解析
  • Dell G15终极散热指南:开源温度控制中心完全解析
  • vSphere/ESXi安装虚拟机的10种方法
  • 2026年保定装修厂家口碑推荐榜:保定整装定制、保定家装、保定商业美陈装修、保定别墅设计装修、保定门店装修厂家选择指南 - 海棠依旧大
  • Steam成就管理终极指南:SAM开源工具完整使用教程
  • 宇树GO2机器人ROS2控制实战:从零到自主导航的完整指南
  • 【信息科学工程学】【社会科学】 第五十五篇 人的利益规则05——行业篇04
  • 告别Keil‘瞎眼’调试:手把手教你用CLion+STM32CubeMX配置DSP库(附完整CMakeLists)
  • 跨通道AI智能体开发:从架构设计到实战部署的完整指南
  • GitHub育儿技能库:结构化知识管理在育儿实践中的应用
  • HunterPie:怪物猎人世界终极游戏辅助工具使用指南
  • 【信号变化检测】使用新颖的短时间条件局部峰值速率特征进行信号变化/事件/异常检测(Matlab代码实现)