今天把一个服务器上的health用户的表全部导入到另一个机器上。
首先把原服务器的数据export出来
exp health/health123 file=/opt/oracle/app/product/9.2.0/network/admin/expd.dmp full=y owner=health log=log.log
用secureCRT命令sz导入到本地。本地路径可以在secureCRT选项-会话选项-xmodem设置路径
然后在目标数据库建立一个表空间health,和一个health用户
由于原来导入过一次数据到默认的USERS表空间去了,必须把这些表给删除,先删除表空间
drop tablespace USERS including contents cascade constraints ;
drop tablespace users including contents and datafiles;
但是这几个语句都会报错 ORA-12919: 不能删除默认永久表空间 ,由于USER是默认的用户表空间,所有就要先修改
alter database default tablespace HEALTH;
然后在删除,可是又会报错
SQL> drop tablespace USERS including contents cascade constraints ;
drop tablespace USERS including contents cascade constraints
*
第 1 行出现错误:
ORA-22868: 具有 LOB 的表包含有位于不同表空间的段
目前只会用手动的方法删除这些表。
然后在导入:imp health/health123 file=D:\oracle\prod
uct\10.2.0\db_1\health\expd.dmp fromuser=health touser=health
操作过程中用到了一些SQL
alter user health default tablespace health;
alter user health quota unlimited on health;
阅读(1211) | 评论(0) | 转发(0) |