ORA-00054: resource busy
and acquire with NOWAIT specified (资源正忙,要求指定
NOWAIT)
表被锁住了,要不等待表解锁,要不就去kill了它。
ORA-01017: invalid username/password; logon
denied
账号密码错误
ORA-01840: input value not long enough for date format
错误原因:我在用SQLLDR导入数据的时候遇到此错误,
ora-12170
tns:连接超时
多为网络不同或服务器端更改了IP所致,网络不同tnsping
服务器的SID看能不能同,服务器IP改了要同步修改Listener和Service的设置。
ORA-01439:column to be modified must be empty to change
datatypeORACLE不允许表字段在存在数据的情况下,直接MODIFY“更改”数据类型,当直接修改数据类型的时候就会报这样的错误。例如,当使用MODIFY直接修改表字段从varchar2改为number的时候。
参考解决方案:
这里要把number类型的CITY_ID字段改为varchar2
ALTER TABLE business_hall_info ADD CITY_ID_temp
varchar2(32);
UPDATE business_hall_info SET
CITY_ID_temp = CITY_ID;
UPDATE business_hall_info SET
CITY_ID = NULL;
ALTER TABLE BUSINESS_HALL_INFO MODIFY CITY_ID varchar2(32);
UPDATE business_hall_info SET
CITY_ID = CITY_ID_temp;
ALTER TABLE business_hall_info DROP COLUMN CITY_ID_temp;
--结束
注意:同数据类型间,修改精度,例如varchar100 改为
varchar102
可以直接修改; 但把精度改小,如果不小于存储数据的实际长度,也允许修改,如果小于实际长度,则报其他错误,例如
ORA-01441 。
ORA-01441: cannot decrease column length because some value
is too big当你MODIFY修改一个字段的数据类型精度比实际存储的数据小时,就会报这个错误!
例如:把VARCHAR2(100)改为VARCHAR2(1)(原字段里存储有数据并且长度大于1)
ORA-01792:表或视图中的最大列数为1000
ORACLE支持表或试图最多列数为1000,每一个块最大支持255列
ORA-01793:索引列的最大数为32
ORA-02270: no matching unique or primary key for this
column-list
外键的定义必须是另外一张表的主键,否则就会报这个错
ORA-12541: TNS:
无监听程序太多情况
ORA-12545
TNS:name lookup failure(因目标主机或对象不存在,连接失败)
多为由于非直接连接IP地址才会报的错误,例如用TOAD连接,通过Direct,在Host里不是输入IP地址而是输入连接文件名,如:zsqtsm.vicp.net。
ORA-12899: 列的值太大
我在用sqlldr时遇到这个错误,要定义截取字符(字段是VARCHAR2 (6 Byte))
SERV_STAT_ID char(4000) "substr(:SERV_STAT_ID,1,6)"
ORA-22992: 无法使用从远程表选择的 LOB 定位器
当通过DBLINK连接数据库,select的表有CLOB字段的时候,就会报这个错。解决办法:在数据库新建一张临时表把数据插进去。