可以通过指定datapump directory子句来指定dump文件和导出日志文件的存储目录,datapumpdirectory子句使用的是数据库目录对象名,
执行传输表空间时指定data pump文件目录
可以修改传输表空间集的data pump导出的dump文件名,示例脚本名和日志文件名。缺省情况下这些文件
存储在表空间目录中且缺省名称如下:
.data pump导出的dump文件名为dmpfile.dmp
.导出日志文件explog.log
.示例脚本impscrpt.sql
可以通过指定datapump directory子句来指定dump文件和导出日志文件的存储目录,datapumpdirectory子句使用的是数据库目录对象名,不是文件系统目录的目录路径。
下面的例子将使用指定datapump directory,dump file,export log和import script文件名的transport tablespace命令来执行表空间传输。
--------------------------------------推荐阅读 --------------------------------------
rman 配置归档日志删除策略
oracle基础教程之通过rman复制数据库
rman备份策略制定参考内容
rman备份学习笔记
oracle数据库备份加密 rman加密
--------------------------------------分割线 --------------------------------------
1.确认源数据库与目标数据库所在平台是不是传输表空间所支持的操作系统平台。
确认源数据库操作系统平台:
sql> select d.platform_name,endian_format from v$transportable_platform tp,v$database d
2 where tp.platform_name=d.platform_name ;
platform_name endian_format
----------------------------------------------------------------------------------------------------- --------------
linux ia (32-bit) little
确认目数据库操作系统平台:
sql> select d.platform_name,endian_format from v$transportable_platform tp,v$database d
2 where tp.platform_name=d.platform_name ;
platform_name endian_format
----------------------------------------------------------------------------------------------------- --------------
linux ia (32-bit) little
这里操作系统平台都是linux
2.确认要被传输的表空间是否是自包含表空间(tspitr,test):
sql> exec sys.dbms_tts.transport_set_check('tspitr',true);
pl/sql procedure successfully completed.
sql> exec sys.dbms_tts.transport_set_check('test',true);
pl/sql procedure successfully completed.
sql> select * from sys.transport_set_violations;
no rows selected
如果没有行选择,表示该表空间只包含表数据,可以传输。
sql> select count(*) from tspitr.tspitr;
count(*)
----------
0
sql> select count(*) from test.test;
count(*)
----------
50683
3.对源数据库执行备份,,在执行备份时一定要加上include current controlfile否则执行transport tablespace命令时会出现以下错误信息:
automatic instance removed
rman-00571: ===========================================================
rman-00569: =============== error message stack follows ===============
rman-00571: ===========================================================
rman-03002: failure of tranport tablespace command at 03/26/2015 20:24:22
rman-03015: error occurred in stored script memory script
rman-06026: some targets not found - aborting restore
rman-06024: no backup or copy of the control file found to restore
[oracle@oracle11g admin]$ export nls_date_format='yyyy-mm-dd hh24:mi:ss'
[oracle@oracle11g admin]$ rman target catalog
recovery manager: release 10.2.0.5.0 - production on thu mar 26 20:01:33 2015
copyright (c) 1982, 2007, oracle. all rights reserved.
connected to target database: test (dbid=2168949517)
connected to recovery catalog database
rman> backup as backupset database include current controlfile plus archivelog;
starting backup at 2015-03-26 20:32:19
current log archived
using channel ora_disk_1
channel ora_disk_1: starting archive log backupset
channel ora_disk_1: specifying archive log(s) in backup set
input archive log thread=1 sequence=68 recid=75 stamp=875286167
input archive log thread=1 sequence=69 recid=76 stamp=875291999
input archive log thread=1 sequence=70 recid=77 stamp=875302397
input archive log thread=1 sequence=71 recid=78 stamp=875308491
input archive log thread=1 sequence=72 recid=79 stamp=875350203
input archive log thread=1 sequence=73 recid=80 stamp=875351397
input archive log thread=1 sequence=74 recid=81 stamp=875390545
input archive log thread=1 sequence=75 recid=82 stamp=875390643
input archive log thread=1 sequence=76 recid=83 stamp=875391627
input archive log thread=1 sequence=77 recid=84 stamp=875391661
input archive log thread=1 sequence=78 recid=85 stamp=875391764
input archive log thread=1 sequence=79 recid=86 stamp=875392340
channel ora_disk_1: starting piece 1 at 2015-03-26 20:32:22
channel ora_disk_1: finished piece 1 at 2015-03-26 20:32:29
piece handle=/u02/ora_test875392341_991 tag=tag20150326t203220 comment=none
channel ora_disk_1: backup set complete, elapsed time: 00:00:08
finished backup at 2015-03-26 20:32:29