Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4478112
  • 博文数量: 109
  • 博客积分: 10011
  • 博客等级: 上将
  • 技术积分: 2457
  • 用 户 组: 普通用户
  • 注册时间: 2006-10-18 19:04
文章分类

全部博文(109)

文章存档

2011年(1)

2010年(10)

2009年(36)

2008年(62)

我的朋友

分类: Oracle

2008-11-20 15:26:24

今天把一个服务器上的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) |
给主人留下些什么吧!~~