设为首页 收藏本站
查看: 1489|回复: 0

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

[复制链接]

尚未签到

发表于 2016-7-29 10:16:03 | 显示全部楼层 |阅读模式
  从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

  [size=1em]检查表空间是否是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; 中文没有乱码

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-251055-1-1.html 上篇帖子: Oracle一个表update 锁住了,怎么杀掉 session 下篇帖子: 能使 Oracle 索引失效的六大限制条件
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表