跨平台迁移数据库windows-Linux

10.10.1.127服务器的数据库ORCL(WINDOWS)迁移到VM 10.10.10.168LINUX平台

 

 

 

 

操作系统:Windows server 2008r2 64bit

           CentOS  Linux  6.5  64bit

 

ORACLE软件:11.2.0.3.0

 

目录:

  1. 1.     在源数据库(Windows数据库orcl准备迁移)

2. RMAN 生成迁移文件
3.
修改对应的转换文件
4.
修改对应的 INIT 文件
5.
在目标 LINUXlinux 数据库 orcl)在用 DBCA 创建数据库
6.
删除文件,复制文件
7.
升级

 

 

 

 

 

 

 

 

 

 

 

1.在源数据库(Windows数据库orcl准备迁移)

1,检查源库的控制文件,数据文件,日志文件,临时文件,参数文件等!

 

 

 

查看可以转换的平台

 

在目标端执行,捕获目标库平台

 

运行检查包

 

查看归档模式

 

关闭数据库,将数据库启动到只读模式!

 

 

2. RMAN 生成迁移文件

 

对源数据文件进行转换,并生成升级脚本

 

 

查看生成的数据文件和升级脚本

 

 

3. 修改对应的转换文件

 

更改TRANS.SQL的路劲,对应LINUX平台的路劲

Linux路劲:

ORACLE_BASE=/u01/app/oracle

ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1

 

 

-- The following commands will create a new control file and use it

-- to open the database.

-- Data used by Recovery Manager will be lost.

-- The contents of online logs will be lost and all backups will

-- be invalidated. Use this only if online logs are damaged.

 

-- After mounting the created controlfile, the following SQL

-- statement will place the database in the appropriate

-- protection mode:

--  ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCE

 

STARTUP NOMOUNT PFILE='C:\ORACLE\PRODUCT\11.2.0\DBHOME_1\DATABASE\INIT_00RGP615_1_0.ORA'

CREATE CONTROLFILE REUSE SET DATABASE "ORCL" RESETLOGS  ARCHIVELOG

    MAXLOGFILES 16

    MAXLOGMEMBERS 3

    MAXDATAFILES 100

    MAXINSTANCES 8

    MAXLOGHISTORY 292

LOGFILE

  GROUP 1 'C:\ORACLE\PRODUCT\11.2.0\DBHOME_1\DATABASE\ARCH_D-ORCL_ID-1451024903_S-10_T-1_A-923244170_03RGP615'  SIZE 50M BLOCKSIZE 512,

  GROUP 2 'C:\ORACLE\PRODUCT\11.2.0\DBHOME_1\DATABASE\ARCH_D-ORCL_ID-1451024903_S-11_T-1_A-923244170_04RGP615'  SIZE 50M BLOCKSIZE 512,

  GROUP 3 'C:\ORACLE\PRODUCT\11.2.0\DBHOME_1\DATABASE\ARCH_D-ORCL_ID-1451024903_S-12_T-1_A-923244170_05RGP615'  SIZE 50M BLOCKSIZE 512

DATAFILE

  'D:\TRANSFER\SYSTEM01.DBF',

  'D:\TRANSFER\SYSAUX01.DBF',

  'D:\TRANSFER\UNDOTBS01.DBF',

  'D:\TRANSFER\USERS01.DBF',

  'D:\TRANSFER\SEINEEBSDATA.DBF',

  'D:\TRANSFER\TBSTEST01.DBF',

  'D:\TRANSFER\TBSTEST02.DBF'

CHARACTER SET AL32UTF8

;

 

-- Database can now be opened zeroing the online logs.

ALTER DATABASE OPEN RESETLOGS;

 

-- Commands to add tempfiles to temporary tablespaces.

-- Online tempfiles have complete space information.

-- Other tempfiles may require adjustment.

ALTER TABLESPACE TEMP ADD TEMPFILE 'C:\ORACLE\PRODUCT\11.2.0\DBHOME_1\DATABASE\DATA_D-ORCL_I-1451024903_TS-TEMP_FNO-1_06RGP615'

     SIZE 30408704  AUTOEXTEND ON NEXT 655360  MAXSIZE 32767M;

-- End of tempfile additions.

--

 

set echo off

prompt ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

prompt * Your database has been created successfully!

prompt * There are many things to think about for the new database. Here

prompt * is a checklist to help you stay on track:

prompt * 1. You may want to redefine the location of the directory objects.

prompt * 2. You may want to change the internal database identifier (DBID)

prompt *    or the global database name for this database. Use the

prompt *    NEWDBID Utility (nid).

prompt ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

SHUTDOWN IMMEDIATE

STARTUP UPGRADE PFILE='C:\ORACLE\PRODUCT\11.2.0\DBHOME_1\DATABASE\INIT_00RGP615_1_0.ORA'

@@ ?/rdbms/admin/utlirp.sql

SHUTDOWN IMMEDIATE

STARTUP PFILE='C:\ORACLE\PRODUCT\11.2.0\DBHOME_1\DATABASE\INIT_00RGP615_1_0.ORA'

-- The following step will recompile all PL/SQL modules.

-- It may take serveral hours to complete.

@@ ?/rdbms/admin/utlrp.sql

set feedback 6;

 

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

修改之后的TRANS.SQL文件:

- The following commands will create a new control file and use it

-- to open the database.

-- Data used by Recovery Manager will be lost.

-- The contents of online logs will be lost and all backups will

-- be invalidated. Use this only if online logs are damaged.

 

-- After mounting the created controlfile, the following SQL

-- statement will place the database in the appropriate

-- protection mode:

--  ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCE

 

STARTUP NOMOUNT PFILE='/u01/app/oracle/product/11.2.0/db_1/dbs/initorcl.ora'

CREATE CONTROLFILE REUSE SET DATABASE "ORCL" RESETLOGS  ARCHIVELOG

    MAXLOGFILES 16

    MAXLOGMEMBERS 3

    MAXDATAFILES 100

    MAXINSTANCES 8

    MAXLOGHISTORY 292

LOGFILE

  GROUP 1 '/u01/app/oracle/oradata/orcl/redo01.log'  SIZE 50M BLOCKSIZE 512,

  GROUP 2 '/u01/app/oracle/oradata/orcl/redo02.log '  SIZE 50M BLOCKSIZE 512,

  GROUP 3 '/u01/app/oracle/oradata/orcl/redo03.log '  SIZE 50M BLOCKSIZE 512

DATAFILE

  '/u01/app/oracle/oradata/orcl/SYSTEM01.DBF',

  '/u01/app/oracle/oradata/orcl/SYSAUX01.DBF',

  '/u01/app/oracle/oradata/orcl/UNDOTBS01.DBF',

  '/u01/app/oracle/oradata/orcl/USERS01.DBF',

  '/u01/app/oracle/oradata/orcl/SEINEEBSDATA.DBF',

  '/u01/app/oracle/oradata/orcl/TBSTEST01.DBF',

  '/u01/app/oracle/oradata/orcl/TBSTEST02.DBF'

CHARACTER SET AL32UTF8

;

 

-- Database can now be opened zeroing the online logs.

ALTER DATABASE OPEN RESETLOGS;

 

-- Commands to add tempfiles to temporary tablespaces.

-- Online tempfiles have complete space information.

-- Other tempfiles may require adjustment.

ALTER TABLESPACE TEMP ADD TEMPFILE '/u01/app/oracle/oradata/orcl/temp01.dbf'

     SIZE 30408704  AUTOEXTEND ON NEXT 655360  MAXSIZE 32767M;

-- End of tempfile additions.

--

 

set echo off

prompt ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

prompt * Your database has been created successfully!

prompt * There are many things to think about for the new database. Here

prompt * is a checklist to help you stay on track:

prompt * 1. You may want to redefine the location of the directory objects.

prompt * 2. You may want to change the internal database identifier (DBID)

prompt *    or the global database name for this database. Use the

prompt *    NEWDBID Utility (nid).

prompt ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

SHUTDOWN IMMEDIATE

STARTUP UPGRADE PFILE='/u01/app/oracle/product/11.2.0/db_1/dbs/initorcl.ora '

@@ ?/rdbms/admin/utlirp.sql

SHUTDOWN IMMEDIATE

STARTUP PFILE='/u01/app/oracle/product/11.2.0/db_1/dbs/initorcl.ora '

-- The following step will recompile all PL/SQL modules.

-- It may take serveral hours to complete.

@@ ?/rdbms/admin/utlrp.sql

set feedback 6;

 

4. 修改对应的 INIT 文件

 

更改参数文件的相关参数路劲

 

 

5. 在目标 LINUXlinux 数据库 orcl)在用 DBCA 创建数据库

 

用DBCA创建ORCL数据库,并将数据文件,参数文件,日志文件和控制文件删除,再把转换好的相应文件复制到linux相应的路劲

 

 

6. 删除文件,复制文件

删除复制后文件后,执行TRANS.SQL脚本

 

 

7,升级

执行升级脚本

 

 

遇到错误,提示将数据库启动到升级模式,再执行UTLIRP.SQL脚本

 

 

跑完脚本,提示正常关闭和启动数据库,脚本已经执行,可以不用执行

 

 

检查数据库的状态和文件

 

 

 

验证数据的有效性

 

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/guipeng/p/8310977.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值