解决达梦数据库密码复杂性导致的数据导出问题 - 问题记录

问题描述

在使用达梦数据库时,遇到了以下问题:

  1. 密码过于复杂,无法进行数据库的导出备份操作。
  2. 数据库导出时存在表数据导出不全的情况。

本文旨在记录并解决这些问题的过程。

问题解决过程

问题1: 密码过于复杂导致无法导出备份

解决方法:

  1. 使用管理员账户连接到达梦数据库,并修改数据库密码为较简单的密码。

    ALTER USER 用户名 IDENTIFIED BY "新密码";
    
  2. 确保新密码符合安全策略要求。

  3. 数据库导出后,将密码改回原密码。

问题2: 将导出库导入新建数据库用户,数据缺失

问题分析:排查发现用户会被锁定,怀疑是应用服务连接数据库的密码没有改掉,应用向数据库发送请求失败导致数据库用户被锁定。判断是该原因导致数据库数据导出时缺失。

解决办法:为了确保没有任何活动的数据库连接,停止所有连接到数据库的应用程序或请求。

--为用户解锁
ALTER USER 用户名 ACCOUNT UNLOCK;
--查看用户锁定状态
SELECT USERNAME, ACCOUNT_STATUS FROM DBA_USERS WHERE USERNAME = '用户名';
./dexp 用户名/密码@127.0.0.1:5236 file=导出库名.dmp log=exp.log

创建新用户并导入数据库

在本地创建一个新用户,并使用该用户的凭据,将刚刚导出的数据库导入到本地达梦数据库中。

--创建表空间
create tablespace tablespace_name datafile '/path/tablespace_name.dbf' size 5120 autoextend on next 1024;
--创建用户并赋权
SQL> CREATE USER 用户名 IDENTIFIED by 密码 DEFAULT TABLESPACE tablespace_name; 
SQL> grant dba to 用户名;
--导入数据库
./dimp userid=用户名/密码@127.0.0.1:5236 file="/path/导出库名.dmp" fromuser=原用户名 touser=用户名 log=/path/imp.log

验证结果

完成导入过程后,检查表数据、索引以及其他对象是否正确导入,确定数据信息完整。

删除验证库信息

--删除用户
DROP USER 用户名 CASCADE;
--删除表空间
drop tablespace tablespace_name;

总结

通过修改数据库密码、停止应用程序连接、重新导出和导入数据库,成功解决了由于密码过于复杂、账号锁定导致无法进行数据库导出和导出数据缺失的问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值