请教下如何复制另一个表空间的表到这个表空间
解决方案 »
- ORACLE如何取行序列号,从视图中
- oracle 11g的dmp文件导入oracle 10g
- SQL2005的触发器向oracle表中插入数据时,提示OLE DB 访问接口 "MSDAORA" 无法启动分布式事务的问题
- MS SQLSERVER DTS 将数据导入ORACLE
- 大型企业真实问题,有关ORACLE的数据导出、导入作业设置
- oracle数据批量插入为何这么慢
- 提示未找到预期FROM关键字
- 关于DBLink的问题
- 我想查某一列中(vchar)包含' or " ,怎么查?
- [Error Code: 933, SQL State: 42000]
- 存储过程commit问题
- 用户撤销对表空间控制怎么弄
然后把数据导入(insert)就可以了。
alter table 表名 move tablespace 表空间名; --多个表的时候先拼出修改语句,然后执行
select 'alter table '||table_name||' move tablespace 表空间名;' from user_tables where table_name in (表名);
此方法可取,这种是物理上的转移。
表空间对应用户,如果是复制的话,可以用另一个用户来insert 也可以完成表的转移。 用户A:
create table A select * from 用户B.table;
在用户A下用户报错:表或视图不存在
就是说不认识B.tabl,而表空间B是存在的
表示b这个用户下没有table这个表,table怎么可能是表名呢,一条简单语句这么多错
例如 导出表空间中的所有表:emp user/password@oracle_sid file=E:\datafile.dmp
tablespace=导出表空间名称 rows=n(如果要导出数据,这个就不用写了)
导入到目标表空间:imp user/password@oracle_sid file=E:\datafile.dmp
tablespace=导入表空间名称