上一篇
凌晨3点,运维小王的朋友圈
💻:"正在边啃辣条边做数据迁移,突然蹦出ORA-23476: cannot import from string to string
...现在工位和我的脑壳一样烫!" 👾
别慌!这份带"味道"的故障指南,专治各种Oracle不服!
错误全称:ORA-23476: 无法从[源字符串]导入到[目标字符串]
通俗翻译:Oracle表示:"这俩数据根本不是一个画风,臣妾做不到啊!"
经典翻车场景:
-- 源库查户口(远程执行) SELECT * FROM nls_database_parameters WHERE parameter LIKE '%CHARACTERSET%'; -- 目标库对质 SELECT * FROM nls_database_parameters WHERE parameter LIKE '%CHARACTERSET%';
如果发现:
🤦 源库是AL32UTF8
,目标库是WE8MSWIN1252
...
急救方案:
ALTER DATABASE CHARACTER SET
改编码(有风险!先备份!) EXPDP ... NLS_LANG=AMERICAN_AMERICA.AL32UTF8
-- 检查目标库是否缺"家具"(表空间) SELECT tablespace_name FROM dba_tablespaces; -- 对比源库的表空间清单 SELECT DISTINCT tablespace_name FROM dba_segments;
发现异常:
😱 源库有个FANCY_SPACE
表空间,目标库没有!
暴力修复:
CREATE TABLESPACE FANCY_SPACE DATAFILE '/path/to/fancy.dbf' SIZE 500M AUTOEXTEND ON;
-- 给迁移账号发"VIP通行证" GRANT IMP_FULL_DATABASE TO 你的账号; GRANT CONNECT, RESOURCE TO 你的账号;
注意:远程操作记得加WITH ADMIN OPTION
方便后续操作
# 终极兼容模式启动!(适合复杂环境) impdp system/密码 DUMPFILE=expdat.dmp \ REMAP_SCHEMA=源用户:目标用户 \ REMAP_TABLESPACE=源表空间:目标表空间 \ NOLOGFILE=YES TRANSFORM=DISABLE_ARCHIVE_LOGGING:Y
参数彩蛋:
✨ TRANSFORM=SEGMENT_ATTRIBUTES:N
跳过存储属性冲突
VERSION=12
参数可能救场 NETWORK_LINK
直连模式 COMPATIBLE
参数是否相差过大 如果所有方法都失败...
🤖:"不如试试用SQL*Loader重新导CSV?"
🐼:"或者假装没看见错误,重启试试?(危险动作请勿模仿)"
记住:每次操作前expdp备份
是你的保命符!
(凌晨4点的运维小王终于露出了慈父般的微笑...)
本文由 舜岑 于2025-08-04发表在【云服务器提供商】,文中图片由(舜岑)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/534961.html
发表评论