1、
https://blog.csdn.net/qq_23135259/article/details/128847302
https://blog.csdn.net/bosschen/article/details/129415215
https://blog.csdn.net/xcg340123/article/details/54573188 (归档日志的处理.)
Oracle数据库归档日志满了会导致数据库实例自动关闭,不能正常使用数据库,那归档日志满了该如何处理呢
删除归档文件
首先删除归档文件在物理主机磁盘中的文件
物理文件删除后ORACLE的controlfile中仍然记录着这些archivelog的信息,在oracle的OEM管理器中有可视化的日志展现出,接下来要做的就是从controlfile中清除掉多余归档日志文件记录
一、查看是否开启归档日志
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /oracle/archivelogs
Oldest online log sequence 1564
Next log sequence to archive 1566
Current log sequence 1566
二、删除数据库归档文件。
cd /oracle/archivelogs
执行下面命令删除7天以前的归档日志:
find . -xdev -mtime +7 -name "*.dbf" -exec rm -f {} \;
等同于在rman里执行
DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';
三、执行rman逻辑上删除过期日志
rman
RMAN> connect target /
>crosscheck archivelog all; //检查归档日志
>delete expired archivelog all; //删除失效的归档日志
RMAN>list expired archivelog all; /*列出所有expired(过期)的归档日志文件,此时你就可看到移走的归档日志文件均被标记为expired
>quit
至此归档文件完全删除~!
————————————————
版权声明:本文为CSDN博主「bosschen」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/bosschen/article/details/129415215
2、
oracle数据库查询获得系统归档日志的切换频率及大小
select max (first_time) max_first_time,to_char (first_time, 'yyyy-mm-dd') day,count (recid) count_number,count (recid) * 200 size_mb from v$log_history group by to_char (first_time, 'yyyy-mm-dd') order by 1
3、
Oracle查看当前连接的数据库实例及状态:
SQL> select instance_name,status from v$instance;
INSTANCE_NAME STATUS
-------------------------------- ------------------------
orcl OPEN
归档模式(archivelog):可以在线/离线备份数据库,可以是全备份或者是部分备份(单个表空间/数据文件) ;
非归档模式(noarchivelog):只能离线备份而且必须备份所有的数据文件,控制文件,日志文件
Oracle查看当前连接的数据库的归档模式:
SQL> select name, log_mode from v$database;
NAME LOG_MODE
------------------ ------------------------
ORCL ARCHIVELOG
查看数据库日志文件的大小
sys@bomsdb> select distinct(bytes/1024/1024) MB from v$log;
MB
----------
200
如果上面的查询返回不止一条,说明你的系统中存在不同大小的redolog。应该强烈抵制这种事情的发生。确保数据库具有相同大小的redo log,便于管理和使用。
4、
查看已经使用到的最老的日志文件
select name,sequence#,to_char(first_time,'dd-mon-yyyy hh24:mi:ss') from v$archived_log order by first_time;
5、oracle 正确删除归档日志,并清除 V$ARCHIVED_LOG 数据
https://www.cnblogs.com/moonciki/p/8145830.html
1. 连接 RMAN 管理
rman target /
2. 查看归档日志列表
RMAN> crosscheck archivelog all;
3. 删除所有归档日志
RMAN> DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE';
4. 清空V$ARCHIVED_LOG
SQL> execute sys.dbms_backup_restore.resetCfileSection(11);
5. 查看 V$ARCHIVED_LOG
SQL> select * from V$ARCHIVED_LOG;
6. 生成新的日志文件
SQL> alter system switch logfile;
——————————————————————————————————————————
6、
Configure retention policy to redundancy 1;--指保留一次备份,其余的都是过期的
--Configure retention policy to recovery window of 7 days;--指保留7天内的备份,其余的都是过期的
7、
https://blog.csdn.net/hunhun1122/article/details/78095666?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-2-78095666-blog-54573188.235%5Ev38%5Epc_relevant_anti_t3&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-2-78095666-blog-54573188.235%5Ev38%5Epc_relevant_anti_t3&utm_relevant_index=5
切换重做日志
SQL> alter system switch logfile;
8、
https://www.cnblogs.com/tan80000/p/11165228.html
(1) 归档日志的查询
SQLPlus执行conn /as sysdba去查看,也可以只直接在PLSQL中查询:
执行:
select * from v$flash_recovery_area_usage;
ARCHIVED LOG行的percent_space_used 表示归档日志占用空间的百分比:
如果 ARCHIVED LOG 超过90% oracle随时有宕机的危险。
(2) 增大归档日志空间
该操作需要在SQLPlus中进行:
alter system set db_recovery_file_dest_size=20G;
9、
Delete Archivelog until time
如果数据库处于归档日志模式,则 Oracle 数据库正在归档重做日志组文件。
当重做日志文件被归档时,重做日志文件会被新的重做数据覆盖。但是,如果您不安排任何删除作业,则不会删除或自动删除存档日志
您需要定期删除归档日志,否则您将收到归档程序错误。
————————————————
https://blog.csdn.net/daxues_/article/details/119911045
10、
https://blog.csdn.net/qq_34556414/article/details/85070436?spm=1001.2101.3001.6650.7&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-7-85070436-blog-42080747.235%5Ev38%5Epc_relevant_anti_t3&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-7-85070436-blog-42080747.235%5Ev38%5Epc_relevant_anti_t3&utm_relevant_index=8
使用语句来查询每天产生归档的大小
Select to_char(completion_time,'yyyy-mm-dd') as date1,count(0) as cnt,round(sum((blocks *block_size)/1024/1024)) as mb from v$archived_log
group by to_char(completion_time,'yyyy-mm-dd') order by date1 desc;
--CNT为每天归档次数,MB为每天的归档量
11、
https://oracledocs.blog.csdn.net/article/details/80357426?spm=1001.2101.3001.6650.10&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-10-80357426-blog-119911045.235%5Ev38%5Epc_relevant_anti_t3&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-10-80357426-blog-119911045.235%5Ev38%5Epc_relevant_anti_t3&utm_relevant_index=11
设置数据库归档时间间隔,比如30分钟归档一次。
-
SYS@test>alter system set archive_lag_target=1800;
-
System altered.
12、
Oracle归档日志空间不足引发的问题及归档日志的检测与删除
https://wenku.baidu.com/view/ef383cdd48fe04a1b0717fd5360cba1aa8118cf7.html?_wkts_=1687331136142&bdQuery=Oracle%E5%BD%92%E6%A1%A3%E6%97%A5%E5%BF%97%E7%A9%BA%E9%97%B4%E4%B8%8D%E8%B6%B3%E5%BC%95%E5%8F%91%E7%9A%84%E9%97%AE%E9%A2%98%E5%8F%8A%E5%BD%92%E6%A1%A3%E6%97%A5%E5%BF%97%E7%9A%84%E6%A3%80%E6%B5%8B%E4%B8%8E%E5%88%A0%E9%99%A4
13、
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
2019-06-19 centos7 忘记root用户密码
2018-06-19 windows安装python运行环境使用pycharm