近日工作中发现有一张表的字段类型建错了,本应是CLOB类型却建成了VARCHAR2(4000),修改时oracle却提示“ORA-22858 invalid alteration of datatype”错误。
经查看相关资料才了解,是oracle不允某些类型的字段修改。具体就是不可以将字段类型修改为:object、REF、nested table、VARRAY、 CLOB、BLOB。
解决方案也很简单就是像学数据结构时经常用到的两变量(a,b)交换值的方法,c = a, a = b, b = c。当然我们这里可以简单处理,具体方法如下:
1、将字段a改名为a_copy
2、新建一个字段a,用正确的类型
3、将_a字段中的数据经一定转换(一般要做转换的,因为类型变了)后插入了a字段中
4、删除_a字段
如果无需保留数据只要1、2、3步就可以了。
如果表中或该字段中还没有数据,那就更简单了,把那个字段删除再以正确的数据类型新建一个即可。
正面是本错误的官方解释:
ORA-22858 invalid alteration of datatype
Cause: An attempt was made to modify the column type to object, REF, nested table, VARRAY or LOB type.
Action: Create a new column of the desired type and copy the current
column data to the new type using the appropriate type constructor.
原文地址:ttp://12447680.blog.163.com/blog/static/17614089200811323126233/
分享到:
相关推荐
OGG之ORA-01403案例,包括这个案例所遇到的错误详解,对使用的参数进行了详细的解说
主要介绍了expdp 中ORA-39002、ORA-39070错误详解及解决办法的相关资料,需要的朋友可以参考下
问题: 由于机房停电,其中一DG备库无法open,启动时报错 启动数据库时报下面的错误 SQL> alter database open; alter database open * 第 1 行出现错误: ORA-10458: standby database requiresrecovery ORA-...
本篇文章是对ORA-12170 TNS 连接超时的解决办法进行了详细的分析介绍,需要的朋友参考下
Oracle init.ora 配置详解 Oracle init.ora 配置详解 Oracle init.ora 配置详解
listener.ora sqlnet.ora tnsnames.ora文件详解
Oracle 闪回技术详解。详细介绍了 Oracle 的 7 种闪回技术,并进行实验演示。可以轻松掌握闪回技术的使用。
配置ORACLE的listener.ora、tnsnames.ora
ORACLE配置tnsnames.ora文件实例 客户机为了和服务器连接,必须先和服务器上的监听进程联络。ORACLE通过tnsnames.ora文件中的连接描述符来说明连接信息。 一般tnsnames.ora 是建立在客户机上的。如果是客户机/服务器...
oracleRAC监听文件详解
oracle crs 配置错误详解,当我们在安装Clusterware 的时候, 需要在第二节点上vipca , 配置到最后安装的时候, 安装到 75% 左右,报错 检查linux主机名是否符合规范,因为oracle不是直接获取IP地址 ASM装载磁盘组时...
orcle dblink 的创建与删除的详解及实例 易混淆术语介绍:Db_name,Db_domain,Global_name,Service_name 删除 Dblink 报错 ORA-02024: database link not found 的解决方法 .
pfile文件(parameter file)文件是基于文本格式的参数文件,含有数据库的配置参数。...oracle在安装时为每个数据库建立一个pfile文件,默认名为“init+例程名.ora”,这是一个文本文件,可以用任何文本编辑工具打开。
主要介绍了Oracle通过正则表达式分割字符串 REGEXP_SUBSTR的相关知识,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
·这个命令在SQL中必须放置在一行(这里是因为显示问题放在了两行) 3.拷贝数据文件到另一个地点,即目标数据库 可以是cp(unix)或copy(windows)或通过ftp传输文件(一定要在bin方式) 4.把本地的表空间设置为读写 5...
一、 常见问题记录 3 1. 密码过期 3 2. 数据库重启 5 3. 清除锁表 5 4. 利用dbms_metadata.get_ddl查看DDL语句 6 5. 数据库备份和恢复 9 6. user_objects 表 9 7. DBLink的使用 10 8. 查看表是否被截断过 13...
该文档有助于初学者进行Oracle 10g的安装,内有图解,很详细,对于初学者来说是很好的教程