归档日志 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               //当前的redo log序号为2

5.3 设置归档模式:1.开启归档模式  2.设置归档路径
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_2='location=/u01/arch';

//把历史日志归档到本机目录下 (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# , 日志线程号 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)手工 alter system switch logfile;
        3)在归档时,会把归档信息写入到控制文件
    
02:44:00 SQL> alter system switch logfile;        //手工切换redo log file,归档模式或非归档模式均可。
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之二归档日志的更多相关文章

  1. (转) ORACLE 正确删除归档日志的方法

    ORACLE 正确删除归档日志的方法 我们都知道在controlfile中记录着每一个archivelog文件的相关信息,当然们在OS下把这些物理文件delete掉后,在我们的controlfile中 ...

  2. Oracle RMAN 清除归档日志

    在开发环境及UAT环境经常碰到需要清除归档日志的情形,对于这个问题方法有很多.可以直接使用rm方式清除归档日志,也可以使用find命令来查找符合条件的记录来清除归档日志,或者直接写个shell脚本来搞 ...

  3. oracle从备份归档日志的方法集中回收

    oracle从备份集中抓出归档日志方法 在大连医院遇到这个问题,数据库为归档状态,但归档完成后rman通过crontab自己主动备走归档日志并删除存在系统上的归档日志文件.在RealSync程序停止一 ...

  4. Oracle 11g 删除归档日志

    工作环境ORACLE 11g 归档日志满了,手动删除出现 ora 异常. 注:工作环境是linux redhat 5 执行命令如下: 1. 进入rman 2. connect target / 3. ...

  5. oracle之二redo日志

    redo 日志 4.1 redo (重做) log 的功能:数据recovery4.2 redo log 特征:     1)记录数据库的变化(DML.DDL)     2)用于数据块的recover ...

  6. Oracle 正确删除归档日志的方法

    我们都知道在controlfile中记录着每一个archivelog文件的相关信息,当然们在OS下把这些物理文件delete掉后,在我们的controlfile中仍然记录着这些archivelog文件 ...

  7. oracle 11g修改归档日志目录及大小

    1.查看当前归档日志目录 SQL> show parameter recovery NAME TYPE VALUE ------------------------------------ -- ...

  8. oracle 正确删除归档日志,并清除 V$ARCHIVED_LOG 数据

    1. 连接 RMAN 管理 rman target / 2. 查看归档日志列表 RMAN> crosscheck archivelog all; 3. 删除所有归档日志 RMAN> DEL ...

  9. Oracle基础 04 归档日志 archivelog

    --查看归档模式archive log list select log_mode from v$database; --修改为归档模式(mount下)alter database archivelog ...

随机推荐

  1. 蒲公英 · JELLY技术周刊 Vol.17: 90 行代码实现 React Hooks

    蒲公英 · JELLY技术周刊 Vol.17 React Hooks 相信大家都不陌生,自被设计出以来就备受好评,在很多场景中都有极高的使用率,其中原理更是很多大厂面试中的必考题,很多朋友都能够如数家 ...

  2. 初期web渗透的学习路线

    成长路线 信息安全 前端安全 web安全 基础,书籍推荐 <网站入侵与脚本攻防修炼> 什么是web漏洞 什么是sql注入漏洞 什么是数据库 什么是文件上传漏洞 什么是跨站脚本攻击 < ...

  3. 【算法•日更•第四十二期】离散傅里叶变换(DFT)

    ▎前言 小编相当的菜,这篇博客难度稍高,所以有些可能不会带有证明,博客中更多的是定义. 我们将要学到的东西: 复数 暴力多项式乘法 DFT 当然,小编之前就已经写过一篇博客了,主要讲的就是基础多项式, ...

  4. Git操作之码云代码clone

    安装Git https://git-scm.com/book/zh/v2/起步-安装-Git Git的网站上有详细的分各种系统的安装教程. 配置Git 1. 打开你要放置项目的本地路径,右键选择$ G ...

  5. 笔记:Linux下软件的安装、CentOS更新yum源、LAMP环境搭建、kali软件管理

    一.Linux下软件的安装 方式:yum源 / rpm /源码安装 1.yum:(帮助管理员解决依赖关系) yum是通过分析rpm的包头数据后,根据各种软件的相关性质做出属性相对应的解决方案,然后可以 ...

  6. oracle 将数据库的表复制到另一个数据库表内

    将数据库A中的表sys_role复制到数据库B中在数据库b中的SQL工作表写如下代码: 第一步:建立链接 CREATE database link A //数据库名称CONNECT to text  ...

  7. Jenkins读取Allure结果出报告

    1.想 jenkins 有展示和解析 Allure 报告的能力,就必须装 Allure 插件. 「安装插件地址:」 http://updates.jenkins-ci.org/download/plu ...

  8. 怎么给Ubuntu Server安装GUI桌面

    sudo apt update sudo apt upgrade sudo add-apt-repository universe sudo add-apt-repository multiverse ...

  9. 从零开始的SpringBoot项目 ( 一 ) Spring、SpringMVC和SpringBoot

    要想开始一个SpringBoot项目 , 首先要知道SpringBoot是什么 , 可以做什么 , 再去研究怎么用 . 一.概念 1.Spring Spring是一个开源容器框架,可以接管web层,业 ...

  10. Labview学习之路(八)如何让控件显示在修饰符的前面

    在Labview2017版本中,前面板选择修饰控件,会出现部分修饰控件会掩盖其他控件,情况如下: 我们右键点击和属性中都没有相关属性的改变,为什么是这样我也不清除: 上网查了一下,看到其他版本会有显示 ...