第十七章 使用 Switches
IRIS
开关是可用于多种用途的实例标志。它们对于在进行备份或尝试恢复崩溃的系统时抑制各种系统进程特别有用。 ^SWSET
例程用于直接操作开关的值。
IRIS
中的开关起源于物理触点,曾经是计算机操作员控制台的一部分或包含在微型计算机的前面板中。通过设置这些开关中的一个,操作员可以向当时机器上运行的程序传达一点信息。由于 IRIS
实现了“虚拟机”,因此该机器的开关概念也被类似地抽象出来。
如今 IRIS
中的开关在 IRIS
实例的共享公共内存中表示为单独的位设置;它们对所有 IRIS
进程可见。虽然已经为用户预留了几个,但大多数都会影响 IRIS
本身的操作。
注意:用户应将开关视为 IRIS
实例的本地开关。尽管 IRIS
本身提供了将某些设置的含义传播到集群其他成员的机制,但这些机制仅供 内部使用。用户开关的值不能移动到其他系统。
当前定义的交换机
所有开关均由编号标识。当 IRIS
启动时,它们被初始化为零(关闭)。下表给出了开关编号及其作用:
Switch | Meaning / Use |
---|---|
0 — 7 |
保留供应用程序使用。 |
8 |
禁止现有的 IRIS 守护程序响应网络请求。 |
9 |
禁止创建新的守护进程来处理网络登录。 |
10 |
禁止除设置此开关的进程之外的所有Global 访问。也禁止除此进程外的引起磁盘IO 的例行访问。 |
11 |
禁止除设置此开关的系统作业之外的所有Global 访问。这会覆盖开关 10 并保留供系统使用。例如,此开关由备份进程设置为在复制之前停止系统活动。 |
12 |
禁止登录 IRIS 的能力。尝试登录的用户将收到一条消息:“登录和作业被禁止:开关 12 已设置”。 |
13 |
禁止所有全局 SET 、KILL 和 ZSAVE 命令;只允许对全局变量和例程进行读取访问。 |
14 |
禁止对所有全局变量和所有例程的所有访问。 |
15 |
允许来自对等方的网络引用,即使switch 10、13 或 14 通常会阻止访问。 |
16 |
由 IRIS 在内部使用以协调关闭活动。 |
17 |
旁路等待集群上的日志刷新完成。 |
18 |
如果块的队列太长,则禁止暂停添加的进程。 |
19 |
禁止新事务的开始。 |
20 — 31 |
未定义,预留给使用。 |
警告:客户应用程序应将任何开关活动限制在为应用程序预留的集合(开关0-7
)内,除非人员或其文件程序另有明确指示。
网友评论