转到文章 Hao Ma · 三月 24, 2023 冻结其实是控制系统的写进程,让它暂时挂起来,在数据库日志上做个标记。这些都不是那一个数据库比如sample的事情,是整个系统的操作。 你的问题1: 如果我用%SYS命名空间去冻结解冻,备份mgr目录下面sample数据库文件CACHE.DAT,数据是恢复不了的。 怎么恢复不了?那一步出错了? 问题2: 你是先恢复数据库, 再恢复日志的是吗?出的什么错误? 这样, 你先看看这两个链接, 如果在有问题, 我找我们的专家和你私聊。第2个帖子有点长,里面连冻结解冻的脚本都包括了, 很详细 ,:) https://cn.community.intersystems.com/post/faq-%E5%B8%B8%E8%A7%81%E9%97%... https://community.intersystems.com/post/intersystems-data-platforms-and-...
转到文章 Hao Ma · 十月 29, 2022 我认为无论你把长度设成多大,占用的存储只由实际数据大小决定。所以设置成MAXLEN=“”是没毛病的。 不过,不确认是否有其他影响, 比如索引占用的空间。 你说“建表”,可说的又不是create table。如果用create table建表,你总得给个字段长度吧。varchar字段如果你用太长了对于3方工具或者你要抽数到其他数据库的时候会有问题吗? 假设你用了MAXLEN="" , 创建的字段是varchar还是clob?
转到文章 Hao Ma · 八月 30, 2022 这是两件事:1. 把log里的记录结构化。 2. 保存到DB。 关于1,如果你用的是最新的iris版本, 可以直接拿到结构化的log, 看这个链接: https://docs.intersystems.com/iris20221/csp/docbook/Doc.View.cls?KEY=ALOG 如果是老版本没有结构化,您得自己去做文本处理。好在这个log非常简单。比如下面两行: 08/30/22-11:03:57:775 (6964) 2 [Utility.Event] Previous system shutdown was abnormal, system forced down or crashed. Fast shutdown complete.08/30/22-11:03:59:541 (7716) 2 [Utility.Event] Preserving journal files c:\intersystems\hcdemo\mgr\journal\20220824.002 and later for journal recovery and transaction rollback如果您要只是把日期时间,警告类型,级别,内容分开,它基本就是分开的,用的是空格。 如果您想把内容页结构化,这就花功夫了, 我上面的链接里的工具也不做这个事。 2. 存入DB您得自己解决,IRIS提供文本,API, 没有SQL查询,好在有一大堆监控工具都干这事,就是监控文本文件写入数据库。
转到文章 Hao Ma · 八月 23, 2022 您说的“在终端直接执行接口对应方法速度又很快”是什么意思?是在Caché 服务器吗?那么访问的http请求会去IIS吗? 我的建议是在Web服务器上做测试。用soapui,或者postman, 或者curl, 如果这样慢,那么两个可能:要么这个服务就慢, 要么IIS或者CSP Gateway有问题。 可以看看CSP Gateway的event,或者开个trace看看能发现什么。IIS用着用着慢了我是听说过, 但如你表述只是少量的CSP服务受影响,可以先不怀疑它。
转到文章 Hao Ma · 八月 23, 2022 错误消息说csp gateway, 也就是apache web server或者iis连上了Caché, 但Caché 没反应。所以你要看Caché 上的错误日志。
转到文章 Hao Ma · 八月 23, 2022 数据库有个资源(resource), 是对单个数据库进行权限控制用的。请查询文档中关于资源(Resource)这块的内容配置一些。如果你的数据库创建的时候使用的是默认的%DB_Default, 那你得换一个单独的。
转到文章 Hao Ma · 八月 23, 2022 Integrity check肯定是消耗资源的,是否不能在忙时操作看你的系统运行的性能情况。建议的方案是那备份文件去测试系统上作integrity check。镜像的两个服务器是一样的, 就做一个就行。
转到文章 Hao Ma · 三月 13, 2022 理论上同步机制中,主库只有收到备库的ack才会完成一个写操作,也才会证实给客户端。如果备库8秒没证实,那么客户端是应该有8秒的'卡住‘的。 可以测试看看。可以设置成2秒看看, 如果没有存储快照造成的spike loading,2秒的设置也不应该造成不必要的切换。
转到文章 Hao Ma · 一月 23, 2022 CPU占用 select top 1 100-SYS_CPUidle as CPUUsage from sys_History.SysData order by DateTime desc 内存占用 Caché提供下面两个指标反映Caché对内存的占用情况: Global Buffer使用量和Routing Buffer使用量。 1. Global Buffer使用量查询History Data select * from SYS_History.SharedMemoryData 或者,使用SNMP Get - Cache_MIB.CacheBuffTab提供了完整的Buffer使用情况。 - CacheBufferSize: 8192(8K), 16k,或其他 - CacheBufferNum: 8K的buffer配置大小, 如果是2G, 值为262144 - CacheBufferAvail: 空闲的Buffer的数字, 2.Routine Buffer使用量Caché的cstate命令可以单纯查看,但使用PButtons更方便 查询数据库尺寸和剩余硬盘空间 以下两个存储过程得到同样的结果,入参稍有不同。用户都需要有%Admin_Operate的Use权限和存储过程的执行权限. Call %SYS.DatabaseQuery_FreeSpace() Call sys.database_freespace()