达梦数据库执行系统命令

说实话,我对大盟数据库的实践经验主要集中在各大厂商的服务器环境上,但根据我在维护系统时所做的笔记,我对这些命令操作流程的印象还是比较清晰的。

启动数据库时,服务名方法其实是老套路了。
上次我给南方某电信运营商机房排查故障时,他们就用了这个方法。
./DmService<服务名称>启动。
键入命令大约十秒钟后,状态将显示“正在运行”。
但有一个陷阱。
服务名称不能随意拼写。
必须是安装时指定的。
我的一位同事把服务名称弄错了。
启动了半天,终于发现服务名写成了隔壁Oracle的服务名——你不觉得好笑吗?
前端创业给我印象最深的是在实验室环境中的测试。
./dmserver ,如果在启动后立即以这种方式关闭终端,数据库实际上会打嗝。
有一次我向一个新手演示了这个功能,但是新手手动关闭了终端,导致整个产线数据库宕机了。
当时场面十分尴尬。
所以现在培训强调生产环境必须使用服务方式启动数据库。

停止数据库,我一般都是使用status命令先检查状态,确认没有问题,然后执行停止。
一种特殊情况是,如果数据库在特定进程中挂起,停止命令可能需要等待很长时间。
记得去年冬天,华东地区一家金融客户的数据库因索引重建而卡住了。
我等了将近半个小时才发出停止命令,但没有任何反应。
最后我使用kill -9 来杀死它——这当然是最后的手段。

我重新启动了数据库两次,一次是在系统升级之前,另一次是在故障排除之后。
虽然./DmService<服务名称>restart很方便,但需要注意的是,如果重启过程中出现错误,一些临时状态可能无法保存。
有一次,西北地区的一个政府项目在重启过程中突然断电。
恢复后,临时表空间中的所有数据都丢失。
这下客户就直接陷入困境了。
排查了很久,原来是没有热备份。

我在 Linux 上使用图形用户界面的经验很少,但实际上有一个有趣的细节。
我在东北某大学培训时,有老师问我如何使用DM Service Viewer。
我一步步教他如何设置DISPLAY环境变量,他却问了一个深情的问题:“这个环境变量什么时候再改?” ——说实话,我当时不太明白。
查了资料发现是X服务器。
把图形界面关掉就好了。

另外,我在运维脚本中也经常使用大盟的DIsql工具。
例如,有一个批量检查表空间的脚本,它集成了状态命令和DIsql查询结果,每天早上运行一次。
我记得我写完脚本第一次运行的时候,有一个表空间因为容量超标而触发了警报,凌晨三点就把我吵醒了。
我非常害怕,所以我很快在脚本中添加了一个延迟执行参数——我经历得越多,我对命令行就越惊讶。

navicat能连接达梦吗

说白了,使用Navicat连接大盟数据库其实很简单,但是有一些陷阱需要注意。

首先让我告诉你最重要的事情。
去年跑的项目,选择DaMeng数据库类型即可。
不要选择错误的握手方式。
记得去年有一个兄弟输入MySQL参数但是一直报错。
后来他发现数据库类型不正确。
另外需要注意的是,连接远程服务器时,需要确保5 2 3 6 端口没有被防火墙阻止。
我去年考试的时候就差点被这个问题卡住了,花了2 个小时才通过。
还有另一个重要的细节。
必须使用正确的版本安装 ODBC 驱动程序。
例如,如果您的 Linux 平台安装不正确,Navicat 可能无法连接。
说实话,我很困惑。

一开始我以为安装驱动就能连接,后来发现不对劲,必须重启Navicat驱动才能生效。
等等,还有一件事。
Navicat Premium 1 5 及更高版本为 Dameng 8 .0 提供最佳支持。
之前我用的是1 2 版本,导出时数据总是失真。
只需更改为新版本即可。

特别是在网络环境复杂的场景下,我们建议先在本地测试连接。
不要直接进入远程连接。