- 浏览: 318637 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
July01:
最近了解到一款StratoIO打印控件,功能如下:1、Html ...
js调用excel、word打印 -
jyangzi5:
[u][/u]引用
常见hibernate面试题 -
wangv:
<code="java">Sy ...
常见hibernate面试题 -
bardo:
建议看看这一个
http://bardo.iteye.com ...
金额数字转中文大写 -
dotjar:
在继续讲解HQL其他更为强大的查询功能前,我们先来讲解以下利用 ...
常见hibernate面试题
RMAN简单使用 目标机A: create tablespace RMAN datafile '$ORACLE_HOME/oradata/FILENAME.DBF' size 20M; RMAN简单使用 目标机A: create tablespace RMAN datafile '$ORACLE_HOME/oradata/FILENAME.DBF' size 20M; create username RMAN ident
RMAN简单使用
目标机A:
create tablespace RMAN datafile '$ORACLE_HOME/oradata/FILENAME.DBF' size 20M;
copyright Sqlclub
RMAN简单使用
目标机A:
create tablespace RMAN datafile '$ORACLE_HOME/oradata/FILENAME.DBF' size 20M;
create username RMAN identified by RMAN default tablespace rman temporary tablespace temp quota unlimited on RMAN; 内容来自Sqlclub.cn
grant recovery_catalog_owner to rman ;
Sqlclub学习社区
rman catalog rman/rman
create catalog tablespace 'RMAN'; 内容来自Sqlclub.cn
Rman主机B:
rman target /
connect catalog rman/rman@$A_SID
注册数据库
register database; Sqlclub学习社区
注销数据库
sqlplus rman/rman
select * from db;
EXECUTE dbms_rcvcat.unregisterdatabase(db_key, db_id); 内容来自Sqlclub.cn
///////////非归档模式使用RMAN备份///////////////////////
备份目标数据库:
rman target /
connect catalog rman/rman@$A_SID Sqlclub.cn
定义通道
allocate channel c1 type disk;
撤消通道
release channel c1;
Sqlclub学习社区
备份整个数据库
run {
allocate channel c1 type disk;
backup full tag full_db_backup
format '/export/home/oracle/oradata/bak_db/db_%d' database
include current controlfile;
release channel c1;
} 本文来自Sqlclub
备份表空间
run {
allocate channel d1 type disk;
backup tag tbs_users_read_only
format '/export/home/oracle/oradata/bak_tab/block_t%t_s%s' (tablespace "BLOCK");
release channel c1;
} Sqlclub
run {
allocate channel d1 type disk;
backup tablespace "BLOCK" filesperset 3 format '/export/home/oracle/oradata/bak_tab/aatst_%d%t%s.%p'
include current controlfile;
release channel c1;
} 内容来自Sqlclub.cn
备份单独数据文件
run {
allocate channel c1 type disk;
backup format '/export/home/oracle/oradata/bak_tab/%d_%u'
(datafile '/export/home/oracle/oradata/ECOM/block01.dbf');
release channel c1;
}
本文来自Sqlclub
复制目标数据库数据文件:
run {
allocate channel c1 type disk;
copy datafile '/export/home/oracle/oradata/ECOM/block02.dbf' to '/export/home/oracle/oradata/bak_tab/block02.dbf' tag=u1215;
release channel c1;
}
copyright Sqlclub
备份控制文件:
run {
allocate channel c1 type disk;
backup format '/export/home/oracle/oradata/bak_cont/cf_t%t_s%s_p%p'
tag cf_monday_night (current controlfile);
release channel c1;
}
copyright Sqlclub
run {
allocate channel d1 type disk;
backup current controlfile format '/export/home/oracle/oradata/bak_tab/%d%t%s.ctl';
} Sqlclub
run {
allocate channel d1 type disk;
copy current controlfile to '/export/home/oracle/oradata/bak_tab/%d%t%s.ctl';
}
内容来自Sqlclub.cn
/////////////////////归档模式使用RMAN备份//////////////////////
归档日志备份:
run {
allocate channel c1 type disk;
backup format '/export/home/oracle/oradata/bak_log/log_t%t_s%s_p%p'
(archivelog all);
release channel c1;
}
Sqlclub.cn
下面的脚本归档日志从# 90 to 100:
run {
allocate channel c1 typye disk;
backup format '/export/home/oracle/oradata/bak_log/log_t%t_s%s_p%p'
(archivelog from logseq=90 until logseq=100 thread 1);
release channel c1;
} 本文来自Sqlclub
下面的脚本备份在24小时内产生的归档日志,在备份完成后会自动删除归档日志。如果备份失败,归档日志不会被删除。
run {
allocate channel c1 type disk;
backup format '/export/home/oracle/oradata/bak_log/log_t%t_s%s_p%p'
(archivelog from time 'sysdate-1' all delete input);
release channel c1;
} copyright Sqlclub
run {
allocate channel c1 type disk;
backup archivelog low logseq 1143 high logseq 1147 thread 1 format 'aaarc%t.%s';
}
内容来自Sqlclub.cn
使用下面的命令显示恢复目录中的归档日志
list backupset of archivelog all; Sqlclub.cn
备份联机日志
run {
allocate channel c1 type disk;
sql "alter system archive log current";
backup format '/export/home/oracle/oradata/bak_log/onlog_t%t_s%s_p%p'
(archivelog from time 'sysdate-1' all delete input);
release channel c1;
} Sqlclub学习社区
备份spfile
run {
allocate channel c1 type disk;
backup spfile tag 'ECOM_spfile' format '/export/home/oracle/oradata/bak_conf/spfile_%t.ora';
release channel c1;
}
copyright Sqlclub
清除联机日志备份
delete copy; 内容来自Sqlclub.cn
/* 如果物理文件被删除,用CROSSCHECK修复 */
crosscheck archivelog all;
Sqlclub
delete noprompt obsolete;
内容来自Sqlclub.cn
列出对应物
list incarnation; 内容来自Sqlclub.cn
概述可用的备份
list backup summary; Sqlclub
按备份类型列出备份
list backup by file;
Sqlclub.cn
列出详细备份
list backup;
本文来自Sqlclub
列出过期备份
list expired backup;
Sqlclub
列出表空间和数据文件备份
list backup of tablespace ;
list backup of datafile;
内容来自Sqlclub.cn
列出归档日志备份
list archivelog all;
list backup of archivelog all; Sqlclub学习社区
列出控制文件和参数文件
list backup of controfile;
list backup of spfile; Sqlclub.cn
检查备份
crosscheck backup;
crosscheck backup of database;
crosscheck backup of tablespace system;
crosscheck backup of controlfile;
crosscheck backup of spfile; 本文来自Sqlclub
删除备份
allocate channel for delete type disk;
change backupset BS Key delete;
delete obsolete; 删除陈旧备份
delete expired backup;
delete backupset id;
delete backup; -- 删除所有备份 本文来自Sqlclub
改变备份集的状态
change backupset id unavailable; -- available
Sqlclub.cn
改为长期备份
change backupset id keep forever logs;
change backupset id keep until time 'sysdate+60' logs;
change backupset id nokeep;
Sqlclub
报告丢弃的备份
report obsolete;
删除丢弃状态的备份
delete obsolete;
Sqlclub.cn
RMAN的crosscheck 命令
1 备份集有两种状态A(Available,RMAN认为该项存在于备份介质上)X(Expired,备份存在于控制文件或恢复目录中,但是并没有物理存在于备份介质上)
2 crosscheck 的目的是检查RMAN 的目录以及物理文件,如果物理文件不存在于介质上,将标记为Expired。如果物理文件存在,将维持Available。如果原先标记为Expired的备份集再次存在于备份介质上(如恢复了损坏的磁盘驱动器后),crosscheck将把状态重新从Expired标记回Available。
3 crosscheck 输出分两部分。第一部分列出确定存在于备份介质上的所有备份集片,第二部分列出不存在于备份介质上的备份集片,并将其标记为Expired。当设置备份保存策略后,一个备份过期,crosscheck之后标记为丢弃的备份状态依旧为availabel,要删除丢弃备份delete obsolete。
4 示例:
本文来自Sqlclub
crosscheck backup
crosscheck backup of datafile 1;
crosscheck backup of tablespace users;
crosscheck backup of controfile;
crosscheck backup of controlfile;
crosscheck backup tag='SAT_BACKUP';
crosscheck backup completed after 'sysdate - 2'
crosscheck backup completed between 'sysdate - 5' and 'sysdate -2 '
crosscheck backup device type sbt;
crosscheck archivelog all;
crosscheck archivelog like '%ARC00012.001'
crosscheck archivelog from sequence 12;
crosscheck archivelog until sequence 522; 内容来自Sqlclub.cn
概述可用的备份
list backup summary;
得到了备份集得主键ID如40
validate backupset 40; 内容来自Sqlclub.cn
命令删除备份集
change backupset ID1,ID2,ID3 delete;
change backuppiece ID1 delete;
change archivelog until logseq=ID1 delete; 本文来自Sqlclub
要查看标记为丢弃的备份
report obsolete;
只有使用
delete obsolete才真正物理删除。
Sqlclub.cn
手工同步恢复目录
resync catalog;
Sqlclub
--查看RMAN的信息
list backup
--列出过期备份
report obsolete;
--删除过期的备份
allocate channel for maintenance type disk;
--allocate channel for delete type disk;
change datafilecopy 44 delete;
release channel;
--如果目标数据库物理对象发生了变化,如添加了一个数据文件,需要用如下命令同步
resync catalog;
--如果目标数据库reset了数据库,需要用如下命令同步
reset database;
--当手工删除了数据库的归档文件后,要执行以下脚本同步
allocate channel for maintenance type disk;
--allocate channel for delete type disk;
change archivelog all crosscheck;
release channel;
--当手工删除了数据库的RMAN备份后,要执行以下脚本来同步
allocate channel for maintenance type disk;
crosscheck backup;
delete expire backup;
release channel;
内容来自Sqlclub.cn
内容来自Sqlclub.cn
/////////////////增量备份//////////////
Level 0 是增量备份策略的基础
run {
allocate channel c1 type disk;
backup incremental level 0 filesperset 4 format '/export/home/oracle/oradata/bak_db/sunday_level0_%t'
(database);
release channel c1;
}
本文来自Sqlclub
==================Recovery 恢复==================
0.恢复控制文件(以前必须有过控制文件的备份)
startup nomount
rman target/
connect catalog rman/rman
(数据库在nomount的时候才能set DBID)
set DBID=3287725908
copyright Sqlclub
1.Datafile recovery 数据文件恢复
run {
allocate channel c1 type disk;
sql "alter tablespace TB_name offline immediate";
restore datafile 4;
recover datafile 4;
sql "alter tablespace TB_name online";
release channel c1;
}
Sqlclub.cn
2.Tablespace recovery 表空间恢复
run {
allocate channel c1 type disk;
sql "alter tablespace TB_name offline immediate";
restore tablespace TB_name;
recover tablespace TB_name;
sql "alter tablespace TB_name online";
release channel c1;
} Sqlclub学习社区
如果还原系统表空间文件,数据库必须关闭,因为系统表空间不可以脱机 Sqlclub
=======完全还原(丢失联机日志)并且前滚 - 数据库关闭=======
run {
allocate channel c1 type disk;
set until logseq=105 thread=1;
restore controlfile to '/export/home/oracle/oradata/ECOM/control01.ctl'
replicate controlfile from '/export/home/oracle/oradata/bak_cont/ctrltargdb.ctl' ;
restore database;
sql "alter database mount";
recover database;
sql "alter database open resetlogs";
release channel c1;
}
'set until' 命令指明恢复到指定的日志文件。这一点在数据文件恢复时很重要,否则RMAN将试图恢复最近的数据文件,该数据文件可能在指定的日志以前。
'replicate controlfile' 复制还原的控制文件到INIT.ORA指定的控制文件。
如果数据库使用WITH RESETLOGS打开,则需要使用RESET DATABASE命令注册改变后的数据库。在使用RESETLOGS命令打开数据库后强烈建议做一个完全的数据库备份。
copyright Sqlclub
还原数据文件的子集,完全恢复
run {
allocate channel c1 type disk;
sql "alter database mount";
restore datafile 2;
restore datafile 3;
restore archivelog all;
recover database;
sql "alter database open";
release channel c1;
}
Sqlclub
恢复表空间
startup mount copyright Sqlclub
rman target /
run { allocate channel c1 type disk ; restore tablespace 'TB_NAME';recover tablespace 'TB_NAME';}
或者
run { allocate channel c1 type disk ; restore database ;recover database ;}
Sqlclub学习社区
sqlplus /nolog
alter database open; 本文来自Sqlclub
脚本
create script alloc_disk {
Allocates one disk
allocate channel c1 type disk;
setlimit channel c1 kbytes 2097150 maxopenfiles 32 readrate 200;
}
Sqlclub学习社区
replace script rel_disk {
releases disk
release channel c1;
} copyright Sqlclub
replace script backup_db_full {
execute script alloc_disk;
backup
.....<backup commands here>
execute script rel_disk;
}
前两个脚本分别用来分配和回收通道。
alloc_disk 脚本还额外指定了备份片的最大兆字节数,备份时可以同时打开的输入文件的最大数目,以及每秒钟读每个输入文件的数据缓冲区的最大数目。
第三个脚本调用先前的两个脚本进行数据库备份。
copyright Sqlclub
运行脚本的示范:
run {
execute script backup_db_full;
}
本文来自Sqlclub
查看备份及复制的信息
list backup;
list copy;
Sqlclub.cn
copyright Sqlclub
在备份是设置相关参数
format --文件输出格式,
%d--database name, (SID)
%t--tablespace name,
%s--backup sets sequence number,
%p--backup pieces sequence number
Sqlclub学习社区
脚本
create script alloc_disk {
Allocates one disk
allocate channel c1 type disk;
setlimit channel c1 kbytes 2097150 maxopenfiles 32 readrate 200;
} 内容来自Sqlclub.cn
replace script rel_disk {
releases disk
release channel c1;
} copyright Sqlclub
replace script backup_db_full {
execute script alloc_disk;
backup
.....<backup commands here>
execute script rel_disk;
}
前两个脚本分别用来分配和回收通道。
alloc_disk 脚本还额外指定了备份片的最大兆字节数,备份时可以同时打开的输入文件的最大数目,以及每秒钟读每个输入文件的数据缓冲区的最大数目。
第三个脚本调用先前存储的两个脚本进行数据库备份。 Sqlclub.cn
运行存储脚本的示范:
run {
execute script backup_db_full;
}
RMAN简单使用
目标机A:
create tablespace RMAN datafile '$ORACLE_HOME/oradata/FILENAME.DBF' size 20M;
copyright Sqlclub
RMAN简单使用
目标机A:
create tablespace RMAN datafile '$ORACLE_HOME/oradata/FILENAME.DBF' size 20M;
create username RMAN identified by RMAN default tablespace rman temporary tablespace temp quota unlimited on RMAN; 内容来自Sqlclub.cn
grant recovery_catalog_owner to rman ;
Sqlclub学习社区
rman catalog rman/rman
create catalog tablespace 'RMAN'; 内容来自Sqlclub.cn
Rman主机B:
rman target /
connect catalog rman/rman@$A_SID
注册数据库
register database; Sqlclub学习社区
注销数据库
sqlplus rman/rman
select * from db;
EXECUTE dbms_rcvcat.unregisterdatabase(db_key, db_id); 内容来自Sqlclub.cn
///////////非归档模式使用RMAN备份///////////////////////
备份目标数据库:
rman target /
connect catalog rman/rman@$A_SID Sqlclub.cn
定义通道
allocate channel c1 type disk;
撤消通道
release channel c1;
Sqlclub学习社区
备份整个数据库
run {
allocate channel c1 type disk;
backup full tag full_db_backup
format '/export/home/oracle/oradata/bak_db/db_%d' database
include current controlfile;
release channel c1;
} 本文来自Sqlclub
备份表空间
run {
allocate channel d1 type disk;
backup tag tbs_users_read_only
format '/export/home/oracle/oradata/bak_tab/block_t%t_s%s' (tablespace "BLOCK");
release channel c1;
} Sqlclub
run {
allocate channel d1 type disk;
backup tablespace "BLOCK" filesperset 3 format '/export/home/oracle/oradata/bak_tab/aatst_%d%t%s.%p'
include current controlfile;
release channel c1;
} 内容来自Sqlclub.cn
备份单独数据文件
run {
allocate channel c1 type disk;
backup format '/export/home/oracle/oradata/bak_tab/%d_%u'
(datafile '/export/home/oracle/oradata/ECOM/block01.dbf');
release channel c1;
}
本文来自Sqlclub
复制目标数据库数据文件:
run {
allocate channel c1 type disk;
copy datafile '/export/home/oracle/oradata/ECOM/block02.dbf' to '/export/home/oracle/oradata/bak_tab/block02.dbf' tag=u1215;
release channel c1;
}
copyright Sqlclub
备份控制文件:
run {
allocate channel c1 type disk;
backup format '/export/home/oracle/oradata/bak_cont/cf_t%t_s%s_p%p'
tag cf_monday_night (current controlfile);
release channel c1;
}
copyright Sqlclub
run {
allocate channel d1 type disk;
backup current controlfile format '/export/home/oracle/oradata/bak_tab/%d%t%s.ctl';
} Sqlclub
run {
allocate channel d1 type disk;
copy current controlfile to '/export/home/oracle/oradata/bak_tab/%d%t%s.ctl';
}
内容来自Sqlclub.cn
/////////////////////归档模式使用RMAN备份//////////////////////
归档日志备份:
run {
allocate channel c1 type disk;
backup format '/export/home/oracle/oradata/bak_log/log_t%t_s%s_p%p'
(archivelog all);
release channel c1;
}
Sqlclub.cn
下面的脚本归档日志从# 90 to 100:
run {
allocate channel c1 typye disk;
backup format '/export/home/oracle/oradata/bak_log/log_t%t_s%s_p%p'
(archivelog from logseq=90 until logseq=100 thread 1);
release channel c1;
} 本文来自Sqlclub
下面的脚本备份在24小时内产生的归档日志,在备份完成后会自动删除归档日志。如果备份失败,归档日志不会被删除。
run {
allocate channel c1 type disk;
backup format '/export/home/oracle/oradata/bak_log/log_t%t_s%s_p%p'
(archivelog from time 'sysdate-1' all delete input);
release channel c1;
} copyright Sqlclub
run {
allocate channel c1 type disk;
backup archivelog low logseq 1143 high logseq 1147 thread 1 format 'aaarc%t.%s';
}
内容来自Sqlclub.cn
使用下面的命令显示恢复目录中的归档日志
list backupset of archivelog all; Sqlclub.cn
备份联机日志
run {
allocate channel c1 type disk;
sql "alter system archive log current";
backup format '/export/home/oracle/oradata/bak_log/onlog_t%t_s%s_p%p'
(archivelog from time 'sysdate-1' all delete input);
release channel c1;
} Sqlclub学习社区
备份spfile
run {
allocate channel c1 type disk;
backup spfile tag 'ECOM_spfile' format '/export/home/oracle/oradata/bak_conf/spfile_%t.ora';
release channel c1;
}
copyright Sqlclub
清除联机日志备份
delete copy; 内容来自Sqlclub.cn
/* 如果物理文件被删除,用CROSSCHECK修复 */
crosscheck archivelog all;
Sqlclub
delete noprompt obsolete;
内容来自Sqlclub.cn
列出对应物
list incarnation; 内容来自Sqlclub.cn
概述可用的备份
list backup summary; Sqlclub
按备份类型列出备份
list backup by file;
Sqlclub.cn
列出详细备份
list backup;
本文来自Sqlclub
列出过期备份
list expired backup;
Sqlclub
列出表空间和数据文件备份
list backup of tablespace ;
list backup of datafile;
内容来自Sqlclub.cn
列出归档日志备份
list archivelog all;
list backup of archivelog all; Sqlclub学习社区
列出控制文件和参数文件
list backup of controfile;
list backup of spfile; Sqlclub.cn
检查备份
crosscheck backup;
crosscheck backup of database;
crosscheck backup of tablespace system;
crosscheck backup of controlfile;
crosscheck backup of spfile; 本文来自Sqlclub
删除备份
allocate channel for delete type disk;
change backupset BS Key delete;
delete obsolete; 删除陈旧备份
delete expired backup;
delete backupset id;
delete backup; -- 删除所有备份 本文来自Sqlclub
改变备份集的状态
change backupset id unavailable; -- available
Sqlclub.cn
改为长期备份
change backupset id keep forever logs;
change backupset id keep until time 'sysdate+60' logs;
change backupset id nokeep;
Sqlclub
报告丢弃的备份
report obsolete;
删除丢弃状态的备份
delete obsolete;
Sqlclub.cn
RMAN的crosscheck 命令
1 备份集有两种状态A(Available,RMAN认为该项存在于备份介质上)X(Expired,备份存在于控制文件或恢复目录中,但是并没有物理存在于备份介质上)
2 crosscheck 的目的是检查RMAN 的目录以及物理文件,如果物理文件不存在于介质上,将标记为Expired。如果物理文件存在,将维持Available。如果原先标记为Expired的备份集再次存在于备份介质上(如恢复了损坏的磁盘驱动器后),crosscheck将把状态重新从Expired标记回Available。
3 crosscheck 输出分两部分。第一部分列出确定存在于备份介质上的所有备份集片,第二部分列出不存在于备份介质上的备份集片,并将其标记为Expired。当设置备份保存策略后,一个备份过期,crosscheck之后标记为丢弃的备份状态依旧为availabel,要删除丢弃备份delete obsolete。
4 示例:
本文来自Sqlclub
crosscheck backup
crosscheck backup of datafile 1;
crosscheck backup of tablespace users;
crosscheck backup of controfile;
crosscheck backup of controlfile;
crosscheck backup tag='SAT_BACKUP';
crosscheck backup completed after 'sysdate - 2'
crosscheck backup completed between 'sysdate - 5' and 'sysdate -2 '
crosscheck backup device type sbt;
crosscheck archivelog all;
crosscheck archivelog like '%ARC00012.001'
crosscheck archivelog from sequence 12;
crosscheck archivelog until sequence 522; 内容来自Sqlclub.cn
概述可用的备份
list backup summary;
得到了备份集得主键ID如40
validate backupset 40; 内容来自Sqlclub.cn
命令删除备份集
change backupset ID1,ID2,ID3 delete;
change backuppiece ID1 delete;
change archivelog until logseq=ID1 delete; 本文来自Sqlclub
要查看标记为丢弃的备份
report obsolete;
只有使用
delete obsolete才真正物理删除。
Sqlclub.cn
手工同步恢复目录
resync catalog;
Sqlclub
--查看RMAN的信息
list backup
--列出过期备份
report obsolete;
--删除过期的备份
allocate channel for maintenance type disk;
--allocate channel for delete type disk;
change datafilecopy 44 delete;
release channel;
--如果目标数据库物理对象发生了变化,如添加了一个数据文件,需要用如下命令同步
resync catalog;
--如果目标数据库reset了数据库,需要用如下命令同步
reset database;
--当手工删除了数据库的归档文件后,要执行以下脚本同步
allocate channel for maintenance type disk;
--allocate channel for delete type disk;
change archivelog all crosscheck;
release channel;
--当手工删除了数据库的RMAN备份后,要执行以下脚本来同步
allocate channel for maintenance type disk;
crosscheck backup;
delete expire backup;
release channel;
内容来自Sqlclub.cn
内容来自Sqlclub.cn
/////////////////增量备份//////////////
Level 0 是增量备份策略的基础
run {
allocate channel c1 type disk;
backup incremental level 0 filesperset 4 format '/export/home/oracle/oradata/bak_db/sunday_level0_%t'
(database);
release channel c1;
}
本文来自Sqlclub
==================Recovery 恢复==================
0.恢复控制文件(以前必须有过控制文件的备份)
startup nomount
rman target/
connect catalog rman/rman
(数据库在nomount的时候才能set DBID)
set DBID=3287725908
copyright Sqlclub
1.Datafile recovery 数据文件恢复
run {
allocate channel c1 type disk;
sql "alter tablespace TB_name offline immediate";
restore datafile 4;
recover datafile 4;
sql "alter tablespace TB_name online";
release channel c1;
}
Sqlclub.cn
2.Tablespace recovery 表空间恢复
run {
allocate channel c1 type disk;
sql "alter tablespace TB_name offline immediate";
restore tablespace TB_name;
recover tablespace TB_name;
sql "alter tablespace TB_name online";
release channel c1;
} Sqlclub学习社区
如果还原系统表空间文件,数据库必须关闭,因为系统表空间不可以脱机 Sqlclub
=======完全还原(丢失联机日志)并且前滚 - 数据库关闭=======
run {
allocate channel c1 type disk;
set until logseq=105 thread=1;
restore controlfile to '/export/home/oracle/oradata/ECOM/control01.ctl'
replicate controlfile from '/export/home/oracle/oradata/bak_cont/ctrltargdb.ctl' ;
restore database;
sql "alter database mount";
recover database;
sql "alter database open resetlogs";
release channel c1;
}
'set until' 命令指明恢复到指定的日志文件。这一点在数据文件恢复时很重要,否则RMAN将试图恢复最近的数据文件,该数据文件可能在指定的日志以前。
'replicate controlfile' 复制还原的控制文件到INIT.ORA指定的控制文件。
如果数据库使用WITH RESETLOGS打开,则需要使用RESET DATABASE命令注册改变后的数据库。在使用RESETLOGS命令打开数据库后强烈建议做一个完全的数据库备份。
copyright Sqlclub
还原数据文件的子集,完全恢复
run {
allocate channel c1 type disk;
sql "alter database mount";
restore datafile 2;
restore datafile 3;
restore archivelog all;
recover database;
sql "alter database open";
release channel c1;
}
Sqlclub
恢复表空间
startup mount copyright Sqlclub
rman target /
run { allocate channel c1 type disk ; restore tablespace 'TB_NAME';recover tablespace 'TB_NAME';}
或者
run { allocate channel c1 type disk ; restore database ;recover database ;}
Sqlclub学习社区
sqlplus /nolog
alter database open; 本文来自Sqlclub
脚本
create script alloc_disk {
Allocates one disk
allocate channel c1 type disk;
setlimit channel c1 kbytes 2097150 maxopenfiles 32 readrate 200;
}
Sqlclub学习社区
replace script rel_disk {
releases disk
release channel c1;
} copyright Sqlclub
replace script backup_db_full {
execute script alloc_disk;
backup
.....<backup commands here>
execute script rel_disk;
}
前两个脚本分别用来分配和回收通道。
alloc_disk 脚本还额外指定了备份片的最大兆字节数,备份时可以同时打开的输入文件的最大数目,以及每秒钟读每个输入文件的数据缓冲区的最大数目。
第三个脚本调用先前的两个脚本进行数据库备份。
copyright Sqlclub
运行脚本的示范:
run {
execute script backup_db_full;
}
本文来自Sqlclub
查看备份及复制的信息
list backup;
list copy;
Sqlclub.cn
copyright Sqlclub
在备份是设置相关参数
format --文件输出格式,
%d--database name, (SID)
%t--tablespace name,
%s--backup sets sequence number,
%p--backup pieces sequence number
Sqlclub学习社区
脚本
create script alloc_disk {
Allocates one disk
allocate channel c1 type disk;
setlimit channel c1 kbytes 2097150 maxopenfiles 32 readrate 200;
} 内容来自Sqlclub.cn
replace script rel_disk {
releases disk
release channel c1;
} copyright Sqlclub
replace script backup_db_full {
execute script alloc_disk;
backup
.....<backup commands here>
execute script rel_disk;
}
前两个脚本分别用来分配和回收通道。
alloc_disk 脚本还额外指定了备份片的最大兆字节数,备份时可以同时打开的输入文件的最大数目,以及每秒钟读每个输入文件的数据缓冲区的最大数目。
第三个脚本调用先前存储的两个脚本进行数据库备份。 Sqlclub.cn
运行存储脚本的示范:
run {
execute script backup_db_full;
}
发表评论
-
Oracle 11g pl/sql学习笔记(一)
2010-09-26 20:39 1352Oracle 11g pl/sql学习笔记 示例数据库 H ... -
Oracle触发器详细介绍
2010-01-06 16:41 1011触发器 是特定事件出现的时候,自动执行的代码块。类似于存储过 ... -
两个经典的Oracle触发器示例
2010-01-06 16:35 1035【案例一】 题目: --触发器: --添加员工信息,流水号作 ... -
Oracle触发器的概念和类型
2010-01-06 16:24 9761. 引言 2. 触发器的概念 ... -
Oracle rman catalog备份
2009-11-20 09:42 1685config_rman.sh: echo 'please ... -
海明作品:傻瓜式实战Oracle 10g RMAN之数据库备份和恢复系列 合集
2009-11-04 15:27 4767海明作品:傻瓜式实战Oracle 10g RMAN之数据库备份 ... -
使用distinct无法解决查询其中某个字段不重复记录吗?
2009-11-01 22:17 1709下面先来看看例子: table id name ... -
请教linux下如何对oracle做rman自动备份?
2009-10-27 22:43 580目前只做了exp备份,要求用rman做,试了几天无果,请教大家 ... -
数据库查询详细解答
2009-10-27 22:32 1086--建立学生表 create table stud ... -
sql基础
2009-10-27 21:36 847一个表student,三个字段,classicid,age,n ... -
根据网上资料整理的Oracle PLSQL文档资料
2009-10-27 20:34 2475本文档基于Ubuntu8.04 Oracle版本为 10g x ... -
ermp项目oracle脚本
2009-10-27 19:03 1159create tablespace ERMP datafile ...
相关推荐
Oracle RMAN(Recovery Manager)是Oracle数据库管理系统中的一个强大工具,专门用于数据库备份和恢复操作。RMAN通过与数据库服务器交互,可以执行多种备份策略,确保数据的安全性和可用性。下面将详细介绍RMAN的...
值得注意的是,在实施RMAN备份命令之前,应该确保了解每个命令的作用,以及在备份和恢复过程中可能遇到的问题和解决方案。同时,为了确保数据的安全,应定期进行备份,并在不同的物理位置存储备份,以免单点故障导致...
### Oracle RMAN备份命令详解 #### 一、RMAN(Recovery Manager)简介 RMAN是Oracle数据库系统中用于数据库备份、恢复以及灾难恢复的重要工具。通过RMAN,DBA可以执行各种类型的备份操作,包括全备、增量备份、表...
Oracle 数据库在线备份原理 Oracle 数据库在线备份原理是指在 Oracle 数据库中对数据库进行在线备份的基本原理和方法。该原理是基于 Oracle 数据库的基本概念和机制,包括表、数据查询语句、DML 语句和 DDL 语句等...
RMAN备份命令详解 RMAN(Recovery Manager)是Oracle数据库备份和恢复的工具,提供了多种备份方式和恢复选项。下面是RMAN备份命令的详细解释: 一、切换服务器归档模式 在开始备份之前,需要切换服务器到归档模式...
以下是对"windows下oracle rman备份 计划任务"这一主题的详细解释。 首先,了解RMAN的基本概念是非常重要的。RMAN是一种命令行工具,可以直接与数据库实例交互,执行备份和恢复操作。它可以备份数据文件、控制文件...
Oracle 12c 备份恢复-RMAN 工具技术手册 本文档旨在提供 Oracle 12c 备份恢复的技术手册,主要介绍 RMAN 工具的概念、架构、备份类型和使用方法。 一、RMAN 概念 RMAN(Recovery Manager)是 Oracle 推荐的备份和...
三、rman备份演练初级篇 四、rman备份演练进阶篇 五、rman外传-基础资料篇1 六、实战rman备份 七、rman外传-基础资料篇2 八、演练rman恢复 九、实战rman恢复(1)丢失控制文件的恢复 十、实战rman恢复(2)恢复到异机 11...
创建一个RMAN备份脚本,包含所需的备份命令和选项,如备份类型、备份目标位置、是否压缩等。例如: ```sql run { backup database plus archivelog format 'D:\Oracle\Backup\%U'; configure retention policy to ...
以下是一个详细的Oracle RMAN备份恢复过程的概述: 1. 创建RMAN Repository: 在开始备份前,需要设置一个RMAN的存储库,它保存了所有备份相关的元数据。在示例中,通过`createrman_db1.sh`脚本创建了一个新的...
Oracle Recovery Manager(RMAN)是Oracle数据库管理系统中的一个重要组件,专为数据库的备份、恢复和维护设计。RMAN 自从Oracle 8版本开始引入,并在后续版本中不断加强和完善,尤其在Oracle 9i中展现出更为强大的...
### ORACLE RMAN备份恢复指南 #### 引言 本文旨在详细介绍Oracle RMAN(Recovery Manager)备份与恢复的相关操作及技术要点。RMAN作为Oracle官方提供的强大工具,专为数据库备份、恢复以及灾难恢复而设计。对于...
当使用恢复目录来管理RMAN备份和恢复操作时,可以在恢复目录中编写脚本,并通过`run`模块来执行这些脚本。 **示例**: ```sql RMAN> run { execute script recov_01; } ``` 这将执行名为`recov_01`的脚本。 ##### ...
### ORACLE RMAN备份脚本知识点解析 #### 一、RMAN简介 RMAN(Recovery Manager)是Oracle数据库提供的一种强大的数据恢复管理工具。它主要用于执行物理备份、恢复操作及灾难恢复等任务。通过RMAN可以实现对数据库...
在crond的配置文件`/etc/crontab`中,计划任务命令的执行格式如果设置不当,则会导致Oracle RMAN备份脚本无法正常执行。具体来说,crond的执行身份通常是root,而Oracle RMAN备份脚本却需要以oracle用户的身份运行...
### Oracle RMAN备份脚本详解 #### 背景与概述 在Oracle数据库管理中,RMAN(Recovery Manager)是一种强大的工具,用于备份、恢复和灾难恢复等操作。RMAN能够提供完整的数据库备份和恢复解决方案,对于Oracle RAC...