GaussDB 100支持配置部分日志的日志大小、日志备份文件个数、日志权限、日志级别,并支持日志删除和自动恢复。详细介绍可以通过日志章节了解修改日志的属性。但修改日志参数需要重启数据库生效,请谨慎使用。
设置日志参数
日志参数介绍
用户可设置控制日志的参数取值,以指定数据库系统记录的日志类型。
- _LOG_LEVEL参数用于控制运行日志和DEBUG日志的记录情况。如果要记录多种日志类型,请将参数设置为各个日志类型对应的参数取值之和,各日志类型对应的参数取值如表1所示。
表1 运行日志和DEBUG日志对应的_LOG_LEVEL取值 日志类型
_LOG_LEVEL参数取值(十进制)
_LOG_LEVEL参数取值(二进制)
RUN ERROR
1
000000000001
RUN WARNING
2
000000000010
RUN INFORMATION
4
000000000100
DEBUG ERROR
16
000000010000
DEBUG WARNING
32
000000100000
DEBUG INFORMATION
64
000001000000
LONGSQL LOG
256
000100000000
- 用户设置_LOG_LEVEL为某一个数值后,将其转换为二进制,取后九位,高位不足用0补充。从高位到低位依次代表日志类型为LONGSQL LOG、预留位、DEBUG INFORMATION、DEBUG WARNING、DEBUG ERROR、预留位、RUN INFORMATION、RUN WARNING、RUN ERROR。对应位为“1”则表示打开,对应位为“0”则表示关闭。
例如:设置参数值为16,它的二进制为“10000”,高位补0后为“000010000”则表示记录DEBUG ERROR日志。
- _LOG_LEVEL参数详情请参见参数说明。
- 用户设置_LOG_LEVEL为某一个数值后,将其转换为二进制,取后九位,高位不足用0补充。从高位到低位依次代表日志类型为LONGSQL LOG、预留位、DEBUG INFORMATION、DEBUG WARNING、DEBUG ERROR、预留位、RUN INFORMATION、RUN WARNING、RUN ERROR。对应位为“1”则表示打开,对应位为“0”则表示关闭。
- AUDIT_LEVEL参数用于控制审计日志的记录情况,各日志类型对应的参数取值如表2所示。
表2 审计日志对应的AUDIT_LEVEL取值 日志类型
AUDIT_LEVEL参数取值(十进制)
AUDIT_LEVEL参数取值(二进制)
DDL
1
00000001
DCL
2
00000010
DML
4
00000100
PL
8
00001000
ALL
255
11111111
功能语法的审计日志对应的AUDIT_LEVEL取值为:
- EXP、IMP、LOAD、DUMP功能语法由多种SQL组合而成,只有将AUDIT_LEVEL设置为包括该SQL类型的级别后,才会记录。
- 其他功能语法的审计日志,需要将AUDIT_LEVEL设置为包含DCL的级别,才会记录。
- 当AUDIT_LEVEL = 0 时关闭审计日志。
- 当AUDIT_LEVEL > 0 时,将其转换为二进制,取后四位,高位不足用0补充。从高位到低位依次代表审计日志类型为PL、DML、DCL、DDL。对应位为“1”则表示打开,对应位为“0”则表示关闭。
例如:设置参数值为16,它的二进制为“10000”,取后四位为“0000”,则表示PL、DML、DCL、DDL审计日志全部关闭,此时不会记录PL、DML、DCL、DDL审计,但是会记录login、logout、cancel、free stmt等请求。
- AUDIT_LEVEL参数详情请参见参数说明。
- AUDIT_TRAIL_MODE参数用于设置审计日志记录模式,默认审计日志记录在文件中。具体配置方法参见AUDIT_TRAIL_MODE。
修改日志参数
连接数据库,通过ALTER SYSTEM SET语句修改参数取值,该修改方式立即生效。该操作只能在当前节点生效。
ALTER SYSTEM SET _LOG_LEVEL = 17;
修改Redo日志文件
- 添加Redo日志文件
在主机或备机的Redo Log增加一个或者多个Redo日志文件。如果只是给出日志文件名,则文件默认添加在“/gaussdb/data/data_dn/data”目录下面。
语法:
Redo日志文件,可以设置一个或多个。此参数必须包含文件大小、路径或文件名,其中文件大小无限制条件。
ALTER DATABASE ADD LOGFILE
( { 'file_name' SIZE integer [ K | M | G | T | P | E ]
} [ , ... ]
);SIZE integer [ K | M | G | T | P | E ]
指定文件大小。默认单位为字节。K表示单位为KB,M表示单位为MB,G表示单位为GB,T表示单位为TB,P表示单位为PB,E表示单位为EB。
说明:日志文件总数不能超过256。
- 重做Redo日志文件
在主机或备机的Redo Log删除Redo日志文件,且一次只能删除一个日志文件。
语法:
ALTER DATABASE DROP LOGFILE ( 'file_name' );