rman之catalog管理

1、catalog配置

--创建表空间
create tablespace cata datafile 'C:\oracle\product\10.2.0\oradata\rmanxff\cata01.dbf' size 1024m;
--创建用户
 create user cata identified by cata default tablespace cata quota unlimited on cata;
--授权用户
grant create session,resource,recovery_catalog_owner to cata;
--rman连接到catalog数据库rmanxff上
rman catalog cata/cata@rmanxff
--建立恢复目录
create catalog;
--rman连接到target数据库orcl上
connect target sys/xifenfei@orcl
--注册目标数据库
register database;
--catalog登录
rman target sys/xifenfei@orcl catalog cata/cata@rmanxff
--同步catalog 
resync catalog;

控制文件中rman信息保存的时间由control_file_record_keep_time参数决定

2、rman的脚步管理

--创建脚步
create script b{
 backup incremental level 0
 format 'c:\temp\l0_%U.bak' database;
 sql 'alter system archive log current';}
--执行脚本
run{execute script b;}
--print脚步
print script b;
--修改脚本
 replace script b
{backup database format 'c:\temp\11_%U.bak';
sql 'alter system archive log current';}
--删除脚本
delete script b;
--列车脚本
list script names;
--脚本导出到文件
print script b to file 'c:\a.txt';
--文件导入成脚本
create script a from file 'c:\a.txt';
--通过文件修改脚步
replace script b from file 'c:\a.txt';
发表在 Oracle备份恢复 | 评论关闭

oracle之数据备份恢复——不完全恢复

一、用户管理备份的数据库
1、restore备份的数据库
2、startup nomount/mount(看具体情况,如果和控制文件要nomount)
3、三种恢复方式选择
recover database until change scn
recover database until time ‘yyyy-mm-dd hh24:mi:ss’
recover database until cancel
如果利用备份控制文件恢复
在3的后面加上using backup controlfile
4、alter database open resetlogs

二、rman备份的数据库
run{
startup mount;
sql “alter session set nls_date_format =”yyyy-mm-dd hh24:mi:ss””;
set until time=’2010-09-01:20:25:29′;
restore database;
recover database;
alter database open resetlogs;}
使用set until time “to_date(’2010-09-01:20:25:29′,’yyyy-mm-dd hh24:mi:ss’)”

发表在 Oracle备份恢复 | 评论关闭

oracle之备份恢复——数据库备份完全恢复

一、noarchive模式下
1、如果不是磁盘损坏或者像转移数据文件路径,直接拷贝datafile、logfile、controlfile,tempfile文件到原来相对应目录即可
2、如果是磁盘损坏或者要转移路径(备份了全部文件)
1)创建pfile文件,并修改pfile中的controlfile的路径,指到新的控制文件路径,再使用pfile创建spfile(在nomount状态下)
2)启动数据库到mount状态,使用alter database rename file ‘oldname’ to ‘newname’,主要修改datafile、logfile、controlfile文件路径和文件名
3)alter database open

3、没有备份redo file文件
1)创建pfile文件,并修改pfile中的controlfile的路径,指到新的控制文件路径,再使用pfile创建spfile(在nomount状态下)
2)启动数据库到mount状态,使用alter database rename file ‘oldname’ to ‘newname’,主要修改datafile、tempfile,controlfile文件路径和文件名
3)recover database until cancel using backup controlfile;
4)alter database open resetlogs;重建日志文件

二、archive模式
如果是system、undo表空间,要在mount模式下恢复,其他表空间可以在open模式下,使用offline进行恢复,然后online
对表空间对应的datafile执行offline和online操作效果同tablespace
recover database(只能用于mount)
recover datafile(mount和open均可)
recover tablespace(只能用于open)

三、恢复没有备份的数据文件
1、非system表空间文件
2、该数据文件创建后的所有日志文件均存在
3、使用 alter database create datafile ‘filepath’创建文件
4、recover datafile 恢复

四、利用老controlfile文件在表空间有变动的情况下恢复
1、恢复老的controlfile文件到原来控制文件位置
2、recover database using backup controlfile ;尝试着恢复
3、利用日志文件(包括联机在线和归档日志)输入filename,先利用归档日志,然后利用联机日志,然后有数据文件错误的提示
4、查看v$datafile,利用alter database rename file修改奇怪命名的数据文件
如:alter database rename file ‘C:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\UNNAMED0
0007′ to ‘C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\FF01.DBF’;
5、recover database using backup controlfile until cancel;
尝试归档日志和联机日志文件
6、alter database open resetlogs;成功

五、rman备份恢复(本脚本是datafile恢复实例)
run{set newname for datafile 7 to ‘C:\ORACLE\PRODUCT\10.2.0\ORADATA\xifenfei\FF01.DBF’;
restore datafile 7;
switch datafile 7;
recover datafile 7;
alter database open;}

发表在 Oracle备份恢复 | 评论关闭