ORA-01114: IO error writing block to file 204 (block # 501829)


今天在做数据库移植脚本的测试,可由于数据量比较大,有很多大数据量事务(需要排序),所以temp表空间
狂吃磁盘,吃到30G,最终把我的的磁盘都吃掉,提示下面的错误

ORA-01114: IO error writing block to file 204 (block # 501829)

这个是我的磁盘空间不够了,现在想办法增加磁盘空间,我把一些暂时不用的的东西移到 其他分区了,这样 大概
腾出1.6G的空间,当时我想,我的数据文件不是很大,也可以装下了,于是我又运行移植脚本,问题依旧,还是磁盘
空间不够,磁盘空间不够,什么都无法操作,所以我把/var这个目录移到/home下,这样可以腾出点空间,用户登录的时候
没有提示信息了,

只是:
no mail

[oracle@db yw_sh]$

这是什么问题呢?

重启数据库

数据库可以正常启动,但用户无法登陆,提示的错误表明网络不通,原来监听没起来,我于是手动启动监听服务,

[oracle@db yw_sh]$ lsnrctl start

 

TNSLSNR for Linux: Version 10.2.0.3.0 - Production on 02-JAN-2008 17:59:32

Copyright (c) 1991, 2006, Oracle.  All rights reserved.

System parameter file is /home/oracle/product/10.2.0.3/db_1/network/admin/listen
er.ora
Log messages written to /home/oracle/product/10.2.0.3/db_1/network/log/listener.
log
Trace information written to /home/oracle/product/10.2.0.3/db_1/network/trace/li
stener.trc
Trace level is currently 0

Started with pid=3850
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=db.movo.tv)(PORT=1521)))
Error listening on: (ADDRESS=(PROTOCOL=ipc)(PARTIAL=yes)(QUEUESIZE=1))
No longer listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=db.movo.tv)(PO
RT=1521)))
TNS-12557: TNS:protocol adapter not loadable
 TNS-12560: TNS:protocol adapter error
  TNS-00527: Protocol Adapter not loadable

  [oracle@db yw_sh]$ lsnrctl stop

一样的提示,什么原因呢? 怎么起不来呢?
google一下,有的人说没有/tmp空间的读写权限,可/tmp是777啊,
还有人说:原来/home/oracle/product/9.2.0.1.0/network/log/listener.log 文件超过2G,监听就会断掉(
可我的这个文件才几百兆啊),于是执行下面的命令,清空日志文件

[oracle@localhost log]$ cat /dev/null > listener.log


网上找了一会,发现有个命令可以对这个写日志进行关闭的

LSNRCTL> set log_status off

要继续写日志,只需要

LSNRCTL> set log_status on

也可以在 listener.ora 文件里面添加一项

LOGGING_LISTENER = OFF

添加了这个之后无论你怎么重启监听,都不会写日志了。


 
突然想到,可能那个/var目录
有关,我于是把var目录在copy回去,可有些目录考不会去,开发那边的哥们还在催,他们正等着呢
这是什么原因的,由于我是mv移动的,所以没有源文件了,我于是又在其他机器上copy个var目录,
这回我把原来的var改名,然后再把那个copy 移到根目录,别说好了,监听可以起来了,所以看来var
这个目录的作用还是很大的啊,后来google一下,/var 包括系统一般运行时要改变的数据.每个系统是特定的 

### 回答1: ORA-19502是Oracle数据库的一个错误代码,表示在写入文件时发生了错误。这个错误通常是由于磁盘空间不足、文件系统权限不足或磁盘故障等原因引起的。如果遇到这个错误,需要检查磁盘空间、文件系统权限和磁盘状态,以确定问题的根本原因并采取相应的措施来解决它。 ### 回答2: ORA-19502是Oracle数据库的错误代码,表示在写入文件时发生了错误。 这个错误通常是由于以下几个原因之一造成的: 1. 磁盘空间不足:在进行写操作时,数据库需要足够的空间来存储数据。如果磁盘空间不足,就会出现ORA-19502错误。解决方法是释放一些空间或者增加磁盘容量。 2. 磁盘读/写错误:可能出现了硬件故障或者磁盘损坏,导致无法写入文件。在这种情况下,需要修复或更换损坏的硬件,或者修复数据库文件系统。 3. 文件权限问题:数据库文件的权限可能设置不正确,导致无法写入文件。在这种情况下,需要检查文件权限并更正。 4. 写入目录不存在:如果写入目录不存在或者无法访问,就会出现ORA-19502错误。需要确保指定的目录存在并且可读写。 5. 其他软件或进程占用了文件:其他正在运行的软件或进程可能占用了数据库文件,导致无法写入。在这种情况下,需要关闭并释放对文件的占用。 总之,ORA-19502错误是由于在写入文件时发生了错误,可能是由于磁盘空间不足、磁盘读/写错误、文件权限问题、写入目录不存在或者其他软件/进程占用文件等原因。根据具体情况,我们可以采取相应的措施来解决该问题。 ### 回答3: ORA-19502: 写文件错误是Oracle数据库中的一个错误代码,它意味着在数据库备份或恢复操作过程中,Oracle无法将数据写入指定的文件中。 这个错误通常由以下原因引起: 1. 磁盘空间不足:当磁盘空间不足时,Oracle无法将数据写入文件。请确保备份或恢复操作所需的目标文件的磁盘空间足够。 2. 文件权限问题:如果数据库无法在指定的文件上执行写操作,可能是由于文件权限设置不正确导致的。请确保数据库进程具有对目标文件的写权限。 3. 文件系统故障:如果目标文件所在的文件系统出现故障或损坏,Oracle将无法将数据写入文件。请检查文件系统状态,并修复任何故障或损坏的情况。 4. 被占用的文件:如果目标文件正在被其他进程占用或打开,Oracle将无法将数据写入文件。请确保没有其他进程正在使用目标文件,或者将其关闭,然后重试操作。 如果发生ORA-19502错误,您可以通过以下步骤来解决问题: 1. 检查磁盘空间:确保备份或恢复操作所需的目标文件的磁盘空间足够。 2. 检查文件权限:通过检查文件权限设置,确保数据库进程具有对目标文件的写权限。 3. 检查文件系统状态:检查目标文件所在的文件系统是否正常运行,并修复任何故障或损坏。 4. 检查文件占用情况:确保目标文件没有被其他进程占用或打开,或者将其关闭,然后重试操作。 总之,ORA-19502错误意味着Oracle无法将数据写入指定的文件中,可能是由于磁盘空间不足、文件权限问题、文件系统故障或被占用的文件导致的。通过检查和解决这些问题,您可以解决ORA-19502错误。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值