随笔 - 178  文章 - 2  评论 - 0  阅读 - 99381

联机日志和归档模式

查看日志状态: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/';

posted on   渐行渐远的那些人  阅读(293)  评论(0编辑  收藏  举报
编辑推荐:
· .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 接口并集成到在线客服系统
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示