1 关注者 · 991 帖子

  

InterSystems Caché 是一个多模型 DBMS 和应用服务器。

查看此处提供的更多详细信息

文档

文章 姚 鑫 · 九月 22, 2022 2m read

第四十章 连接到远程服务器(二)

使用可选的服务器字段

网络服务器 IP 地址 Web Server IP Address

如果计划使用与正在管理的 IRIS 实例不同的机器上存在的 服务器,请在此字段中输入 Web 服务器机器的 地址。如果未指定,则默认为 地址。

CSP Server Instance

如果正在配置一个 服务器以连接到多个 实例,请在 CSP 服务器实例字段中输入要连接的 实例名称。

例如,如果在 机器上安装了 服务器,并且还安装了 IRIS 的两个实例, 和 ,则默认情况下,使用作为 一部分安装的自己的私有 服务器管理每个实例.

但是,也可以通过更改 服务器端口( 默认为 )并在为每个实例创建服务器定义时在 服务器实例字段中指定 和 来从公共 服务器管理这两个实例。这会在公共 服务器上自动创建虚拟目录 和 ,它们指向相应的 实例。

当在 服务器实例字段中输入一个值并在此服务器的启动器上选择管理门户时,URI 形成如下:

http://<web srvr addr>:<web srvr port>/<csp srvr inst>/csp/sys/UtilHome.csp
0
0 156
文章 姚 鑫 · 九月 21, 2022 3m read

第三十九章 连接到远程服务器(一)

可以从 Telnet 会话、WindowsIRIS® 启动器上的远程系统访问子菜单或从 服务器和实例信息生成的 URI 控制远程实例。

要为远程实例使用远程系统访问子菜单上的实用程序:

  1. 定义远程服务器连接以将服务器添加到首选服务器列表。
  2. 单击 IRIS 启动器并指向远程系统访问。
  3. 指向启动器实用程序,然后单击服务器名称。

还可以从 会话连接到 的远程实例:

  1. 单击 IRIS 启动器并指向远程系统访问。

  2. 单击 IRIS Telnet,连接到远程服务器,并使用用户名和密码登录 IRIS 系统。或者,如果服务器在首选服务器列表中,请指向终端,然后单击服务器名称。

可以从 上运行的终端或任何能够运行 的工作站客户端远程登录到任何受支持平台上的 IRIS 实例。此客户端可能只有实用程序,而没有 服务器实例。大多数情况下,客户端计算机上的 版本必须与其管理的 系统的版本相同或更高。

注意:在 macOS 平台上,还可以从 上的命令提示符使用 连接到 机器,然后使用以下命令进行连接:

还可以将 Web 服务器页面与远程 Web 服务器一起使用。这可用于使用管理门户管理 实例。

当连接到远程系统访问菜单上的管理门户或文档选项时,只要远程实例正在运行,就可以为生成的 添加书签并返回到

0
0 186
文章 姚 鑫 · 九月 20, 2022 2m read

第三十八章 在 UNIX®、Linux 和 macOS 上使用 IRIS(三)

管理 IRIS

shell 中,具有 sysmgr 组中任何用户 ID 的用户都可以运行 ,它调用 目录中的 可执行文件和脚本.以下部分描述了如何在 实例上执行这些管理任务:

重要提示:安装的所有者拥有启动和停止实例、执行系统管理以及为该实例运行诊断程序的完全权限。

只有作为实例所有者的用户 ID 才能并且应该运行所有诊断活动。这确保创建的任何文件或资源都归实例所有者所有,而不是 root(这可能使非 用户无法访问这些资源)。因此,不建议 以任何方式管理不属于 的实例(包括启动和停止实例)。以 身份运行的用户应该只管理 拥有的实例。

启动 IRIS

要启动 IRIS,请在系统级别运行启动程序。此过程激活默认配置文件或您指定的配置文件。

注意:如果在启动 时遇到任何问题,请按照“监控指南”的“监控日志文件”部分中的说明查看 文件。

如果不在控制台机器上,请运行 Telnet 并连接到安装了 IRIS 的目标机器。在可以在 上启动 IRIS 之前,必须满足以下条件之一:

  • 超级用户。
  • 已以 用户身份登录。 (从另一个帐户登录时,可以接受 (超级用户)为 。)
  • 组 与在 IRIS 安装期间命名的组匹配,因为它具有停止和启动系统的权限。

使用

0
0 121
文章 姚 鑫 · 九月 12, 2022 3m read

第三十章 管理许可(三)

确定许可证容量和使用情况

如何知道已使用了多少许可证以及由谁使用?类中的 %SYSTEM.License 提供了到 IRIS 许可证应用程序编程接口 (API) 的接口,并提供了许多方法和相关查询,可以使用这些方法和相关查询来查询许可证容量和当前使用情况。

可以使用 类的 方法运行多个许可查询。例如:

USER>do ##class(%ResultSet).RunQuery("%SYSTEM.License","Summary")
 
LicenseUnitUse:Local:Distributed:
当前使用的软件许可单元 :2:2:
使用的最大软件许可单元数 :3:2:
授权的软件许可单元 :25:25:
当前连接 :2:2:
最大连接数 :6:6:

可以从管理门户的许可证使用页面(系统操作 > 许可证使用)查看这些查询的输出,详细信息如下表所示:

许可证使用页面上的链接 License Query
Summary Summary() — 返回许可证使用摘要,如 所示。
— 返回操作系统进程标识符 (PID) 使用的许可证,如 所示。
—按用户 ID 返回许可证使用。
Distributed License Usage — 返回按用户排序的当前分布式许可证使用情况。 (当没有连接许可服务器时禁用此功能。)
1
0 247
文章 Jingwei Wang · 九月 20, 2022 2m read

1. VMWare快照引起的网络中断导致非计划内主备机切换问题

1.1 问题描述

在创建虚拟机快照时,虚拟机需要短时间的冻结,这个短时间冻结通常指虚拟机静默,在静默过程中网络连接处于中断状态。由于数据库的不断增长,使用VMWare快照的方式对虚拟机进行备份的时长也会不断增加,当对虚拟机进行快照的时长长于InterSystems镜像服务质量 (QoS) 超时时间,即当主机网络中断超过QoS超时时间,仲裁机与备机观察并相互确认与主机的连接丢失后,将发起切换过程,使原备机成为主机并将虚拟IP从主机MAC地址解绑后重绑定到备机的MAC地址上。特别需要注意的是,在这种由于网络中断引起的切换中,仲裁与备机都无法得知主机的实际工作状态。因此,在主机网络连接恢复后,为了为了避免因切换期间主机还在处理数据导致主备机间数据不一致,备机主动发起请求让主机下线,关闭主机,此时主机状态显示为关闭(Down)。

1.
0
0 155
文章 姚 鑫 · 九月 19, 2022 3m read

第三十七章 在 UNIX®、Linux 和 macOS 上使用 IRIS(二)

在 UNIX® 上启动

IRIS 实例使用以下资源来控制启动、停止和创建新进程:

  • install-dir\mgr 目录中的 iris.ids 文件。
  • 共享内存。

守护进程资源锁

IRIS 使用建议文件锁定来防止同一实例在不同机器上的多次启动。使用咨询文件锁定,单个锁定文件(在本例中为 目录中的文件 ilock)可用于独占锁定多个资源。控制进程、写入守护进程和日志守护进程分别锁定锁定文件的一个单独部分。如果 文件的这一部分已被锁定,则启动将终止。不同守护进程持有的锁称为守护进程资源锁。

文件锁由进程持有,直到进程终止。因此,如果持有任何锁,则表明某个节点上的某个守护进程正在运行。但是,它并不表示实例是否健康并正常运行。

iris.ids File

文件包含启动 的节点的名称。 iris.ids 文件的存在充当 实用程序和客户编写的脚本的标志,指示实例是否启动并运行。该文件在启动过程中经常被忽略。但是,如果在读取 时发生错误,则会阻止 启动。在以前版本的 中,共享内存标识符也存储在 文件中,但现在不再如此。

启动顺序

为了更好地理解启动顺序,假设实例可以从两 (2) 个不同的节点(机器),节点 和节点 运行。

0
0 206
文章 姚 鑫 · 九月 18, 2022 3m read

第三十六章 在 UNIX®、Linux 和 macOS 上使用 IRIS(一)

本章介绍Unix®LinuxMacOS上的特定管理程序。

用户、组和权限

平台上的每个 IRIS® 数据平台安装都有以下用户和组:

  • RootIRIS 必须由 root 安装, 系统守护程序的某些处理以 身份运行。
  • 实例所有者 — 此用户拥有大多数安装文件并完全控制实例。如果使用最小初始安全设置进行安装,则 是默认所有者;否则,在安装过程中会提示输入所有者。
  • 超级服务器及其作业的有效用户——所有由超级服务器生成的用于处理传入请求的 进程都以此用户身份运行;此外,由作业服务器进程、任务管理器作业和用户定义的启动例程(例如,^%ZSTART)托管的作业也以该用户身份运行。默认情况下,此用户是 ,但可以在自定义安装期间更改用户。
  • 进程的有效组——所有 进程自动作为该组运行,这允许普通用户在 IRIS 内访问他们可能没有被授予访问权限的 数据库和日志文件;这些和其他 文件的文件权限设置为允许该组具有适当的访问权限。在安全系统上,只有 超级服务器及其作业的有效用户应该是该组的成员。默认情况下,该组包含 ,但您可以在自定义安装期间更改该组。
  • 允许启动和停止实例的组 — 该组、 和实例所有者可以启动和停止 。

所有日志和日志目录必须将组所有权设置为

0
0 222
问题 争取在天亮前起床 · 七月 14, 2022

在更新医保码库前,我们想对旧码库做个备份,以防更新过程失败,还可以还原。
oracle支持 CREATE TABLE AS ..... 的语法快速备份一张表,cache 似乎不支持这个语法,
大家平时是怎么备份一张码表的呢?

最好是像 oracle 那样一条命令搞定的那种。

10
0 441
文章 姚 鑫 · 九月 17, 2022 7m read

第三十五章 在 Windows 上使用 IRIS(二)

IRIS 启动器

Microsoft Windows 平台上的主要IRIS 界面是 IRIS 启动器。从 启动器,可以启动所有 配置和管理工具。还可以从快捷方式或命令行调用每个启动器命令。

相应地,可以从 程序菜单中启动许多 工具,方法是指向 IRIS 文件夹,然后指向启动 以获得适当的 实例名称。

当在基于 的系统上启动 时, IRIS 启动器图标会出现在任务栏的系统托盘中。

当单击 启动器时,会出现一个菜单,其中包含使用 实用程序和编程环境的命令。

下表描述了 IRIS 启动器菜单中可用的命令。

IRIS 启动器命令 描述
Getting Started 显示教程、发行说明、文档和其他相关信息的链接
Start IRIS 启动菜单项后方括号中指定的默认实例,例如 [ii2081]。如果 服务器已经启动,这个选项会变暗——它不可用。
Stop InterSystems 关闭或重新启动本地 实例。如果 服务器已停止,此选项将显示为灰色——它不可用。
Studio 创建、编辑、删除和编译 类定义和例程。
调用 IRIS 的命令行解释器。
执行常见的系统管理任务。创建数据库和命名空间,并调整所有 IRIS 配置设置。
0
0 394
文章 姚 鑫 · 九月 16, 2022 3m read

第三十四章 在 Windows 上使用 IRIS(一)

Microsoft Windows 平台上管理 IRIS 数据平台实例非常简单。可以使用管理门户和 IRIS 启动器执行大多数任务。还可以从命令提示符控制 实例。

本主题使用 来指代 安装目录——可以在安装指南的默认安装目录部分找到默认目录。

注意:不要对 IRIS IRIS.DAT 数据库文件使用 Windows 文件压缩。 (通过右键单击 Windows 资源管理器中的文件或文件夹并选择属性,然后选择高级,然后压缩内容以节省磁盘空间来压缩文件;压缩后,文件夹名称或文件名在 资源管理器中呈现为蓝色。)如果压缩一个 文件,它所属的实例将无法启动,并出现误导性错误。

管理对 实例的访问

InterSystems 服务

所有 IRIS job和进程都从 服务、 运行。 服务具有的权限由其关联的 用户帐户决定。当这是本地 SYSTEM 帐户时, 可以访问 系统上的所有文件和权限。为了维护一个更安全和限制性更强的环境,应该为服务选择一个仅具有所需权限和访问权限的 帐户。

在正常安装和锁定安装中, 创建两个本地用户组来授予对实例的访问权限。当为 服务指定一个 Windows 用户帐户而不是默认的本地 帐户时 将该 用户帐户添加到每个组。这些组是:

  • ,它授予启动、停止和控制 IRIS
0
0 321
文章 姚 鑫 · 九月 15, 2022 3m read

第三十三章 管理许可(六)

应用许可

应用程序许可使应用程序合作伙伴能够利用 的许可功能来实现自己的许可目的。 IRIS 像管理自己的应用程序许可证一样管理客户应用程序许可证,维护使用计数并根据需要获取和返回用户许可证。当进程退出、停止或从进程表中删除时,或者当 Web 会话超时或被删除时,进程或 Web 会话使用的应用程序许可证与进程或会话使用的 许可证一起自动释放。

应用程序许可证只是标准 格式的文件或此类文件的一部分,包含标识应用程序的部分标题和一些对,在许可证中是唯一的,代表许可的功能。任何格式正确的应用程序许可证都可以在运行时由应用程序加载到 IRIS

应用程序许可 包括使应用程序能够代表用户使用和返回许可证的方法和查询,以及使程序能够获取有关应用程序和功能许可的信息,包括正在使用和仍然可用的许可证数量。

加载应用程序许可证

实例可以在应用程序运行时使用 $SYSTEM.License.LoadAppLicenseFile 方法加载和激活任何应用程序许可,该方法记录在 %SYSTEM.License 的类参考中(请参阅应用程序许可 API)。以这种方式加载的应用程序许可证与活动的 许可证无关,但由 实例独立跟踪。

每个应用程序许可证都包含在以 开头的部分中;应用程序名称

0
0 122
文章 Michael Lei · 九月 15, 2022 6m read

如果你读了我之前介绍QEWD微服务的文章,希望你会渴望了解如何使用它们。  所以在这篇文章中,我将解释你需要知道的东西,以便开始使用。

如果你在QEWD资源库中,你会发现目录: 

  https://github.com/robtweed/qewd/blob/master/example/jwt

在我之前关于JSON网络令牌(JWTs)和QEWD的文章中,我用这个示例应用程序来解释如何使用JWTs。  这个示例应用程序还演示了如何设置一个简单的微服务,在这种情况下是一个处理用户认证的服务。  所以,现在让我深入了解一下这个例子应用程序的这方面内容。

如果你想使用QEWD微服务,你也必须使用JWTs--它们提供了一种方法,用户的认证和会话可以被多个独立的QEWD服务器交叉通信和处理。  因此,请看一下启动文件:

   https://github.com/robtweed/qewd/blob/master/example/jwt/startup_file/q….

0
0 390
文章 姚 鑫 · 九月 14, 2022 6m read

第三十二章 管理许可(五)

Identifying Users

IRIS 许可系统识别不同的用户并为每个用户分配一个许可单元。用户由许可证用户 ID 标识,该 ID 可以是 地址、用户名、 会话 ID 或其他标识符,具体取决于用户的连接方式。

由单个用户启动或为单个用户启动的多个进程共享一个许可证单元,最多可达每个用户的最大进程数。如果进程数超过此最大值,则会发生转换 IRIS 开始为该用户 ID 的每个进程分配一个许可单元。系统假设如果与用户 关联的进程数超过最大值,则多个用户正在通过中介(例如防火墙系统)访问 ,因此需要额外的许可证单元。 (由 命令启动的进程计入调用该命令的用户 下。)

即使用户 下的进程数回落到最大值以下, 仍会继续为该用户 的每个进程分配一个许可单元。只有当用户 的所有连接都关闭并且用户 下没有更多进程时,许可证分配才会重置为该用户 的一个单位。

通过名称识别用户的应用程序消除了与使用基于客户端 IP 地址、 会话 ID 或其他连接派生用户 的默认用户 相关的问题。

例如,当使用防火墙或终端服务器软件时, 无法区分连接用户,因此它依赖于最大连接转换规则。使用来自同一客户端的混合连接也使得无法使用自动 创建适当地计算用户数。

当用户名用作许可证标识符时,这些问题就消失了。

0
0 138
文章 姚 鑫 · 九月 13, 2022 4m read

[toc]

第三十一章 管理许可(四)

显示本地许可证信息的方法

下面列出的子例程转储实例共享内存中本地包含的许可证表的内容。一般来说,他们识别客户:

$System.License.DumpLocalAll 将所有本地许可证表条目转储到当前目录中的 all.dmp 文件中:

USER> Do $System.License.DumpLocalAll()
 
25 条目转储到 c:\intersystems\irishealth\mgr\user\all.dmp

文件的内容示例:

image

$System.License.DumpLocalInUse 将所有正在使用的本地许可证表条目转储到当前目录中的 inuse.dmp 文件:

USER> Do $System.License.DumpLocalInUse()
 
2 条目转储到 c:\intersystems\irishealth\mgr\user\inuse.dmp

文件内容示例:

将进程 使用的本地许可证表转储到当前目录中的 文件中:

USER> Do $System.License.DumpLocalPID()
 
33 条目转储到 c:\intersystems\irishealth\mgr\user\piduse.dmp

显示许可证服务器信息的方法

以下子例程转储许可证服务器维护的许可证表的内容。

0
0 136
文章 Qiao Peng · 八月 23, 2022 6m read

任何技术总是有些自己独特的术语,尤其是一些英文术语,对于新的用户来说往往即陌生又迷惑。这里整理了一下常听到的InterSystems术语,帮助大家尽快进入InterSystems技术圈子。

名词 说明
Arbiter 仲裁器。用于在mirror高可用集群里辅助判断主备机成员状态,提高高可用集群的有效性
Atelier InterSystems开发的基于Eclipse的IDE,可以单独部署、也可以嵌入Eclipse
bitmap索引 位图索引。以位图方式保存的枚举类型数据的索引,用于高性能查询
bitslice索引 位片索引。用位图方式对数值型数据建立的索引,用于高性能查询
Buttons Cache'数据库上的诊断报告工具。历史上,InterSystems曾经提供一个routine,名为^Buttons,用于收集系统数据用于诊断。虽然后来这个工具已经被放在%SYS.Task.DiagnosticReport类中,但大家还是习惯称之为buttons
cconsole log Cache'数据库的控制台日志文件,记录通用信息、系统错误、特定操作系统错误、网络错误等。
1
2 461
文章 姚 鑫 · 九月 11, 2022 5m read

第二十九章 管理许可(二)

激活许可证密钥

IRIS 使用许可证密钥来确保其注册站点的正常运行、定义可用容量并控制对 IRIS 功能的访问。 许可证密钥以许可证密钥文件的形式提供,通常命名为 iris.key

安装 后,使用以下程序激活许可证密钥。始终可以使用相同的过程为任何已安装的实例激活新的许可证密钥(即升级密钥)。可以激活放置在管理门户可访问的任何位置的许可证密钥;作为激活的一部分,许可证密钥将作为 复制到实例的 install-dir/mgr 目录(如果尚未命名)。

注意:也可以在 安装期间选择许可证密钥。执行此操作时,许可证会自动激活,并且许可证密钥会作为 复制到实例的 install-dir/mgr 目录中;不需要此处描述的激活过程。

本节还讨论了许可证故障排除和在所有许可证单元都在使用时从操作系统命令行升级许可证。

要激活许可证密钥,请使用以下过程:

  1. 导航到许可证密钥页面(系统管理 > 许可 > 许可证密钥)。将显示有关当前活动许可证密钥的信息。如果尚未激活任何许可证,则会显示这一点,例如通过标记客户名称:缺少许可证或不可读。此页面包含一个打印按钮,可让轻松打印显示的信息。

  2. 单击激活许可证密钥并浏览到要激活的许可证密钥文件。

0
0 287
文章 姚 鑫 · 九月 10, 2022 4m read

[toc]

第二十八章 管理许可(一)

配置许可

每个 IRIS 实例维护其许可证容量和当前使用的独立本地视图,并且每个实例都需要访问许可证密钥。可以在每个实例上安装和激活本地许可证密钥文件。或者,如果要管理多个实例,可以配置许可证服务器来管理存储在中央位置的密钥文件,然后它可以将其分发到其他实例。在这种情况下,必须为每个实例配置密钥文件的 LicenseID,以便它可以在启动时检索密钥的副本。

多服务器许可证可以在同一台机器或不同机器上的协作实例之间共享。仅允许使用多服务器密钥进行共享。要使用多服务器许可,必须配置一个或多个 IRIS 许可服务器来分配密钥授权的 许可单元。共享密钥的所有实例都必须配置为使用相同的许可证服务器或一组许可证服务器。许可服务器可以在运行 IRIS 实例的任何计算机上运行。监控进程向许可服务器发送更新消息,当多个实例共享一个许可时,许可服务器协调许可分配。

许可证服务器协调在每个实例中本地维护的许可证使用视图。许可证服务器不是 进程;如果 实例关闭,则不受影响。一台许可证服务器可以处理多个实例。因此,无论一台主机上运行多少个 IRIS 实例,每台主机最多需要一个。但是,每个 实例都必须安装授权许可密钥文件的本地副本。

如果在多台主机上运行 服务器,可以配置多个许可证服务器以提供冗余。

0
0 125
文章 姚 鑫 · 九月 8, 2022 2m read

第二十六章 使用任务管理器(四)

导入任务

导入任务页面(系统操作 > 任务管理器 > 导入任务)允许通过浏览到先前导出的任务文件,然后单击立即执行操作来导入和运行任务。

注意:任务只能从运行相同版本的 IRIS 的实例导入或导出。

使用 ^TASKMGR

^TASKMGR 例程允许使用终端配置任务管理器。除非另有说明,^TASKMGR 和管理门户包含用于配置任务的相同选。

  1. 打开终端。
  2. 输入 set $namespace = "%SYS" 以更改为 %SYS 命名空间。
  3. 输入。

具体类 %SYS.Task

image

更改任务过期行为

默认情况下,所有任务都配置为在错过预定时间时过期。发生这种情况的原因有很多;例如,当 IRIS 在计划时间内关闭时,或者如果任务的上一次运行超出下一次计划时间。当任务到期时,它不会运行,直到下一个计划时间。

例程包含更改此行为的选项,以便从不跳过计划的运行。为此:

  1. 打开终端。
  2. 输入 以更改为 %SYS 命名空间。
  3. 输入do ^TASKMGR
  4. 选择选项 2。
  5. 输入要编辑的任务编号。
  6. 按 保存每个选项的默认值,直到到达 Task Expires?
  7. 输入

或者,可以指定一个宽限期,这样任务在错过后不会立即过期。相反,任务管理器会尽快运行错过的任务。要调整特定任务到期的宽限期:

  1. 打开终端。
  2. 输入 以更改为 命名空间。
  3. 输入。
  4. 选择选项 。
0
0 132
文章 姚 鑫 · 九月 7, 2022 2m read

第二十五章 使用任务管理器(三)

任务计划

任务计划页面(系统操作 > 任务管理器 > 任务计划)列出了所有计划任务。可以通过单击任何列标题对表中的信息进行排序。可以通过单击适当的选项查看详细信息或历史记录以及运行计划任务:

  • 任务名称 — 让查看有关任务的详细信息并对其执行操作。
  • 历史 — 显示任务的历史。
  • 运行 — 让运行任务。运行任务向导显示任务名称和 ID,以及任务运行的日期和时间;单击立即执行操作以确认信息并安排任务。

任务详情

要显示有关计划任务的详细信息并对其执行多项操作之一,请单击任务名称列中的任务名称。任务详细信息页面显示有关所选任务的信息和执行详细信息。可以通过单击相应的按钮对任务执行以下操作之一:

  • 编辑 — 使用任务计划程序向导更改任务定义和计划。
  • 历史 - 查看任务的历史。
  • 恢复/暂停 — 暂停任务/恢复暂停的任务。
  • 删除 — 永久删除任务。

注意:不能删除系统任务。

  • 导出 — 将任务导出到稍后可以导入的文件,包括由另一个 IRIS 实例导入。

  • 运行 — 安排任务。单击运行时,运行任务向导页面会显示任务名称和 ID,以及任务将运行的日期和时间;单击立即执行操作以确认信息并安排任务。

注意:在任务运行时,描述的某些操作不可用。

计划任务历史

要显示有关单个计划任务的历史信息,请单击项目行中的历史链接。任务历史记录页面显示所选任务的详细历史记录。

0
0 132
文章 姚 鑫 · 九月 6, 2022 4m read

# 第二十四章 使用任务管理器(二)

本节介绍在创建或编辑任务时可以选择的预定义任务类型。某些任务只能从某些命名空间获得。

IRIS 包括许多默认运行的任务。此表记录了这些默认值,可以从“任务计划”页面进行编辑。

注意:可以使用 `%SYS.Task.DefinitionAPI` 定义自己的任务类型。

任务类型|对应的默认任务| 描述
---|---|---
CheckLogging |检查记录活动——每晚运行;两天后发送警报。|检查日志记录机制(例如 `^ISCSOAP`)是否没有意外运行。在 `DaysForAlert` 天后创建警报,并在 `DaysForShutoff` 天后关闭日志记录。
CleanSQLIndex |清理 `SQL` 语句索引 — 每小时运行一次。| 清理过时的 `SQL` 语句索引条目。
CumuIncrDBList|`None` |运行已定义列表中数据库的累积备份。
DiagnosticReport|诊断报告 — 按需运行。|收集并向 WRC 提交诊断报告。
FullAllDatabases | `None`|运行所有数据库的完整备份。
FullDBList|`None`|运行定义列表中的数据库的完整备份。
IncrementalDBList|`None`|运行已定义列表中数据库的增量备份。
IntegrityCheck|完整性检查 — 默认禁用。

0
0 206
文章 Louis Lu · 九月 5, 2022 3m read

原文可见 这里,原作者 Robert Cemper

我们在SQL中的经常被提到视图VIEW,基本上是一段预先设计好的SQL语句,它也像任何其他SQL查询语句一样执行和组装。

而物化视图MATERIALIZED VIEW意味着查询的内容是预先收集的,这些数据可以相当快地进行检索。

我第一次看到这个概念是和我最喜欢的竞争对手O* 一起的,他们对此功能发出了很多的声音。

然而在Caché/IRIS中,这种功能几乎是一早就存在的,我们认为这是很正常的普通功能。只是我们大多数开发人员只是没有意识到这一点,只要稍加润色,它就可以作为一个优秀的特性呈现出来。 此外,任何更新和维护都是作为内置的能力进行的,无需开发人员任何额外的工作。

看下面的例子:

在我们的Sample.Person类中,我们可以定义一个索引

/// Define an index for <property>Name</property>.;

正如我们预想的那样,在执行下面的查询时,它会非常的快

SELECT ID, Name, Home_State, SSN   from Sample.Person

因为这个查询所涉及到的内容都来来自索引global ^Sample.PersonI("NameIDX"),并没有一点对原数据global的加载。

这就是基本的物化视图

0
0 279
文章 姚 鑫 · 九月 5, 2022 4m read

第二十三章 使用任务管理器(一)

要访问任务管理器,请导航至系统操作 > 任务管理器。

还可以使用终端与任务管理器进行交互,如使用 ^TASKMGR 部分所述。

注意:任务管理器每 60 秒轮询一次以查看是否有要运行的任务。当单击立即执行操作来安排任务时,在新安排的任务实际运行之前可能会有长达 60 秒的延迟。

新任务

新任务选项启动任务计划程序向导。此工具允许安排新任务运行。

注意:还可以使用任务计划程序向导通过从“任务计划”页面选择现有任务来编辑现有任务。

  1. 在任务计划程序向导的第一页上,提供有关新任务的以下详细信息:
  • Task name
  • Namespace to run task in - 从定义的命名空间列表中选择要在其中运行任务
  • - 从列出的任务中进行选择。

注意:根据所选的任务类型,可能会看到一个表格,在其中指定附加信息;例如,如果正在安排 ,表单会提示输入目录、文件名和 KeepDays(保留文件的天数)。

  1. 任务优先级 - 从优先级正常、优先级低或优先级高中选择。
  2. 以该用户身份运行任务 — 从定义的用户列表中选择。要选择与登录时不同的用户,必须具有 %Admin_Secure:Use 权限。

注意:如果所选用户被禁用,任务将暂停,直到用户被启用并手动恢复任务。这不适用于内置系统任务,即使所选用户被禁用,这些任务也会运行。

0
0 144
文章 姚 鑫 · 九月 4, 2022 2m read

第二十二章 控制进程(三)

挂起或恢复进程

如果不确定某个进程在做什么并想要进行调查,或者如果一个更重要的进程正在尝试运行并且需要 CPU 周期,可能希望暂停该进程。要从管理门户访问此选项:

  1. 显示进程页面(系统操作 > 进程)。
  2. 单击相应进程行中的详细信息。
  3. 单击选项栏上的挂起。

可以随时通过单击同一页面中的恢复来恢复暂停的进程。

终止进程

如果某个进程无响应或正在影响其他进程或用户,可能希望终止该进程。要从管理门户访问此选项:

  1. 显示进程页面(系统操作 > 进程)。
  2. 单击相应流程行中的详细信息。
  3. 单击选项栏上的终止。

或者,要在进程终止时记录进程的状态,请选中 Terminate with RESJOB Error 复选框。

注意:默认情况下启用此选项。

  1. 单击“是”以确认您要终止该进程。无法恢复已终止的进程。

显示进程变量

Process Variables 页面显示了在选定进程中使用的所有变量,给出了全局名称和全局值。要从管理门户访问此信息:

  1. 显示进程页面(系统操作 > 进程)页面。
  2. 单击相应进程行中的详细信息。
  3. 单击选项栏上的变量。

向终端广播消息

可以向与选定进程或所有进程关联的终端广播消息;此实用程序很有用,例如,要求人们注销系统。但是,必须小心使用它,否则可能会导致消息出现在当时可能正在打印的报告中间。

该实用程序在发送消息时临时控制每个终端。一旦终端接收到消息,前面的过程将继续。

0
0 134
文章 姚 鑫 · 九月 3, 2022 2m read

第二十一章 控制进程(二)

显示进程详细信息

进程详细信息页面显示有关任何进程的详细信息。要从管理门户访问此信息:

  1. 显示进程页面(系统操作 > 进程)。
  2. 单击相应进程行中的详细信息。 (此选项仅存在于有权维护的进程上。)

该页面还包括特定于所选进程的信息,这些信息被组织成一个通用信息表、一个客户端应用程序详细信息表和一个执行详细信息表:

一般信息

Field Definition
Process ID 此进程的进程 ID (PID) 编号。
User Name 当前为此进程登录的用户名。
Login Roles 进程的登录角色。
Escalated Roles 授予流程的其他角色。这些角色加上登录角色是授予流程的角色的总集。
OS User Name 操作系统分配给进程的用户名。
NameSpace 进程正在执行的命名空间。
Process Priority 此进程的优先级。
Global References 此进程进行的Global引用数。
Private Global References 此进程进行的私有Global引用数。
Commands Executed 此进程执行的命令数。
Memory Limit 分配给此进程使用的内存量 (KB)
Memory Peak 此进程使用的最大内存量 (KB)
0
0 86
文章 姚 鑫 · 九月 2, 2022 3m read

第二十章 控制进程(一)

IRIS 系统运行多个进程。应用程序代码以及 IRIS 系统代码在这些进程中执行。 IRIS 进程分为三类:

  • 用户进程,在用户连接到 IRIS 时创建。
  • 后台进程,在用户发出 ObjectScript 命令时创建,或者由管理门户或实用程序创建。
  • 系统进程。

在本文中,“进程”一词本身指的是用户进程和后台进程。

可以使用管理门户管理和控制进程:

  • 显示进程信息 - 显示进程页面(系统操作 &gt; 进程)。
  • Display process details 显示进程详细信息 - 显示流程页面,然后单击所选进程右侧栏中的详细信息以显示进程详细信息页面。
  • 暂停/恢复进程 - 显示进程页面,然后单击所选进程右侧栏中的详细信息以显示进程详细信息页面。然后根据需要单击操作栏上的暂停或恢复。
  • 终止进程 - 显示进程页面,然后单击所选进程右侧栏中的详细信息以显示进程详细信息页面。然后根据需要单击操作栏上的 或 Error
  • 显示进程变量 - 显示进程页面,然后单击所选进程右侧栏中的详细信息以显示进程详细信息页面。然后单击变量选项卡以显示过程变量。
  • 向终端广播消息 - 显示 页面并单击 按钮打开 对话框。

显示进程信息

要显示系统上的所有活动进程以及每个进程的基本信息,请导航到进程页面(系统操作 > 进程),该页面显示进程表,其中列有每个进程的统计信息。

0
0 175
文章 姚 鑫 · 九月 1, 2022 5m read

第十九章 维护本地数据库(四)

压缩数据库中的全局变量

管理数据库空间的另一种方法是使用 ^DATABASE 例程压缩数据库中的全局变量。压缩全局变量将全局数据合并到更少的块中,从而增加数据库中的可用空间量。

在创建和更新全局变量时 IRIS 通常以将全局块填充到大约 70% 容量的方式分配数据。 (完全按整理顺序增长的全局可能会分配到接近 90%。)通常,允许 自动管理全局块密度就足够了。然而,一些不连续的数据删除模式可能会显着降低平均全局块密度。

注意:要逐个全局地查看数据库中全局块的当前密度,可以运行完整性检查、并检查每个全局的数据级别输出。

压缩全局变量时,指定所需的全局块密度(默认为 ),操作会尝试通过合并数据来尽可能接近此值——例如,将分布在三个块中的全局数据重新排列为两个。通常(但并非总是),压缩全局变量会显着增加数据库中可用的可用空间。 (如果指定的目标密度低于数据库当前的全局块密度,则数据库的大小不会增加。)

要压缩数据库中的全局变量,请使用以下过程:

  1. 打开终端并更改为 %SYS 命名空间。
  2. 输入 do ^DATABASE,然后从菜单中选择 7) Compact globals in a database
%SYS>do ^DATABASE
 
 
 1) Create a database
 2) Edit a database
 3) List databases
 4) Delete a database
 5) Mount a database
 6) Dismount a database
 7) Compact globals in a database
 8) Show free space for a database
 9) Show details for a database
10) Recreate a database
11) Manage database encryption
12) Return unused space for a database
13) Compact free space in a database
14) Defragment a database
15) Show background database tasks
0
0 168
文章 姚 鑫 · 八月 31, 2022 4m read

第十八章 维护本地数据库(三)

截断数据库

截断数据库会将数据库末尾的可用空间返回到底层文件系统。数据库在压缩后通常会被截断,这会将可用空间移动到数据库的末尾。

截断数据库时,指定数据库的目标大小。如果在数据库末尾有足够的可用空间,则该操作会删除足够的空间以将数据库减小到目标大小;如果没有,它会删除所有可以删除的内容。 (要了解数据库的可用空间到底有多少,请压缩数据库;无需完成显示当前总可用空间和末尾数量的操作。)

注意:此功能不适用于具有原始卷的数据库。

  1. 导航到数据库页面(系统操作 > 数据库)。
  2. 单击要截断的数据库的名称。这会将带到其数据库详细信息页面。
  3. 单击页面顶部功能区上的截断。这将显示“截断数据库”对话框,其中显示所选数据库的名称、位置和当前大小(以兆字节 (MB) 为单位)。
  4. 输入目标文件大小 (MB),它必须小于当前大小,然后单击确定。输入 0 从文件末尾删除所有可能的可用空间。

注意:用于截断目的的可用空间不同于用于存储数据的可用空间。如果某些控制结构不用于数据存储,则可以在截断期间删除它们。这可能会导致报告的可用空间有所不同。

对数据库进行碎片整理

对数据库进行碎片整理会重新排列数据库中的全局块,以使包含给定全局数据的所有块都按连续顺序排列。该操作不会按顺序放置全局中的大字符串块或指针块,但它确实将它们定位在连续区域中。

0
0 106
文章 姚 鑫 · 八月 30, 2022 3m read

第十七章 维护本地数据库(二)

数据库详细信息页面显示有关任何数据库的详细信息。要从管理门户访问此信息:

  1. 显示数据库页面(系统操作 > 数据库)。
  2. 单击要查看更多详细信息的数据库的名称。

数据库详细信息页面的顶部是一排按钮,可让执行各种数据库操作:

  • Mount / Dismount — 安装或卸载数据库。新状态一直有效,直到明确更改它或重新启动/停止 IRIS;要永久卸载数据库,必须将其从配置中删除。
  • Compact - 将分布在整个数据库中的可用空间移动到其末端。
  • Truncate截断 — 将数据库末尾的可用空间返回到底层文件系统。
  • 碎片整理 — 重新定位全局块,使代表给定全局的块处于连续序列中。

该页面还包括特定于所选数据库的信息,这些信息被组织成一个 表和一个 表:

一般信息

Field Definition
Directory 此数据库所在目录的名称。
Resource Name 分配给此数据库的资源名称。
Mounted 指示此数据库是否已安装。
Read Only 指示此数据库是否安装为只读。
Read Only Reason 数据库安装为只读的原因。
Encrypted 指示此数据库是否已加密。
Encryption Key ID 表示加密密钥 ID

Database Size

Field
0
0 100
文章 姚 鑫 · 八月 29, 2022 5m read

第十六章 维护本地数据库(一)

可以在管理Portal (System Operations > databases)的“数据库”页面查看和维护本地数据库。 在此页面,可以查看到以下信息:

  • 数据库一般信息 Databases General Information-所有数据库的概述信息。
  • 数据库空闲空间信息 Databases Free Space Information - 所有数据库的空闲空间信息
  • 数据库详细信息页 -个别数据库的特定信息。 还可以通过维护操作增加该页面的可用空间。

本节中描述的大多数信息和操作也可以使用命令行实用程序找到并执行。

数据库的一般信息

数据库页面(系统操作 > 数据库)包含所有本地数据库的列表。对于每个本地数据库,会看到以下信息:

本地数据库信息

  • Name - 数据库名称。

  • Directory - 分配给数据库可以增长的最大大小,以 GB 为单位。

  • - 分配给数据库可以增长的最大大小,以 为单位。

  • Size (MB) - 当前分配的数据库大小,以兆字节为单位。

    注意:此字段衡量数据库的逻辑大小。因此,此处报告的大小可能低于数据库的物理大小,特别是对于 数据库。

  • - 数据库的状态: (包括它有哪些权限)、unmounted或。

0
0 141
文章 姚 鑫 · 八月 28, 2022 2m read

[toc]

第十五章 配置工作队列管理器类别

工作队列管理器使能够以编程方式将工作分配给多个并发进程,以提高性能。

当使用工作队列管理器初始化一组辅助job时,可以指定提供辅助job的类别。 类别是一个独立的worker job。 例如,假设为系统提供的SQL类别分配了最多8个。 然后,假设为与构建仪表板相关的进程创建了一个类别,并为该类别分配最多个。 如果在给定的时间内池中的所有工作线程都被占用,类别中的工作线程仍然可以立即处理工作项。

系统提供了两个不能删除的类别: 和 。默认情况下,这些类别的最大工作线程数是动态的,相当于系统可用内核数的两倍。

工作队列管理器类别页面使能够创建、修改和删除工作队列管理器类别,如以下部分所述。所做的任何更改都会反映在配置参数文件 iris.cpf 中。

创建工作队列管理器类别

从工作队列管理器类别页面,可以创建新类别。

类别名称必须是唯一的并且区分大小写。此外,类别名称只能包含字母、数字、破折号、下划线和句点,并且最多包含 个字符。

要创建新类别,请执行以下操作:

  1. 导航到系统管理 > 配置 > 系统配置 > WQM 类别。

  2. 单击创建类别。

  3. 在类别名称字段Category name中,键入类别的名称。

  4. Max active workers

0
0 130