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

SQL> CONN YANGTK/YANGTK@YTK102已连接。
SQL> SELECT TABLESPACE_NAME FROM DBA_TABLESPACES;

TABLESPACE_NAME
------------------------------
SYSTEM
UNDOTBS1
SYSAUX
TEMP
USERS
EXAMPLE
YANGTK
LOB_SPACE

已选择8行。

这时,如果直接导入也会报错:

E:>imp yangtk/yangtk@ytk102 file=t_partition.dmp tables=t_partition

Import: Release 10.2.0.1.0 - Production on 星期日 3 2 17:17:44 2008

Copyright (c) 1982, 2005, Oracle. All rights reserved.

连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

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

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

已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
.
正在将 TEST 的对象导入到 YANGTK
.
正在将 TEST 的对象导入到
YANGTK
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' 不存在成功终止导入, 但出现警告。

但是由于10g提供了改变表空间名称的SQL,可以通过下面的方式导入分区表:

IXDBA.NET技术社区

SQL> ALTER TABLESPACE YANGTK RENAME TO TEST;

表空间已更改。

下面就可以顺利导入:

E:>imp yangtk/yangtk@ytk102 file=t_partition.dmp tables=t_partition

Import: Release 10.2.0.1.0 - Production on 星期日 3 2 17:11:55 2008

Copyright (c) 1982, 2005, Oracle. All rights reserved.

连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

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

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

已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
.
正在将 TEST 的对象导入到 YANGTK
.
正在将 TEST 的对象导入到
YANGTK
. .
正在导入分区 "T_PARTITION":"P1"导入了 0

. .
正在导入分区 "T_PARTITION":"P2"导入了 0 成功终止导入, 没有出现警告。

导入后可以通过修改表空间名称的方法将表空间名称修改会原来的名称:

SQL> ALTER TABLESPACE TEST RENAME TO YANGTK;

表空间已更改。

通过这种方法的导入,可以解决包含多个段的表,无法通过正常方式进行表空间转换的问题。但是上面的方法只是提供了在不提前建表的方式下导入的一种可行性。

且不说修改表空间名称对于一个对外提供服务的数据库系统的影响,就是修改表空间这个动作本身,就未必比提前建表的工作量小多少。

考虑几种情况,如果表中包含多个分区,每个分区所在表空间不同,希望通过迁移将所有的分区都放到目标的表空间中。那么如果目标数据库中,只有目标表空间存在,且分区表每个分区对应的表空间都不存在的话,只能通过修改一次表空间名称,导入一个分区,再次修改表空间名称,再导入一个分区的方法来实现,效率和工作量都比较大。



阅读更多内容<<上一页 · 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
设为首页 | 关于我们 | 技术服务 | 收藏本站 | 网站地图 | 联系方式 | 本站友情连接