当前位置:  数据库>oracle

使用RMAN简单迁移表空间

    来源: 互联网  发布时间:2017-06-03

    本文导语: 确认环境: 源库: 系统:RedHat企业版5.4  数据库版本:Oracle 10.2.0.1.0 IP:10.37.100.100 目标库: 系统:RedHat企业版5.4  数据库版本:ORACLE 10.2.0.3.0 IP:10.37.100.101 需要传输的表空间:TTS_TEST   检查一下环境: 源库上查看版本支持情...

确认环境:

源库:

系统:RedHat企业版5.4 

数据库版本:Oracle 10.2.0.1.0

IP:10.37.100.100

目标库:

系统:RedHat企业版5.4 

数据库版本:ORACLE 10.2.0.3.0

IP:10.37.100.101

需要传输的表空间:TTS_TEST

 

检查一下环境:

源库上查看版本支持情况:

SQL> select db.name,db.platform_name,tp.endian_format

  2  from v$transportable_platform tp,v$database db

  3  where tp.platform_name=db.platform_name

  4  /

 

NAME      PLATFORM_NAME        ENDIAN_FORMAT

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

ORCL      Linux IA (32-bit)    Little

查看数据库版本:

SQL> select version from v$instance;

VERSION

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

10.2.0.1.0

 

备库上查看版本情况:

SQL> select db.name,db.platform_name,tp.endian_format

  2  from v$transportable_platform tp,v$database db

  3  where tp.platform_name=db.platform_name

  4  /

 

NAME      PLATFORM_NAME        ENDIAN_FORMAT

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

ORCL      Linux IA (32-bit)    Little

 

源库上需要有整库和所有归档日志的备份

 

RMAN> backup database  plus archivelog format '/u01/rman_backup/all_database_bak_%T_%t.bak';
 
 

RMAN> transport tablespace tts_test

2> tablespace destination '/u01/tts_dir/td'

3> auxiliary destination '/u01/tts_dir/ad';

 

此时传输表空间所需的数据文件,日志文件,传输集及导入脚本均已生成在tablepsace desnation目录下,而auxilibary desnation路径下的临时文件已经被删除
 
[oracle@localhost td]$ cd /u01/tts_dir/td/

[oracle@localhost td]$ ls

dmpfile.dmp  explog.log  impscrpt.sql  tts01.dbf  tts02.dbf

 

[oracle@localhost td]$ cd /u01/tts_dir/ad/

[oracle@localhost ad]$ ls

TSPITR_ORCL_MWWE

[oracle@localhost ad]$ cd TSPITR_ORCL_MWWE/

[oracle@localhost TSPITR_ORCL_MWWE]$ ls

datafile  onlinelog

[oracle@localhost TSPITR_ORCL_MWWE]$ cd datafile/

[oracle@localhost datafile]$ ls

[oracle@localhost datafile]$ cd ../onlinelog/

[oracle@localhost onlinelog]$ ls

 

将tablepsace desnation路径下生成的所有文件copy到目标库:

 

[oracle@localhost ~]$ scp 10.37.100.100:/u01/tts_dir/td/* /u01/tts_dir/

oracle@10.37.100.100's password: 

dmpfile.dmp                                100%  76KB  76.0KB/s  00:00   

explog.log                                100% 1226    1.2KB/s  00:00   

impscrpt.sql                              100% 2175    2.1KB/s  00:00   

tts01.dbf                                  100%  20MB  20.0MB/s  00:01   

tts02.dbf                                  100%  20MB  20.0MB/s  00:01 

 

SQL> @/u01/tts_dir/impscrpt.sql

 

Directory created.

Directory created.

DECLARE

*

ERROR at line 1:

ORA-39002: invalid operation

ORA-06512: at "SYS.DBMS_STREAMS_TABLESPACE_ADM", line 2006

ORA-06512: at line 20

Directory dropped.

Directory dropped.

报错的原因是目标库的传输集路径跟源库的不一样,可以将传输集复制到相同的路径下,或者去修改一下impscrpt.sql中的路径:

[oracle@localhost tts_dir]$ vi impscrpt.sql 

 

将一下两个路径修改成目标库下的传输集路径即可:

CREATE DIRECTORY STREAMS$DIROBJ$1 AS  '/u01/tts_dir/';

CREATE DIRECTORY STREAMS$DIROBJ$DPDIR AS  '/u01/tts_dir/';

 

再次执行脚本导入:

 

SQL> @/u01/tts_dir/impscrpt.sql

 

Directory created.

Directory created.

PL/SQL procedure successfully completed.

Directory dropped.

Directory dropped.

 

也可以直接使用inpdp命令导入(这种导入可以使用remap_schma参数来修改表空间的所属主)

 

[oracle@localhost tts_dir]$ impdp system/oracle dumpfile=dmpfile.dmp directory=tts_dir nologf
 
ile=y transport_datafiles=/u01/tts_dir/tts01.dbf,/u01/tts_dir/tts02.dbf remap_schema=tts:xtt;
 
 

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
 
With the Partitioning, OLAP and Data Mining options

Master table "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01" successfully loaded/unloaded
 
Starting "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01":  system/******** dumpfile=dmpfile.dmp directory=tts_dir nologfile=y transport_datafiles=/u01/tts_dir/tts01.dbf,/u01/tts_dir/tts02.dbf remap_schema=tts:xtt
 
Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK

Processing object type TRANSPORTABLE_EXPORT/TABLE

Processing object type TRANSPORTABLE_EXPORT/TABLE_STATISTICS

Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK

Job "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01" successfully completed at 10:24:37

 

查看一下结果:

SQL> conn xtt/oracle

Connected.

 

SQL> select * from tab;

TNAME                          TABTYPE  CLUSTERID

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

TEST                          TABLE

DG_TEST                        TABLE

STD_TABLE_1                    TABLE

STD_TABLE                      TABLE


    
 
 

您可能感兴趣的文章:

  • mysql Innodb表空间卸载、迁移、装载的使用方法
  • 驱动中如何将用户空间内存映射到内核空间使用?
  • linux 进程的用户空间使用?
  • 在LINUX环境下,怎样限定SendMail邮件服务器中邮件用户使用邮件空间的大小。。。。。。
  • !!Unix下如何在程序中查询出剩余磁盘空间?应该使用什么函数?
  • 如何得到目录下磁盘空间的的使用情况?
  • 如何查看分区情况和硬盘空间使用情况?
  • 有没有使用最新内核的占用空间较小的linux操作系统
  • 怎么查看磁盘空间的使用情况?
  • 请问在linux中如何限制用户的硬盘使用空间?
  • Linux上能创建限制使用磁盘空间的用户吗?
  • linux 查看某账户使用的磁盘空间
  • IRIX 6.5下使用new分配空间的问题
  • 如何使用在创建文件时预先分配一定的磁盘空间
  • 找linux高手帮个忙~回报为你几个G的空间免费长期使用...
  • 2440/linux 2.6下如果使用两段不连续的RAM空间?
  • 使用完ejb对象,快速释放出它占用的空间,而不删除数据库记录,是用的那条语句?
  • 请问ioctl能得到某个硬盘已经使用空间的信息吗?
  • PHP命名空间(namespace)的使用基础及示例
  • 关于使用netfilter,如何把数据送到用户空间?
  • UNIX中使用putenv需要创建字符串存储空间,而且是只能在本进程中才有用
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C++ I/O 成员 tellg():使用输入流读取流指针
  • 在测试memset函数的执行效率时,分为使用Cash和不使用Cash辆种方式,该如何控制是否使用缓存?
  • C++ I/O 成员 tellp():使用输出流读取流指针
  • 求ibm6000的中文使用手册 !从来没用过服务器,现在急需使用它,不知如何使用! 急!!!!!
  • Python不使用print而直接输出二进制字符串
  • 请问:在使用oracle数据库作开发时,是使用pro*c作开发好些,还是使用库函数如oci等好一些啊?或者它们有什么区别或者优缺点啊?
  • Office 2010 Module模式下使用VBA Addressof
  • 急求结果!!假设一个有两个元素的信号量集S,表示了一个磁带驱动器系统,其中进程1使用磁带机A,进程2同时使用磁带机A和B,进程3使用磁带机B。
  • windows下tinyxml.dll下载安装使用(c++解析XML库)
  • c#中SAPI使用总结——SpVoice的使用方法
  • tcmalloc内存泄露优化c++开源库下载,安装及使用介绍
  • 使用了QWidget的程序,如何使用后台程序启动它?
  • sharepoint 2010 使用STSNavigate函数实现文件下载举例
  • 共享内存一般是怎么使用的,是同消息队列配合使用么
  • 使用libpcap读取tcpdump抓取的文件并解析c代码实例
  • Jsp可否使用带有GUI的JavaBean,如何使用?
  • c/c++预处理命令预#,##使用介绍
  • asp程序使用的access在Linux下如何使用!
  • 在div中使用css让文字底部对齐的方法
  • 如何得到目录下磁盘空间的的使用情况? iis7站长之家
  • Python namedtuple(命名元组)使用实例
  • LINUX下使用Eclipse,如何使用交叉编译器?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,