ora-00257:归档程序错误,在释放之前仅限于内部链接如何解决??
一、简要介绍
首先数据库日志文件有两种:
联机日志文件和归档日志文件,联机日志文件会将之前的覆盖,不会做备份。
而归档日志文件会做备份,这样就造成了归档日志空间已满,解决方法:
如果真的是归档日志空间已满的话,把旧的归档日志导到其他磁盘,腾出磁盘空间。也可以添加新的归档目的盘。
解决方法1:
先手工删除D:\oracle\product\10.2.0\fl.sh_recovery_area里面的日志,然后用户用rman进入把归档日志删除
1)#rman target/
2)rman>crosscheck archivelog all;
3)rman>delete expired archivelog all;
4)rman>exit
解决方法2:改变了FLASH_RECOVERY_AREA的大小
sql>alter system set db_recovery_file_dest_size=8G scope=both;
sql>show parameter db_recovery_file_dest_size
二、详细过程介绍
1.连接
$sqlplus /as sysdba
SQL*Plus: Release10.2.0.1.0 - Production on Mon Jan 17 10:00:24 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database10gRelease10.2.0.1.0 - 64bit Production
2.查看正在归档的状态
SQL>select * from v$log;
发现ARC状态为NO,表示系统没法自动做归档。
3.查看归档日志所在位置
SQL>show parameter recover;
SQL> exit
$ exit
4.进入日志存入目录
# cd
# ls
.TTauthority cdrom proc
.Xauthority configassist.log sbin
.dt dev smit.log
.dtprofile etc smit.script
.java home smit.transaction
.mh_profile lib sqlnet.log
.sh_history lost+found tftpboot
.vi_history lpp tmp
.wmrc mnt u
Mail nmo42_aix5L_64.tar.gz unix
TT_DB nsr usr
audit opt var
bin oradata
# cd oradata
# ls
flash_recovery_area misdata
lost+found orabak
# cd flash_recovery_area
# ls
MISDATA
# cd MISDATA
# ls
archivelog autobackup onlinelog
# cd archivelog
# ls
2011_01_01 2011_01_04 2011_01_07 2011_01_10 2011_01_13 201
2011_01_02 2011_01_05 2011_01_08 2011_01_11 2011_01_14 201
2011_01_03 2011_01_06 2011_01_09 2011_01_12 2011_01_15 202
#
5.查看FLASH_RECOVERY_AREA空间使用情况
# cd oradata
# ls
6.查看flash recovery area已经占用的空间
SQL>select * from v$flash_recovery_area_usage;
7.转移或清除对应的归档日志,删除一些不用的日期目录的文件,注意保留最后几个文件
注意:在删除归档日志后必须用RMAN维护控制文件,否则空间显示仍然不释放。
在rman里删除过期日志
$rman target /
Recovery Manager: Release11.2.0.1.0 - Production on Wed Feb 24 08:13:00 2010
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
connected to target database: ****
RMAN>crosscheck archivelog all; 检查一些无用的archivelog
RMAN>delete expired archivelog all; 删除过期archivelog
8.登录oracle增大闪回区大小
SQL>alter system set db_recovery_file_dest_size=8G scope=both;
SQL>select * from V$FLASH_RECOVERY_AREA_USAGE;
任何单位任何事情,首先强调的就是程序,因为管理界有句名言:细节决定成败。程序就是整治细节最好的工具。于是,现在我们的所有工作,无时无处不在强调程序。因为有了规范的办事程序,现在我们这些平民百姓到政府机关办事比原来容易了许多,最起码知道办什么事该找哪个部门,知道办这个事应该用多长时间了。政府公开办事程序,也拉近了和人民群众的关系。好,这是好得很的事。好像是为了印证事物都是一分为二的道理一样,在赞颂程序的同时,我们也看到了程序冷酷的另一面。南宁见义勇为的英雄鲍光蛇在医院冷酷的程序中流尽了最后一滴血,公路收费站的值班人员因救护车交不出十元钱的过路费而坚决不放行救护车,终于使急需救助的患者丧命,……等等的例子,都为我们强调或者说奉为神圣规则的程序优先勾画出了它的原形。
程序,是管理方式的一种,是能够发挥出协调高效作用的工具,在我们的社会主义建设事业或者说现代化建设中,应该充分重视它的作用,应该不断地将我们的工作从无序整改到有序。
可是,当我们只关注形式而不关注实质的时候,有些事情就发展到了它的反面。程序不是医治百病的灵丹妙药,在它走向反面的时候,它是使那些官僚主义者和视劳苦大众利益如不见的人们推脱掉自己应当承担的责任的最好的挡箭牌。因为越是严密完善的程序,按部就班执行起来越是要付出时间的代价,当时间被浪费了时候,因此引发的其他损失是不应该由模范执行了程序的人来负责的。
首先数据库日志文件有两种:
联机日志文件和归档日志文件,联机日志文件会将之前的覆盖,不会做备份。
而归档日志文件会做备份,这样就造成了归档日志空间已满,解决方法:
如果真的是归档日志空间已满的话,把旧的归档日志导到其他磁盘,腾出磁盘空间。也可以添加新的归档目的盘。
解决方法1:
先手工删除D:\oracle\product\10.2.0\flash_recovery_area里面的日志,然后用户用rman进入把归档日志删除
1)#rman target/
2)rman>crosscheck archivelog all;
3)rman>delete expired archivelog all;
4)rman>exit
解决方法2:改变了FLASH_RECOVERY_AREA的大小
sql>alter system set db_recovery_file_dest_size=8G scope=both;
sql>show parameter db_recovery_file_dest_size
二、详细过程介绍
1.连接
$sqlplus /as sysdba
SQL*Plus: Release10.2.0.1.0 - Production on Mon Jan 17 10:00:24 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database10gRelease10.2.0.1.0 - 64bit Production
2.查看正在归档的状态
SQL>select * from v$log;
发现ARC状态为NO,表示系统没法自动做归档。
3.查看归档日志所在位置
SQL>show parameter recover;
SQL> exit
$ exit
4.进入日志存入目录
# cd
# ls
.TTauthority cdrom proc
.Xauthority configassist.log sbin
.dt dev smit.log
.dtprofile etc smit.script
.java home smit.transaction
.mh_profile lib sqlnet.log
.sh_history lost+found tftpboot
.vi_history lpp tmp
.wmrc mnt u
Mail nmo42_aix5L_64.tar.gz unix
TT_DB nsr usr
audit opt var
bin oradata
# cd oradata
# ls
flash_recovery_area misdata
lost+found orabak
# cd flash_recovery_area
# ls
MISDATA
# cd MISDATA
# ls
archivelog autobackup onlinelog
# cd archivelog
# ls
2011_01_01 2011_01_04 2011_01_07 2011_01_10 2011_01_13 201
2011_01_02 2011_01_05 2011_01_08 2011_01_11 2011_01_14 201
2011_01_03 2011_01_06 2011_01_09 2011_01_12 2011_01_15 202
#
5.查看FLASH_RECOVERY_AREA空间使用情况
# cd oradata
# ls
6.查看flash recovery area已经占用的空间
SQL>select * from v$flash_recovery_area_usage;
7.转移或清除对应的归档日志,删除一些不用的日期目录的文件,注意保留最后几个文件
注意:在删除归档日志后必须用RMAN维护控制文件,否则空间显示仍然不释放。
在rman里删除过期日志
$rman target /
Recovery Manager: Release11.2.0.1.0 - Production on Wed Feb 24 08:13:00 2010
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
connected to target database: ****
RMAN>crosscheck archivelog all; 检查一些无用的archivelog
RMAN>delete expired archivelog all; 删除过期archivelog
8.登录oracle增大闪回区大小
SQL>alter system set db_recovery_file_dest_size=8G scope=both;
SQL>select * from V$FLASH_RECOVERY_AREA_USAGE;