【达梦数据库】忘记SYSDBA密码处理方法-已适配

这里写目录标题

背景

用户忘记SYSDBA密码,希望找回

方法

参考链接: 达梦数据库 忘记 SYSDBA 密码 处理方法

javascript 复制代码
1.在root下新建组dmdba,并将数据库的操作用户dmdba添加进组dmdba;
[root@localhost ~]# groupadd -g 1000 dmdba
[root@localhost ~]# usermod -a -G dmdba dmdba

注意需要将dmdba用户加入到dmdba用户组

补充说明

也可以考虑以下几种方法:

1、如果其他用户有DBA权限的话,使用其他用户修改SYSDBA密码。

2、联系相关项目负责人看看有没有办法找回。(概率不大)

3、如果以前登陆过,history命令找找看。

4、建个新库,用其他用户把数据进行迁移。

其他

javascript 复制代码
--监听实例PID
[dmdba@localhost0 ~]$ ps -ef | grep server
root      2187  2154  0 15:10 ?        00:00:00 /usr/libexec/openssh/sftp-server
dmdba     2966     1  0 15:43 ?        00:00:28 /home/dmdba/dmdbms/bin/dmserver path=/dmdata/DAMENG/dm.ini -noconsole
dmdba     4542  4498  0 16:49 pts/0    00:00:00 grep --color=auto server


--确认用户和用户组
[dmdba@localhost0 ~]$ id
uid=1001(dmdba) gid=2001(dinstall) 组=2001(dinstall)


--实例通过dmdba用户启动,它归属于dmdba组。如果启动用户不归属于dmdba,或dmdba组不存在的话,可以root用户如下操作:
[dmdba@localhost0 ~]$ exit
登出
[root@localhost0 DAMENG]# groupadd -g 1100 dmdba
[root@localhost0 DAMENG]# usermod -a -G dmdba dmdba


--修改dm.ini中,修改ENABLE_LOCAL_OSAUTH = 1
[root@localhost0 ~]# cd /dmdata/DAMENG/
[root@localhost0 DAMENG]# vim dm.ini
ENABLE_LOCAL_OSAUTH = 1


--重启实例
[root@localhost0 DAMENG]# systemctl stop DmServiceDEM.service
[root@localhost0 DAMENG]# systemctl start DmServiceDEM.service


--重启数据库实例后,disql / as sysdba 方式登录数据库修改密码,此时可以用任意密码(甚至是错误密码)登录sysdba用户。
[dmdba@localhost0 ~]$ disql sysdba/xxxx as sysdba
Server[LOCALHOST:5236]:mode is normal, state is open
login used time : 8.999(ms)
disql V8
SQL>
SQL>



--查看授权
SQL>  select * from v$version;

LINEID     BANNER
---------- ---------------------------------
1          DM Database Server 64 V8
2          DB Version: 0x7000c
3          05134284294-20241225-255012-20119
4          Msg Version: 21
5          Gsu level(5) cnt: 0

used time: 3.012(ms). Execute id is 1101.
SQL>


--更改密码并测试
SQL> alter user SYSDBA identified by Dameng123;
SQL> connect sysdba/Dameng123@localhost:5236
Server[localhost:5236]:mode is normal, state is open
login used time : 5.178(ms)
SQL>
SQL>
SQL>


--查询系统时间
SQL> select sysdate();
LINEID     sysdate()
---------- -------------------
1          2025-06-23 16:23:44

used time: 2.190(ms). Execute id is 1401.
SQL>
SQL>


--恢复数据库身份证验证模式,禁用操作系统身份证验证模式:更改参数ENABLE_LOCAL_OSAUTH=0
SQL> sp_set_para_value(2,'ENABLE_LOCAL_OSAUTH',0);
DMSQL executed successfully
used time: 9.381(ms). Execute id is 1402.
SQL>
--##如果发现dm.ini文件末尾添加的配置(ENABLE_LOCAL_OSAUTH = 1)仍然存在


--重启实例:
[root@localhost0 DAMENG]# systemctl stop DmServiceDEM.service
[root@localhost0 DAMENG]# systemctl start DmServiceDEM.service


--通过disql用户名/密码方式正常登录
[dmdba@localhost0 ~]$ disql sysdba/Dameng123@localhost:5236
Server[localhost:5236]:mode is normal, state is open
login used time : 7.731(ms)
disql V8
SQL>
相关推荐
ClickHouseDB4 小时前
ClickHouse Cloud 与 Snowflake 实时性价比对比:CostBench 测试中的 412 倍差距来
运维·数据库·系统架构
m0_639906944 小时前
Redis入门|五种数据结构、使用场景、持久化RDB&AOF
数据结构·数据库·redis
时间售卖铺5 小时前
触发器与函数实战:MySQL高效编程秘诀
运维·数据库·mysql·云原生
qetfw5 小时前
UOS MariaDB 数据库:安装、最小权限与备份验证
linux·数据库·mariadb·uos
数智园区合作社6 小时前
问数平台怎么把同一个指标锁成一个数
大数据·数据库·人工智能·ai
lbb 小魔仙6 小时前
Windows搭建PaddleOCR+飞书Webhook自动打卡通知机器人:识别、推送与远程触发完整教程
数据库·人工智能·prometheus·时序数据库
captain3767 小时前
MyBatis操作数据库(入门2)
java·数据库·spring boot·后端·spring·mybatis
心中有你02148 小时前
Java实现Dijkstra最短路径算法(邻接表 + 优先队列)
java·数据库·算法
龙亘川8 小时前
综合素质评价业务建模:从过程性评价到成长档案全链路闭环
数据库·智慧城市·数据可视化
数据库小组8 小时前
NineData 实战教程:MySQL 5.5 数据迁移同步到 MySQL 8.0(跨版本升级)
数据库·mysql·mysql优化·数据库开发·数据库迁移·版本升级·数据复制