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;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值