如何从 firebird nbackup 获取未使用的页面总数

问题描述 投票:0回答:1

我正在使用 firebird nbackup 方法通过以下代码备份我的数据库:

nbackup -u systemdab -p masterskeys -B 0 DB01.FDB DB01.NBK

完全备份后,大小比原始大小小。这可能是由于删除未使用的页面造成的(我是 firebird 的新手,如果我错了,请纠正我)。

是否有任何可能的方法来防止删除未使用的页面,或者有什么方法可以获取数据库中未使用的页面的数量?

如果您有任何想法,请告诉我。谢谢。

firebird firebird-3.0
1个回答
2
投票

如果 GUI 工具没问题,您可以从 https://ib-aid.com/en/ibsurgeon-firstaid/

安装免费版 First AID

在“打开损坏的数据库”之后 - 但请确保 Firebird 服务器本身目前没有打开它 - 在“页面摘要”选项卡中,它将显示“空闲(未使用)页面”的计数和百分比。

对于命令行,有 ISQL 工具,虽然名为 Interactive SQL,但可以选择从预制脚本运行,请参阅Firebird Interactive SQL 实用程序

从 Firebird 3 开始,它在

show db
命令中具有未使用的页面计数器:http://tracker.firebirdsql.org/browse/CORE-5063

PAGE_SIZE 8192 
Number of DB pages allocated = 2095520 
Number of DB pages used = 2083825 
Number of DB pages free = 11695 

强制增量备份工具复制垃圾页怎么样?我什至无法想象为什么有人会想要这样做。

© www.soinside.com 2019 - 2024. All rights reserved.