基于winserver的Oracle数据库跨版本下rman备份恢复实践

2019-10-01     波波说运维

概述

分享下最近做的一个rman跨版本迁移的案例,主要是从生产环境迁移数据到测试环境,中间出了个小问题,整体问题不大。


环境

因为都装了Oracle软件了,所以这部分安装过程就不做介绍了。


一、source数据库准备

1.获取数据文件编号和路径

SQL> select file_id,file_name from dba_data_files order by file_id;

2.获取临时文件编号和路径

SQL> select file#, name from v$tempfile;

3.获取在线日志文件组和路径

SQL> select group#,member from v$logfile;

4.获取数据库字符编码

SQL> select * from nls_database_parameters ;

其中:

  • 1. Language: 指定服务器消息的语言, 影响提示信息是中文还是英文
  • 2. Territory: 指定服务器的日期和数字格式,
  • 3. Charset: 指定字符集。

二、source数据库备份

在业务空闲时间段,先切换几次归档日志,然后开始rman备份。

1. rman备份脚本

F:\\rmanbackup\\fslda_rman_backup.bat
###############################################################
rman target sys/xxx@orcl msglog=F:\\rmanbackup\\rman.log cmdfile=F:\\rmanbackup\\full_backup.txt
echo "rman备份完成!"
pause
################################################################

F:\\rmanbackup\\full_backup.txt
##############################################################
run
{
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 14 DAYS;
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
sql 'alter system archive log current';
backup as compressed backupset database format 'F:/rmanbackup/fullbak_%d_%I_%s_%p_%T.bkp' include current controlfile;
backup current controlfile format 'F:/rmanbackup/spfile_controlfile_%d_%I_%s_%p_%T.bkp';
backup as compressed backupset archivelog all format 'F:/rmanbackup/archivelog_%d_%I_%s_%p_%T.bkp' delete input;
release channel c1;
release channel c2;
release channel c3;
}
delete noprompt obsolete;
crosscheck backup;
delete noprompt expired backup;
################################################################

2.创建参数文件

create pfile='F:\\rmanbackup\\pfile.ora' from spfile;

这步实际上也可以省略的,自己编辑下文件就可以了。


篇幅有限,这块内容就先介绍源数据库方面的事前检查和备份工作了,后面开始介绍在目的端的恢复工作,感兴趣的朋友可以关注下~

今天是祖国的70周年,在这里祝福祖国,繁荣富强,国泰民安!也祝大家国庆节快乐~

文章来源: https://twgreatdaily.com/zh-hans/eBI6hW0BMH2_cNUgieFY.html