windows下的Oracle迁移到Linux平台下

本文详细介绍了如何从Windows平台的Oracle 11.2.0.1数据库迁移到RedHat 6.10下的Oracle 11.2.0.4数据库。包括创建全备、编辑Pfile、恢复控制文件、注册备份、恢复数据库、调整临时表空间及编译等关键步骤。

环境:

    源库为win平台下的11.2.0.1

    目标库为redhat6.10下的11.2.0.4

步骤:

    先在目标服务器创建好系统,安装好数据库软件,然后在源库这边做个全备,创建个pfile文件,传送到目标服务器上


先编辑Pfile,因为我目标环境和源环境的硬件设置差不多,就没改pfile的,生产环境根据实际情况做调整


然后进去sql下,根据修改后的pfile启动到nomout


--alter session set nls_language=american;


SYS@orcl>startup nomount pfile='/xie/INITorcl.ORA';

启动好后再去rman里恢复控制文件


RMAN>restore controlfile from '/xie/C-1534390551-20190426-01';

恢复完成后启动到Mount

RMAN>sql 'alter database mount';

因为源库环境有记录着备份,目标环境没有,就做个检查

RMAN>crosscheck backup;

RMAN>delete expired backup;

然后把拷贝来的备份注册到rman里


RMAN>catalog start with '/xie/';

然后恢复:

RMAN>run{

RMAN>set newname for database to '/u01/app/oracle/oradata/orcl/dbf_%U';

RMAN>restore database;

RMAN>}

switch来将新的路径写到控制文件

RMAN>switch database to copy;

然后recover

RMAN>recover database;


开启数据库,使用resetlogs upgrade参数来重建redo文件


SQL> alter database open resetlogs upgrade;


顺便生成一下spfile


SQL> create spfile from pfile='/xie/INITorcl.ORA';


temp数据文件因为不被RMAN所保护,需要检查tempfile:


SQL> col name for a50;


SQL> select  a.ts# "TAB_NUM" ,t.name "TAB_NAME" ,a.name "TAB_DIR" from  gv_$tempfile a,v$tablespace t where t.ts#=a.ts# 


SQL> create temporary tablespace temp1 tempfile '/u01/app/oracle/oradata/orcl/temp001.dbf' size 1024M;


SQL> alter database default temporary tablespace temp1;


SQL> drop tablespace 查出来的无效的 including contents;


SQL> select * from dba_temp_files;

重新编译下: 

SQL> @?/rdbms/admin/utlrp.sql;

更新下数据字典

SQL> @?/rdbms/admin/catupgrd.sql 


然后启动

完成



来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31098809/viewspace-2642769/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31098809/viewspace-2642769/

迁移 Oracle 数据库Linux 环境到 Windows 系统是一个复杂的过程,需要仔细规划和执行。以下是详细的步骤和技术要点: ### 1. **评估和准备** 在开始迁移之前,必须对现有的数据库环境进行全面的评估。这包括了解当前的数据库版本、配置、数据量以及依赖的应用程序。 - **检查 Oracle 版本兼容性**:确保目标 Windows 系统上的 Oracle 版本与源 Linux 系统上的版本兼容。Oracle 官方文档提供了详细的版本兼容性信息。 - **备份现有数据库**:使用 RMAN(Recovery Manager)工具对整个数据库进行完整备份[^1]。 ```bash # 使用 RMAN 进行全库备份 rman target / RUN { ALLOCATE CHANNEL c1 TYPE DISK; BACKUP DATABASE PLUS ARCHIVELOG; RELEASE CHANNEL c1; } ``` ### 2. **导出数据库结构和数据** 为了确保数据库结构和数据能够在新的环境中正确恢复,可以使用 `expdp` 工具进行逻辑导出。 - **导出数据库结构和数据**:使用 Data Pump Export (`expdp`) 工具导出数据库结构和数据[^1]。 ```bash # 导出数据库结构和数据 expdp username/password@orcl DIRECTORY=dpump_dir DUMPFILE=export.dmp LOGFILE=export.log FULL=Y ``` ### 3. **安装和配置 Windows 上的 Oracle 数据库** 在 Windows 系统上安装和配置 Oracle 数据库实例是迁移过程中的关键步骤。 - **安装 Oracle 软件**:下载适用于 WindowsOracle 安装包,并按照官方文档进行安装。 - **创建数据库实例**:使用 `Database Configuration Assistant` (DBCA) 创建一个新的数据库实例。 - **配置网络连接**:确保监听器 (`listener.ora`) 和 `tnsnames.ora` 文件配置正确,以便应用程序能够连接到新数据库。 ### 4. **导入数据库结构和数据** 将导出的数据库结构和数据导入到新安装的 Windows 环境中。 - **导入数据库结构和数据**:使用 Data Pump Import (`impdp`) 工具导入数据库结构和数据[^1]。 ```bash # 导入数据库结构和数据 impdp username/password@orcl DIRECTORY=dpump_dir DUMPFILE=export.dmp LOGFILE=import.log FULL=Y ``` ### 5. **验证和测试** 完成导入后,必须对数据库进行验证和测试,以确保所有对象和数据都已正确迁移。 - **检查表空间和数据文件**:确认表空间和数据文件的路径是否正确,并且大小符合预期。 - **验证用户权限和角色**:确保所有用户的权限和角色已经正确迁移。 - **运行性能测试**:使用基准测试工具(如 SQL*Loader 或 Benchmark Factory)对数据库进行性能测试,确保其满足业务需求。 ### 6. **更新应用程序配置** 最后,更新所有依赖于该数据库的应用程序配置,使其指向新的 Windows 环境。 - **修改连接字符串**:更新应用程序的连接字符串,使其指向新数据库的 IP 地址或主机名。 - **重新部署应用程序**:如果有必要,重新部署应用程序以适应新的数据库环境。 ### 7. **监控和维护** 迁移完成后,持续监控数据库的运行状态,并进行必要的维护工作。 - **监控数据库性能**:使用 Oracle Enterprise Manager 或其他监控工具实时监控数据库性能。 - **定期备份**:建立定期备份策略,确保数据库的安全性和可恢复性。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值