oracle的 归档日志 archivelog

2023-10-24 09:59

本文主要是介绍oracle的 归档日志 archivelog,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

归档日志 archivelog


5.1 归档和非归档的区别
     1)归档会在日志切换时,备份历史日志,用于OLTP,可以进行冷备份和热备份,可以实现数据库完全恢复、不完全恢复(基于时间点)
     2)归档会启用arcn的后台进程、占用磁盘空间
     3)非归档用于OLAP/DSS,只能冷备份,只能恢复到最后一次备份状态
 
5.2 查看归档模式:
     
02:34:50 SQL>archive log list;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            /u01/disk1/timran/
Oldest online log sequence     1
Next log sequence to archive   2
Current log sequence           2


5.3 设置归档模式
02:35:50 SQL> shutdown immediate //这里shutdown 一定要immediate方式
Database closed.
Database dismounted.
ORACLE instance shut down.


02:36:40 SQL> startup mount //到mount下设置


02:37:50 SQL>alter database noarchivelog;


Database altered.


02:37:55 SQL> archive log list;
Database log mode              No Archive Mode  
Automatic archival             Disabled
Archive destination            /u01/disk1/timran/
Oldest online log sequence     1
Current log sequence           2


02:38:15 SQL> alter database archivelog; //换回来,我们不要No Archive Mode


02:38:30 SQL> alter database open;


5.4、归档日志的路径及命名方法


指定归档日志存放处及命名,


如果log_archive_dest_n为空,归档日志文件目录为log_archive_dest,如果log_archive_dest值也是空,则默认的是db_recover_file_dest参数指定的位置。缺省安装后db_recover_file_des指向了你的flash_recovery_area


注意:另外指定并不意味着你要取消闪回恢复区的参数,因为这个闪回恢复区不仅存放归档日志,还有RMAN的备份及闪回日志等等。


02:39:20 SQL> show parameter archive


NAME                                 TYPE         VALUE
------------------------------------ ----------- --------------------------------------
archive_lag_target                   integer     0
log_archive_config                   string
log_archive_dest                     string
log_archive_dest_1                   string      location=/u01/disk1/timran/ mandatory
log_archive_dest_10                  string
log_archive_dest_2                   string
log_archive_dest_3 
... 
log_archive_duplex_dest           string
log_archive_format                   string      arch_%t_%r_%s.log
...


SQL> show parameter db_recovery


NAME                                 TYPE         VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest                string      /u01/flash_recovery_area
db_recovery_file_dest_size                      big integer 2G
SQL> 


首先来看这两个参数:
log_archive_dest_n 
log_archive_format


log_archive_dest_n (n:1-10) 表示可以有10个目标路径存放归档日志(镜像关系),即可以多路复用10个归档日志的备份。如上显示我只使用了log_archive_dest_1,也就是说只有一套归档日志,没有做镜像,若是生产系统最好能再加一个指定。


SQL> alter system set log_archive_dest_1='location=/u01/disk1/timran';


//把历史日志归档到本机目录下 (location 代表本机)


SQL> alter system set log_archive_dest_2='service=standby';


//远程备份,把历史日志备份到服务名为test的另外的数据库上。(service 代表远程), 配置双机时有用。


SQL> alter system set log_archive_dest_1='location=/u01/disk1/timran mandatory';                                                
//mandatory 强制归档:只有在归档成功之后,重做日志才能被覆盖,在设置时至少应该有一个本地(location)
强制(mandatory)归档目录(考点)
//默认optional, 即使归档没有成功也可以覆盖联机日志文件。
          
log_archive_format 是定义命名格式的,我使用了下面三个内置符号(模板),其含义是:


%t ,thread# , 日志线程号
%s ,sequence ,日志序列号
%r ,resetlog ,代表数据库的周期


SQL> alter system set log_archive_format ='arch_%t_%r_%s.log' scope=spfile;


再来看看这两个参数:
log_archive_dest
log_archive_duplex_dest
如果都定义了可以完成两路复用(镜像)但只能指定本机location,无法指定远程。


一旦使用log_archive_dest_n,log_archive_dest参数就失效了,log_archive_dest与log_archive_dest_n互斥。


5.5 在liunx下查看归档进程


[oracle@timran timran]$ ps -ef |grep ora_arc 
oracle    1215  2435  0 13:26 pts/2    00:00:00 grep ora_arc
oracle   31796     1  0 13:00 ?        00:00:00 ora_arc0_timran11g
oracle   31798     1  0 13:00 ?        00:00:00 ora_arc1_timran11g


ARCn就是归档进程,这里启动了两个arc0和arc1,最多可达30个,由log_archive_max_processes参数指定。


5.6 日志归档:
1)自动归档,日志切换时 
  2)手工
        3)在归档时,会把归档信息写入到控制文件

02:44:00 SQL> alter system switch logfile; //手工归档方法一。
02:46:30 SQL> alter system archive log current; //手工归档方法二,此方式仅限于Archive mode。


查看已经归档日志:
02:48:08 SQL> select name from v$archived_log;


NAME
--------------------------------------------------------------------------------------------------------
/u01/disk1/timran/arch_1_782662700_141.log
/u01/disk1/timran/arch_1_782662700_142.log
/u01/disk1/timran/arch_1_782662700_143.log
/u01/disk1/timran/arch_1_782662700_144.log
/u01/disk1/timran/arch_1_782662700_145.log
/u01/disk1/timran/arch_1_788918717_1.log
/u01/disk1/timran/arch_1_788918717_2.log
/u01/disk1/timran/arch_1_788918717_3.log
05:47:10 SQL> 

这篇关于oracle的 归档日志 archivelog的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/274368

相关文章

MySQL精准控制Binlog日志数量的三种方案

《MySQL精准控制Binlog日志数量的三种方案》作为数据库管理员,你是否经常为服务器磁盘爆满而抓狂?Binlog就像数据库的“黑匣子”,默默记录着每一次数据变动,但若放任不管,几天内这些日志文件就... 目录 一招修改配置文件:永久生效的控制术1.定位my.cnf文件2.添加核心参数不重启热更新:高手应

Oracle 通过 ROWID 批量更新表的方法

《Oracle通过ROWID批量更新表的方法》在Oracle数据库中,使用ROWID进行批量更新是一种高效的更新方法,因为它直接定位到物理行位置,避免了通过索引查找的开销,下面给大家介绍Orac... 目录oracle 通过 ROWID 批量更新表ROWID 基本概念性能优化建议性能UoTrFPH优化建议注

PostgreSQL 序列(Sequence) 与 Oracle 序列对比差异分析

《PostgreSQL序列(Sequence)与Oracle序列对比差异分析》PostgreSQL和Oracle都提供了序列(Sequence)功能,但在实现细节和使用方式上存在一些重要差异,... 目录PostgreSQL 序列(Sequence) 与 oracle 序列对比一 基本语法对比1.1 创建序

Java程序进程起来了但是不打印日志的原因分析

《Java程序进程起来了但是不打印日志的原因分析》:本文主要介绍Java程序进程起来了但是不打印日志的原因分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java程序进程起来了但是不打印日志的原因1、日志配置问题2、日志文件权限问题3、日志文件路径问题4、程序

Java使用SLF4J记录不同级别日志的示例详解

《Java使用SLF4J记录不同级别日志的示例详解》SLF4J是一个简单的日志门面,它允许在运行时选择不同的日志实现,这篇文章主要为大家详细介绍了如何使用SLF4J记录不同级别日志,感兴趣的可以了解下... 目录一、SLF4J简介二、添加依赖三、配置Logback四、记录不同级别的日志五、总结一、SLF4J

python logging模块详解及其日志定时清理方式

《pythonlogging模块详解及其日志定时清理方式》:本文主要介绍pythonlogging模块详解及其日志定时清理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录python logging模块及日志定时清理1.创建logger对象2.logging.basicCo

Qt spdlog日志模块的使用详解

《Qtspdlog日志模块的使用详解》在Qt应用程序开发中,良好的日志系统至关重要,本文将介绍如何使用spdlog1.5.0创建满足以下要求的日志系统,感兴趣的朋友一起看看吧... 目录版本摘要例子logmanager.cpp文件main.cpp文件版本spdlog版本:1.5.0采用1.5.0版本主要

Oracle数据库常见字段类型大全以及超详细解析

《Oracle数据库常见字段类型大全以及超详细解析》在Oracle数据库中查询特定表的字段个数通常需要使用SQL语句来完成,:本文主要介绍Oracle数据库常见字段类型大全以及超详细解析,文中通过... 目录前言一、字符类型(Character)1、CHAR:定长字符数据类型2、VARCHAR2:变长字符数

SpringBoot日志配置SLF4J和Logback的方法实现

《SpringBoot日志配置SLF4J和Logback的方法实现》日志记录是不可或缺的一部分,本文主要介绍了SpringBoot日志配置SLF4J和Logback的方法实现,文中通过示例代码介绍的非... 目录一、前言二、案例一:初识日志三、案例二:使用Lombok输出日志四、案例三:配置Logback一

golang 日志log与logrus示例详解

《golang日志log与logrus示例详解》log是Go语言标准库中一个简单的日志库,本文给大家介绍golang日志log与logrus示例详解,感兴趣的朋友一起看看吧... 目录一、Go 标准库 log 详解1. 功能特点2. 常用函数3. 示例代码4. 优势和局限二、第三方库 logrus 详解1.