为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:dm8
【操作系统】:linux
【CPU】:
【问题描述】*:如何sql判断达梦的架构;比如单节点和DSC;若为DSC,通过sql查询DSC中包含哪些实例
1、如果是一个健康的数据库。
不进入数据库可先查看进程:ps -ef | grep ini
如果只有一个 ../dmdbms/bin/demserver ../../dm.ini 那么它是单节点。
如果除了上述进程 还多了一个 ../dmdbms/bin/dmwatcher ../../dmwatcher.ini
那么它是主备、或者读写分离。
如果除了上述两个进程 还多了
../dmdbms/bin/dmcss ../../dmdcr.ini
../dmdbms/bin/dmasmsvr ../../dmdcr.ini
那么它是DSC集群。
2、如果是一个健康的数据库。
进入数据库可通过字典查看
select * from v$dsc_ep_info
如果显示两行,那么肯定是DSC。如果不显示肯定不是DSC。
select * from v$instance
看mode$列,如果是PRIMARY 那么就是主备,前提是先排除它是DSC。如果显示是NORMAL,那么它是个单库。
3、如果不是一个健康的库。
最简单、直接的办法就是看配置文件
find / -name dmdcr.ini
如果有这个文件 肯定是个DSC环境,反之排除。
find / -name dmmal.ini
在排除不是DSC的情况下,如果有这个文件,那么它是个主备、读写分离。如果没有那么就是单机。单机是不会有dmmal.ini文件的。
还可以看看dmarch.ini
find / -name dmarch.ini
如果只是有个单纯的local那么它是单机。
如果有local、有remote 那么它是主备、读写分离。
如果有+字打头,又有LOCAL 又有REMOTE之类关键字那就是DSC。
但是并不排除一个很乱的环境,什么环境都尝试的装过,这个就得随机应变了。
查看
结合这两个视图进行判断