IRIS
实例使用以下资源来控制启动、停止和创建新进程:
install-dir\mgr
目录中的 iris.ids
文件。IRIS
使用建议文件锁定来防止同一实例在不同机器上的多次启动。使用咨询文件锁定,单个锁定文件(在本例中为 install-dir/mgr
目录中的文件 ilock
)可用于独占锁定多个资源。控制进程、写入守护进程和日志守护进程分别锁定锁定文件的一个单独部分。如果 ilock
文件的这一部分已被锁定,则启动将终止。不同守护进程持有的锁称为守护进程资源锁。
文件锁由进程持有,直到进程终止。因此,如果持有任何锁,则表明某个节点上的某个守护进程正在运行。但是,它并不表示实例是否健康并正常运行。
iris.ids
文件包含启动 IRIS
的节点的名称。 iris.ids
文件的存在充当 ObjectScript
实用程序和客户编写的脚本的标志,指示实例是否启动并运行。该文件在启动过程中经常被忽略。但是,如果在读取 iris.ids
时发生错误,则会阻止 IRIS
启动。在以前版本的 IRIS
中,共享内存标识符也存储在 iris.ids
文件中,但现在不再如此。
为了更好地理解启动顺序,假设实例可以从两 (2) 个不同的节点(机器),节点 A
和节点 B
运行。 iris.ids
文件对两个节点都是可见的,守护进程资源锁(对于共享文件)。然而,共享内存本身仅在创建它的节点(即启动 IRIS
的节点)上可见。
启动例程运行 irisdb –cV
以找出实例的状态。它首先尝试附加到实例的共享内存:
Daemon Resource Locks
进行测试:
如果没有持有守护进程资源锁,则报告实例“关闭”。
如果持有守护进程资源锁,则报告该实例正在 iris.ids
文件中指定的节点上运行。如果 iris.ids
文件不存在,则没有关于守护程序运行位置的信息。
操作:用户必须运行 iris stop
或 iris force
来停止相应节点上正在运行的实例。这将停止守护进程并删除 iris.ids
文件。
iris.shid
文件相关的错误,该文件在除 macOS
之外的所有 UNIX®
平台上跟踪 IRIS
的共享内存 ID
。联系 全球响应中心在新选项卡 (WRC
) 中打开以获取更正文件的支持。 RIS
运行 IRIS
启动过程。重复检查以确保另一个启动不竞争启动资源:
如果守护进程资源锁被持有,表明一个或多个守护进程正在这个实例的某个节点上运行, IRIS
报告这一点并退出并出现错误。启动停止。
如果 iris.ids
文件不存在,则运行守护程序的节点是未知的。
行动:用户必须假设在某个节点上发生了另一次启动。要确定实例在哪个节点上启动,请检查 iris.ids
文件。
IRIS
继续启动。