本文主要是介绍【达梦数据库】误删数据库目录问题复现解决方式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
- 1、环境搭建
- 1.1、查询数据库版本
- 1.2、创建表
- 1.3、插入数据
- 1.4、查询数据
- 2、故障重演
- 2.1、服务器内直接删除整个库文件
- 2.2、查询数据:数据可查
- 2.3、查看进程:进程存在
- 2.4、查看proc进程文件:deleted
- 3、数据恢复
- 3.1、逻辑导出导入-(数据丢失,废弃)
- 3.1.1、全库导出
- 3.1.2、重新初始化库
- 3.1.3、全库导入
- 3.1.4、查询数据:数据丢失
1、环境搭建
1.1、查询数据库版本
select svr_version,build_version,ID_CODE from SYS."V$INSTANCE";
1.2、创建表
CREATE TABLE "SYSDBA"."TABLE_1"
(
"id" INT,
"name" VARCHAR(50),
"age" INT
);
1.3、插入数据
insert into "SYSDBA"."TABLE_1"("id", "name", "age")
VALUES(1, 'Tom', 23);
insert into "SYSDBA"."TABLE_1"("id", "name", "age")
VALUES(2, 'Job', 23);
1.4、查询数据
select * from TABLE_1;
id | name | age |
---|---|---|
1 | Tom | 23 |
2 | Job | 23 |
2、故障重演
2.1、服务器内直接删除整个库文件
rm -rf ./DAMENG/
2.2、查询数据:数据可查
select * from TABLE_1;
id | name | age |
---|---|---|
1 | Tom | 23 |
2 | Job | 23 |
2.3、查看进程:进程存在
ps -ef|grep dmserver
2.4、查看proc进程文件:deleted
cd /proc/数据库进程号/fd
-----------------------
ls –ltr
3、数据恢复
3.1、逻辑导出导入-(数据丢失,废弃)
3.1.1、全库导出
dexp USERID=SYSDBA/'"Hn@dameng123"'@localhost:5236 directory=/dmdata file=exptest.dmp log=exptest.log full=y tablespace=Y
出现了警告,这里先忽略
3.1.2、重新初始化库
dminit path=/dmdata page_size=32 extent_size=32 charset=0 case_sensitive=0 log_size=2048 db_name=DAMENG instance_name=dmdb SYSDBA_PWD="Hn@dameng123" SYSAUDITOR_PWD="Hn@dameng123"
3.1.3、全库导入
dimp USERID=SYSDBA/'"Hn@dameng123"'@localhost:5236 file=/dmdata/exptest.dmp full=y
3.1.4、查询数据:数据丢失
select * from TABLE_1;
id | name | age |
---|
这篇关于【达梦数据库】误删数据库目录问题复现解决方式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!