li
  当前位置:主页 > 配置管理 > 文章内容
li
利用EXP/IMP进行数据迁移,如何转换表空间操作(2)
来源: www.ixdba.net  作者: IXDBA.NET官方    时间:2008-03-21   阅读:35  
本文章共3488字,分3页,当前第1页,快速翻页:
 

前一篇文章(http://www.ixdba.net/article/24/1358.html)介绍了解决表空间转化的问题,但是这种方法无法处理包括分区表在内的表中包含多个段的情况。

看一个简单的例子:

SQL> CREATE TABLESPACE TEST DATAFILE 'F:ORACLEORADATATEST1TEST01.DBF' SIZE 10M;

表空间已创建。

SQL> CREATE TABLE T_PARTITION (ID NUMBER, NAME VARCHAR2(30))
2 PARTITION BY RANGE (ID)
3 (PARTITION P1 VALUES LESS THAN (100) TABLESPACE TEST,
4 PARTITION P2 VALUES LESS THAN (200) TABLESPACE TEST);

表已创建。

下面要将T_PARTITION迁移到另外一个数据库中,但是目标数据库中不存在TEST表空间:

F:>exp test/test@test1 file=t_partition.dmp tables=t_partition

Export: Release 9.2.0.4.0 - Production on 星期日 3 2 16:55:34 2008

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

连接到: Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning, Oracle Label Security, OLAP and Oracle Data Mining option
s
JServer Release 9.2.0.4.0 - Production
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集

即将导出指定的表通过常规路径 ...
. .
正在导出表
T_PARTITION
. .
正在导出分区 P1 0 行被导出

. .
正在导出分区 P2 0 行被导出在没有警告的情况下成功终止导出。

对于9i数据库而言,由于分区所在表空间不存在,即使向上一篇文章介绍的那样设置QUOTA的默认表空间,导入仍然是要报错的:

SQL> CREATE USER TEST_IMP IDENTIFIED BY TEST_IMP DEFAULT TABLESPACE YANGTK;

用户已创建

SQL> GRANT CONNECT, RESOURCE TO TEST_IMP;

授权成功。

SQL> ALTER USER TEST_IMP QUOTA UNLIMITED ON YANGTK;

IXDBA.NET社区论坛

用户已更改。

SQL> REVOKE UNLIMITED TABLESPACE FROM TEST_IMP;

撤销成功。

F:>imp test_imp/test_imp@test file=t_partition.dmp tables=t_partition

Import: Release 9.2.0.4.0 - Production on 星期日 3 2 16:56:30 2008

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

连接到: Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning, Oracle Label Security, OLAP and Oracle Data Mining option
s
JServer Release 9.2.0.4.0 - Production

经由常规路径导出由EXPORT:V09.02.00创建的文件

警告: 此对象由 TEST 导出, 而不是当前用户

已经完成ZHS16GBK字符集和AL16UTF16 NCHAR 字符集中的导入
.
正在将TEST的对象导入到 TEST_IMP
IMP-00017:
由于 ORACLE 959 错误,以下的语句失败

"CREATE TABLE "T_PARTITION" ("ID" NUMBER, "NAME" VARCHAR2(30)) PCTFREE 10 P"
"CTUSED 40 INITRANS 1 MAXTRANS 255 TABLESPACE "SYSTEM" LOGGING PARTITION BY "
"RANGE ("ID" ) (PARTITION "P1" VALUES LESS THAN (100) PCTFREE 10 PCTUSED 4"
"0 INITRANS 1 MAXTRANS 255 STORAGE(INITIAL 65536 FREELISTS 1 FREELIST GROUPS"
" 1) TABLESPACE "TEST" LOGGING NOCOMPRESS, PARTITION "P2" VALUES LESS THAN ("
"200) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE(INITIAL 65536 F"
"REELISTS 1 FREELIST GROUPS 1) TABLESPACE "TEST" LOGGING NOCOMPRESS )"
IMP-00003:
遇到 ORACLE 错误 959
ORA-00959:
表空间'TEST'不存在成功终止导入,但出现警告。

前面已经提到了9i中唯一的方法只有先手工创建表,然后使用IGNORE=Y执行导入。

但是对于10g来说,可以通过变通的方法解决这个问题:



阅读更多内容1 · 2 · 3 · 下一页>>


  上一篇: 利用EXP/IMP进行数据迁移,如何转...   下一篇: ORA-00844: Parameter not takin...
li
 §相关评论  
 热点文章

·oracle Logfile的不同状态说明
·Oracle数据库的一些常用操作经
·Oracle10g(10.2) 在Redhat AS4
·oracle工具:浅谈LogMiner的使用
·RHAD AS4 上安装 Oracle 数据库
·oracle基础知识(物理结构)
·oracle基础:Oracle中null的使用
·Oracle常用基本语法操作集锦
·oracle数据库查询前台正在发出
·AIX+ORACLE10G安装手册
·oracle数据库9i升级到oracle10
li
 编辑推荐
·oracle Logfile的不同状态说明
·Oracle数据库的一些常用操作经
·Oracle10g(10.2) 在Redhat AS4
·oracle工具:浅谈LogMiner的使用
·RHAD AS4 上安装 Oracle 数据库
·oracle基础知识(物理结构)
·oracle基础:Oracle中null的使用
·Oracle常用基本语法操作集锦
·oracle数据库查询前台正在发出
·AIX+ORACLE10G安装手册
·oracle数据库9i升级到oracle10
li
 相关篇章
·利用EXP/IMP进行数据迁移,如何转...
·oracle asm安装配置
·oracle Database 10g for Window...
·linux下oracle 10g 自动启动配置...
·Redhat enterprise linux 4环境下...
·alter system switch logfile 和...
·oracle os认证以及口令文件的一点...
·oracle数据库9i升级到oracle10g方...
·AIX+ORACLE10G安装手册
·oracle数据库查询前台正在发出的...
·ORA-00844: Parameter not takin...
·表空间、数据文件和控制文件——...
·基于裸设备的在linux下建立oracl...
·oracle日常基本操作技巧汇总
·oracle 11g ORA-00845: MEMORY_T...
·oracle 11g新特性:SQL Plan Mana...
·Oracle 11g Alert Log日志信息的...
·libXp.so.6: cannot open shared...
·Oracle数据库中sequence的基本用...
·Oracle sql loader批量导入数据
 
li
设为首页 | 关于我们 | 技术服务 | 收藏本站 | 网站地图 | 联系方式 | 本站友情连接