`
backspace
  • 浏览: 137212 次
文章分类
社区版块
存档分类
最新评论

[oracle实验]跨平台传输表空间 win

 
阅读更多

从11g开始,oracle支持跨平台传输表空间。
查看支持平台列表,如果源库和目标库的endian format不一致,需要convert

SQL> col platform_name for a32;
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 x86 64-bit                 Little
         16 Apple Mac OS                     Big
         12 Microsoft Windows x86 64-bit     Little
         17 Solaris Operating System (x86)   Little
         18 IBM Power Based Linux            Big
         19 HP IA Open VMS                   Little
         20 Solaris Operating System (x86-64 Little
            )
         21 Apple Mac OS (x86-64)            Little
20 rows selected.

使用传输表空间的限制:

1.源库和目标库必须是同样的字符集和国家字符集 

SQL> col parameter for a32;
SQL> col value for a30;
SQL> select * from nls_database_parameters;
PARAMETER                        VALUE
-------------------------------- ------------------------------
NLS_LANGUAGE                     AMERICAN
NLS_TERRITORY                    AMERICA
NLS_CHARACTERSET                 AL32UTF8
NLS_NCHAR_CHARACTERSET           AL16UTF16
NLS_RDBMS_VERSION                11.2.0.3.0
......                                        ......

2.所有要传输的表空间对象必须是self-contained.意为:A表空间里的对象有引用B表空间的对象,那么表空间A和B都必须包含在transpotable set里。 
不过不用担心,有DBMS_TTS包帮我们检查

下面开始实验吧: 
source : windows oracle 11203 64bit
target : OEL 6.3   oracle 11203 64bit
platform,endian检查:
source:

SQL> SELECT d.PLATFORM_NAME, ENDIAN_FORMAT FROM V$TRANSPORTABLE_PLATFORM tp, V$DATABASE d WHERE tp.PLATFORM_NAME = d.PLATFORM_NAME;
PLATFORM_NAME                    ENDIAN_FORMAT
-------------------------------- ---------------------------
Microsoft Windows x86 64-bit     Little

target:

SQL> col platform_name for a30;
SQL> SELECT d.PLATFORM_NAME, ENDIAN_FORMAT FROM V$TRANSPORTABLE_PLATFORM tp, V$DATABASE d WHERE tp.PLATFORM_NAME = d.PLATFORM_NAME;
PLATFORM_NAME                  ENDIAN_FORMAT
------------------------------ --------------
Linux x86 64-bit               Little

检查表空间是否是self-cotained:

SQL> EXEC DBMS_TTS.TRANSPORT_SET_CHECK('ERM',TRUE);
PL/SQL procedure successfully completed.

在TRANSPORT_SET_VIOLATIONS视图查看执行结果,如果有依赖对象不在提供的tablespace里,会给出详细提示

SQL> SELECT * FROM TRANSPORT_SET_VIOLATIONS;
no rows selected

生成传输表空间集:

SQL> ALTER TABLESPACE ERM READ ONLY;
Tablespace altered.
SQL> create directory erm_dump_dir as 'E:\app\susu\dumpdir\';
Directory created.
SQL> grant read,write on directory erm_dump_dir to szpdc;
Grant succeeded.
SQL> host
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.
C:\Windows\system32>expdp system/password dumpfile=erm_tts.dmp directory=erm_dum
p_dir transport_tablespaces=ERM

使用RMAN convert转换文件格式:

C:\Windows\system32>rman target /
Recovery Manager: Release 11.2.0.3.0 - Production on Fri May 24 14:41:32 2013
Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
connected to target database: ERMDB (DBID=1977612728)
RMAN> convert tablespace ERM to platform 'Linux x86 64-bit' format 'e:\%N%f';
Starting conversion at source at 24-MAY-13
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=194 device type=DISK
channel ORA_DISK_1: starting datafile conversion
input datafile file number=00006 name=E:\APP\SUSU\ORADATA\ERMDB\ERM01.DBF
converted datafile=E:\ERM6
channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:00:03
Finished conversion at source at 24-MAY-13

将RMAN CONVERT生成的transport tablespace set和 expdp导出的文件 copy到目标数据库
我这里拷贝到了 

[oracle@db1 dumpdir]$ pwd
/s01/app/oracle/dumpdir
[oracle@db1 dumpdir]$ ls
ERM6  ERM_TTS.DMP  import.log

接下来,在目标数据库操作:

RMAN> convert datafile '/s01/app/oracle/dumpdir/ERM6' db_file_name_convert '/s01/app/oracle/dumpdir/ERM6','/s01/app/oracle/oradata/DB11G/erm01w.dbf';

Starting conversion at target at 24-MAY-13
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile conversion
input file name=/s01/app/oracle/dumpdir/ERM6
converted datafile=/s01/app/oracle/oradata/DB11G/erm01w.dbf
channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:00:07
Finished conversion at target at 24-MAY-13

Starting Control File and SPFILE Autobackup at 24-MAY-13
piece handle=/s01/app/oracle/fast_recovery_area/DB11G/autobackup/2013_05_24/o1_mf_s_816275177_8sy4cc2w_.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 24-MAY-13
[oracle@db1 dumpdir]$ impdp system/password directory=ERM_DUMP_DIR dumpfile=ERM_TTS.DMP transport_datafiles=/s01/app/oracle/oradata/DB11G/erm01w.dbf remap_schema=SZPDC:ERM

Import: Release 11.2.0.3.0 - Production on Fri May 24 15:11:15 2013
Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Master table "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01" successfully loaded/unloaded
Starting "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01":  system/******** directory=ERM_DUMP_DIR dumpfile=ERM_TTS.DMP transport_datafiles=/s01/app/oracle/oradata/DB11G/erm01w.dbf remap_schema=SZPDC:ERM 
Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK
Processing object type TRANSPORTABLE_EXPORT/TABLE
Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
Job "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01" successfully completed at 15:11:31

大功告成,查询
select * from erm.test; 中文没有乱码

0
4
分享到:
评论

相关推荐

    oracle 数据库由Linux平台向Windows平台迁移

    Oracle数据库的跨平台迁移是一项技术性较强的工作,尤其是从Linux迁移到Windows。在本案例中,用户成功地将一个在Linux环境下运行的Oracle 10g数据库移植到了Windows操作系统上。以下是对这个过程的详细解释和扩展:...

    Oracle-VM-VirtualBox-5.1.26-Win.exe

    VirtualBox作为一个强大的跨平台虚拟化解决方案,它支持多种操作系统,包括但不限于Windows、Linux、Mac OS X和Solaris等。用户可以在VirtualBox中创建虚拟机,模拟不同的硬件环境,以便在同一台物理机器上安装和...

    oracle 调用webservice

    Webservice 的优点包括跨平台、跨语言、灵活性高、可重用性强等。 二、Java 编写简单的 WebService 实例 使用 Eclipse 编写简单的 WebService 实例,首先需要安装 Eclipse 和 Java Development Kit(JDK)。然后,...

    oracle getaway 11.2.0.1数据库安装包

    这个安装包包含了所有必要的组件,以便在系统上配置和运行Oracle Gateway,以实现跨平台的数据集成和互操作性。 Oracle Gateway 11.2.0.1 版本的关键特性包括: 1. **兼容性**:此版本支持与多种异构数据库系统...

    DBTranfer(封装其他系统对linux系统中oracle数据库的访问)

    在DBTranfer的上下文中,socket通信确保了跨平台的数据传输能力,无论是Windows 7还是Red Hat Linux系统,都能通过socket接口与DBTranfer进行有效通信。 在实际应用中,DBTranfer经过了在Win7和RHL系统上的测试,这...

    instantclient-basic-win32-10.1.0.2

    - **跨平台**: 虽然这里讨论的是Windows 32位版,但Oracle Instant Client还支持其他操作系统,如Linux、macOS和Solaris。 3. **10.1.0.2版本** 这个版本属于Oracle 10g Release 1(10.1)系列,发布于2003年,是...

    VirtualBox-5.2.30-130521-Win

    多平台支持:VirtualBox在Windows、macOS、Linux等多个操作系统上运行,为用户提供了跨平台的虚拟化解决方案。 虚拟机创建:用户可以轻松创建多个虚拟机,模拟不同操作系统的环境,如Windows、Linux、macOS等,实现...

    虚拟机,win10系统

    首先,它允许开发者在不同的操作系统环境中测试他们的软件,确保跨平台兼容性。其次,它为学习和实验新的操作系统或配置提供了安全的沙箱环境,因为虚拟机内的更改不会影响主机系统。此外,虚拟机也常用于安全分析,...

    Navicat Premium完美兼容win10

    - Navicat Premium支持云同步功能,用户可以在多台设备间同步连接配置,实现跨平台协作。 - 远程连接功能使得团队成员可以远程访问数据库,提升协作效率。 5. **脚本编写与调试**: - 提供高级SQL编辑器,支持...

    dbeaver-ce-21.0.1-win32.win32.x86_64.zip

    9. **跨平台**:虽然本压缩包是针对Windows 32位和64位系统的,但DBeaver CE 同样可在Linux、macOS等操作系统上运行,具有良好的跨平台特性。 10. **安全性**:DBeaver CE 支持安全连接,确保用户数据在传输过程中...

    DataStudio_win_64.zip

    同时,它支持多种数据库方言,包括但不限于Oracle、MySQL、SQL Server、PostgreSQL等,这使得开发人员可以在同一平台上处理不同类型的数据库,提高了跨平台工作的便利性。 其次,DataStudio具备优秀的数据浏览和...

    dbeaver-ce-22.2.4-win32.win32.x86-64.zip

    DBeaver是一款功能强大的、跨平台的数据库管理和SQL客户端软件,专为各种数据库系统的操作和开发设计。它的全称是"DBeaver Community Edition 22.2.4",适用于Windows 32位和64位系统。这个版本的DBeaver支持多种...

    dbeaver-ce-22.3.0-win32.win32.x86-64.zip

    1. **多平台支持**:DBeaver不仅限于Windows,还可在其他主流操作系统上运行,提供跨平台的数据库管理体验。 2. **数据库连接**:它支持广泛的数据库类型,包括但不限于MySQL、PostgreSQL、Oracle、SQL Server、...

    BDE win7 64

    然而,随着技术的发展,BDE逐渐被更现代的技术如ADO、ADO.NET、JDBC等取代,这些技术提供了更好的跨平台能力,更高的性能,以及对新数据库系统的广泛支持。但BDE仍然在一些遗留系统和老项目中发挥着作用,尤其是在...

    mysql 5.5.21-win64.msi + Navicat(Mysql+GUI+Tols)

    同时,它也支持多种数据库类型,如Oracle、SQL Server、PostgreSQL等,具有很高的跨平台兼容性。 总结来说,这个压缩包提供的是一套完整的MySQL数据库管理和开发环境,包括MySQL 5.5.21的安装程序和Navicat的汉化版...

    AntSword-Loader-v4.0.3-win32-x64.zip

    中国蚁剑是一个广受欢迎且开源的跨平台Web管理工具,特别设计用于合法的渗透测试和网站维护任务。它为安全专家和网站管理员提供了便捷的方式来管理和操作他们的Web服务器,确保网站的安全性。 首先,我们来详细了解...

    win10可用 navicat

    6. **数据传输**:Navicat提供了数据传输工具,可以在不同数据库之间迁移数据,支持跨平台的数据迁移。 7. **数据同步与模型设计**:Navicat的模型设计功能可以帮助用户建立数据库模型,进行ER图设计,支持逆向工程...

    vnc-4_1_2-x86_win32_viewer.rar

    2. 多平台支持:虽然此版本是针对Windows 32位系统,但VNC本身跨平台,也支持其他操作系统,如Linux和macOS。 3. 安全性增强:可能包括更安全的加密协议,确保数据传输过程中的安全性。 4. 用户界面优化:可能提供...

    dbeaver-ce-7.2.5-win32.win32.x86_64.zip

    1. **多平台支持**:虽然这个特定的版本是针对Windows 32位的,但DBeaver CE实际上也支持其他操作系统,如Linux、macOS和各种Unix变体,使其成为跨平台数据库管理的首选工具。 2. **数据库兼容性**:DBeaver CE支持...

    IBM MTK ibm_mtk_V2_win

    1. 广泛的数据库支持:IBM MTK支持多种数据库源,包括但不限于Oracle、SQL Server、MySQL、PostgreSQL等,这使得它成为跨平台数据迁移的多面手。 2. 数据库对象迁移:除了数据本身,MTK还能够迁移数据库架构,如表...

Global site tag (gtag.js) - Google Analytics