Rman学习笔记记录

记录前段时间学习ORACLE10g  (10.2.0 )RMAN笔记
1.
sqlplus /nolog
conn / as sysdba;
archive log list;--看是否具有备份条件
--database log mod   Archive Mod
--Automatic archival Enabled
修改方式  切换的归档模式备份
startup mount
alter database archivelog;

2.
raman
或者
rman nocatalog

connect target /    --连接到目标数据库

list backupset;

backup database;
备份数据库 也叫全备份

backup database format='d:\oralce\....';

sql "Alter System Archive Log Current";

Backup filesperset 10 ArchiveLog all format='d:\oracle\...'

 


list backupset;--查看

3. 非catalog方式备份
show all;
---自动备份控制文件
CONFIGURE CONTROLFILE AUTOBACK OFF;
CONFIGURE CONTROLFILE AUTOBACK ON;

0级增量备份
backup incremental level=0 database;
或者
backup incremental level 0 database;

0级别和全备份的基本完全一样
0级备份可以继续进行后面的备份 是基础 而全备份不行

list bacupset;

1级增量备份 必须在0级增量备份基础之上
backup incremental level 1 database;

list bacupset;

4.备份archivelog
backup database plus archivelog delete input;--备份基本上所有的数据库文件 删除归档日志文件


/*
在rman下一样的启动数据库
startup --mount nomount
--启动监听
lsnrctl  start
*/


5. 备份表空间
report schema;

backup tablespace chmoddata;

list backupset;

6. 备份控制文件
backup current controlfile;--只备份当前的控制文件

backup database include current controlfile;--在备份database时备份控制文件


list backupset;

--恢复时数据库会自动拿到最新时间的

备份集 backupset
镜像备份 image copies

report schema;


copy datafile 5 to 'd:\oracle\product\10.2.0\bak';

list copy;--历史拷贝


7. 单命令 批命令
backup database;--单
run{            --批
allocate channel cha1 type disk;--disk磁盘 tps磁带
backup
format 'd:\oracle\product\10.2.0\bak\full_%t'
tag 'full-backup'
database; --incremental level 0 database;
release channel cha1;
}

--%d 数据库名称  %T年月日格式 %t备份集时间戳


--channel 是rman和目标数据库之间的一个连接


rman工具 在A Target Database B Auxiliary Database
           C Disk/SBT Tape   D Catalog Database/Controlfile
同时连接以上各种Database 将数据放到Disk/Tps
用来连接、备份、恢复数据库、拷贝等
(下面是一套备份方案)

0  周日 level 0
1  周一 level 2
2  周二 level 2
3  周三 level 1
4  周四 level 2
5  周五 level 2
6  周六 level 2

差量增量备份
增量增量备份 博客上介绍


0级增量备份的脚本bakl0
run{
allocate channel c1 type disk;
backup
incremental level 0
format 'd:\oracle\product\10.2.0\bak\inc0_%u_%T'
tag 'monday_incr0'
databse;
release channel c1;
}

 

1级增量备份的脚本 bakl1
run{
allocate channel c1 type disk;
backup
incremental level 1
format 'd:\oracle\product\10.2.0\bak\inc1_%u_%T'
tag 'monday_incr1'
databse;
release channel c1;
}


2级增量备份的脚本bakl2
run{
allocate channel c1 type disk;
backup
incremental level 2
format 'd:\oracle\product\10.2.0\bak\inc2_%u_%T'
tag 'monday_incr2'
databse;
release channel c1;
}

unix:  crontab -e 30 6 * * 1
执行脚本
rman target / msglog='d:\oracle\bakl0.log' cmdfile='d:\oracle\product\10.2.0\bak\bak10';
时间较长
rman target / msglog='d:\oracle\bakl1.log' cmdfile='d:\oracle\product\10.2.0\bak\bak11';

rman target / msglog='d:\oracle\bakl2.log' cmdfile='d:\oracle\product\10.2.0\bak\bak12';


8. 备份恢复
Configure controlfile autobackup on;
前提是需要记得DBID

show all;

configure controlfile autobackup off;
configure controlfile autobackup on;

list backupset;


delete backupset 24;

--configure controlfile autobackup on;
backup format 'd:\oracle\product\10.2.0\bak\full_%T_%t.bak' database plus archivelog;
将会自动备份控制文件


9. 口令文件丢失    需要记住的是DBID参数值
orapw file=orapwsid password=pass entries=5;

10. spfile丢失
数据库启动为nomount  启动实例 但是不读取参数文件和控制文件

rman target /
startup nomount;

set dbid=111111;

restore spfile from autobackup;
--no autobackup found
如果找不到,直接找到指定文件路径

restore spfile from 'd:\oracle\product\10.2.0\bak\....bkp';
再查看spfile文件是否生成了

shutdown immediate;
(set dbid=111111)

startup

如果startup启动有问题 再设置下面
set dbid=1111111;
再启动startup

11. 控制文件丢失恢复 *.ctl
数据库启动为nomount   ---shutdown abort;

rman target /
startup nomount;

restore controlfile from autobackup;

alter database mount;

recover database;

alter database open resetlogs;


rman>sql "select * from dual;";


12. Redolog file恢复丢失的*.log   --sequence存储 相关

rman target /
(sqlplus /nolog  conn / a sysdba;)

shutdown immediate;

startup mount;
---有时需要增加下面的一句话运行启动 认证的问题  需要在sqlplus 的连接情况下
recover database until cancel;

alter database open resetlogs;


13. datafile丢失的恢复  更恢复表空间大致一样
--先删除一个datafile文件
rman target /

reprot schema;---555
----只要将表空间置为offline
sql "alter database  datafile 5 offline";--在rman下面执行SQL语句

restore datafile 5;

recover datafile 5;

sql "alter database datafile 5 online";
---alter database open resetlogs;  //可能丢失数据 清空了数据 需要full database backup;
---必须有全备份 才能继续操作该条语句alter database open resetlogs;

14.tablespace丢失恢复
rman target /

sql "alter tablespace users offline";
(sql "alter tablespace users offline immediate";)--不正常时加上immediate

restore tablespace tbs1;

recover tablespace tbs1;

sql "alter tablespace tbs1 online";

登入验证数据是否恢复存在


15. 非catalog方式的完全的恢复
先删除oral下面的所有文件
rman target /  ;----就会报错丢失掉控制文件
---如果连spfile文件 就应该首先将spfile文件给恢复 再是控制文件
sqlplus /nolog
conn / as sysdba;
shutdown abort;

rman target /

startup nomount;

restore controlfile from autobackup;

alter database mount;

restore database;

recover database;---应该报错问题, 因为 online redolog文件不存在
(recover database until cancel;)--sqlplus

sqlplus /nolog
conn  / as sydba;

(recover database until cancel;)--估计还是会有问题

--------------------------------------------------
sqlplus /nolog
conn  / as sydba;
create pfile from spfile;
在文件的末尾添加一行
initorcl.ora---文本文件格式的   允许没有redolog文件时执行恢复
*._allow_resetlogs_corruption='TRUE'


再次
sqlplus /nolog
conn / as sysdba;

shutdown immediate;

startup pfile='D:\oracle\product\10.2.0\db_1\dbs\initorcl.ora' mount;

alter database open resetlogs;---sequence 从1开始了 一般而言会存在文件的丢失


16. 基于时间的恢复
run{
set until time "to_date('09/05/03 15:00:00','yy/mm/dd hh24:mi:ss')"
restore database;
recover database;
alter database oepn resetlogs;--不完全恢复 数据会丢失
}


17. 基于SCN的恢复
shutdown immediate;
startup mount;

restore database UNTIL SCN 10000;
recover database UNTIL SCN  10000;
alter database open resetlogs;--不完全恢复


report schema;
list backup;---这些内容全部存储在你控制文件中的
list backupset;


crosscheck backup;
delete;--删除你的目录和你的真实文件
delete backupset 38;--删除你的目录和你的真实文件


18.catalog模式下面的操作将备份集信息存在我们的rman的表空间中了 不像以前那样将数据是存在系统的控制文件 中的
sqlplus /nolog
conn / as sysdba;

create tablespace rman_ts datafile 'D:\oracle\product\10.2.0\oradata\orcl\rmants.dbf' size 20M;
(create tablespace rman_ts datafile 'D:\oracle\product\10.2.0\oradata\orcl\rmants.dbf' reuse;)


create user rman identified by rman default tablespace
rman_ts quota unlimited on rman_ts;

grant recovery_catalog_owner to rman;--已经具备了connect和resource的权限了

exit

rman catalog rman/rman;

create catalog tablespace rman_ts;

register database;

connect target /

connect target / catalog rman/rman;---前部分代表target database 后部分代表catalog database;
(connected to recovery catalog database)

backup database;
---全备份
backup format 'd:\oracle\product\10.2.0\orcl\....'  database;

 

-----------------10-02-20-----------------------
-----备份好所有的文件除(日志文件和口令参数文件)  最后删除原来的归档日志文件  腾出空间
backup database plus archivelog delete input;

--备份表空间
backup tablespace user;
--备份当前的控制文件
backup current controlfile;
--备份数据库 包含控制文件
backup database include current controlfile ;


--查看数据库表空间
report schema;

---直接拷贝文件
copy datafile 5  to 'd:\oracle\product\10.2.0\bak\tbs.dbf';

--拷贝
list copy;


---批命令执行备份
run{
allocate channel cha1 type disk;
backup format 'd:\oracle\product\...\full_%t'
tag full_backup_bat
database;
release channel cha1;
}

 

-----备份时自动备份控制文件和spfile参数文件
show all;

configure controlfile autobackup on;

---处理口令文件  dbs 目录下面
orapwd file=orapwherming password=pass1234 entries=5;

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值