第三十一章 管理许可(四)
显示本地许可证信息的方法
下面列出的子例程转储实例共享内存中本地包含的许可证表的内容。一般来说,他们识别客户:
$System.License.DumpLocalAll
将所有本地许可证表条目转储到当前目录中的 all.dmp
文件中:
USER> Do $System.License.DumpLocalAll()
25 条目转储到 c:\intersystems\irishealth\mgr\user\all.dmp
all.dmp
文件的内容示例:
$System.License.DumpLocalInUse
将所有正在使用的本地许可证表条目转储到当前目录中的 inuse.dmp
文件:
USER> Do $System.License.DumpLocalInUse()
2 条目转储到 c:\intersystems\irishealth\mgr\user\inuse.dmp
inuse.dmp
文件内容示例:
$System.License.DumpLocalPID
将进程 ID
使用的本地许可证表转储到当前目录中的 piduse.dmp
文件中:
USER> Do $System.License.DumpLocalPID()
33 条目转储到 c:\intersystems\irishealth\mgr\user\piduse.dmp
显示许可证服务器信息的方法
以下子例程转储许可证服务器维护的许可证表的内容。输出文件位于运行活动许可证服务器的主机上的指定目录中。
$System.License.ShowSummary
显示许可证服务器上的许可证信息摘要。分布式许可证使用部分提供许可证服务器当前支持的所有 IRIS
实例的许可证使用的集体视图。本地许可证使用部分展示了运行程序的单个 IRIS
实例的许可证使用视图:
USER> Do $System.License.ShowSummary()
软件许可服务器活动密钥摘要视图.
分布式软件许可使用:
当前使用的软件许可单元 = 2
使用的最大软件许可单元数 = 2
授权的软件许可单元 = 25
本地软件许可使用:
当前连接 = 2 最大连接数 = 6
当前用户 = 2 最大用户数 = 3
$System.License.DumpServer
将与运行此例程的服务器相关的许可服务器数据库信息转储到运行许可服务器的主机上的文件 dumpserver.txt
中:
USER> Do $System.License.DumpServer()
License server database dumped to: c:\intersystems\irishealth\mgr\dumpserver.txt at LAPTOP-ARLL3DSO
$System.License.DumpServers
将所有已知服务器的许可证服务器数据库信息转储到运行许可证服务器的主机上的文件 dumpservers.txt
中:
USER> Do $System.License.DumpServers()
1 server database[s] dumped to: c:\intersystems\irishealth\mgr\dumpservers.txt at LAPTOP-ARLL3DSO
$System.License.DumpKey
将此实例和共享它的实例使用的密钥转储到运行许可证服务器的主机上的文件 dumpkey.txt
中:
USER> Do $System.License.DumpKey()
License server Client data dumped to: c:\intersystems\irishealth\mgr\dumpkey.txt at LAPTOP-ARLL3DSO
$System.License.DumpKeys
转储所有密钥,将使用它们的实例和客户端显示到运行许可证服务器的主机上的文件 dumpkeys.txt
中:
USER> Do $System.License.DumpKeys()
License server Client data (1 key[s]) dumped to: c:\intersystems\irishealth\mgr\dumpkeys.txt at LAPTOP-ARLL3DSO
注意:请注意,本地许可方法显示的信息比许可服务器方法显示的信息更新;许可证服务器只定期更新,而本地数据是实时的。
可能会暂时超出许可限制,因为登录是在本地控制的,但许可服务器会强制执行该限制。每个实例根据其在实例共享内存中维护的本地许可证表允许或拒绝登录。每个实例都会定期向许可证服务器发送更新,描述本地许可证表的更改。如果所有实例的组合许可证使用超过限制,则许可证服务器将发送否定确认以更新来自每个实例的消息。
这种否定确认会导致每个实例拒绝新的登录,因为没有额外的许可单元可用。当尝试启动的 IRIS
进程的许可用户 ID
与任何当前进程的许可用户 `` 不匹配时,登录被视为新登录。这种状态一直持续到所有实例的组合使用量低于授权限制,此时许可证服务器开始发送肯定确认以响应实例更新。然后各个实例允许新的登录。