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)相关推荐

  1. oracle 清理定期备份文件,RAC RMAN定期备份及删除脚本

    oracle rman备份及删除脚本. 1.环境说明: os--linux oracle--11.2.03 一台服务器上两个库orcl prod RAC双节点环境,采用节点1执行定制备份及删除脚本 2 ...

  2. linux设置定时备份任务,Linux下Oracle设置定时任务备份数据库的教程

    1.查看数据库的字符集 数据库的字符集必须和linux下设置的环境变量一致,不然会有乱码. 以下两个sql语句都可以查到: select * from nls_database_parameters ...

  3. oracle定时任务可以备份么,Linux下Oracle设置定时任务备份数据库的教程

    1.查看数据库的字符集 数据库的字符集必须和Linux下设置的环境变量一致,不然会有乱码. 以下两个sql语句都可以查到: select * from nls_database_parameters ...

  4. Oracle数据库管理系统:大数据的备份

    问:公司里的oracle数据库有20G之大(这是一个方案的大小.原来这个方案有30G,我已经把能删的数据都删了),怎么备份?感觉备份一次好慢啊.专家有什么指导一下的吗?(另:20G的数据库是不是备份也 ...

  5. oracle备份集注册,OracleRMAN将备份集重新注册到控制文件说明

    RMAN 备份分2种,Catalog 和Nocatalog,对于Nocatalog,oracle 会使用控制文件来保存RMAN备份的一些记录. 而且实际上多数也是使 一.说明 RMAN 备份分2种,C ...

  6. oracle pdb还原为no-cdb,oracle 12c中CDB和PDB的备份还原实验

    本文档分为两部分: 1.单个pdb备份还原 2.只cdb备份还原 1.rman只备份pdb SQL> show pdbs CON_ID CON_NAME                      ...

  7. Oracle数据库的三种标准的备份方法

    http://www.cnblogs.com/sainaxingxing/archive/2010/05/19/1739001.html Oracle数据库有三种标准的备份方法,它们分别是导出/导入( ...

  8. linux mysql异机备份_Linux环境下oracle数据库Rman备份异机恢复

    备份的数据库和要恢复的数据库OS和数据库的版本均一致,恢复的目录也均一致! 备份数据库: RMAN> backup format '/home/oracle/scripts/full_prod. ...

  9. 备份有困难?Oracle DBA详述RMAN备份

    本文介绍Oracle使用RMAN的备份理论和基本语法. 备份概念 执行备份或还原的数据库称为目标.在一些环境下,有许多数据库,因此有许多RMAN目标.应一次连接每个数据库.目标的每个备份都有一些属性: ...

最新文章

  1. 你知道吗?你可以在异常中解退调用栈
  2. 大道至简第一章观后感(伪代码)
  3. ICML新研究提出泛化能力评估新指标:直接上向量余弦距离就OK,还开源了相关代码...
  4. 帆软报表插件开发之fine-decision中的EmbedRequestFilterProvider扩展
  5. haproxy1.7编译安装配置
  6. SPSS P小于0.05,结果真的有效吗?【SPSS 070期】
  7. Linux上使用rpm安装Java jdk
  8. lua redisson执行lua脚本
  9. Lrc2srt精灵,增加自定义输出编码
  10. 什么是僵尸进程(Zombie)?
  11. 移动机器人小众期刊Foundations and Trends in Roboics
  12. SpringBoot AOP注解写法
  13. 软工+C(9): 助教指南
  14. 基于Autoware制作高精地图(一)
  15. 硬件电路设计原理图设计
  16. pandas整表写入excel指定位置_Pandas学习笔记——读写Excel文件
  17. SSH固定资产管理系统(含论文、开题报告、答辩PPT、辅导视频)、
  18. Linux 常用编辑器优缺点对比
  19. 我想要考华为认证,请问这个需要培训吗?
  20. 三、Tucker 分解

热门文章

  1. Anti-alias的前世今生(二):Post process based AA
  2. 年轻人“躺平”的生活方式,引起不少争议
  3. 编译通用无界面版Emacs27.1
  4. 结构体第一个成员是结构体,则为父结构体首地址demo(六)
  5. 写给新入职的毕业生们
  6. erlang的运算符
  7. 如何巧妙的使用pandas结合xlsxwriter实现对表格的读写以及插入图片操作
  8. Centos7安装vlc
  9. 计算机基础(七):ION定义与使用方法
  10. 监控三剑客<cacti、nagios、zabbix>