ORACLE数据库常见报错及处理方法
[OERR ORA 报错值] 可查看报错响应的信息说明
报错码 报错信息 : 处理方法
[-239] 索引重复 :一般是表中的数据重复登记导致,可能是业务处理逻辑没判断住
[1480] 字段超长了 : 一般为实际业务字段内容超过当初设计的表字段大小,建议扩表
[12899] 字段超长了 : 可能是数据库是UTF-8的编码存储,但是实际传入的是GBK中文,导致最后更新upd的时候超长(GBK中文一个字2char长,UTF-8一个字3char长),将表char类型型改成varchar类型,不会有多余的空格影响
[1007] 查询列表中没有变量 : 表中的字段和sql语句中字段名不一致,改正sql语句
[-30006] 锁表了 : 执行命令解锁表,然后找到导致锁表的语句并优化
[-947] 插入表少字段 :insert 时候实际sql和 表字段 实际数量不一致
[28040] Oracle数据库版本过低
[942] 表或视图不存在 :sql中表名不对
[0936] 缺少表达式 : 这个可能是嵌入式sql取结构体错误
[1034] oracle当前的服务不可用 :oracle没有启动或没有正常启动
[28001] 口令已经失效 :进oracle dba权限用户改用户密码
[28002] 口令过期 : 将dba_profiles,PASSWORD_LIFE_TIME字段值 密码有效期设置由180天修改成“无限制”:,并进oracle dba权限用户改用户密码,之前已经过期的密码需要修改一次
expdb impdb倒表时候的一些报错:
ORA-39006: internal error
ORA-39213: Metadata processing is not available
主要看后面这个ORA-39213报错,文件磁盘满了, 清理备份日志
ORA-39001: invalid argument value
ORA-39000: bad dump file specification
ORA-39142: incompatible version number 4.1 in dump file "******"
数据泵导入因版本不一致报错,expdb导出时使用【version=11.2.0.4.0】命令声明版本,不能把高版本导入低版本数据库
ORA-39002: invalid operation
ORA-39070: Unable to open the log file
ORA-39087: directory name [你写的目录] is invalid
用户 没有 当前导入命令directory 的 读写权限,添加权限
grant read,write on directory 【你写的目录】 to 【导入的用户】;