oraclearchivelog导致磁盘没空间了怎么办

author author     2023-04-09     576

关键词:

Oracle Archive log 导致磁盘没空间了一般是要删除部分归档日志以留出更多的空间。
一、采用以下这种方法删除归档日志:
1. 进入rman
2. connect target /
3. crosscheck archivelog all;
4. delete expired archivelog all;
这时候再去OEM中看就一定看不到,如果从来没有做过这个动作的话,可以比较从这个动作前的controlfile后动作后的controlfile的大小。
一个ORACLE归档日志经常满,表现为/oraarchive
这个文件空间占用100%的时候,很多人选择直接删除,ORACLE很智能,可以正确的删除归档和FLASHBACK。注意:ORACLE归档日志对于ORACLE的数据恢复和备份非常重要,不到万不得已不要删除归档日志。
二、删除归档日志的过程
以ORACLE用户身份登录到数据库服务器主机或通过网络连接
进入ORACLE数据备份工具
rman target/
或rman target/@orcl
在命令窗口里面执行
DELETE ARCHIVELOG ALL COMPLETED BEFORE \'SYSDATE-7\';
说明:
SYSDATA-7,表明当前的系统时间7天前,before关键字表示在7天前的归档日志,如果使用了闪回功能,也会删除闪回的数据。
参考技术A 一、背景
今天接到开发电话,说Oracle远程连不上了,可能是archivelog满了。我登陆Oracle试了下,提示
ORA-00257: archiver error. Connect internal only, until freed。
考虑到前些天已经扩大了硬盘空间,应该是archive log大小已经达到Oracle中对archive log大小的限制。而DBA已经放假了。因此决定清除下无用的日志同时修改下对日志大小的限制。
由于我对Oracle并不熟悉,因此在完成后将整个过程记录下来,便于以后查阅。
二、环境
RHEL 6.3 + Oracle 11gR2
三、过程
由于archive log空间满导致了不能远程登录,因此ssh到服务器后,使用sqlplus sys/pass as sysdba登陆oracle。
首先看archiv log所在位置
SQL> show parameter log_archive_dest;
会看到类似下面的结果
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest string
log_archive_dest_1 string
log_archive_dest_10 string
这时候如果value是空的,可以尝试
SQL> archive log list;
然后我查看了下使用情况
SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;
FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
------------ ------------------ ------------------------- ---------------
CONTROLFILE .13 0 1
ONLINELOG 2.93 0 3
ARCHIVELOG 99.72 0 122
BACKUPPIECE 0 0 0
IMAGECOPY 0 0 0
FLASHBACKLOG 0 0 0

显然,已经使用了超过99%的日志空间
这时候,我直接进入flash_recovery_are的目录
cd /orace/app/oracle/flash_recovery_area/ORCL/archivelog
然后我决定先备份下相关文件
tar Jcvf arlog.20140125.tar.xz *
第一次操作时发现会提示文件在压缩过程中变化了。才想起来我没有停止Oracle服务。因此回到sqlplus先将Oracle停下来
SQL> shutdown immediate;
这个过程等待了好久才完成。。
这时候重新打包。打包过程持续了差不多两个多小时。。。
完成后,先把压缩包备份到其他目录并且scp到了一台备份文件用的服务器。然后很暴力地删除了这个文件夹下2013年的全部目录
1 rm -rf 2013_*
完成了。将数据库启动起来
sqlplus sys/pass as sysdba
SQL> startup
我第一次startup失败了,提示ORA-03113: end-of-file on communication channel。我又重新执行了下
SQL> startup mount
成功。用rman修复相关信息
rman target sys/pass
RMAN> delete expired archivelog all;
完成后,回到sqlplus修改archivelog大小
SQL> alter system set db_recovery_file_dest_size=5G scope=spfile;
修改完不会立即生效。需要重启Oracle
SQL> shutdown immediate
SQL> startup
这时候查看大小
SQL> show parameter db_recover
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
...
db_recovery_file_dest_size big integer 5G
整个过程就完成了。
参考技术B 1、磁盘空间扩容。

2、全备份数据库,删除部分归档。(会导致无法恢复到以前的时间点)

升级到windows10周年更新

...看WinSxS目录就知道了,还有Drivers目录。不知不觉硬盘就没空间了。升级会把之前不用的文件放入W 查看详情

asm磁盘超过disk_repair_time导致磁盘状态为forcing

ASM磁盘超过disk_repair_time导致磁盘状态为forcingfastmirrorresync啥叫fastmirrorresync为什么出现fastmirrorresyncfastmirrorresync使用场景fastmirrorresync必须条件不可用场景测试场景开启fastmirrorresync模拟磁盘不可用(Unavailable)磁盘状态由Unavailable变为o... 查看详情

【急!!!】ubuntu磁盘大小不够导致暂停

安装一个东西,安装到一半,弹出下面的图现在程序处于暂停状态,我该怎么办!!!急!!!!高手求救!!!参考技术A你把虚拟机关了,然后扩展磁盘空间,然后扩展分区。追问怎么扩展磁盘空间/扩展分区?追答 查看详情

顺序读取文件会导致随机磁盘查找吗?

】顺序读取文件会导致随机磁盘查找吗?【英文标题】:Wouldreadingafilesequentiallyresultinrandomdiskseeks?【发布时间】:2016-12-1317:25:47【问题描述】:我的印象是文件的顺序扫描实际上是磁盘上的顺序查找。但是,我最近读到文件的块... 查看详情

asm磁盘超过disk_repair_time导致磁盘状态为forcing(代码片段)

ASM磁盘超过disk_repair_time导致磁盘状态为forcingfastmirrorresync啥叫fastmirrorresync为什么出现fastmirrorresyncfastmirrorresync使用场景fastmirrorresync必须条件不可用场景测试场景开启fastmirrorresync模拟磁盘不可用(Unavailable)磁盘状态由Unavailable变为o... 查看详情

根据 GetLastError 直接写磁盘导致错误代码 5

】根据GetLastError直接写磁盘导致错误代码5【英文标题】:Directwritingadiskresultsinerrorcode5accordingtoGetLastError【发布时间】:2019-03-2601:14:19【问题描述】:我正在尝试在Windows中直接写入U盘。我使用CreateFile函数创建磁盘句柄并使用Write... 查看详情

20-java对象链表空没空呢

1、如果想判断list是否为空,可以这么判断:if(null==list||list.size()==0){  //为空的情况}else{  //不为空的情况}2、list.isEmpty()和 list.size()==0 有啥区别呢    答案:没有区别。isEmpty()判断有没有元素,而size()返回有几... 查看详情

MySQL 导致 100% 的磁盘利用率

】MySQL导致100%的磁盘利用率【英文标题】:MySQLcauses100%diskutilization【发布时间】:2017-01-1613:45:33【问题描述】:我正在使用XAMPP运行MySQL(InnoDB)数据库。我对一个表(约1,100万行)进行了许多不同的、昂贵的查询,并多次取消它们... 查看详情

swap导致磁盘空间过小问题的解决办法

...下发现,系统swap挂载的分区存放地空间本身就特别小,导致zabbix监控老是报警磁盘空间低于10%,所以最及时有效的办法就是把swap重新挂载到磁盘空间更大的磁盘上去1.可以通过df-h查看系统上的磁盘分区状况[[email protected]~]#df... 查看详情

磁盘延迟导致 EC2 实例上的 CPU 峰值

】磁盘延迟导致EC2实例上的CPU峰值【英文标题】:DisklatencycausingCPUspikesonEC2instance【发布时间】:2020-10-0703:50:28【问题描述】:我们遇到了一个有趣的问题,我们在EC2实例上看到CPU峰值,同时我们看到磁盘延迟峰值。这是CPU峰值... 查看详情

Debezium 导致 Postgres 耗尽 RDS 上的磁盘空间

】Debezium导致Postgres耗尽RDS上的磁盘空间【英文标题】:DebeziumcausesPostgrestorunoutofdiskspaceonRDS【发布时间】:2021-04-0104:35:00【问题描述】:我有一个在AmazonRDS上运行的小型Postgres开发数据库,​​并且我正在运行K8s。据我所知,几... 查看详情

brew install gcc 太费时间了

】brewinstallgcc太费时间了【英文标题】:brewinstallgcctootimeconsuming【发布时间】:2014-09-1722:31:08【问题描述】:我正在对Mavericks进行全新安装,但不小心这样做了brewinstallgcc这需要半个多小时,也许更多。我应该终止它吗?我现在... 查看详情

因磁盘爆满而导致namenodeha无法启动

场景回顾:测试集群节点分配:35,36是namenode且开启HA,37,38,39即作为datanode,又作为journalnode。某时间38节点磁盘爆满,集群中hdfs及依赖的服务全部宕掉。之后虽然将38节点清除一部分多余数据,但集群服务仍然不正常:namenode启... 查看详情

USB 硬盘仿真导致磁盘读取失败(BIOS int 13)?

】USB硬盘仿真导致磁盘读取失败(BIOSint13)?【英文标题】:USBharddiskemulationcauseadiskreadtofail(BIOSint13)?【发布时间】:2018-05-0900:02:59【问题描述】:一些背景:我正在开发一个基本的引导加载程序,它使用BIOSINT13hAH=02h中断将辅助... 查看详情

开vm虚拟机导致内存和磁盘利用率高

现象:在虚拟机上运行linux系统总是发现当机   并且宿主机也特别卡 打开任务管理器,发现内存利用率80%以上磁盘几乎100%,最后发现是虚拟机的问题百度,有优化虚拟机的解答,特此记录一下 查看详情

运维随笔记录一次rabbitmq启动故障排查

...点点,所以在运行命令的时候也还是可以正常的tab补全,导致一开始没有想到空间的问题 查看详情

鉴于我将 DataBag 溢出到磁盘,为啥此 Pig UDF 会导致“错误:Java 堆空间”?

】鉴于我将DataBag溢出到磁盘,为啥此PigUDF会导致“错误:Java堆空间”?【英文标题】:WhydoesthisPigUDFResultinan"Error:Javaheapspace"GiventhatIamSpillingtheDataBagtoDisk?鉴于我将DataBag溢出到磁盘,为什么此PigUDF会导致“错误:Java堆空间... 查看详情

PostgreSQL:甚至读取访问更改数据文件磁盘导致使用 pgbackrest 进行大型增量备份

】PostgreSQL:甚至读取访问更改数据文件磁盘导致使用pgbackrest进行大型增量备份【英文标题】:PostgreSQL:evenreadaccesschangesdatafilesdiskleadingtolargeincrementalbackupsusingpgbackrest【发布时间】:2021-05-1912:06:54【问题描述】:我们正在使用pgbac... 查看详情