Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3128053
  • 博文数量: 206
  • 博客积分: 3409
  • 博客等级: 中校
  • 技术积分: 4066
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-24 10:21
个人简介

● ITPUB名人堂嘉宾 ● ChinaUnix社区博客专家 ● ChinaUnix社区Oracle板块版主 ● 优酷网认证音乐牛人:EricGuitar ● SDOUG 核心成员 ●E-mail:gaoqiangdba@163.com

文章分类

全部博文(206)

文章存档

2021年(11)

2020年(7)

2019年(7)

2016年(5)

2015年(36)

2014年(23)

2013年(15)

2012年(23)

2011年(61)

2010年(18)

分类: Oracle

2014-05-04 10:24:46

  


 在网上帮网友解决问题的时候遇到的报错:ORA-09187:write to audit file failed.  、ORA-09945:Unable to initialize the audit trail file和 linux-x86_64 Error:28:No space left on device.



该错误是在执行  conn / as sysdba的时候报出的


使用df -g命令查看的时候,发现他的根分区“/”已经满了,初步判断为空间满导致的问题,经过进一步排查,发现他的 listener.log 特别大,将其mv到其他的位置,然后再次尝试conn /  as sysdba,发现数据库可以正常登陆。

 此问题到此已经解决。

 
 但是,有此问题可以延伸出更多的可能性,我们不妨主动思考一下,自我启发一下,listener.log体积变大导致的系统空间不足的话,比较容易处理,挪走即可,但是如果是数据文件发生了因为体积增长而占满空间时,应该怎么处理呢?是不是我们提前未雨绸缪做一下测试,一旦乌云压顶了,我们的心态上可以更加的从容?

 

Datafile大挪移大法:

 挪动数据文件的步骤一共有4步,操作如下:

1.正常关闭数据库

SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。


2. 复制system表空间对应数据文件去新路径

此步根据不同操作系统选择不同的系统移动命令。



3.启动数据库到mount状态


SQL> startup mount
ORACLE 例程已经启动。
Total System Global Area  135338868 bytes
Fixed Size                   453492 bytes
Variable Size             109051904 bytes
Database Buffers           25165824 bytes
Redo Buffers                 667648 bytes
数据库装载完毕。


4. 修改system表空间对应数据文件去新路径
SQL> alter database rename file  '/u01/app/oracle/oradata/orcl/system01.dbf' to '/u01/app/oracle/oradata/orcl/system/system01.dbf';


数据库已更改。


5. 启动数据库


SQL> alter database open;


数据库已更改。

阅读(6475) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~