1 内容概览
本文主要讲解表空间的备份,并且模拟故障,进行恢复。在进行表空间备份时,只能联机进行备份,可以在disql中使用命令备份,也可以使用图形工具manager工具对表空间进行联机备份。
2 表空间备份
2.1 方式一:使用disql
SQL> backup tablespace main; 操作已执行 已用时间: 878.121(毫秒). 执行号:5. SQL> select backup_name,backup_path from v$backupset; 行号 BACKUP_NAME BACKUP_PATH ---------- ------------------------------------- ------------------- 1 DB_DAMENG_FULL_20200826_092335_643689 /opt/dm8/data/DAMENG/bak/DB_DAMENG_FULL_20200826_092335_643689 2 TS_MAIN_FULL_20200826_101951_442207 /opt/dm8/data/DAMENG/bak/TS_MAIN_FULL_20200826_101951_442207
复制
2.2 方式二:图形manager备份
[dmdba@enmoedu1 log]$ manager
点击ddl获取对应的命令:
backup tablespace "MAIN" full to "TS_MAIN_FULL_2020_08_26_10_25_24" backupset 'TS_MAIN_FULL_2020_08_26_10_25_24' backupinfo 'backup for main tbs';
复制
最后点击确定按钮。
在主页面查看到生成的备集:
注:如果备份的时候,指定备份集存放的目录与参数bak_path的值不同,那么备份完成之后,需要添加备份的工作目录之后,才能在以上表空间备份中看到生成的备份。如下图所示:
3 模拟业务
SQL> create user lmj identified by dmdba123456; 操作已执行 SQL> grant resource to lmj; 操作已执行 已用时间: 4.176(毫秒). 执行号:604. SQL> grant create table to lmj; 操作已执行 SQL> create table lmj.test1 (id number) tablespace main; 操作已执行 已用时间: 26.524(毫秒). 执行号:37. SQL> insert into lmj.test1 values(10); 影响行数 1 已用时间: 5.217(毫秒). 执行号:38. SQL> commit; 操作已执行 已用时间: 5.850(毫秒). 执行号:39. SQL> select * from lmj.test1; 行号 ID ---------- -- 1 10
复制
4 模拟故障
删除main表空间对应的数据文件
SQL> select file_name,tablespace_name from dba_data_files where tablespace_name='MAIN'; 行号 FILE_NAME TABLESPACE_NAME ---------- ----------------------------- --------------- 1 /opt/dm8/data/DAMENG/MAIN.DBF MAIN [dmdba@enmoedu1 log]$ rm -f /opt/dm8/data/DAMENG/MAIN.DBF [dmdba@enmoedu1 log]$ ll /opt/dm8/data/DAMENG/MAIN.DBF ls: 无法访问/opt/dm8/data/DAMENG/MAIN.DBF: 没有那个文件或目录
复制
5 识别故障
方法一:利用图形工具manager查看表空间MAIN,发现已经没有了数据文件
方法二:使用SP_FILE_SYS_CHECK函数检查OS文件。
检查之前查看main表空间上的数据是正常的,因为有缓存。
SQL> select * from lmj.test1; 行号 ID ---------- -- 1 10
复制
检查之后查看,发现文件丢失,再查询数据报错。
SQL> exec sp_file_sys_check; DMSQL 过程已成功完成 已用时间: 0.499(毫秒). 执行号:612. SQL> select * from lmj.test1; select * from lmj.test1; [-3430]:表空间[MAIN]中文件[/dm8/data/DAMENG/MAIN.DBF]已被删除. 已用时间: 0.316(毫秒). 执行号:0.
复制
方法三:对表空间尝试脱机再联机,提示故障
此时报错:已经丢失了数据文件
点击详情之后:
6 恢复表空间
注:Dm8需要在脱机状态下恢复表空间,对应的图形工具是console。
6.1 停服务
[dmdba@enmoedu1 arch]$ DmServiceDMSERVER stop Stopping DmServiceDMSERVER: [ OK ]
复制
6.2 还原并且恢复表空间
方式一:使用命令行
[dmdba@enmoedu1 dm8]$ dmrman dmrman V8 RMAN> restore database '/opt/dm8/data/DAMENG/dm.ini' tablespace main from backupset '/opt/dm8/data/DAMENG/bak/TS_MAIN_FULL_2020_08_26_10_25_24'; restore database '/opt/dm8/data/DAMENG/dm.ini' tablespace main from backupset '/opt/dm8/data/DAMENG/bak/TS_MAIN_FULL_2020_08_26_10_25_24'; file dm.key not found, use default license! RESTORE TABLESPACE[main] IN DB[/opt/dm8/data/DAMENG/dm.ini] CHECK...... Database mode = 0, oguid = 0 EP[0]'s cur_lsn[50173] RESTORE TABLESPACE[main] IN DB[/opt/dm8/data/DAMENG/dm.ini],dbf collect...... RESTORE TABLESPACE[main] IN DB[/opt/dm8/data/DAMENG/dm.ini],ts status and dbf refresh ...... RESTORE BACKUPSET [/opt/dm8/data/DAMENG/bak/TS_MAIN_FULL_2020_08_26_10_25_24] START...... total 0 packages processed... RESTORE TABLESPACE[main] IN DB[/opt/dm8/data/DAMENG/dm.ini],UPDATE ctl file...... CMD END.CODE:[0] restore successfully. time used: 521.843(ms) RMAN> recover database '/opt/dm8/data/DAMENG/dm.ini' tablespace main; recover database '/opt/dm8/data/DAMENG/dm.ini' tablespace main; Database mode = 0, oguid = 0 [WARN]tablespace MAIN is corrupted(state: 2), restore or drop please. EP[0]'s cur_lsn[50173] RECOVER TABLESPACE[main] IN DB[/opt/dm8/data/DAMENG/dm.ini] CHECK...... EP[0]'s cur_lsn[50173] EP:0 total 5 pkgs applied, percent: 12% EP:0 total 10 pkgs applied, percent: 24% EP:0 total 15 pkgs applied, percent: 36% EP:0 total 20 pkgs applied, percent: 48% EP:0 total 25 pkgs applied, percent: 60% EP:0 total 30 pkgs applied, percent: 73% EP:0 total 35 pkgs applied, percent: 85% EP:0 total 40 pkgs applied, percent: 97% EP:0 total 41 pkgs applied, percent: 100% Recover from archive log finished, time used:0.037s. CMD END.CODE:[0] recover successfully. time used: 576.031(ms)
复制
方式二:使用图形console工具
$console
如上选择DMAP方式,保证 DmAPService服务正常
[dmdba@enmoedu1 ~]$ DmAPService status DmAPService (pid 4907) is running.
复制
通过配置按钮添加备份存放的目录,最后获取备份,即可看到所有的备份
如上图选中要还原的备份,之后点击还原,出现如下界面:
点击确定,提示还原成功.
选择表空间恢复,添加恢复过程中使用的归档所在目录:
点击确定,提示恢复成功
启动服务:
[dmdba@enmoedu1 ~]$ DmServiceDMSERVER start Starting DmServiceDMSERVER: [ OK ]
复制
6.3 验证数据
SQL> select * from lmj.test1; 行号 ID ---------- -- 1 10
复制
最后修改时间:2021-09-24 17:50:01
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
全国首部图数据库国家标准发布!达梦数据深度参与!
达梦数据
155次阅读
2025-04-02 09:34:13
达梦数据库快速上手指南
孙莹
125次阅读
2025-04-10 23:35:47
【喜报】您有一件邮件请查收!恭喜您通过达梦DCA/DCP考试~
云贝19941464235
66次阅读
2025-04-02 10:47:26
SQLark 实战 | 一键生成达梦、Oracle、MySQL 数据库 ER 图!
达梦产品与服务
36次阅读
2025-04-02 09:38:07
达梦分布式数据库筑基 全国首个全民健康信息平台成功部署DeepSeek
达梦数据
30次阅读
2025-03-28 14:57:13
梦启数据 智领未来 | 达梦2025届校园招聘持续进行中
达梦数据
26次阅读
2025-04-10 11:52:50
dm8内存参数配置指南
让世界为你转身
24次阅读
2025-04-03 10:16:45
SQLark V3.4 更新 | 百灵说,PG 和春天一起来了!
达梦数据
23次阅读
2025-04-17 10:41:51
达梦数+生态工具套件为AI大模型智能化开发提供更优解
达梦数据
16次阅读
2025-04-08 11:01:32
达梦数据联合卫宁健康打造医疗核心安全场景
达梦数据
13次阅读
2025-04-09 11:01:10