联机日志和归档模式
查看日志状态:select * from v$log;
日志路径:select * from v$logfile;
大小达到限制时,日志会自动切换到下一个组
日志状态:ACTIVE(recovery需要,脏数据未同步) CURRENT(实例恢复时所需要的) INACTIVE UNUSED
alter system checkpoint;//执行检查点之后,ACTIVE会变成INACTIVE
手动切换日志:alter system switch logfile;
查看日志切换频率:select to_char(FIRST_TIME,'yyyymmddhh24') FIRST_TIME,count(*) from v$log_history group by to_char(FIRST_TIME,'yyyymmddhh24') order by 1;
减少日志切换频率:添加新的日志文件
alter database add logfile '/home/oracle/redo04.log' size 100m;
alter database add logfile '/home/oracle/redo05.log' size 100m;
alter database add logfile '/home/oracle/redo06.log' size 100m;
切换当前组:alter system switch logfile;
删除原来的组:
alter database drop logfile group 1;--删除第一个组
c/1/2--删除第二个组
c/2/3--删除第三个组
组中添加成员(用于备份,防止文件损坏导致无法恢复):
alter database add logfile member '/home/oracle/redo01.log' to group 1;--向第一组添加一个成员
alter database add logfile member '/home/oracle/redo04a.log' to group 2;--向第二组添加一个成员
alter database add logfile member '/home/oracle/redo05a.log' to group 3;--向第三组添加一个成员
组1的日志文件都删除时:lsof | grep /home/oracle/redo01.log
cd /proc/进程号/fd
cp 对应的文件号 /home/oracle/redo01.log.old
移动日志文件:
停止数据库:shut immediate
移动日志文件:
mv /home/oracle/redo01.log /u01/app/oracle/oradata/myorcl/
mv /home/oracle/redo04a.log /u01/app/oracle/oradata/myorcl/
mv /home/oracle/redo05a.log /u01/app/oracle/oradata/myorcl/
startup mount
修改参数:
alter database rename file '/home/oracle/redo01.log' to '/u01/app/oracle/oradata/myorcl/redo01.log';
alter database rename file '/home/oracle/redo04a.log' to '/u01/app/oracle/oradata/myorcl/redo04a.log';
alter database rename file '/home/oracle/redo05a.log' to '/u01/app/oracle/oradata/myorcl/redo05a.log';
查看当前数据库是否归档(sqlplus环境命令):archive log list
归档:
正常停止数据库:shut immediate
启动到mount:startup mount
切换到归档模式:alter database archivelog;
打开数据库:alter database open;
archive log list
归档模式下:切换日志时会拷贝上一个日志文件到归档目录
创建归档目录:mkdir /home/oracle/arc_myorcl_dest1
修改归档目录:alter system set log_archive_dest_1='location=/home/oracle/arc_myorcl_dest1/';--log_archive_dest_n一共31个,1-10自己使用
查看归档信息:select sequence#,name from v$archived_log;
查看归档失败的信息:select error from v$archive_dest where dest_id=1;
手动归档(调用服务进程,正常是归档进程*arc*):alter system archive log sequence 48 to '/home/oracle/arc_myorcl_dest1/';
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统