oracle 报错问题汇总

一、tomcat报错:

ERROR [org.hibernate.util.JDBCExceptionReporter] - <Cannot create PoolableConnectionFactory (ORA-28001: 口令已经失效

处理方案:

#切换到oracle用户

su - oracle

#登陆数据库

Sqlplus / as sysdba

#修改用户密码,可将口令定义成与之前的一样

alter user 用户名 identified  by 密码;

#查询密码的有效期设置,LIMIT字段是密码有效天数。

SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';

 

PROFILE                        RESOURCE_NAME                    RESOURCE

------------------------------ -------------------------------- --------

LIMIT

----------------------------------------

DEFAULT                        PASSWORD_LIFE_TIME               PASSWORD

180

#去除180天的密码生存周期的限制

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

#查看修改情况,密码的有效期已经变为无限制

SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';

 

PROFILE                        RESOURCE_NAME                    RESOURCE

------------------------------ -------------------------------- --------

LIMIT

----------------------------------------

DEFAULT                        PASSWORD_LIFE_TIME               PASSWORD

UNLIMITED

 

重启tomcat

进入tomcatbin目录下

./shutdown.sh

./startup.sh 

================================================================================================

二、启动tomcat时报严重: Error listenerStart,严重: The web application [] registered the JDBC driver [oracle.jdbc.driver.OracleDriver] but failed to unregister it when the web application was stopped.



思路:
查看监听器是否正常-----查看oracle服务是否正常------查看数据源配置文件中的账号信息是否正确或180天失效、IP地址是否正确、SID是否正确




遇见的几种情况:
1.数据源配置文件中的sid错误
处理方法:
登录数据库查看数据库实例名,将数据源配置文件中的sid修改为此实例名
2./etc/hosts文件配置错误
查看oracle监听器是否正常
su - oracle
查看监听器运行情况
lsnrctl status


Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
  TNS-00511: No listener
   Linux Error: 111: Connection refused
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=hnsfzb)(PORT=1521)))


关闭数据库
sqlplus / as sysdba
shutdown immediate
修改/etc/hosts
vi /etc/hosts
127.0.0.1               localhost.localdomain localhost
192.168.1.100          hnsfzb
::1             localhost6.localdomain6 localhost6
启动监听器
lsnrctl start
启动数据库
sqlplus / as sysdba
startup
重启tomcat


3.密码180天失效
处理方法:
查看帐户密码的有效期
SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
去除180天的密码生存周期的限制
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
重启tomcat

================================================================================================

三、imp导入数据时报ORA-01435: 用户不存在

错误描述:
     
imp xxxxxx/xxxxxx  file=D:\hj\cms20140821.dmp  fromuser=tttttt  touser=xxxxxx;
     
      IMP-00003: 遇到 ORACLE 错误 1435
ORA-01435: 用户不存在
成功终止导入, 但出现警告。


处理方法:
取消touser=xxxxxx后的”;”
================================================================================================
四、imp导入数据时ORACLE错误12899
使用imp导入数据时报错:
IMP-00019: 由于 ORACLE 错误 12899 而拒绝行
IMP-00003: 遇到 ORACLE 错误 12899
ORA-12899: 列 "xxxxxx"."ADATA"."TITLE" 的值太大 (实际值: 205, 最大值: 200)


处理办法:
查看目标服务器数据库的字符集
SQL> select userenv('language') from dual;


USERENV('LANGUAGE')
------------------------------------------------


SIMPLIFIED CHINESE_CHINA.AL32UTF8
需要将目标服务器数据库的字符集转化为ZHS16GBK
SQL> conn /as sysdba   
SQL> shutdown immediate;   
SQL> startup mount;   
SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;   
SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;   
SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;   
SQL> alter database open;   
SQL> ALTER DATABASE CHARACTER SET ZHS16GBK;   
ORA-12712: new character set must be a superset of old character set   
--提示我们的字符集:新字符集必须为旧字符集的超集,这时我们可以跳过超集的检查做更改:   
SQL> ALTER DATABASE character set INTERNAL_USE ZHS16GBK;   
--我们看到这个过程和之前ALTER DATABASE CHARACTER SET操作的内部过程是完全相同的,也就是说INTERNAL_USE提供的帮助就是使Oracle数据库绕过了子集与超集的校验.   
SQL> select * from v$nls_parameters;    
SQL> shutdown immediate;   
SQL> startup;   
SQL> select * from v$nls_parameters;   
--以后安装oracle11g的时候记得选择自定义安装,把这个字符集的事情事先弄好。     
================================================================================================
五、使用exp导出报EXP-00002: error in writing to export file


su - oracle -c "exp ddddd/ddddd  file=/home/oracle/cms20140820.dmp log=/home/oracle/cms20140820.log"
报错:
EXP-00002: error in writing to export file
EXP-00000: Export terminated unsuccessfully


处理方法:
查看磁盘空间情况,发现磁盘空间已满
df -hl
文件系统               1K-块        已用     可用 已用% 挂载点
/dev/mapper/VolGroup00-LogVol00
                     136010792 131492012         0 100% /

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值