问题
你好,
我正在尝试确定是否可以查询 Intersystems Caché 以获取数据库属性和许可证属性。对于数据库,我最感兴趣的是当前大小、最大大小、块大小和与数据库关联的目录等属性。对于许可证,我是总授权、当前可用、最小可用、当前活动用户和最大活动用户。
背景
我知道可以使用系统管理门户获得有关数据库和许可证的详细信息,但我正在尝试自动化一些依赖这些详细信息的操作。
我知道 %FREECNT 实用程序可用于显示数据库的空间统计信息,但我能够使用此实用程序获取所需信息的唯一方法是使用AWK
或编写脚本SED
(系统在 Unix服务器),我想避免这种情况,因为我不像我想的那样精通 Unix 脚本。
我知道^DATABASE
例程和函数是可用的,但我也$SYSTEM.License.ShowCounts()
必须使用这些来消除我不需要的返回文本。在所有情况下,直接 SQL 将返回一组我可以迭代的数据,这将消除例程/函数中包含的无关文本。AWK
SED
附加信息
我已经编写了类似于下面的查询,我希望数据库和许可证有等效的表,这将允许我进行相同的访问:
Select * From %SYS.ProcessQuery Where Namespace = 'HL7'
我无权访问 Caché Studio,所以我不得不在服务器上使用命令行。我知道我可以使用 SQL.Shell 输入 SQL 语句,并且从文档中看,我可以从命令行创建例程,但我还没有找到任何文档可以让我为例程输入多行语句命令行。如果那不可能,那么我可能无法在我的解决方案中使用例程。
谢谢您的帮助。