1. 查看系统日志
运行日志和调试日志可以统称为系统日志,运行日志是数据库正常运行时产生的日志,调试日志基于数据库进行应用程序的开发调试时产生的日志。GaussDB的运行日志和调试日志都记录在同一个日志文件中。
日志文件存储路径
在$GAUSSDATA\pg_log目录下。其中$GAUSSDATA代表GaussDB的数据目录。
日志文件命名格式
GaussDB的运行日志和调试日志记录在如下文件中:
- gaussdb+日期+时间.log。
- 默认情况下,超过1天或者日志文件大于16MB,则生成新的日志文件用以记录日志。
日志内容说明
每一行日志的默认格式为:[+日期+时间+时区+]+会话ID+数据库名+线程ID+进程名+事务ID+命令ID+错误码+日志说明。
[2013-12-11 11:21:51.023 CST] c=1386732111.810 d=[AUXILIARY] p=JobScheduler 1174452544 a= x=0 n=0 e=00000 LOG: job scheduler is running
通过日志的级别,您可以轻松区别运行日志和调试日志。
运行日志的级别:log、info、notice、warning、error、fatal、panic
调试日志的级别:debug5、debug4、debug3、debug2、debug1
维护建议
- 建议您定时对过期日志进行备份,以避免大量日志占用太多的存储空间和避免重要日志丢失。
- 将log_min_error_statement参数的值设置为panic可以避免在系统日志中记录出错的SQL语句,但是关闭此功能将导致发生错误时难以定位。
- 存储路径,配置方法请参见log_directory。
- 日志文件名称,配置方法请参见log_filename。
- 创建一个新日志文件的时间间隔,配置方法请参见log_rotation_age。
- 控制写到服务器日志文件中的日志级别,配置方法请参见log_min_messages。
相关日志参考
gaussdb 数据库参数说明【日志相关参数设置】【08】
2. 查看操作日志
操作日志包含gs_guc和gs_ctl工具的日志,是数据库管理员使用工具操作数据库时产生的日志,这些日志信息会同时打印到日志文件和屏幕上。
日志文件存储路径
默认在$GAUSSDATA\pg_log目录下,如果使用工具的用户无pg_log目录的写权限,则操作日志会被记录在$GAUSSHOME\bin目录下。
日志文件命名格式
gs_ctl-current.log 和 gs_guc-current.log。如果日志大小达到16MB,则根据当前时刻对其重命名。
例如将gs_ctl-current.log重命名为gs_ctl-2012-11-10_101348.log,然后重新生成gs_ctl-current.log。
日志内容说明
操作日志中记录使用这些工具产生的日志,包括错误信息和正常提示信息。
维护建议
建议您定时对过期日志进行备份,以避免大量日志占用太多的存储空间和避免重要日志丢失。
3. 查看黑匣子日志
黑匣子日志记录了数据库崩溃时进程、线程的堆、栈内存及寄存器等现场信息,通过黑匣子日志,可以分析出故障发生时的进程上下文,方便定位故障原因。
黑匣子文件存储路径 (内核开发人员需要,运维人员基本不用)
默认在$GAUSSDATA/pg_blackbox目录下(Windows下默认在%GAUSSDATA%\pg_blackbox),可以通过配置参数black_box_directory对黑匣子文件保存目录进行配置。
4. 管理审计日志
gaussdb 数据库审计【设置数据库审计】【01】
gaussdb 数据库参数说明【审计日志相关参数设置】【10】
5. 管理WAL日志
预写式日志WAL(Write Ahead Log,也称为Xlog)的中心思想是先写日志后写数据。对数据文件进行修改,必须是在这些修改已经记录到日志文件之后,即在描述这些变化的日志记录刷新到永久存储器之后。
日志文件存储路径
默认在$GAUSSDATA\pg_xlog目录下。其中$GAUSSDATA代表GaussDB的数据目录。
日志文件命名格式
日志文件以段文件的形式存储的,每个段为16MB,并分割成若干页,每页8KB。对WAL日志的命名说明如下:
- 一个段文件的名字由24个十六进制组成,分为三个部分,每个部分由8个十六进制字符组成。
- 第一部分表示时间线,第二部分表示日志文件标号,第三部分表示日志文件的段标号。时间线由1开始,日志文件标号和日志文件的段标号由0开始。
例如,系统中的第一个事务日志文件是000000010000000000000000。
说明:
这些数字一般情况下是顺序增长使用的(要把所有可用数字都用光也需要非常长的时间),但也存在循环使用的情况。
日志内容说明
WAL日志的内容取决于记录事务的类型,在系统崩溃时可以利用WAL日志进行恢复。
默认配置下,GaussDB每次启动时会先读取WAL日志进行恢复。
维护建议
考虑到WAL日志对数据库异常恢复的重要性,建议您定期对WAL日志进行备份。
相关日志参考
gaussdb 数据库参数说明【预写日志设置、检查点、归档】【04】