本文通过模拟误删用户默认表空间MAIN,并通过备份进行恢复的操作实验
对数据库进行完全备份:
1.1. 创建归档和完整备份目录
mkdir /dm8/backup
mkdir /dm8/arch
1.2. 启用归档并指定归档目录
alter database archivelog;
alter database add archivelog ‘DEST=/dm8/arch, TYPE=LOCAL, FILE_SIZE=64, SPACE_LIMIT=0, ARCH_FLUSH_BUF_SIZE=0’;
1.3. 完整备份数据库
backup database full to “DB_DM01_FULL_2024_06_25_11_58_45” backupset ‘/dm/backup’;
1.4. 将联机日志文件写入归档redo日志
ALTER DATABASE ARCHIVELOG CURRENT;
ALTER SYSTEM ARCHIVE LOG CURRENT;
ALTER SYSTEM SWITCH LOGFILE;
模拟MAIN表空间数据文件被误删
rm MAIN.DBF
重启实例后MAIN表空间处于MOUNT状态
通过备份恢复MAIN表空间
3.1. 停止实例并校验备份集
[dmdba@bin]$ ./DmServiceDMSVR01 stop
[dmdba@bin]$./dmrman
RMAN> check backupset ‘/dm/backup’
RMAN> show backupset ‘/dm/backup’
3.2. 还原表空间
RMAN> restore database ‘/dm/data/DM01/dm.ini’ tablespac MAIN from backupset ‘/dm/backup’;
3.3. 恢复表空间
RMAN> recover database ‘/dm/data/DM01/dm.ini’ tablespace MAIN;
3.4 启动实例,MAIN表空间恢复正常
[dmdba@bin]$ ./DmServiceDMSVR01 start
文章
阅读量
获赞