表空间传输问题

[复制链接]
查看11 | 回复9 | 2007-9-26 18:42:10 | 显示全部楼层 |阅读模式
我用表空间传输的方法导数据,导到目标数据库后,看不到导入的表空间,如果从新导入,提示表空间已存在,为什么?
回复

使用道具 举报

千问 | 2007-9-26 18:42:10 | 显示全部楼层
数据文件已经cp过去了吧?
回复

使用道具 举报

千问 | 2007-9-26 18:42:10 | 显示全部楼层
最好把具体的过程贴一下。
回复

使用道具 举报

千问 | 2007-9-26 18:42:10 | 显示全部楼层
LZ具體是怎么操作的啊?
回复

使用道具 举报

千问 | 2007-9-26 18:42:10 | 显示全部楼层
表空间传输
write by hanchaoyong in date 2006-01-13

方法介绍:
实现表空间的传输的条件:操作系统和数据库版本最好一致
表空间传输的速度就是复制文件的速度.
表空间类的数据对象不可以跨越表空间.
环境说明:
源头:机器A 表空间:TEST_DB
目标:机器B 表空间:TEST_DB
1 测试表空间是否可以传输.

execute dbms_tts.transport_set_check('TEST_DB', true);
若报过程dbms_tts.transport_set_check不存在,
则用sys的数据库用户执行脚本"$ORACLE_HOME/rdbms/admin/dbmsplts.sql"建立之.
2 select * from transport_set_violations;
SQL> select * from transport_set_violations;
no rows selected
ok的状况.
3 设置表空间TEST_DB 为只读.
alter tablespace TEST_DB read only;
4 表空间导出.

exp \'sys/sys@135 as sysdba\' transport_tablespace=y tablespaces=TEST_DB

file=/home/oracle/test.dmp log=/home/oracle/test.log

5 复制源表空间的数据文件(注意文件要只读)

cp /ora9/oracle/oradata/testdb2/TEST_DB.dbf TEST_DB.DBF
复制完成后把源表空间设置可读写.
alter tablespace TEST_DB read write;
6 把导出的dmp文件和数据文件,复制到目标数据库目录下.
ftpTEST_DB.DBF and test.dmp
7 目标数据库上建立一个和源表空间的相同的表空间,然后建立用户,指定表空间到TEST_DB.
然后删除目标数据库上建立的表空间TEST_DB.
8 复制源数据库的数据文件到目标目录下.
cp TEST_DB.DBF /ora9/oracle/oradata/testdb1/TEST_DB.DBF
9 把导出的dmp和数据文件为基础,倒入数据到目标表空间下即可.
imp \'sys/szmeiton@123 as sysdba\' transport_tablespace=y tablespaces=TEST_DB file='test.dmp' datafiles='/ora9/oracle/oradata/testdb1/TEST_DB.DBF' tts_owners=test

注意:第7步
回复

使用道具 举报

千问 | 2007-9-26 18:42:10 | 显示全部楼层
实践过好多次
都可以成功
回复

使用道具 举报

千问 | 2007-9-26 18:42:10 | 显示全部楼层
按表空间进行数据传输的实例
环境:windows 2000server oracle 9.2.0.1.0
制作人:wys
目标:实现按表空间快速传输数据
时间: 2007.02.08
任务: 实现把geo3d_geo3dgroup数据库中的基岩表空间中的数据传输到本地的geo3d数据库.
注意:适用于相同平台之间的传输
测试步骤:
1) 把本地geo3d数据库中的基岩表空间及数据文件全部删除掉.
SQL> drop tablespace expdts_br including contents and datafiles cascade constraints;
表空间已丢弃。
2) 对geo3d_group数据库中的基岩表空间设置为只读.
SQL> alter tablespace expdtsA_br read only;
3) 对geo3d_geo3dgroup中的表空间导出
EXP 'sys/sa@GEO3D_geo3dgroup as sysdba' transport_tablespace = y tablespaces = expdts_br file=e:\br.DMP log = br.log
4) 把数据库geo3d_geo3dgroup中基岩表空间的数据文件用操作系统工具拷贝到目标数据库geo3d中的数据文件目录内.
5) 设置geo3d_geo3dgroup数据库中的表空间可写.
SQL> alter tablespace expdts_br read write;
6) 编写脚本进行导入
  imp userid = 'sys/sa@geo3d as sysdba' transport_tablespace = y datafiles = 'e:\expdts_br.ora' tablespaces = expdts_br file = e:\br1.dmp log = e:\brtest.log

优点:
表空间模式是快速传输数据的最佳方式.不用停掉源数据进行数据文件的拷贝.

缺点:
1) 只能进行相同平台上的数据库传输.
2) 目标数据库中不准含有导入的表空间
3) 被导入的表空间必须是相对独立的.
4) 目前还不支持基于函数的索引,有范围的引用,域索引
注意: 实现不同用户之间的表空间导入时,序列是不能导入的需要重建.
参考脚本:
imp userid = 'sys/sa@geo3d as sysdba' transport_tablespace = y datafiles = 'd:\oracle\oradata\geo3d\expdts_br.ora' tts_owners = geo3d fromuser = geo3d touser = geo3dshweb tablespaces = expdts_br file = e:\br1.dmp log = e:\brtest.log

附录:
连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
经由常规路径导出由EXPORT:V09.02.00创建的文件
关于导入可传输表空间元数据...
已经完成ZHS16GBK字符集和AL16UTF16 NCHAR 字符集中的导入
. 正在将SYS的对象导入到 SYS
. 正在将GEO3D的对象导入到 GEO3D
. . 正在导入表 "BRHOLE"
. . 正在导入表 "BRSPECTRUM"
. . 正在导入表 "BRIDENTIFICATION"
. . 正在导入表 "BRCHEM"
. . 正在导入表 "BRANALYSIS"
. . 正在导入表 "BRPHYS"
. . 正在导入表 "BRFAULTDESC"
成功终止导入,但出现警告。
附录脚本的
导入
连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
经由常规路径导出由EXPORT:V09.02.00创建的文件
关于导入可传输表空间元数据...
已经完成ZHS16GBK字符集和AL16UTF16 NCHAR 字符集中的导入
. 正在将GEO3D的对象导入到 GEO3DSHWEB
IMP-00041: 警告: 创建的对象带有编译警告
"CREATE TRIGGER "GEO3DSHWEB".BedRockHole_BI BEFORE INSERT ON BRHole FOR EACH"
" ROW"
" BEGIN"
" IF :NEW.HoleID is NULL OR :NEW.HoleID < 1 THEN"
" SELECT SeqBedRockHole.NextVal INTO :NEW.HoleID FROM DUAL;"
" END IF;"
" END;"
成功终止导入,但出现警告。
我做的测试,大家参考一下,
回复

使用道具 举报

千问 | 2007-9-26 18:42:10 | 显示全部楼层
参照5楼的,不要把第7步漏过去
回复

使用道具 举报

千问 | 2007-9-26 18:42:10 | 显示全部楼层
提问的智慧……
回复

使用道具 举报

千问 | 2007-9-26 18:42:10 | 显示全部楼层
最初由 rollingpig 发布
[B]提问的智慧…… [/B]

不知为啥一般很少有人会看的,大家只想着理解解决问题。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行