oracle bfile备份,整理的一些oracle备份笔记 (zt)
1.联机热备份的一般步骤:
a.设置数据库为archivelog模式
startup mount;
alter system set log_archive_dest_n='location=d:oraclearchive'; --修改spfile设置归档目录
alter database archivelog ;
archive log start;
alter database open;
arvchive log list;
b.开始备份表空间(数据文件)
alter tablespace TABLESPACENAME begin backup;
/*此时属于该表空间的数据文件标志为hot-backup-in-progress,
并对所有的数据文件设置检查点
这意味着属于这些文件的任何脏缓冲区都将写入磁盘*/
ocopy DATAFILES_OF_TABLESPACE DEST_OF_BACKUP;(WINDOWS)
cp DATAFILES_OF_TABLESPACE DEST_OF_BACKUP; (UNIX)
alter tablespace TABLESPACENAME end backup;
c.日志切换
alter system switch logfile;
d.用操作系统命令备份归档日志文件
e.备份控制文件
alter database backup controlfile to trace;
或
alter database backup controlfile to 'FILESPEC';
f.备份结束
2.逻辑备份(EXP)
a.shutdown immediate
b.startup restrict open;
c.exp
d.alter system disable restricted session;
**表空间的exp
1.user 必须为 sys as sysdba,如果不用sys as sysdba可以导出但进行导入时会给出错误信息。
2.tablespace必须为readonly
2.transport_tablespace=y
3.tablespaces=TABLESPACE_NAME
限制:
a.只能传输一组独立的表空间,该表空间集内部没有对表空间外部的引用。
b.原数据库与目标数据库必须处于相同的系统环境中。(不能将unix 的oracle导到nt中)
c.必须要有相同的字符集
d.不支持快照/复制,基于函数的索引、有范围的引用、域索引
***分区级导出
允许用户导出一个表内部的一个或多个指定的分区或子分区。
*full db,user,tablespace 模式导出不支持分区级导出,只有表模式导出支持分区级导出
exp user/pwd tables=(table1:p1,table2:p1) rows=y
*BFILE的导出:导出工具只记录由BFILE列引用的名字与路径别名,必须在操作系统级创建路径并将BFIL文件
拷贝到新位置。
3.恢复管理器备份(rman)
***支持逻辑备份外的所有备份类型;可以建立的备份包括完全备份、表空间备份,数据文件备份、控制文件备份
以及归档日志文件备份。不能使用rman应用程序备份init.ora文件、口令文件、操作系统文件、联机重做日志
文件。恢复管理器支持三种类型的备份:备份集、数据文件拷贝(映像拷贝)和操作系统备份;
1.创建恢复目录:
.必须为目录模式创建一个独立的表空间;
.必须创建一个拥有目录模式的单用户,grant connect,resource,recovery_catalog_owner to XXX;
.在专门为恢复目录模式创建的表空间上,拥有恢复目录模式的用户应该被赋予unlimited quota的权限;
For Example:
connect;
create tablespace rman datafile rman size 100m ;
create user rman identified by rman default tablespace rman temporary tablespace temp quota unlimited on rman;
grant connect,resource,recovery_catalog_owner to rman;
rman catalog
create catalog tablespace 'RMAN';
2.注册数据库:
rman catalogtargetregister database;
3.同步目录:
resync catalog;
4.从恢复目录注销数据库:
**一旦注销后,就再也不能使用恢复目录含有的备份集来恢复数据库了。
.为了注销数据库,需要得到数据库的详细信息,(数据库的表示码DB_ID和数据库键值DB_KEY)
rman catalogtarget
**可以从登陆信息中得到prod的DBID
select db_key,rpad(to_char(db_id),12) "DB_ID_NUMBER" from db
where db_id=******;
**得到db_key,db_id_number
execute dbms_rcvcat.unregisterdatabase(db_key,db_id_number);
5.改变恢复目录
可以在恢复管理器中使用change对目录做适当的更改;
rman>list copy of tablespace "USERS"
*得到key
rman>change datafilecopy key delete
6.完全数据库备份:
RMAN>run {
allocate channel disk1 type disk format 'c:backup%d_backup%U';
backup database;
sql 'alter system archive log current';
sql 'alter system archive log all';
backup archivelog all delete input;
}
备份到磁带:
run {
allocate channel dev1 type 'sbt_tape';/*至少应该配置一个介质管理器,并与oracle集成
以访问磁带驱动器,
而且通道类型必须是'sbt_tape'*/
backup database;
sql 'alter system archive log current';
sql 'alter system archive log all';
}
当备份巨型数据库时,为避免i/o竞争,可以为每个磁盘驱动器分配一种类型的磁盘通道,
并指定格式化字符串;
run {
allocate channel d1 type disk format 'C:backup%d_backups%U';
allocate channel d2 type disk format 'D:backup%d_backups%U';
allocate channel d3 type disk format 'E:backup%d_backups%U';
backup database;
sql 'alter system archive log current';
sql 'alter system archive log all';
}
6.1.创建完全数据库备份的数据文件拷贝:
***在执行copy之前,通过使用report schema命令在目标数据库模式上生成一个报表,确定数据库中的
数据文件可用性。
run {
allocate channel c1 type disk;
copy datafile 1 to 'd:backupsys01.bak';
copy datafile 2 to 'd:backupusr01.bak';
copy datafile 3 to 'd:backuprbs01.bak';
copy current controlfile to 'd:backupcntrlora.bak';
}
***RMAN copy命令的输出与在操作系统级拷贝文件非常类似,但RMAN copy命令还检查物理和逻辑数据块;
不同于RMAN备份集,需要且只能由rman的recover命令来处理;
6.2.创建完全数据库备份的操作系统备份
a.使用alter tablespace .. begin backup;
b.使用操作系统工具拷贝属于该表空间的全部数据文件;
copy test01.dbf 'd:backuptest01.dbf'
c.以alter tablespace .. end backup告诉数据库已经完成数据文件拷贝
d.需要在恢复目录中注册这些拷贝。(必须确保rman连结到目标数据库)
catalog datafilecopy 'd:backuptest01.dbf';
7.表空间备份
仅当archivelog模式下才能创建表空间的备份集。(除只读或正常脱机表空间)
run {
allocate channel c1 type disk;
backup tablespace USERS
format 'aatst_%t%s.%p';
}
7.2创建表空间的数据文件拷贝
***采用这种备份方法的优点在于可以直接利用数据文件的拷贝,而不需使用restore命令进行恢复。
可以减少故障停机时间;
run {
allocate channel c1 type disk;
copy datafile 'c:oracleoradataprodtest01.dbf' to 'd:backuptest01.bak';
}
8.数据文件备份
仅当archivelog模式下才能创建表空间的备份集。(除只读或正常脱机表空间)
run {
allocate channel c1 type disk;
backup datafile 'c:oracleoradatatestusers01.dbf'
format 'aatst_%t%s.%p';
}
9.控制文件备份
9.1控制文件的备份集
run {
allocate channel c1 type disk;
backup current controlfile tag = weekly_sat_backup;
}
或
run {
allocate channel c1 type disk;
backup tablespace "USERS"
include current controlfile;
}
9.2控制文件的文件拷贝
run {
allocate channel c1 type disk;
copy current controlfile to 'd:backupcntlora.bak';
}
10.归档日志备份
如果选择备份全部归档日志文件,应该使用all选项.还可以按照时间戳创建归档日志文件的备份.
***但是oracle建议用参数log_archive_dest_n,将归档日志文件的备份保存在磁盘上.
run {
allocate channel c1 type disk;
backup archivelog low logseq 3 high logseq 10 thread 1;
}
run {
allocate channel c1 type disk;
copy archivelog 'c:oracleoradatatestarchive******.arc' to 'c:backup****.bak';
}
11.创建备份脚本:
create scrript bk_script {
allocate channel c1 type disk;
backup full filesperset 6 database fromat 'd:backup%p%d.%s';
sql 'alter system archive log current';
backup filesperset 10 archive all delete input;
}
执行脚本
run {
execute script bk_script;
}
12.测试并验证备份集合拷贝
rman 的restore validate,vlidate与change croscheck 命令能够测试备份集合映像拷贝.
当执行restore validate命令时rman执行一次恢复测试运行(恢复),但并不真正恢复文件.
12.1恢复验证整个数据库
startup mount;
rmantarget;
run {
allocate channel c1 type disk;
restore database validate;
}
12.2恢复验证控制文件
run {
allocate channel c1 type disk;
restore controlfile validate;
}
12.3恢复验证备份集与映像拷贝
数据库可以是关闭的也可以是打开的,但是打开时,必须将需要验证的表空间与数据文件脱机;
rman>list backup of tablesapce "USERS";
得到key值
run {
allocate channel c1 type disk;
validate backupset key;
}
oracle bfile备份,整理的一些oracle备份笔记 (zt)相关推荐
- oracle 清理定期备份文件,RAC RMAN定期备份及删除脚本
oracle rman备份及删除脚本. 1.环境说明: os--linux oracle--11.2.03 一台服务器上两个库orcl prod RAC双节点环境,采用节点1执行定制备份及删除脚本 2 ...
- linux设置定时备份任务,Linux下Oracle设置定时任务备份数据库的教程
1.查看数据库的字符集 数据库的字符集必须和linux下设置的环境变量一致,不然会有乱码. 以下两个sql语句都可以查到: select * from nls_database_parameters ...
- oracle定时任务可以备份么,Linux下Oracle设置定时任务备份数据库的教程
1.查看数据库的字符集 数据库的字符集必须和Linux下设置的环境变量一致,不然会有乱码. 以下两个sql语句都可以查到: select * from nls_database_parameters ...
- Oracle数据库管理系统:大数据的备份
问:公司里的oracle数据库有20G之大(这是一个方案的大小.原来这个方案有30G,我已经把能删的数据都删了),怎么备份?感觉备份一次好慢啊.专家有什么指导一下的吗?(另:20G的数据库是不是备份也 ...
- oracle备份集注册,OracleRMAN将备份集重新注册到控制文件说明
RMAN 备份分2种,Catalog 和Nocatalog,对于Nocatalog,oracle 会使用控制文件来保存RMAN备份的一些记录. 而且实际上多数也是使 一.说明 RMAN 备份分2种,C ...
- oracle pdb还原为no-cdb,oracle 12c中CDB和PDB的备份还原实验
本文档分为两部分: 1.单个pdb备份还原 2.只cdb备份还原 1.rman只备份pdb SQL> show pdbs CON_ID CON_NAME ...
- Oracle数据库的三种标准的备份方法
http://www.cnblogs.com/sainaxingxing/archive/2010/05/19/1739001.html Oracle数据库有三种标准的备份方法,它们分别是导出/导入( ...
- linux mysql异机备份_Linux环境下oracle数据库Rman备份异机恢复
备份的数据库和要恢复的数据库OS和数据库的版本均一致,恢复的目录也均一致! 备份数据库: RMAN> backup format '/home/oracle/scripts/full_prod. ...
- 备份有困难?Oracle DBA详述RMAN备份
本文介绍Oracle使用RMAN的备份理论和基本语法. 备份概念 执行备份或还原的数据库称为目标.在一些环境下,有许多数据库,因此有许多RMAN目标.应一次连接每个数据库.目标的每个备份都有一些属性: ...
最新文章
- 你知道吗?你可以在异常中解退调用栈
- 大道至简第一章观后感(伪代码)
- ICML新研究提出泛化能力评估新指标:直接上向量余弦距离就OK,还开源了相关代码...
- 帆软报表插件开发之fine-decision中的EmbedRequestFilterProvider扩展
- haproxy1.7编译安装配置
- SPSS P小于0.05,结果真的有效吗?【SPSS 070期】
- Linux上使用rpm安装Java jdk
- lua redisson执行lua脚本
- Lrc2srt精灵,增加自定义输出编码
- 什么是僵尸进程(Zombie)?
- 移动机器人小众期刊Foundations and Trends in Roboics
- SpringBoot AOP注解写法
- 软工+C(9): 助教指南
- 基于Autoware制作高精地图(一)
- 硬件电路设计原理图设计
- pandas整表写入excel指定位置_Pandas学习笔记——读写Excel文件
- SSH固定资产管理系统(含论文、开题报告、答辩PPT、辅导视频)、
- Linux 常用编辑器优缺点对比
- 我想要考华为认证,请问这个需要培训吗?
- 三、Tucker 分解