联机备份与恢复
1 开启归档
SQL> alter database mount;
SQL> alter database archivelog;
SQL> alter database add archivelog 'type=local,dest=/arch,file_size=64,space_limit=0';
SQL> alter database open;
SQL> select ARCH_TYPE,ARCH_DEST from v$dm_arch_ini;
2 做完全备份
SQL> BACKUP DATABASE TO FULL_BAK_20250505_01 BACKUPSET '/dm8/backup/db_full_bak_20250505_01';
3 插入数据,做增量备份
SQL> insert into qq.table_uuu values(6,'t');
SQL> BACKUP DATABASE INCREMENT WITH BACKUPDIR '/dm8/backup' BACKUPSET '/dm8/backup/db_increment_bak_20250505_01';
SQL> insert into qq.table_uuu values(7,'y');
SQL> commit;
SQL> select SF_BAKSET_BACKUP_DIR_ADD('DISK','/dm8/backup');
SQL> select backup_name,backup_path from SYS.V$BACKUPSET t;
4 继续插入数据
SQL> insert into qq.table_uuu values(8,'u');
SQL> commit;
5 删除数据文件
6 恢复数据库
[dmdba@localhost DAMENG]$ dmrman
RMAN> check backupset '/dm8/backup/db_increment_bak_20250505_01';
RMAN> RESTORE DATABASE '/dm8/data/DAMENG/dm.ini' FROM BACKUPSET '/dm8/backup/db_increment_bak_20250505_01';
RMAN> recover database '/dm8/data/DAMENG/dm.ini' with archivedir '/arch';
RMAN> RECOVER DATABASE '/dm8/data/DAMENG/dm.ini' UPDATE DB_MAGIC;
7 启动数据库,查询数据
[dmdba@localhost DAMENG]$ DmServiceDM01 start
[dmdba@localhost DAMENG]$ disql sysdba
SQL> select * from qq.table_uuu;
此时已经恢复到最新数据。
文章
阅读量
获赞