大数跨境

原创|连接数据库错误的解决办法汇总

原创|连接数据库错误的解决办法汇总 天圣华信息
2017-09-21
2
导读:项目实施过程中,无论是服务器还是在自己的虚拟机中,经常会碰到连接数据库错误,实际上,凡是错误号为“515XXX”的都和数据库有关联,尤其以“515175”最为常见。

问题描述


项目实施过程中,无论是服务器还是在自己的虚拟机中,经常会碰到连接数据库错误,实际上,凡是错误号为“515XXX”的都和数据库有关联,尤其以“515175”最为常见。无法连接到数据库的原因是多方面的,例如:数据库服务器宕机,数据库服务停止,网络问题,TC_DB_CONNECT 环境变量错误等。


解决方法


1.使用TC 的install 工具进行检查


下面探讨处理这类问题的一般方法。除了用户通过界面登录TC 系统,可以知道是不是可以连到数据库以外,最简单的方法是使用TC 的工具。启动一个带有TC 环境的命令窗口运行:install –ayt


如果可以连通,系统将提示“Site is already installed”

如果无法连通,系统将提示“(check_db) Failed to connect”


2. 数据库服务器宕机

可以通过启动一个命令提示窗口,然后运行ping 命令


Ping <数据库服务器的IP地址>

Ping <数据库服务器的名称>


如果两个都无法Ping通的话,需要检查服务器和网络交换机是否正常,如果是IP 地址通,而服务器名称不通的话,需要检查域名解析问题。


3.数据库服务停止

确保oracle 的监听服务和实例服务已经启动了。如果没有启动的话,启动相关的服务并检查相关的进程。


通过运行Oracle listener 来检查服务的状态lsnrctl status。



4.检查数据库实例参数

启动一个命令窗口,设置 oracle_SID 环境变量


Sqlplus /nolog

SQL> connect

请输入用户名: infodba

输入口令:


如果提示已连接的话,说明oracle 数据库实例已经启动了。如果提示密码错误的话,需要找找出正确的密码,通过检查TC_DB_CONNECT 提到的方法进行相关修改。如果出现下面的提示“ERROR: ORA-28002: the password will expire within X days”,TC系统将认为是无法连接,会提示515175错误。


5.修改oracle 账号的密码的方法和密码周期


根据密码管理的要求,选择下面的一种方法进行修改:


A)修改oracle infodba 账号的密码

按照检查TC_DB_CONNECT 的方法进行相关修改,修改oracle 账号密码的方法如下:把infodba 的密码修改为testdbf


启动一个命令窗口,设置 oracle_SID 环境变量

Sqlplus /nolog

Connect / as sysdba

alter user infodba identified by testdbf;

commit;

exit;


B)把密码设置为没有时间限制的


启动一个命令窗口,设置 oracle_SID 环境变量

Sqlplus /nolog

Connect / as sysdba

alter profile default limit password_life_time unlimited;


如果用户已经被锁定,则执行下面的语句解锁,否则不用执行下面的语句。


alter user 用户 identified by 密码account unlock;

commit;

exit;


建议重新启动oracle 的实例。


6.检查TC_DB_CONNECT


请检查一下最近是不是修改过数据库中的infodba账号的密码。如果修改过的话,进行下面的操作:


启动一个带有TC 环境的命令窗口

设置环境变量IMAN_DB_CONNECT=infodba:<infodba>@<oracle_SID>

设置环境变量TC_DB_CONNECT=infodba:<infodba>@<oracle_SID>

install –encrypt


系统将根据当前的设置重新生成与数据库连接的字符串,用这个新生成的字符串替换%TC_DATA%TC_PROFILEVARS.bat 里面相应的值,以 Windows 平台为例,假设oracle_SID 为tc,infodba 账号的密码为testdbf;


Set IMAN_DB_CONNECT=infodba:testdbf@tc

Set TC_DB_CONNECT=infodba:testdbf@tc

install –encrypt

infodba:TLNnx29kw8K@tc


重新设置环境变量IMAN_DB_CONNECT 和TC_DB_CONNECT:


Set IMAN_DB_CONNECT=infodba:TLNnx29kw8K@tc

Set TC_DB_CONNECT=infodba:TLNnx29kw8K@tc


运行install -ayt 的运行结果应该是Site is already installed。


根据install –encrypt 的运行结果,修改%TC_DATA%TC_PROFILEVARS.bat 中的IMAN_DB_CONNECT 和TC_DB_CONNECT 为正确的值。例如原来的设置为:


set IMAN_DB_CONNECT=infodba:j98MMlrOJbI@tc

set TC_DB_CONNECT=infodba:j98MMlrOJbI@tc


需要替换为:

Set IMAN_DB_CONNECT=infodba:TLNnx29kw8K@tc

Set TC_DB_CONNECT=infodba:TLNnx29kw8K@tc


经过在项目实践上发现的此类问题,均按照此方法进行了排查,问题能够解决。


TranSemic原创稿件

欢迎转载 

转载须注明原文出处及原文链接

违者必究


【声明】内容源于网络
0
0
天圣华信息
为国防军工行业数字化转型升级赋能
内容 209
粉丝 0
天圣华信息 为国防军工行业数字化转型升级赋能
总阅读16
粉丝0
内容209