当前所在位置:珠峰网资料 >> 计算机 >> Oracle认证 >> 正文
Oracle10g同字节序跨平台迁移(二)
发布时间:2010/9/14 9:40:46 来源:www.xue.net 编辑:城市总裁吧

  然后我们可以直接将这两个文件传输到Windows平台上:

  C:\oracle\oradata\EYGLE\DATAFILE>ftp 172.16.33.109

  Connected to 172.16.33.109.

  220 (vsFTPd 2.0.3)

  User (172.16.33.109:(none)): oracle

  331 Please specify the password.

  Password:

  230 Login successful.

  ftp> bin

  200 Switching to Binary mode.

  ftp> mget oradata/eygle/EYGLE/datafile/trans.dbf

  200 Switching to Binary mode.

  mget oradata/eygle/EYGLE/datafile/trans.dbf? y

  200 PORT command successful. Consider using PASV.

  150 Opening BINARY mode data connection for oradata/eygle/EYGLE/datafile/trans.dbf (10493952 bytes).

  226 File send OK.

  ftp: 收到 10493952 字节,用时 1.13Seconds 9327.96Kbytes/sec.

  ftp> mget oradata/exp_trans.dmp

  200 Switching to Binary mode.

  mget oradata/exp_trans.dmp? y

  200 PORT command successful. Consider using PASV.

  150 Opening BINARY mode data connection for oradata/exp_trans.dmp (16384 bytes).

  226 File send OK.

  ftp: 收到 16384 字节,用时 0.00Seconds 16384000.00Kbytes/sec.

  ftp> quit

  221 Goodbye.

  SQL> create user trans identified by trans;

  用户已创建。

  SQL> grant connect,resource to trans;

  授权成功。

  接下来执行导入:

  C:\oracle\oradata\EYGLE\DATAFILE>imp '/ as sysdba' tablespaces=trans transport_tablespace=y file=exp_trans.dmp datafiles=C:\oracle\oradata\EYGLE\DATAFILE\trans.dbf

  Import: Release 10.2.0.3.0 - Production on 星期四 7月 12 15:55:30 2007

  Copyright (c) 1982, 2005, Oracle. All rights reserved.

  连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production

  With the Partitioning, OLAP and Data Mining options

  经由常规路径由 EXPORT:V10.02.01 创建的导出文件

  即将导入可传输的表空间元数据...

  已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入

  . 正在将 SYS 的对象导入到 SYS

  . 正在将 SYS 的对象导入到 SYS

  . 正在将 TRANS 的对象导入到 TRANS

  . . 正在导入表 "TEST"

  . 正在将 SYS 的对象导入到 SYS

  成功终止导入, 没有出现警告。

  我们看到这个文件可以直接被Windows上的系统识别。

  SQL> select count(*) from trans.test;

  COUNT(*)

  ----------

  615

  SQL> select tablespace_name,status from dba_tablespaces;

  TABLESPACE_NAME STATUS

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

  SYSTEM ONLINE

  UNDOTBS1 ONLINE

  SYSAUX ONLINE

  TEMP ONLINE

  USERS ONLINE

  TRANS READ ONLY

  已选择6行。

  6. Oracle10g同字节序跨平台迁移的增强

  上一节介绍的方法不免过于复杂,也许很多朋友会发出这样的疑问,既然同字节序数据文件跨平台的差异如此之小,为什么Oracle不直接实现这一技术呢?

  也许是这一迁移的技术优先级较低,在Oracle10gR2中,Oracle开始支持同字节序数据库的跨平台迁移。

  这一技术实现有以下几点注意事项:

  1. 源平台和目的平台需要具有相同的字节序

  2. 重做日志文件和控制文件不会传输,迁移之后需要重建控制文件使用RESETLOGS方式打开数据库;临时文件不会被传输

  3. BFILES、外部表和Directories、口令文件等不会被传输。

  我们通过Linux平台到Windows平台的迁移来看一下这一技术的实现。

  1. 确认平台及版本

  首先要确定源平台和目标平台具有相同的字节序:

  SQL> select PLATFORM_NAME, ENDIAN_FORMAT from V$TRANSPORTABLE_PLATFORM

  2 where platform_name in ('Linux IA (32-bit)','Microsoft Windows IA (32-bit)');

  PLATFORM_NAME ENDIAN_FORMAT

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

  Microsoft Windows IA (32-bit) Little

  Linux IA (32-bit) Little

  然后需要确定源平台及目标平台的数据库版本,通常需要这两者具有相同的数据库版本,本例的情况有所不同,Linux平台的数据库版本为10.2.0.1,Windows平台的数据库版本为10.2.0.3,数据库版本不同将使情况稍微复杂一点,而且需要注意的是,通常高版本的数据库不能向低版本迁移。

  2. 确认迁移是否支持

  跨平台迁移需要数据库处于READ ONLY模式打开,使用DBMS_TDB.CHECK_DB进行检查:

  SQL> set serveroutput on

  SQL> declare

  2 db_ready boolean;

  3 begin

  4 db_ready := dbms_tdb.check_db('Microsoft Windows IA (32-bit)');

  5 end;

  6 /

  PL/SQL procedure successfully completed.

  如果以上过程成功执行,并没有其他相关警告输出,则说明数据库可以支持跨平台转移。

广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved