linux无法启动oracle数据库,Oracle数据库无法启动?可能是Linux的锅

近日,在初始化系统的时候,有报错,最后查的是因为部署在一台linux系统上的oracle数据库有异常。登陆到系统中,切换到oracle用户查看数据库状态时,报错现象如下:

8ff0a79ed4aba95c0586011eeb2d30a3.png

再查看磁盘空间使用情况df –h查看,根目录磁盘空间已经满了(sda3磁盘)

636c6814be791b4fa6b598dc60a396ea.png

1、首先想到的是删除一些不用的文件。但是这是一台只部署了oracle数据库而没有部署其他基础件的linux系统,删除文件不会增加太多空间。如果部署了其他基础件,可以删除一些日志和core文件,可以增加很大的磁盘空间。

2、根据经验,oracle数据库用久了,它的UNDO表空间和TEMP表空间对应的物理文件会占用很大的磁盘空间。进入对应的oradata目录使用ll –lh查看,果然,分别占用了14G和17G的磁盘空间。

5037c3b250e1e51a32d804415184c28a.png

3、基于以上分析,需要对这2个文件动动手术,可以参考网上资料《UNDOTBS01.DBF太大的解决方法》和《oracle temp01.dbf太大的解决方式》

4、以上的”手术”需要在数据库启动的状态下进行,但是目前数据库因为磁盘空间不足,启动都启动不了,便想到删除一些文件先让数据库可以启动起来。

前面已经分析了,由于只部署了数据库,删除一些文件之后只多了2M的空间,数据库无法启动。便进行了系统的重启,一般重启系统会释放一些空间,可以让数据库先起起来。但是这次重启系统后,数据库还是因为磁盘空间满无法启动。

5、这种情况下,观察到业务的一些数据库文件也占用了很大的空间,可以先挪一部分物理文件到其他非根目录上去。这个环境的数据库文件一部分再/uf02/oradata/test142,这个目录是用的根目录磁盘空间,可能是数据库最开始安装时指定的数据库文件路径;一部分在/uf20/oradata/test142,这个是新挂载的磁盘sdb1,还有18G空间可用。

以上挪表空间的物理文件的过程可以在数据库没有启动的时候进行。

问题已经分析清楚,可以开始持刀操作了

一、加载新磁盘并挂载

如果没有新的磁盘,可以申请挂载新的磁盘,操作如下。如有可忽略,实际操作过程中目录名称请自己定义。

ba6038e9d916cc22b2de92c9bc59acab.png

二、挪数据文件到新的磁盘目录

d77fa4c35093da696f0d77b25ef1bc65.png

启动数据库,直接startup会报错刚刚移动的数据文件不存在类似。

可以在mount数据库的状态下,指定数据文件到新的位置。

9f5f482c83bebf1856a33b60ca1ea792.png

▪ 已连接到空闲例程↑

82fa9705627e9174f01fb2ab9f5d7873.png

▪ORACLE 例程已经启动↑

81bbf4491a024ef23bd35d12e89efae2.png

▪数据库装载完毕↑

1028126a0aaea4b61a8ecdbdf477270d.png

▪数据库已更改↑

SQL> alter database open;

▪数据库已更改↑

SQL> alter system register;

▪系统已更改↑

三、重做UNDO表空间

以上步骤二的操作可以解决部分问题,挪一些比较大的物理文件到新的磁盘,则根目录磁盘空间可能就已经多出了好几个G,则够用了。

*这里推荐一种方法可以让空间更多点

以SYS用户登录Oracle 自带的SQL*PLUS的方法:

sqplus “/as sysdba”

1、创建一个新的小空间的UNDO TABLESPACE

b8fbb262c65dc48c872aadc9b0673b23.png

2、设置新的表空间为系统UNDO_TABLESPACE

6496a0ffc26b059df5dbe5ceeb21843a.png

3、在配置文件中修改undo_tablespace的设置

9a66d9c16fb2c9ccf31002e4968a0c8c.png

在本系统的位置及文件名称

a8794edfd21ed5dd5f1ad4eafb0077a3.png

即cd $ORACLE_HOME/dbs目录下

将其中的undo_tablespace=UNDOTBS1 改为 UNDOTBS2

4、重启数据库

方法一:采用命令SHUTDOWN IMMEDIATE 关闭数据库,然后再采用命令STARTUP 重新开启数据库;

方法二:重启计算机

5、DROP 旧的表空间

7c4853ca8f79d4e4096b555fd20834c6.png

查询所有表空间情况: SELECT NAME FROM V$DATAFILE;

空间得到恢复利用

文件位置请根据自己系统情况进行操作

412aeff3589a353c521aad42aa2e03a3.png

以上操作完成,查看文件大小以及空间使用情况,感觉心情不错!

版权所有 侵权必究

如需转载请联系

0571-28829811

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值