实际项目实践过程中,经常会遇到一些形如“ORA-XXXX”的Oracle错误提示,此时,我们便会打开百度、Google,搜索相关技术解决方案。本系列博文的目的就在于,对常见的Oracle错误提示进行总结,不断完善。
ORA-12560
ORA-12560: TNS: protocol adapter error(SQLPLUS)
ORA-27101: shared memory realm does not exist(PL/SQL Developer)
(1)原因分析
在path环境变量中Oracle_home设置在client之后、且PL/SQL Developer设置正确的ORACLE_HOME和OCI DLL,使用sqlplus出现ORA-12560错误,PL/SQL Developer出现ORA-27101错误。
(2)解决方法(之一): 将ORACLE_HOME/bin放在CLIENT_HOME/bin之前,sqlplus命令和PL/SQL Developer均可正常使用。
(3)解决方法(之二): 数据库链接字符串有误,修改连接字符串。
ORA-28001
解决方法(之一):
这个问题是由于Oracle 11G的新特性所致, Oracle 11G创建用户时缺省密码过期限制是180天, 如果超过180天用户密码未做修改则该用户无法登录。可通过:
SELECT * FROM dba_profiles WHERE profile=’DEFAULT’ AND resource_name=’PASSWORD_LIFE_TIME‘;
语句查询密码的有效期设置,LIMIT字段是密码有效天数。
在密码将要过期或已经过期时可通过ALTER USER 用户名 IDENTIFIED BY 密码;语句进行修改密码,密码修改后该用户可正常连接数据库。长久对应可通过ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED语句将口令有效期默认值180天修改成“无限制”。出于数据库安全性考虑,不建议将PASSWORD_LIFE_TIME值设置成UNLIMITED,建议客户定期修改数据库用户口令。
ORA-01659
ORA-01659 无法分配超出5(或者其他数字)的MINEXTENTS**
(1)原因:表空间已满
(2)解决方法:使用SQLPLUS登陆命令修改,或进入Oracle Enterprise Manager Co