概述
Oracle备份
Rman备份,oracle secure backup,手工备份
手工备份(冷备)
1、正常关闭数据库,
2、(冷备脚本)备份数据文件和控制文件
set feedback off heading off verify off trimspool off
set pagesize 0 linesize 200 //设置环境变量
define dir='/tmp/backup/'
define lb='/tmp/lb.sql'
spool &lb
select '! cp ' || name || ' &dir' from v$datafile order by 1;
select '! cp ' || member || ' &dir' from v$logfile order by 1;
select '! cp ' || name || ' &dir' from v$controlfile order by 1;
select '! cp ' || name || ' &dir' from v$tempfile order by 1;
spool off
shutdown immediate
@&lb
startup .
备份控制文件: alter database backup controlfile to trace把控制文件备份到trace中(从start mount来查看到数据等的备份位置读取数据文件和日志文件路径)。
3、备份参数文件和数据库密码。
cp $oracle_home/dbs/spfile.ora . cp $oracle_home/dbs/orapw .
4、重新在空数据库上面还原数据库
1、安装一个同版本的数据库
2、创建侦听
3、根据备份的pfile文件来创建新数据库所需要的文件夹。
4、根据控制文件信息,将数据文件和日志文件等恢复到原来路径。
不关闭数据库备份(rman)
一定要将数据库的模式设置为begin backup模式(备份之后关闭备份模式)
1、创建一个表,表空间create tablespace 4 datafile user
2、将表空间设置为备份模式:alter tablespace users begin backup(关闭数据库备份模式alter tablespace users end backup)
3、关闭数据库,删除user01.dbf,重启数据库,数据库启动失败,启动到到mount状态,系统提示user01.dbf丢失
将tablespace 4离线,重启数据库到open状态,但是不能查询……
alter database datafile 4 offline;
alter database open;
4、将该离线文件复制到备份前的位置
5、recovery datafile 4 (逻辑修复,使用redologfile来回复)
6、将tablespace上线,alter database online
rman备份
1、rman target /
映像备份(相当于手工复制)
backup as copy datafile 4 format '/u01/expdp' 或者cp datafile 4 to '/u01/expdp'
备份集:
backup as backupset datafile 4 format '/u01/expdp' 只备份有数据的数据块
rman参数设置:
show all
CONFIGURE retention POLICY TO redundancy 1; # default 配置rman的冗余策略:基于时间基于冗余
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default 默认并行度parallelism为1
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oracle/product/10.2.0/db_1/dbs/snapcf_orcl.f'; # default 默认快照的位置
增量备份一定要使用块跟踪。
alter database enable block check change using file '/u01/'
定义保留策略(时限):1,通过时间(通过恢复窗口)2、通过冗余
1、通过恢复窗口:
RMAN> configure retention policy to recovery windows of 7 days;
2、通过冗余策略
RMAN> configure retention policy to redundancy 2;
RMAN> show retention policy
RMAN> report obsolete redundancy 2;
RMAN> delect obsolete;
备份控制文件
备份控制文件到trace:alter databse backup controlfile to trace
命令---------------------------------
1 整库的备份
backup database ;
backup database format '/u01/backup/bak_%U'
查看创建的全库备份
list backup of database ;
2 表空间的备份
backup tablespace users;
list backup of tablespace users;
删除备份: delete backupset 10;
delete backupset 10 noprompt
noprompt没有提示信息
3 数据文件备份
可以对名称也可以对file_id
select file_id,file_name from dba_data_files;
backup datafile 4;
backup datafile '/u01/app/oracle/oradata/orcl/users01.dbf'
查看数据文件的备份
list backup of datafile n
如果要查看多个文件 n=多个序号,并用逗号隔开
4 控制文件备份
a.手动执行控制文件备份
backup current controlfile ;
b.执行backup命令时指定include current controlfile
backup database include current controlfile ;
c.备份系统表空间会触发去备份控制文件
backup datafile 1;
d.通过configure命令将controlfileautobackup设置为on
configure controlfile autobackup on ;
查看list backup of controlfile ;
5 归档文件备份
归档日志文件对数据库恢复相当关键。
a.利用backup archivelog命令
backup archivelog all;
backup archivelog all delete all input
备份所有的归档并且把输入备份的归档删除!
all 指备份当前所有可访问到的归档日志文件。
until ,scn ,time ,sequence
b.执行backup命令时,指定plus archivelog子句
backup current controlfile plus archivelog ;
在备份控制文件之前,先对所有归档文件进行备份
backup ... plus archivelog 命令执行的操作
a. 运行alter system archive log current对当前redolog进行归档(每次日志组切换的时候,也会做一次归档)
b. 执行backup archivlelog all命令备份所有已经归档日志
c. 执行backup命令指定项进行备份
d 在次运行alter system archivelog current对当前redoglog归档
e 对新生成的尚未备份的归档进行备份
查看已经备份的归档日志片段
list backup of archivelog all;
6 初始化参数文件备份
RMAN自动备份服务器的初始化参数文件,并置于控制文件的备份片段中。极少需要对spifle备份
backup spfile ;
7备份备份集
最佳应用备份集的需求是创建备份集到磁带。
backup backupset all;
备份指定的备份集
backup backupset n;( n=备份集ID,可以指定多个)
RMAN命令:
1 显示RMAN默认配置:show
show all;
#default 表示初始化默认值
2 列出备份信息--list命令
查看备份集、备份镜像、归档文件等
a.列出所有备份信息
list backup ;
b. 列出所有备份控制文件信息
list backup of controlfile ;
c.列出指定数据文件的备份
list backup of datafile 4;
d.列出所有备份归档文件信息
list backup of archivelog all;
e.列出表空间备份信息
list copy of tablespace 'users'
f.列出当前的所有归档
list archivelog all
g.列出所有无效备份
list expired backup;
3 删除备份---delete命令
a.删除过期备份,RMAN根据备份冗余策略确定备份是否过期
report obsolete ;
delete obsolete ;
b.删除无效备份:首先执行crosscheck命令核对备份集,如果发现备份无效,RMAN会对该备份集标记为expired
删除 delete expired backup ;
c.删除expired副本
delete expired copy;
d.删除指定的备份集
delete backupset 1;
f.删除指定备份片
delete backuppiece '/u01/aa.bak'
g.删除特定映像副本
delete datafile copy '/u01/a.bak'
f.删除所有映像副本
delete copy;
g.在备份后删除输入对象
backup archivelog all delete input;
h 它只会删除输入的备份
backup backupset 11 format '/u01/%u.bak' delete input;
4 报表显示---report命令
a.查看7天前的数据库模式
report schema at time 'sysdate-7';
b.查看所有需要备份的文件
report need backup ;
c.查看指定表空间是否需要备份
report need bakcup tablespace system
d.查看过期备份
report obsolete ;
5 执行检查---crosscheck命令
用来检查备份或归档的物理文件的状态,如果物理文件存在,并且控制文件或恢复目录中匹配则标记为available如果文件已经不存在则标记为expired无效。
要手工删除expired记录
检查被人为删除的备份集
检查所有归档文件
crosscheck archivelog all;
检查所有的备份集
crosscheck backup;
6 修改状态---change命令
修改备份文件或归档文件的状态,在控制文件或恢复目录中,记录状态为:available可用 和unavailable不可用。
修改指定备份集为unavailable
change backupset n unavailable;
修改表空间的备份集为unavailable;
change backup of tablespace users unavailable;
修改指定归档文件状态为unavailable
change archivelog logseq=n unavailable ;
n为归档文件序号,可用通过list archivielog all或者查询v$archived_log获得
change 命令附带delete子句
change archivelog logseq=n delete
修改记录状态同时,直接删除物理文件。
最后
以上就是俏皮板凳为你收集整理的mysql中的rman备份_RMAN备份使用的全部内容,希望文章能够帮你解决mysql中的rman备份_RMAN备份使用所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复