linux下磁盘空间不足导致oracle无法登录的解决方案

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qinshi965273101/article/details/83617128

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

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

解决方案如下:

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

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

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

猜你喜欢

转载自blog.csdn.net/qinshi965273101/article/details/83617128
今日推荐