暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

oracle11g迁移步骤win2008

原创 PureSoybean 5天前
14

一、完整迁移步骤概览

  1. 源服务器:备份

    • 确认备份目录(如 C:\oracle_backup)存在,并且 Oracle 账号对该目录有写权限。

    • 使用 RMAN 生成完整备份,包括数据库数据、所有归档日志、控制文件和 spfile。

    • 将生成的备份文件传输到目标服务器(通过共享文件夹、FTP、U盘等方式)。

  2. 目标服务器:实例创建与环境准备

    • 使用 oradim 命令新建 Oracle 实例(例如 ORCL),并设置启动模式为手动。oradim -NEW -SID ORCL -STARTMODE manual

    • 准备密码文件(可复制源服务器的 PWD 文件或在目标重建)。

    • 创建或复制初始化参数文件(pfile 或 spfile),例如 initORCL.ora,其中包含正确的控制文件路径、内存、兼容性等参数。

    • 确保目标服务器上数据文件的存放路径(若与源不一致,则在恢复时需要进行路径映射)。

  3. 目标服务器:数据库还原

    • 启动数据库到 NOMOUNT 状态(使用 pfile 启动)。

    • 调用 RMAN 脚本还原控制文件,再挂载数据库。

    • 注册备份文件目录,恢复数据库、应用归档日志、并以 RESETLOGS 模式打开数据库。

    • 如数据文件路径与源不同,则在还原时添加 SET NEWNAME 命令进行映射(可根据实际情况添加)。


二、备份脚本文件

请将下面两个文件分别保存到源服务器上(假设 Oracle 实例名为 ORCL,备份目录为 C:\oracle_backup)。

1. RMAN 备份命令文件(文件名:rman_backup.rman

RUN {  
CONFIGURE CONTROLFILE AUTOBACKUP ON;  
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO ‘C:\\oracle\_backup\\autobackup\_%F.bkp’;

BACKUP AS COMPRESSED BACKUPSET  
DATABASE  
FORMAT ‘C:\\oracle\_backup\\db\_%U.bkp’  
TAG ‘FULL\_DB\_BACKUP’;

BACKUP AS COMPRESSED BACKUPSET  
ARCHIVELOG ALL  
FORMAT ‘C:\\oracle\_backup\\arch\_%U.bkp’  
TAG ‘ARCHIVE\_LOG\_BACKUP’  
DELETE INPUT;

BACKUP CURRENT CONTROLFILE  
FORMAT ‘C:\\oracle\_backup\\controlfile\_%U.bkp’;

BACKUP SPFILE  
FORMAT ‘C:\\oracle\_backup\\spfile\_%U.bkp’;  
}
复制

2. Windows 批处理备份脚本(文件名:rman_backup.bat

@echo off  
REM 设置实例和备份目录(根据实际情况修改)  
set ORACLE\_SID=ORCL  
set BACKUP\_DIR=C:\\oracle\_backup

REM 调用 RMAN 执行备份,注意 cmdfile 参数为刚刚创建的 rman\_backup.rman 文件的完整路径  
rman target / cmdfile=“C:\\oracle\_backup\\rman\_backup.rman” log="%BACKUP\_DIR%\\rman\_backup.log"

echo 完整备份已完成,备份日志存放在 %BACKUP\_DIR%\\rman\_backup.log  
pause
复制

使用说明:

  1. 在源服务器上,先将 rman_backup.rmanrman_backup.bat 文件放入相应目录。

  2. 确保 %BACKUP_DIR% 目录存在。

  3. 双击或在命令行中执行 rman_backup.bat,RMAN 会读取 rman_backup.rman 文件中的命令并生成备份。

  4. 备份完成后,将 C:\oracle_backup 目录下的所有 .bkp 文件复制到目标服务器。


三、恢复脚本文件

请在目标服务器上准备好下面两个文件,并确保已创建新的 Oracle 实例、密码文件和初始化参数文件(例如 initORCL.ora)。如果数据文件路径与源不同,还需要在 RMAN 命令中添加 SET NEWNAME 语句。

1. RMAN 还原命令文件(文件名:rman_restore.rman

STARTUP NOMOUNT PFILE=‘C:\\oracle\\product\\11.2.0\\dbhome\_1\\database\\initORCL.ora’;

REM 请将下面的控制文件备份文件名替换为实际文件名  
RESTORE CONTROLFILE FROM ‘C:\\oracle\_backup\\controlfile\_ABC123.bkp’;  
ALTER DATABASE MOUNT;

CATALOG START WITH ‘C:\\oracle\_backup’;

REM 如目标服务器数据文件存放路径与源服务器相同,可直接还原数据库  
REM 若不同,请在此处添加 SET NEWNAME 命令进行映射  
RESTORE DATABASE;  
RECOVER DATABASE;  
ALTER DATABASE OPEN RESETLOGS;
复制

注意:

  • 请务必将 RESTORE CONTROLFILE FROM 'C:\oracle_backup\controlfile_ABC123.bkp'; 中的文件名修改为你实际生成的控制文件备份名。

  • 如果数据文件路径不一致,可以在 RESTORE DATABASE; 前加入类似如下语句:

    rman

    复制

    RUN { SET NEWNAME FOR DATAFILE 1 TO 'D:\oradata\ORCL\system01.dbf'; SET NEWNAME FOR DATAFILE 2 TO 'D:\oradata\ORCL\sysaux01.dbf'; ... RESTORE DATABASE; SWITCH DATAFILE ALL; RECOVER DATABASE; }

2. Windows 批处理恢复脚本(文件名:rman_restore.bat

@echo off  
REM 设置实例和备份目录(根据实际情况修改)  
set ORACLE\_SID=ORCL  
set BACKUP\_DIR=C:\\oracle\_backup

REM 调用 RMAN 执行还原,cmdfile 参数为刚创建的 rman\_restore.rman 文件的完整路径  
rman target / cmdfile=“C:\\oracle\_backup\\rman\_restore.rman” log="%BACKUP\_DIR%\\rman\_restore.log"

echo 数据库还原已完成,恢复日志存放在 %BACKUP\_DIR%\\rman\_restore.log  
pause
复制

使用说明:

  1. 在目标服务器上,将 rman_restore.rmanrman_restore.bat 文件放入合适的目录(这里假设与备份目录一致,也可根据实际情况调整)。

  2. 确保初始化参数文件(initORCL.ora)和密码文件已就绪。

  3. 双击或在命令行中执行 rman_restore.bat,RMAN 将读取 rman_restore.rman 文件中的命令,完成数据库还原。

  4. 还原完成后,查看 %BACKUP_DIR%\rman_restore.log 日志确认操作成功。


四、总结

  • 备份阶段(源服务器):
    使用 rman_backup.rman 记录完整备份命令,调用 rman_backup.bat 执行备份,生成数据、归档日志、控制文件、spfile 的备份文件。

  • 传输阶段:
    将备份目录下的所有 .bkp 文件复制到目标服务器(保持目录一致或记录好备份路径)。

  • 恢复阶段(目标服务器):
    在目标服务器上先用 oradim 创建新实例、准备好密码文件与初始化参数文件;然后利用 rman_restore.rman 文件的还原命令,调用 rman_restore.bat 完成数据库还原。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

暂无图片
获得了6次点赞
暂无图片
内容获得1次评论
暂无图片
获得了1次收藏
目录
  • 一、完整迁移步骤概览
  • 二、备份脚本文件
    • 1. RMAN 备份命令文件(文件名:rman_backup.rman)
    • 2. Windows 批处理备份脚本(文件名:rman_backup.bat)
  • 三、恢复脚本文件
    • 1. RMAN 还原命令文件(文件名:rman_restore.rman)
    • 2. Windows 批处理恢复脚本(文件名:rman_restore.bat)
  • 四、总结