重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 106|回复: 1
打印 上一主题 下一主题

达梦数据库如何把控制文件得内容转换为文本文件

[复制链接]
跳转到指定楼层
楼主
发表于 2025-3-24 10:46:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我们知道,达梦数据库得控制文件是二进制格式,如下:

[dmdba@dmserver ctl_bak]$ file /dmdata/data/szdb/dm.ctl
/dmdata/data/szdb/dm.ctl: data


如何才能看到文本内容?

达梦提供了一个工具:dmctlcvt

在$DM_HOME/bin下面

[dmdba@dmserver ctl_bak]$ which dmctlcvt
/u01/app/dmdbms/bin/dmctlcvt


[dmdba@dmserver ctl_bak]$ dmctlcvt help
DMCTLCVT V8
version: 03134284336-20250117-257733-20132

格式: ./dmctlcvt KEYWORD=value
注意: 控制文件名称必须指定为dm.ctl、dmmpp.ctl、dss.ctl

关键字              说明
--------------------------------------------------------------------------------
TYPE                1 转换控制文件为文本文件(源文件路径中控制文件名称必须是dm.ctl或dmmpp.ctl或dss.ctl)
                    2 转换文本文件为控制文件(目标文件路径中控制文件名称必须是dm.ctl或dmmpp.ctl或dss.ctl)
SRC                 源文件路径
DEST                目标文件路径
DCR_INI             dmdcr.ini文件路径
HELP                打印帮助信息

示例:
./dmctlcvt TYPE=1 SRC=/opt/dmdbms/data/dameng/dm.ctl DEST=/opt/dmdbms/data/dameng/dmctl.txt
./dmctlcvt TYPE=2 SRC=/opt/dmdbms/data/dameng/dmctl.txt DEST=/opt/dmdbms/data/dameng/dm.ctl


如想看 /dmdata/data/szdb/dm.ctl 文件得内容:

[dmdba@dmserver ctl_bak]$ dmctlcvt type=1 src=/dmdata/data/szdb/dm.ctl dest=/tmp/dm-ctl.txt
DMCTLCVT V8
convert ctl to txt success!


[dmdba@dmserver ctl_bak]$ file /tmp/dm-ctl.txt
/tmp/dm-ctl.txt: ASCII text, with CRLF line terminators
[dmdba@dmserver ctl_bak]$
[dmdba@dmserver ctl_bak]$ more /tmp/dm-ctl.txt
##############################################################################
## please do not adjust parameter order, ensure the ctl have no difference ###
##########################################################################


# database name
dbname=szdb
# server mode
svr_mode=0
#OGUID
oguid=0
# db server version
version=134284336
# database version
db_version=458765
# pseg version
pseg_version=458763
#SGUID
sguid=1977731312
#NEXT_TS_ID
next_ts_id=6
#DSC_NODES
dsc_nodes=1
#NEXT_HTS_ID

。。。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

沙发
 楼主| 发表于 2025-3-24 10:53:05 | 只看该作者
控制文件主要记录如下内容:

数据库名称;
数据库服务器模式;
OGUID 唯一标识;
数据库服务器版本;
数据文件版本;
数据库的启动次数;
数据库最近一次启动时间;
表空间信息,包括表空间名,表空间物理文件路径等,记录了所有数据库中使用的表空间,数组的方式保存起来;
控制文件校验码,校验码由数据库服务器在每次修改控制文件后计算生成,保证控制文件合法性,防止文件损坏及手工修改。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2025-4-1 08:35 , Processed in 0.102039 second(s), 18 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表