如何在不破坏所有内容的情况下安全地修改 DOCLINKS


我现在已经完成了从 7.6 到 7 的许多迁移 MAS。与同一个旧的 7.6 补丁相比,节奏发生了不错的变化。但是,作为迁移到 MAS 的一部分,我们还会移动 DOCLINKS 文件存储所在的位置。您现在可以使用永久交易量申领 (PVC) 或 S3。我们现在使用 S3 托管 DOCLINKS。迁移到 S3 意味着我们必须修改 DOCLINKS。在这样做的过程中,我学到了很多关于修改 DOCLINKS 以及如何在不破坏所有存储附件的情况下安全地进行修改的知识。
在开始解释最佳实践的过程之前。我想确保你知道控制 DOCLINKS 的重要部分。核心表是 DOCINFO 和 DOCLINKS。您还需要了解物理附件存在于 PVC 或 S3 存储桶中,而不是位于数据库本身中。
这存储附件元数据。关键栏目:
这会将文档链接到 管理 记录。关键栏目:
每当你要对 DOCLINKS、DOCINFO 或者任何与数据相关的内容进行更改时,都要对系统进行备份。首先在非生产环境中进行更改。您还可以运行 SQL 来创建 DOCINFO 表备份,这样就不会丢失它,并在完成后删除该表,以便轻松恢复 DOCINFO 表。
SELECT * INTO DOCINFO_BACKUP FROM DOCINFO;
DROP TABLE DOCINFO_BACKUP;CREATE TABLE DOCINFO_BACKUP AS (SELECT * FROM DOCINFO) WITH DATA;
DROP TABLE DOCINFO_BACKUP; CREATE TABLE DOCINFO_BACKUP AS SELECT * FROM DOCINFO;
DROP TABLE DOCINFO_BACKUP; 首先缩小对一个文件所做的任何更改。你可能有许多不同的网址名称需要更新。如果你尝试一次全部完成,你可能会弄乱所有网址。花点时间先研究需要做哪些更改。
注意:我们需要做的唯一更新是 DOCINFO 表,而不是 DOCLINK 表。你不必在整个过程中更新 DOCLINKS。
我只把精力集中在文件的 URLTypes 上。这些是存储在您正在使用的附件存储空间中的文档。
通常,你会想进行一次全面的更改,如下所示;这几乎是一个不错的更改,但缺少一些信息:
UPDATE DOCINFO SET URLNAME = REPLACE(URLNAME,'\\OLD','\\NEW')
这是一个可能导致多个问题的错误:
为你的 DOCLINKS 找到一个模式,然后用它来创建更新声明。你可以从 SQL 开始,比如:
SELECT URLNAME FROM DOCINFO WHERE URLTYPE = 'FILE'
如果所有 DOCLINKS 都有类似\\ server\ DOCLINKS\ 的路径,则可以创建一条笼统的声明。但是,我仍然建议使用这样的方法只测试一个文档:
UPDATE DOCINFO SET URLNAME =
REPLACE(URLNAME,'\\OLD_SERVER\DOCLINKS','\\NEW_SERVER\DOCLINKS')
WHERE URLNAME = '\\OLD_SERVER\DOCLINKS\[TEST.TXT]' AND URLTYPE=’FILE’验证您更改的一个附件在前端用户界面中是否有效。
使用受控替换可以确保仅更新与要替换的内容相匹配的 DOCLINKS:
UPDATE DOCINFO SET URLNAME =
REPLACE(URLNAME,'\\OLD_SERVER\DOCLINKS','\\NEW_SERVER\DOCLINKS')
WHERE URLNAME LIKE '\\OLD_SERVER\DOCLINKS%' AND URLTYPE=’FILE’对所有需要的唯一 URLName 执行此操作,直到所有 DOCINFO 记录都指向新的文件存储空间为止。
并非所有的 DOCINFO 问题都需要对 URLNAME 进行这样的更新。但是,更改文件存储解决方案需要更改这些 URL。他们还需要对系统属性中的一些配置进行一些更新。你可能需要更新以下属性:
如果您使用的是 S3,则还需要通过更新以下系统属性来授予 Manage 对存储桶的访问权限:
最后,你需要查看你的文档类型。完成所有这些更改后,DOCTYPES 表仍将引用您的旧存储系统。您将需要将其更新到新的存储系统:
UPDATE doctypes SET defaultfilepath = ‘[NEW Default Path]’
在 Maximo 环境中,附件损坏的最常见原因不是损坏;这是善意的管理员在不了解 DOCINFO 和 DOCLINKS 如何交互的情况下更新 DOCLINK 路径。
当前客户:升级到 MAS 时,将作为升级的一部分为您处理。如果你正在考虑加入 Naviam 的云,我们将作为实施的一部分为您处理这些更改。你甚至不必为你的系统担心这个问题。
Discover everything you need to know to modernize your asset management strategy.
Inside, you’ll learn:

ActiveG, BPD Zenith, EAM Swiss, InterPro Solutions, Lexco, Peacock Engineering, Projetech, Sharptree, and ZNAPZ have united under one brand: Naviam.
You’ll be redirected to the most relevant page at Naviam.io in a few seconds — or you can
go now.