`
nicegege
  • 浏览: 579628 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

连接oralce远程服务器,修改表字段长度

 
阅读更多

1.系统监控人员说系统数据库出现了报错,让我尽快解决。本来开发工作就很忙,再加上运维工作感到有点头痛。登录服务器在eos.log日志文件中发现有如下报错:

- @@[@level][ERROR][@requestID][1359277153515][@module][DB][@timestamp][2013.04.11 at 03:00:01 613][@sender][defaultAppID.com.primeton.tp.core.dataservice.handler.DBTableHandler]$$
java.sql.SQLException: ORA-12899: 列 "OLDXY1"."EOSLOGINROLLPRO"."ORGNAME" 的值太大 (实际值: 66, 最大值: 64)

	at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
	at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
	at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:590)
	at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1973)
	at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1119)
	at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2191)
	at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:2064)
	at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2989)

 一看就知道数据表EOSLOGINROLLPRO的orgname的长度不够。怎么办呢?

 

解决问题的步骤如下:

1.连接远程oracle服务器,本机上没有oracle,只能下载一个oracle客户端了。网上找了半天,大多结果都说到oracle官网上下载,只能到官网上下载oracle 11g的客户端,下载版本为windows32位的客户端。使用客户端就可以了。

2.安装oracle 11g的客户端,没什么难度,下一步操作就可以了。

3.安装toad,使用toad管理数据库,也安装成功。使用如下方式连接

 database:10.87.6.5/orcl

user:xxxx

password:xxxx

跳出一个很讨厌的错误:cant not locate oci.dll.

以前解决过类似的问题,把oracle的oci.dll复制一份,放在系统盘的windows/system32目录下就可以了。

现在还不行。不知道啥问题,感觉有点怪。

3.既然toad不行,那么用别的工具了。使用oracle自带工具sqlplus进行连接,

sqlplus 用户名/密码@10.87.6.5/orcl 连接成功。

desc eosloginrollpro 查看表结构

alter table eosloginrollpro modify (orgname varchar2(200)) 设置表的字段长度为200.

显示table altered 表明修改设置成功。

commit 提交事务

 

总结:本次运维的发生时间很巧,我没有太多时间运维,现在正在开发的项目活很多。不过想了一下,用oracle 11g的客户端连接远程oralce 10g的服务器,还没出现版本不对应之类的错,还是不错的。总体来讲操作还蛮顺利。不过还要看明天的系统日志,确认系统不会再报这样的错误了。

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics