EAS管理控制台数据中心显示error、测试通过,应用不可用原创
2人赞赏了该文章
576次浏览
编辑于2020年04月12日 16:10:46
EAS 管理控制台上数据中心突然显示为error且测试连接通过应用不可用处理方法 问题描述: 突然间发现EAS 管理控制台上数据中心的状态突然显示为error且测试连接通过,但应用连接不可用。 数据中心显示图如下所示: [img]d ![]() ![]() 原因分析: 1.数据中心连接成功,只能说明可以连通数据库的IP地址,可以访问数据库的1521端口。当数据中心对应的数据库用户密码失效或用户被锁后,测试数据中心中测试连接仍会显示“测试数据库连接成功”,并不说明数据库没有问题。 2.当数据库出现归档满,数据中心测试连接也会显示“测试数据库连接成功”,并不说明数据库没有问题。 可以通过以下语句查看有问题数据中心用户的状态(用户被锁或失效): SQL>select username,account_status from dba_users; 以下是查出GXLJEAS账户处于失效状态(EXPIRED): ![]() [img]d ![]() 解决方案: 一、如果是数据库用户被锁或失效处理: 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 附录: 如何确认数据库已宕机: ![]() ![]() ![]() ![]() |