API)
GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 729 -
随同 admin() 或 task() 函数,使用 drop log 参数删除指定的逻辑日志。
语法
元素
描述
关键考虑
log_number
逻辑日志文件编号。 该编号必须是一个大于或等于 0 的无符号整数。
用法
使用这个函数来删除单个逻辑日志文件。
数据库服务器随时都要求最少三个逻辑日志文件。如果数据库服务器仅有三个逻辑日志文
件,则您不可删除日志文件。
重要: 在您可删除前三个逻辑日志文件的任何一个之前,必须添加新的逻辑日志文件并运
行逻辑日志文件的备份。必须使用 ontape -a 命令或 ontape -c 命令运行备份。在您添
加新的逻辑日志文件并运行备份之后,您可使用 onparams -d -llognum 来删除前三个逻
辑日志文件。
日志文件的状态决定能否删除日志文件,还决定当删除日志文件时数据库服务器采取的行
动:
l 如果您删除一个还没有写过的日志文件,状态为新“添加的”(A),则数据库服
务器删除日志文件并立即释放空间。
l 如果您删除一个状态为“用户”(U)或“释放”(F)的已使用过的日志文件,则
数据库服务器将日志文件标记为
“删除的”
(D)
。
在您对包含日志文件的 dbspace
和 root
dbspace 进行 0 级备份之后,
数据库服务器删除该日志文件并释放空间。
l 您不可删除当前在用(C)或包含最后检查点记录(L)的日志文件。
您可从 onstat -l 命令的编号域获取日志编号。日志编号可能是无序的。
这个函数等同于 onparams -d -l lognum 命令。
示例
下列示例删除文件编号为 2 的逻辑日志:
EXECUTE FUNCTION task("drop log","2");
下列示例通过根据 chunk 编号查找日志编号来删除特定 chunk 的日志:
SELECT task("drop log", number) FROM sysmaster:syslogfil WHERE chunk = 1;