最近写入数据在oracle库表时,发现磁盘空间满了,无法进行写入,又因为是Windows环境,不熟悉,折腾了好一段时间,终于想出一个迂回的办法,下面记录一下清理的过程:
1、先切换到sqlnet.log的目录,直接执行echo > sqlnet.log ,此时会报错:程序被占用
2、迂回办法,先copy备份到其他磁盘,
如我的备份到H的根目录:copy /y E:\oracle\product\10.2.0\db_1\NETWORK\log\sqlnet.log H:\
3、此时H盘的sqlnet.log是没有程序占用的,先再把该日志文件备份一次,然后cmd切换到H:,执行echo > sqlnet.log
4、此时,H盘的sqlnet文件已经是清空的了,cmd命令执行copy /y H:\sqlnet.log E:\oracle\product\10.2.0\db_1\NETWORK\log\ ,该步是为了把H盘的sqlnet文件直接复制到原来的位置并覆盖(/y 代表不提醒覆盖情况下直接覆盖同名文件)
5、此时E盘的sqlnet.log文件已经是清空啦,因为E盘已经没有空间了,后续sqlnet.log文件不能再继续存在E盘了,所以要改下sqlnet.log的位置,找到sqlnet.ora ,(一般在E:\oracle\product\10.2.0\db_1\NETWORK\ADMIN ),在sqlnet.ora文件末端添加参数:log_directory_client= < path >
迂回解决sqlnet.log被占用导致无法清空的问题