联机日志和归档模式

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

原文地址:https://www.cnblogs.com/cyf18/p/10806229.html