EAS管理控制台数据中心显示error、测试通过,应用不可用
金蝶云社区-Romantic
Romantic
0人赞赏了该文章 1202次浏览 未经作者许可,禁止转载编辑于2020年04月12日 16:09:23

EAS 管理控制台上数据中心突然显示为error且测试连接通过应用不可用处理方法

问题描述:
突然间发现EAS 管理控制台上数据中心的状态突然显示为error且测试连接通过,但应用连接不可用。
数据中心显示图如下所示:



原因分析:
1.数据中心连接成功,只能说明可以连通数据库的IP地址,可以访问数据库的1521端口。当数据中心对应的数据库用户密码失效或用户被锁后,测试数据中心中测试连接仍会显示“测试数据库连接成功”,并不说明数据库没有问题。
2.当数据库出现归档满,数据中心测试连接也会显示“测试数据库连接成功”,并不说明数据库没有问题。
可以通过以下语句查看有问题数据中心用户的状态(用户被锁或失效):
SQL>select username,account_status from dba_users;
以下是查出GXLJEAS账户处于失效状态(EXPIRED):


解决方案:
一、如果是数据库用户被锁或失效处理:
EAS用户密码不对或多次输入密码不对导致用户锁住,建议按以下方法进行处理:
1).将密码有效期改成“无限制”:
sql>ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
2).尝试登录失败次修改成“无限制”:
sql>ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS UNLIMITED;
3).查询用户是否锁了,如果锁了,对其进行解锁
SQL>select username,account_status from dba_users;
4).看用户如EASDB的状态,如果是LOCKED,那么你先得解锁,并把密码改下(如密码改为oratest8899):
sql> alter user easdb identified by oratest8899 account unlock;
如果通过以上处理后,数据中心显示状态如果仍为“error",建议把数据库服务重启下或把数据库服务器上的操作系统重启下。

二、如果是数据库归档满处理方法:
协调客户的DBA,对数据库的归档满进行处理,清理归档满的空间:
现象:数据库登录报archived error归档相关的错误,说明数据库归档错误,一般是归档空间满导致。
如何查归档占用的空间大小及归档日志所在的路径:
在SQL>下执行archive log list; 可以看到归档数据库归档文件所在路径,如果用的是USE_DB_RECOVERY_FILE_DEST归档目的的,
通过SQL>show parameter recovery_file可以看到归档路径及归档空间设置最大大小,如果用的是其它归档路径,则到操作系统归档路径下查归档占用大小及总空间大小。

删除归档日志处理步骤:
1.数据库启动MOUNT状态
$sqlplus / as sysdba
sql>shutdown immeiate --如果卡住,则试shutdown abort
sqL>startup mount --数据库启动MOUNT状态
SQL>exit
2.进入RMAN,清掉7天前的归档日志
$rman target /
rman>crosscheck archivelog all;
rman>delete noprompt expired archivelog all;
rman>delete archivelog until time 'sysdate-7';
3.数据库启到OPEN状态
$sqlplus / as sysdba
sql>alter database open
如果想把删除的归档先做备份,然后再进行删除,则用以下这种方法,不过清理时间可能会较长,如与所示:
单独备份归档日志,并进行清理的脚本:
rman>backup archivelog all format '/backup/dbL0arc_%d_%s_%p_%c.arc' tag 'dbL0' filesperset 10 delete all input; --/backup/这个目录要改为现场以前归档文件备份存放的目录名称

建议用单独的归档目录存Oracle数据库的归档,设置方法见https://vip.kingdee.com/article/43437547444568084

附录:
如何确认数据库已宕机: