LINUX-下ORACLE利用rman备份迁移数据库

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一医院数据库迁移的实施步骤

利用RMAN备份正式库

全库备份及控制文件

RMAN>run{

allocate channel c1 device type disk;

sql 'alter system archive log current';

backup as compressed backupset database format '+ FRA/DYYY/BACKUPSET/db_%d_%T_%U'; sql 'alter system archive log current';

backup current controlfile format '+ FRA/DYYY/controlfile/cntrl_%s_%p_%s';

release channel c1;

}

生成数据库还原脚本restoredatafil e.sql

检查是否有增加数据文件select count(*)from v$datafile;

如果有增加数据库文件必须重新生成

sqlplus /nolog

conn /as sysdba

set serveroutput on;

set linesize 200

spool restore_datafile.rman

declare

cursor df is select file#, name from v$datafile;

begin

dbms_output.put_line('run');

dbms_output.put_line('{');

for dfrec in df loop

dbms_output.put_line('set newname for datafile ' ||

dfrec.file# || ' to ''' || ||''' ;');

end loop;

dbms_output.put_line('restore database;');

dbms_output.put_line('switch datafile all;');

dbms_output.put_line('}');

end;

/

spool off

利用FTP工具拷贝RMAN备份

远程登录到192.0.1.12

ftp

open 192.0.12 7788 密码:xzf111017s

lcd /hisbak/

bin

get “文件名”

在目标库开启归档,设置归档路径

Alter database archivelog

Alter system set log_archive_dest_1 = ‘location=+HISDATA’;

关闭节点2

关闭节点2数据库

设置节点1 cluster_database 参数为False,设置为单实例

alter system set cluster_database = flase scope=spfile;

shutdown immediate

恢复控制文件、注册备份集

rman target /

sqlplus /nolog

conn / as sysdba

startup nomount

restore controlfile from 'path\rman_controlfile_backup';

alter database mount

catalog start with 'path'

清除无效备份

crosscheck backup;

delete expired backup;

执行还原数据文件脚本restoredatafil e.sql

Run{

set newname for datafile 1 to '+HISDATA/dyyy/comm_tab08.ora' ; set newname for datafile 2 to '+HISDATA/dyyy/inpsick_tab208.ora' ; set newname for datafile 3 to '+HISDATA/dyyy/report_tab11.ora' ; restore database;

switch datafile all;

}

拷贝归档

Catalog start with ‘归档日志路径’

Recover database

拷贝最近的几个归档日志

recover database

如果做不完全恢复,恢复到丢失归档前的时间点如:s

recover database until sequence=2310 thread=2;

关闭changing track

alter database disable block change tracking;

重启数据库

修改日志的路径

查看日志的路径

Select member from v$logfile;

生成修改日志路径的脚本

select 'alter database rename file ''' || member||''' to '||'''+HISDATA/ '||DECODE(substr(member,1,3),'+DA',substr(member,7,length(member)),substr(member,6,lengt h(member)))||''';' from v$logfile;

执行脚本修改日志路径

alter database rename file '+FRA/dyyy/onlinelog/group_20.723.752328865' to '+HISDATA/dyyy/onlinelog/group_20.723.752328865';

修改数据库为最大性能模式

alter database set standby database to maximize performance;

打开数据库

alter database open resetlogs;

相关文档
最新文档