import和export版本如何升级?

[复制链接]
查看11 | 回复9 | 2005-11-2 12:30:04 | 显示全部楼层 |阅读模式
在import一个dmp文件的时候出错:出错信息如下
Connected to: Oracle9i Enterprise Edition Release 9.0.1.1.1 - Production
With the Partitioning option
JServer Release 9.0.1.1.1 - Production
Export file created by EXPORT:V09.02.00 via conventional path
Warning: the objects were exported by K2DEV, not by you
import done in WE8MSWIN1252 character set and AL16UTF16 NCHAR character set
export client uses WE8ISO8859P1 character set (possible charset conversion)
. importing K2DEV's objects into K2FMS
IMP-00017: following statement failed with ORACLE error 922:
"CREATE TABLE "K_ACCOUNT" ("ACCOUNT_NO" VARCHAR2(10) NOT NULL ENABL"
"E, "SERVICE_TYPE" VARCHAR2(3) NOT NULL ENABLE)PCTF"
"REE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE(INITIAL 65536 FREELISTS 1"
" FREELIST GROUPS 1) TABLESPACE "K2DEV" LOGGING NOCOMPRESS"
IMP-00003: ORACLE error 922 encountered
ORA-00922: missing or invalid option
后来经人的指点,估计事import的版本跟export的版本不一致,import版本低了。从上面的日志文件大概可以看到export的版本是v09.02的,我应该怎么升级自己的数据库里的import也到这个版本呢?不会要重装数据库吧,请大侠救命啊
回复

使用道具 举报

千问 | 2005-11-2 12:30:04 | 显示全部楼层
在同一个局域网的随便一台机器上装一个920的客户端,然后远程导入就可以了,不用升级数据库。
不过你的错误不是版本的问题,是920建立的 表空间默认是自动管理的lmt,而你的901是dmt的 ,所以才出错,你可以手工建立表,重新指定表的存储参数就可以了
回复

使用道具 举报

千问 | 2005-11-2 12:30:04 | 显示全部楼层
谢谢coolyl这么快的回复,真实的可以见到pub中的老大了。但有几个问题:
1、lmt和dmt是存储参数吗?具体是什么意思?从我log文件里那里可以看出?
2、手工建表不可行,首先我帖出来的log信息只是一个表的出错信息,其实在import进去的时候有几百个这样表都有这样的出错信息;
建表的存储参数跟表空间的什么参数设置有关?怎么将我901的dmt改为跟902的lmt一致?
万分感谢!!!
回复

使用道具 举报

千问 | 2005-11-2 12:30:04 | 显示全部楼层
1、lmt和dmt是存储参数吗?具体是什么意思
请你GOOGLE 一下
回复

使用道具 举报

千问 | 2005-11-2 12:30:04 | 显示全部楼层
前者是本地管理,后者是字典管理
回复

使用道具 举报

千问 | 2005-11-2 12:30:04 | 显示全部楼层
最初由 qiushicheng 发布
[B]谢谢coolyl这么快的回复,真实的可以见到pub中的老大了。但有几个问题:
1、lmt和dmt是存储参数吗?具体是什么意思?从我log文件里那里可以看出?
2、手工建表不可行,首先我帖出来的log信息只是一个表的出错信息,其实在import进去的时候有几百个这样表都有这样的出错信息;
建表的存储参数跟表空间的什么参数设置有关?怎么将我901的dmt改为跟902的lmt一致?
万分感谢!!! [/B]

lmt和dmt是表空间的两种管理模式,lmt是local managment tablespace,dmt是dictionary management tablespace。
对于你的情况,我建议还是先手工建立表,几百个表也不太多,imp的时候先设置show =y,row=n,这样可以得到所有表的建立语句,然后手工修改一下,去掉那些存储参数就可以了。
如果要升级原来的dmt到lmt可就麻烦了, 也不是不可以,只是这样做非常之麻烦,尤其是对于生产系统来说。
对于dmt和lmt的一些区别你可以搜索一下论坛,有详细讲述这个的帖子的。
回复

使用道具 举报

千问 | 2005-11-2 12:30:04 | 显示全部楼层
再胆小的问一下,如果手工将这些表建好之后,表里面的数据怎么办?建好表之后再import数据文件,不会覆盖那些表而只是单独import数据行进去 吗?
谢谢楼上的几位了
回复

使用道具 举报

千问 | 2005-11-2 12:30:04 | 显示全部楼层
imp的时候加ignore=y.
回复

使用道具 举报

千问 | 2005-11-2 12:30:04 | 显示全部楼层
最初由 qiushicheng 发布
[B]再胆小的问一下,如果手工将这些表建好之后,表里面的数据怎么办?建好表之后再import数据文件,不会覆盖那些表而只是单独import数据行进去 吗?
谢谢楼上的几位了 [/B]

然后导入数据啊,imp,加row=y,ignore=y导入。
回复

使用道具 举报

千问 | 2005-11-2 12:30:04 | 显示全部楼层
最初由 coolyl 发布
[B]
我建议还是先手工建立表,几百个表也不太多,imp的时候先设置show =y,row=n,这样可以得到所有表的建立语句,然后手工修改一下,去掉那些存储参数就可以了。
[/B]

手工修改表的存储参数,是不是用2进制编辑工具,每次做这个,需要注意些什么呢? 如果一个0/1错了位置,这个文件是不是就不好用了呢?~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行