启动rman并连接数据库
输入rman命令
RMAN> connect target orcl
1.将数据库切换为归档日志模式
要使用rman,首先必须将数据库设置为归档日志(archivelog)模式。打开sql plus,使用sysdba身份登录到orcl实例
查看当前数据库实例的编号、名称和日志模式
select dbid,name,log_mode from V$DATABASE;
如果log_mode字段值等于noarchivelog,设置为归档模式:
关闭数据库
shutdown immediate
再次启动数据库但不打开实例
startup mount
切换为归档日志模式
alter database archivelog
再次确认日志模式
select dbid,name,log_mode from V$DATABASE;
打开数据库实例
alter database open
2.创建保存rman数据的表空间, 表空间数据文件的目录必须提前创建好,否则报错
create tablespace rman_ts datafile ‘表空间数据文件.dbf’ size 200m;
3.创建rman用户并授权,默认表空间rman_ts,临时表空间temp;
create user rman identified by rman default tablespace rman_ts temporary tablespace temp;
grant connect,recovery_catalog_owner,resource to rman;
4.创建恢复目录
rman catalog rman/rman target orcl
RMAN>create catalog tablespace rman_ts;
5.注册目标数据库
RMAN>register database;
备份整个库
RMAN>run {
allocate channel dev1 type disk;
backup database;
release channel dev1;
}
也可以单独备份归档日志文件
RMAN>run {
allocate channel dev1 type disk;
backup archivelog all;
release channel dev1;
}
恢复整个数据库
shutdown immediate
startup force mount
restore database
recover database
alter database open;
恢复表空间
RMAN> SQL “alter tablespace users offline immediate”;
RMAN> restore tablespace users;
RMAN> recover tablespace users;
RMAN> SQL “alter tablespace users online”;
恢复单个数据块
恢复所有被破坏的数据块:
RMAN> RECOVER CORRUPTION LIST;
恢复指定的被破坏的数据块:
查看跟踪文件和告警日志的位置:
SQL> select name,value from V$DIAG_INFO;
恢复数据块时指定数据文件编号和数据块编号:
RMAN> RECOVER DATAFILE 1 BLOCK 233,235 DATAFILE 2 BLOCK 100 TO 200;
恢复归档日志
RMAN> run {
allocate channel dev1 type disk;
restore archivelog all;
release channel dev1;
}