问题:​​​​​​oracle突然无法登录成功

原因:发现是磁盘空间不足,而且oracle被关闭了

解决方案如下:

1、确定oracle安装在哪台linux机器,并登录

2、查看磁盘使用情况 : df -h,看看哪个磁盘空间满了

3beb254e697dc3ff6257505405feef28.png

3、找到没有用的文件,并删掉。

使用命令查看某个目录下的文件或文件夹大小(不含子目录) du -ah --max-depth=1

由于登录oracle的dba用户需要一定的磁盘空间,此处删除无用的文件,为登录dba用户做准备。

删除无用的文件时 一定要注意,oracle实例安装的目录与被删除文件是在同一个磁盘上的,否则不起作用。

4、查看oracle是否启动:ps -fe | grep oracle

查看是否有对应的进程,注意看进程名称,是否有自己需要的实例。

5、切换到oracle用户: su - oracle (注意有空格)

6、切换到指定的数据库实例  export ORACLE_SID=实例名

7、登录指定的数据库实例: sqlplus / as sysdba

8、若实例没有启动,则启动:startup (关闭命令:shutdown immediate)

9、一般都是清理undo tablespace

先查看当前使用的是哪个 undo tablespace :show parameter undo_tablespace

表空间和文件的关联关系

select file_name,tablespace_name from dba_data_files;

创建一个新的小空间的 undo tablespace

create undo tablespace undotbs02 datafile '/oracle/app/oradata/undotbs02.dbf' size 100m reuse autoextend on;

设置新的表空间为系统 undo tablespace

alter system set undo_tablespace=undotbs02;

查看undo tablespace是否切换过来 : show parameter undo_tablespace

删除旧的表空间

drop tablespace UNDOTBS1 including contents and datafiles;

查询所有表空间情况

select file_name,tablespace_name from dba_data_files;

重启数据库

关闭

shutdown immediate

启动

startup

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐