一、数据库入门知识
1、如何获取数据库版本信息
Terminal运行命令
Cache版本数据运行命令:w $zv
IRIS版本数据库运行命令:IRIS list
系统管理界面
首页主菜单中查询About菜单或者关于菜单
系统OS命令行:
iris list
2、数据库配置文件
配置文件含有所有在系统管理界面中配置的参数
-缺省路径:installdirectory/iris.cpf
·搭建测试环境时确保里面库文件路径,namespace及数据库mapping正确,否则数据库启动时会报错。
License是InterSystems公司与客户之间的协议,客户要有ISC的授权才能正常的访问IRIS数据平台。
放置iris.key到
installdirectory/mgr
License管理页面五个字段说明
当Current License Units Used的数量到达License Units Authorized即License使用量达到上限;
当Maximum License Units Used的数量到达License UnitsAuthorized即License曾经使用量达到过上限;
Usage by Process]和[Usage by User]是日常观察哪些process或user占用,License Units常用页签,通过对Column
Units进行排序来分析使用情况;
3、数据库端口号意义解释
4、数据库状态解释
5、数据库Namespace空间设置
Mapping:是连接Database-与Namespace的纽带,包括三种:Global Mapping,Routine Mapping,Package Papping.
Global Mapping:当某个Namespace需要调用其它Database的Global,或将某种规则的Global3写入其他Database,可以添加Global Mapping.
例如:公司规定tmp*,TMP*之类的1临时Globali存放在DHC-TEMP中,在需要使用该Global的命名空间添加相应的映射,
否则,这类临时Globali还是会存到默认的Database中。
Routine Mapping:当某个Namespace需要调用其它Databasel的Routine程序时,可以添加Routine Mapping.
例如:DHC-APP命名空间可以调用DHC-MEDSRC下的DHCW开头的Routine。
Package Mapping:当某个Namespace需要调用其他Database的类时,可以添加Package Mapping,
例如:DHC-APP命名空间下需要使用DHC-LISSRC Databasel的类。
6、数据库可用空间查询示例
7、查询系统锁命令
系统portal中查询:
System Operation->Locks
Terminal中运行命令查询:
d ^LOCKTAB
8、系统进程状态说明
Control进程:
-读cache.cpf到数据库
-Caché启动时首先启动该进程
-分配共享内存
-启动其他所有的系统进程和网络进程
-给进程广播消息
-在不同的平台上有些不同的功能
-当Caché正常启动后,只作很少一部分的工作
Write Daemon进程:
-负责所有的数据库写操作,将buffer中变化的数据写入磁盘
-WD写的频次取决于数据库的活动量-至少每80s一次
-还负责将buffer中的数据写入Write Image Journal(WIJ)
GARCOL
垃圾收集器:Garbage Collector
-代表其他进程处理大的分支树的KILL
-当一个global被删除时,分析并释放空间
Journal后台进程:Journal Daemon
-将journal buffer中内容写入journal文件
库文件扩展后台进程:Expansion Daemon
负责动态地扩展库文件
CLNDMN
系统清理后台进程:Clean Daemon
-监控死进程(dead/ghost jobs)
-已经在OS上被KILL的进程,但是还没有从PIDTAB中别清理掉
MONITOR
监控进程:Monitor Daemon
-监控并且报告系统错误
-监控ccsonole.log并且发出email警告
%SYS.SERVER
超级服务:Super Server-%SYS.SERVER
-控制通过SuperServer port连接到Cache的连接
-作为Caché一个侦听
-在进程列表中,以运行Routine%SYS.SERVER的方式出现
-缺省端口为1972
Task Manager
任务管理:Task Manager
-启动计划任务
-在进程列表中,可以看到以运行Routine%SYS.TaskSuper..1的方式出现
RECEIVE /ECP*
网络后台进程:RECEIVE/ECP*
-运行ECP协议等
9、ECP服务器
ECP服务器=WEB服务器+ECP服务
WEB服务器是指给应用系统提供web服务的服务器。
ECP是企业缓存协议,允许远程访问主数据库的Global、.Routines,起到横向扩展硬件资源的作用;
WEB服务器和ECP服务器的区别在于谁来处理请求,如下图:
10、Shadow、Mirror作用和说明
Shadow技术是自动将生产数据库服务器的数据变化更新到shadow数据库服务器,其本质是一种异步的数据复制。
Shadowl服务器持续地读取生产数据库服务器的journal文件来实现数据的更新。Shadow数据库同步只作用于那些被
Journal的Databases,只有对记录在ournal文件中的操作起作用,比如Sets/Kills/Transactions。
Mirror技术其本质是通过Copy Journal3实现数据同步。
可应用于高可用性(HA)方案。简单,可靠,经济,应用计划以及非计划的停机,整个Failover的时间可以以秒计,为完全冗余配置,没有任何共享模块,减少了共享存储的HA架构所带来的单点故障。采用逻辑上的同步数据复制,可避免与物理复制技术(如基于SAN的复制)相关的风险,包括无序更新和节点损坏等。
可应用于灾备(D)方案。支持远距离的多地灾备,无缝地,无数据丢失地转移到灾备数据中心(异步,网络质量好可接近于Zero RPO),无缝地,无数据丢失地转移回主数据中心。
可应用数据复制(Replication,异步,网络质量好可接近于Zero RPO),为数据仓库,Bl,报表系统使用。
数据库Mirror中的2种成员类型:
FailOver(故障转移类型):此模式下,主节点状态为Primary,备用节点状态为Backup;
DisasterRecovery(灾备恢复类型):此模式下,主节点状态为Primary,备节点状态为Async DR(项目采用此模式)。
11、Cache和IRIS数据文件对比
cconsole.log日志告警级别:0=info(消息),1=warning(警告),2=severe (严重),3=fatal (致命)
12、数据库备份方式
数据库备份:是指通过特定的方式将数据库的重要数据复制到别的存储介质中。
创建备份数据库列表
System Administration->Configuration->Database Backup -Database Backup List
Terminal中运行命令:
do ^BACKUP
数据库查询备份结果
管理主页面Management Portal
●备份过程中:System Operation->Backup->Backup Status
●备份后:System Operation->Backup->Backup History
13、数据库日志
Journal用来记录数据的变化,以备恢复或检查,当数据发生变化(Set/Kill)时,将变化的情况写入到ournal文件中。
主要用途:
-在数据库恢复的时候(Restore)与数据库备份一起使用(JRN)。
-当数据库崩盘时候,恢复数据库(WIJ,JRN)
-IRIS的事务处理,维护应用逻辑上的完整性,一致性 (JRN)
-Shadowing/Mirroring (JRN)
Journal文件设置:
Alternate Directory
·RS数据平台如果不能写入首选路径,则会写向备用路径。
·一旦使用备用路径,不会自动回到首选路径。
Maximum file size:默认大小1024M
到达文件上限后Journal文件自动产生并写向新文件。
Journal日志文件的任务检查情况
检查目的:查看Journal是否按设置的天数清除
配置清除天数
Journal文件保留天数
Console.log日志记录核实
实现方式:通过数据库的系统任务
关注点:
没删掉,有异常程序没完成,很有可能存在开放性事务
14、Cconsole.log日志内容
日志内容包含:
系统错误
普通信息
·数据库启/停时间
·版本信息:$zV
部分OS错误
网络错误
状态信息
cstat:如果Cache是Forced Down
日志路径:InstallDirectory/mgr/cconsole.log
ーcconsole.old
•当文件达到最大尺寸时,在下次数据库启动时切换到另一个文件
-并将当前的文件更名为cconsole.old
-Windows以及UNIX只保留一个版本的cconsole.old
-手工切换,如果当前尺寸>MaxConsoleLogSize
.Write ##class(Config.Startup).SwitchConsoleLog()
•缺省最大尺寸为5MB
注:IRIS数据平台为messages..log
二、数据库基础知识
1、数据库一致性检查方法
运行数据库一致性检查任务;
protal中选择单个或者部分database进行一致性检查
检查目的:检查数据库内部是否存在一致性被损坏的数据节点。如果存在这样的数据节点而不及时修复,可能导致系统突然宕机以及数据丢失等灾难情况发生。
数据库任务,频率是周,需要明确生成的位置,每周去查看一下输出文件是否有notok
适用场景:数据库做了重大的操作
可单独检查某个库、某个global
整库一致性检查,最好后端通过命令行做d ^Integrity
2、清除网络中的锁
需要在terminate该进程(^JOBEXAM或者系统管理界面)
如果是死进程,CLNDMN daemon会清理该进程;
关闭devices,清除job表上的记录,CLNDMN daemon没十分钟唤醒一次;
一定要删除锁,必须先去ECP客户端,来自ECPClient端请求,请一定不要再ECPServer端(DB服务器)进行锁的remove。
3、cache数据库用户默认权限一览表
4、数据库备份方式
全量备份:备份数据库全部内容
累积备份:备份自上次全部备份后改变的数据。
增量备份:备份自上次备份后改变的数据,不论上次为何种备份。
优缺点:1. 全量:对大型数据库,可能需要耗费比较久的时间;
2.累积:比增量备份耗费时间长,数据库恢复时需要配合全备一起使用耗时比较长;
3.增量:需要多份备份加上全备一起用来做数据库恢复,耗费时间最长。
5、备份恢复注意点
恢复过程中不允许用户访问;
从最近一次全备份中恢复数据库;
全备份后从最近的累积备份中恢复数据库;
一次从所有增量备份中恢复数据库;
恢复数据后进行数据一致性检查;
所有备份文件都被恢复后,从journal日志中恢复数据。
6、备份计划任务的任务类型说明:
ChangeToDrcList:每天中午12:20更改数据库备份列表的任务(更改备份列表为只备份程序文件app、absrc、sys等);
BackupSrcDB:每天中午备份程序库文件的任务(在任务ChangeToDrcList做完之后执行);
ChangeToFullList:每天凌晨3点更改数据库备份列表的任务(更改备份列表为备份所有库文件);
BackupFullDB:每天凌晨备份所有应用的库文件的任务(在任务ChangeToFullList做完之后执行);
7、Shadow数据恢复步骤
从生产库上copy全备份cbk文件到shadow服务器;
进入shadow库的protal,将shadow的同步状态改成stop;
拿新考的cbk全备份文件对shadow上数据进行恢复;
恢复完数据,在shadow数据库的portal中选择追加journal的事件点;
查看shadow的同步状态是否为processing,待shadow数据追加journal完成,查看数据是否同步;
8、Mirror数据恢复步骤
从hisdb上copy备份的cbk文件
恢复cbk:
检查mirror的同步状态。
9、数据库操作需要上报的业务:
在产品组独立的namespace中进行替库、建空库、删库操作;
临时库DHC-TEMP的替换;
系统临时库CACHETEMP的替换;
修改服务器“CSP Web Application"中“/imedical,/web"的各种配置;
重启生产DB数据库、服务器、HA切换、Mirror接管等操作。
评论