Oracle 还原数据库时的字符集问题

humanity 2010-04-23 01:55:55
我用 impdp 导入一个从别人的机器expdp 出来的 10g dump 文件,中间有 39064/29285 错误,不知道怎么回事。从网上搜索只看到有一个贴子说他的情况是字符集问题没有下文就结贴了。

Q1: ORA-39064/ORA-29285 具体原因是什么,怎么调整数据库设置才能导入数据,源数据是 HK 机器的,字符集也不知道,这边用 AL32UTF8/UTF-8 字符集。

Q2: ORA-26022 出现之后我看了日志附件的几个表,它的索引都在,是不是这只是个警告?
使用 alter index XXXX rebuild 能解决这个问题吗?



下面这个日志(其中的表已经存在是正常的,因为我跑多次 impdp)。

ORA-31684: 对象类型 SEQUENCE:"UAT2"."LNHPHS100S" 已存在
ORA-31684: 对象类型 SEQUENCE:"UAT2"."LNHPOF100S" 已存在
ORA-39064: 无法写入日志文件
ORA-29285: 文件写入错误


. . 导入了 "UAT2"."LNXLSG100" 147.4 KB 1539 行
ORA-26022:
ORA-26022:
. . 导入了 "UAT2"."AUMRMC010" 55.42 KB 672 行
...全文
1128 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
liqzhangq 2010-04-26
  • 打赏
  • 举报
回复
顶一下
oracleQQ 群 :54775466
欢迎爱好者 一起探讨
humanity 2010-04-26
  • 打赏
  • 举报
回复
我是用这个命令行跑的,如果里面有个别的表不在 users 表空间里面的话,我指定了 remap_tablespace=users:UAT2 没有命中的话,就会直接跑到 UAT2 这个 schema 默认的表空间里面吗?

这个数据库实例新创建的,每次重跑我都会删除用户 UAT2,它的对象也跟着删除了。

F:\Oracle.Dump>impdp UAT2@DEPLOYMENT directory=UAT_DUMP dumpfile=PHASE1.DMP remap_tablespace=users:UAT2 content=ALL
codearts 2010-04-24
  • 打赏
  • 举报
回复
从你的错误信息看,DMP文件中的schema就是UAT2

如果你转换了schema, tablesapce也会跟着到新的schema下的


humanity 2010-04-24
  • 打赏
  • 举报
回复
有办法在导入前查看 dump 文件里面的表空间和 schema 等信息吗?
wjz748305545 2010-04-23
  • 打赏
  • 举报
回复
接分ing
wjz748305545 2010-04-23
  • 打赏
  • 举报
回复
接分ing
asdf_ndsc 2010-04-23
  • 打赏
  • 举报
回复
看看 没有导入的表的表空间 存在不存在.

再试试 把表删了再导入.
humanity 2010-04-23
  • 打赏
  • 举报
回复
刚刚重新创建了一个新的数据库,字符集是 AL32UTF8/UTF-8,这下很干净。
下面这个错误还是写文件错误。不过 ORA-26022 这个错误没出来。
"ORA-29285: 文件写入错误" 后面的空行在日志里面也有。

. . 导入了 "UAT2"."AUMSFF010" 0 KB 0 行
ORA-39064: 无法写入日志文件
ORA-29285: 文件写入错误

. . 导入了 "UAT2"."AUMSMU010" 0 KB 0 行
phoenixYiYou 2010-04-23
  • 打赏
  • 举报
回复
能不能先确认你要导入的库是干净的?不是可能不同?先搞清楚确定的中不,呵呵!
humanity 2010-04-23
  • 打赏
  • 举报
回复
下面这个 39064/29285 的问题,
搜索了其它人的贴子,中文的贴子只搜索到一个说这个问题的,贴子的主人在最后说了一句:“问题已解决,是字符集问题”,然后就没下文了。

ORA-39064: 无法写入日志文件
ORA-29285: 文件写入错误

我的问题也不见得跟他的一模一样,只是想知道怎么去确认一下是不是字符集差异导致的。(数据来自香港,它的字符集有可能不同,无法联系导出数据的人不能确认字符集。)

phoenixYiYou 2010-04-23
  • 打赏
  • 举报
回复
这个是说你的sequense对象"UAT2"."LNHPHS100S" 已存在,所以……你已经导入了一些,或者说白了,你要导入的库不是干净的!呵呵!从你给的看,应该还没看到因为字符集引起的错误!呵呵!

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧