Oracle数据库迁移--->从Windows到Linux(一)

2014-11-24 14:27:39 · 作者: · 浏览: 1
Oracle 数据库迁移--->从Windows到Linux
I did a practice to migrate the oracle database from windows to linux operation system. The following is the operational process step by step. I recorded it in my blog for the future reference.
从10g开始,RMAN新增了CONVERT的语法,使得数据库文件可以跨版本复制,从这个特性开始,操作系统以及平台不再是数据库物理文件的限制了。
Oracle支持的可转换的平台可以在V$TRANSPORTABLE_PLATFORM视图中查询:
SQL> SELECT * FROM V$TRANSPORTABLE_PLATFORM;
PLATFORM_ID PLATFORM_NAME                            ENDIAN_FORMAT
----------- ---------------------------------------- ---------------------------
-
          1 Solaris[tm] OE (32-bit)                  Big
          2 Solaris[tm] OE (64-bit)                  Big
          7 Microsoft Windows IA (32-bit)            Little
         10 Linux IA (32-bit)                        Little
          6 AIX-Based Systems (64-bit)               Big
          3 HP-UX (64-bit)                           Big
          5 HP Tru64 UNIX                            Little
          4 HP-UX IA (64-bit)                        Big
         11 Linux IA (64-bit)                        Little
         15 HP Open VMS                              Little
          8 Microsoft Windows IA (64-bit)            Little
PLATFORM_ID PLATFORM_NAME                            ENDIAN_FORMAT
----------- ---------------------------------------- ---------------------------
-
          9 IBM zSeries Based Linux                  Big
         13 Linux 64-bit for AMD                     Little
         16 Apple Mac OS                             Big
         12 Microsoft Windows 64-bit for AMD         Little
         17 Solaris Operating System (x86)           Little
         18 IBM Power Based Linux                    Big
17 rows selected.
Oracle支持将数据文件转换为上面这些平台上的数据文件格式。

下面是我做的实验:
source platform:
os: Windows
oracle version: 10.2.0.1.0

Target platform:
os:Linux
oracle version:10.2.0.1.0

Source database ( Windows platform), the following operations are done on Windows platform.
1, 最开始碰到的问题是要求进行CONVERT的数据库必须处于只读状态
c:\>
sqlplus / as sysdba SQL>shutdown immediate SQL> startup open read only 2, Using RMAN to convert database C:\>rman target / Recovery Manager: Release 10.2.0.1.0 - Production on Fri Sep 6 09:52:17 2013 Copyright (c) 1982, 2005, Oracle. All rights reserved. connected to target database: XE (DBID=2705070866) RMAN> convert database new database Watson 2> skip offline 3> transport script 'd:/trans_srcipt.sql' 4> to platform 'Linux IA (32-bit)' 5> format 'd:\trans\%U'; Starting convert at 06-SEP-13 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: sid=33 devtype=DISK Directory SYS.DATA_PUMP_DIR found in the database Directory SYS.ORACLECLRDIR found in the database User SYS with SYSDBA and SYSOPER privilege found in password file channel ORA_DISK_1: starting datafile conversion input datafile fno=00003 name=C:\ORACLEXE\ORADATA\XE\SYSAUX.DBF converted datafile=D:\TRANS\DATA_D-XE_I-2705070866_TS-SYSAUX_FNO-3_01OJ5L2R channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:00:25 channel ORA_DISK_1: starting datafile conversion input datafile fno=00001 name=C:\ORACLEXE\ORADATA\XE\SYSTEM.DBF converted datafile=D:\TRANS\DATA_D-XE_I-2705070866_TS-SYSTEM_FNO-1_02OJ5L3K channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:00:15 channel ORA_DISK_1: starting datafile conversion input datafile fno=00006 name=C:\ORACLEXE\ORADATA\XE\PMDB_LOB1.DBF converted datafile=D:\TRANS\DATA_D-XE_I-2705070866_TS-PMDB_NDX1_FNO-6_03OJ5L43 channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:00:15 channel ORA_DISK_1: starting datafile conversion input datafile fno=00005 name=C:\ORACLEXE\ORADATA\XE\PMDB_DAT1.DBF converted datafile=D:\T