ora-00257:归档程序错误,在释放之前仅限于内部链接如何解决??

ora-00257:归档程序错误,在释放之前仅限于内部链接如何解决??,第1张

一、简要介绍

首先数据库日志文件有两种:

联机日志文件和归档日志文件,联机日志文件会将之前的覆盖,不会做备份。

而归档日志文件会做备份,这样就造成了归档日志空间已满,解决方法:

如果真的是归档日志空间已满的话,把旧的归档日志导到其他磁盘,腾出磁盘空间。也可以添加新的归档目的盘。

解决方法1:

先手工删除D:\oracle\product\1020\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

SQLPlus: Release102010 - Production on Mon Jan 17 10:00:24 2011

Copyright (c) 1982, 2005, Oracle All rights reserved

Connected to:

Oracle Database10gRelease102010 - 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           configassistlog      sbin

dt                   dev                   smitlog

dtprofile            etc                   smitscript

java                 home                  smittransaction

mh_profile           lib                   sqlnetlog

sh_history           lost+found            tftpboot

vi_history           lpp                   tmp

wmrc                 mnt                   u

Mail                  nmo42_aix5L_64targz 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: Release112010 - 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;

任何单位任何事情,首先强调的就是程序,因为管理界有句名言:细节决定成败。程序就是整治细节最好的工具。于是,现在我们的所有工作,无时无处不在强调程序。因为有了规范的办事程序,现在我们这些平民百姓到政府机关办事比原来容易了许多,最起码知道办什么事该找哪个部门,知道办这个事应该用多长时间了。政府公开办事程序,也拉近了和人民群众的关系。好,这是好得很的事。好像是为了印证事物都是一分为二的道理一样,在赞颂程序的同时,我们也看到了程序冷酷的另一面。南宁见义勇为的英雄鲍光蛇在医院冷酷的程序中流尽了最后一滴血,公路收费站的值班人员因救护车交不出十元钱的过路费而坚决不放行救护车,终于使急需救助的患者丧命,……等等的例子,都为我们强调或者说奉为神圣规则的程序优先勾画出了它的原形。

程序,是管理方式的一种,是能够发挥出协调高效作用的工具,在我们的社会主义建设事业或者说现代化建设中,应该充分重视它的作用,应该不断地将我们的工作从无序整改到有序。

可是,当我们只关注形式而不关注实质的时候,有些事情就发展到了它的反面。程序不是医治百病的灵丹妙药,在它走向反面的时候,它是使那些官僚主义者和视劳苦大众利益如不见的人们推脱掉自己应当承担的责任的最好的挡箭牌。因为越是严密完善的程序,按部就班执行起来越是要付出时间的代价,当时间被浪费了时候,因此引发的其他损失是不应该由模范执行了程序的人来负责的。

Oracle数据库五大优势
oracle数据库的优点一:
ORACLE7X以来引入了共享SQL和多线索服务器体系结构。这减少了ORACLE的资源占用,并增强了ORACLE的能力,使之在低档软硬件平台上用较少的资源就可以支持更多的用户,而在高档平台上可以支持成百上千个用户。
oracle数据库的优点二:
提供了基于角色(ROLE)分工的安全保密管理。在数据库管理功能、完整性检查、安全性、一致性方面都有良好的表现。
oracle数据库的优点三:
支持大量多媒体数据,如二进制图形、声音、动画以及多维数据结构等。 "^$(#@)%(培训谷&@(&$@(&
oracle数据库的优点四:
提供了与第三代高级语言的接口软件PRO系列,能在C,C++等主语言中嵌入SQL语句及过程化(PL/SQL)语句,对数据库中的数据进行 *** 纵。加上它有许多优秀的前台开发工具如 POWER BUILD、SQLFORMS、VISIA BASIC 等,可以快速开发生成基于客户端PC 平台的应用程序,并具有良好的移植性。
oracle数据库的优点五:
提供了新的分布式数据库能力。可通过网络较方便地读写远端数据库里的数据,并有对称复制的技术。

1、你可以在数据库A做计划任务,用exp或者expdp导出,然后scp或者rsync到服务器B
例如计划任务0 0 /data1/backup/expdp_db_baksh;
expdp_db_baksh内容:
#!/bin/sh
~/bash_profile
dst=/data1/backup/db_bak
today=`date +%F`
bakfile=expdp_db_${today}dmp
logfile=expdp_db_${today}log
expdp 'user01/778899' DIRECTORY=expdp_dir1 parallel=2 \
dumpfile=$bakfile SCHEMAS=user01 logfile=$logfile COMPRESSION=all
scp -P22 $bakfile oracle@1721615:/data1/backup/db_bak
exit 0;
2、也可以在服务器B用exp直接导出数据
exp 'user01/778899@DB01' file=$bakfile FULL=Y log=baklog
3、开启归档模式,在服务器A用rman 做全备或增量备份,然后将备份同步到服务器B
指定路径
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/data1/rman/full_%d_%U';
全备份,默认Format
backup incremental level 0 database;
增量备份
backup incremental level 1 database;
将备份rsync 到服务器B
/usr/bin/rsync -av '-e ssh -p 22' oracle@1721611:/data1/rman /data1
4、开启归档模式,在服务器AB间配置DATAGURAD,同步数据


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/yw/13366372.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-22
下一篇 2023-07-22

发表评论

登录后才能评论

评论列表(0条)

保存