问题:测试用的3个用户账户,上周可以登录成功,本周一登录失败
客户、用户:测试人员 本人:工具开发人员,测试开发角色。
解决:数据库磁盘存储空间满,删除backup\data下的远时间的备份文件。
分析:用户登录失败,考虑1.数据库连接是否成功;2.数据库磁盘是否满。
扩展学习:
1.表空间
表空间是一个逻辑概念,若干操作系统文件(文件可以不是很大)可以组成一个表空间。表空间统一管理空间中的数据文件,一个数据文件只能属于一个表空间。一个数据库空间由若干个表空间组成。
创建用户时可以为用户指定某一表空间,那么该用户下所有数据库对象默认都存储在该空间中,指定用户的表空间为
create user nod identified by nod defaulttablespace nod_tablespace;
另:表和索引一旦创建,表空间无法进行二次修改。
在一些大型的数据库应用中,我们需要控制某个用户或者某一组用户其所占用的磁盘空间。这就好像在文件服务器中,需要为每个用户设置磁盘配额一样,以防止硬盘空间耗竭。所以,在数据库中,我们也需要限制用户所可以使用的磁盘空间大小。为了达到这个目的,我们就可以通过表空间来实现。我们可以在Oracle数据库中,建立不同的表空间,为其设置最大的存储容量,然后把用户归属于这个表空间。如此的话,这个用户的存储容量,就受到这个表空间大小的限制。
2.数据库全备份机制和删除机制问题
分析:
1.用户基于表空间管理,表空间满,用户登录失败。
2.测试环境以及测试数据库一般情况下的非特别重要性,解决思路就是删除几天前的归档文件,进而关闭归档。
2.1 测试部门发生了多次数据库服务器空间满而导致无法登陆oracle实例的事情,原因是由于测试部门在内网测试环境中开启了数据库的归档模式,一般由于测试数据库服务器就是普通的pc,空间小,在一段时间测试后,由于归档文件的大量积累导致数据库服务器空间满,从而导致数据库不能正常登陆。 (参考1)
2.2 有备份机制和删除机制,但为什么没有删除呢?怀疑:做完全备份前一天的归档日志就会删除。发现不删除的原因是因为归档日志太多,把空间占满了,这样做全备份的时候就会失败,就更不会删除几天前的归档日志了。(参考2)
3.归档日志(dump文件)15G左右,一周删除一次。目前磁盘还有60G可用空间,如果每天备份一次,那4天满了。
新问题:人工登录数据库服务器,删除文件,长期维护的问题显现。
参考:
1.oracle磁盘空间占满 归档日志太多:https://yq.aliyun.com/articles/554512
2.oracle数据库服务器磁盘满导致数据库无法登陆,通过清理归档文件解决:
原文链接:https://blog.csdn.net/xujinyang/article/details/7194127