精华内容
下载资源
问答
  • 数据库归档模式

    2019-09-27 22:22:04
    背景:新话单功能上线后,生产环境之前未配置定时任务产生话单,导致数据库有2000多万条的记录等待生成话单,定时任务配置正确后,由于环境开启了数据库归档模式,而生成话单的过程又在不断的update和delete行为轨迹...

    背景:新话单功能上线后,生产环境之前未配置定时任务产生话单,导致数据库有2000多万条的记录等待生成话单,定时任务配置正确后,由于环境开启了数据库归档模式,而生成话单的过程又在不断的update和delete行为轨迹表中的数据,导致产生大量的归档日志,必须实时监控磁盘空间。

    Oracle数据库的归档模式一般在开发、测试环境默认是不设置的的,主要是为了节省磁盘空间,在生产环境上,设置日志模式并自动归档主要是为了保证系统安全,恢复数据。

    (一)Oracle数据库进行日志的自动归档需要满足两个条件:

    1.是数据库日志模式的设置(可为Archive Mode 和No Archive Mode)

    2.是自动归档模式设置(Automatic archival,可为Enabled 和Disabled)

    (二)查看Oracle数据现行的日志模式和归档模式的设置

    使用 archive log list 命令查看

    1.运行在日志自动归档模式的查看结果

    Database log mode  Archive Mode
    Automatic archival    Enabled
    Archive destination  /backup/archivelog
    Oldest online log sequence 2131
    Next log sequence to archive 2133
    Current log sequence 2133

    2.未启动数据库日志自动归档模式的查看结果

    Database log mode   No Archive Mode
    Automatic archival     Disabled
    Archive destination   /u01/app/oracle/product/8.1.7/dbs/arch
    Oldest online log sequence 194
    Current log sequence 196

    (三)数据库日志模式的设置

    创建数据库时,可以在CREATE DATABASE 语句中指定数据库的日志模式,默认缺省是NOARCHIVELOG 模式,如果在创建数据库时指明是Archive Mode的话,会增加约20%的创建时间,而在以后启动INSTANCE 时再设置的话,一般只用去几秒的时间。

    日志模式设置切换(Archive Mode 和No Archive Mode 之间的切换)的步骤和操作如下:

    1.关闭数据库实例

    SQL> shutdown immediate;

    2.备份数据库

    该备份跟以后产生的日志一起用于将来的灾难恢复(很重要,如要改为归档日志模式,没有这个数据库备份,仅有日志文件是无法从该时间点恢复的)

    3.启动数据库实例到mount 状态,但不要打开。

    SQL> startup mount;

    4.切换数据库日志模式。

    SQL> alter database archivelog;(设置数据库为归档日志模式)
    SQL> alter database noarchivelog;(设置数据库为非归档日志模式)

    5.打开数据库。

    SQL> alter database open;

    6.确认数据库现在处于归档日志模式。

    SQL> archive log list;

    7.将这个时间点的redo logs 归档

    SQL> archive log all;

    8.确认新产生的日志文件已在相应的归档目录下面。

    (四)数据库自动归档模式的设置

    在该模式下,数据库启动一个arch 进程,专门负责将redo logs 写到系统归档设备的相应目录下。在数据库的参数文件中设置参数(一般是在$ORACLE_HOME/dbs/init*.ora 文件中):

    LOG_ARCHIVE_START= LOG_ARCHIVE_DEST= LOG_ARCHIVE_FORMAT=

    LOG_ARCHIVE_START: 如要求自动归档的话,则设为TRUE,如要求为非自动归档的话,则设为FALSE

    LOG_ARCHIVE_DEST: 该参数设定了archive logs 归档存放的路径。

    LOG_ARCHIVE_FORMAT: 该参数设定了archive logs 的命名格式。例如,如将格式设为: arch%s.arc log 文件将为: arch1.arc, arch2.arc, arch3.arc

    这几个参数设置只有在数据库实例启动前设置才能生效,如果在数据库运行中进行设置,要使其生效,必须重起数据库。 如果数据库正在运行中,不能即刻重起,要设置其为自动归档模式,则做如下操作:

    SQL> ALTER SYSTEM ARCHIVE LOG START;

    如要设置其为非自动归档模式(取消自动归档),则:

    SQL> ALTER SYSTEM ARCHIVE LOG STOP;

    但如果数据库重起后,给语句修改的结果就失效了,自动归档的设置还是按照系统参数文件中的LOG_ARCHIVE_START 的值来设置。

    (五)几种设置情况:

    1. Database log mode Archive Mode,Automatic archival Enabled 这是在大部分生产环境中的ORACLE 数据库日志及归档模式设置,这种情况下,做好数据库的定期备份(有热备和冷备)和归档日志备份,可有效的将数据库恢复到有归档日志的全部时间点。
    2. Database log mode Archive Mode,Automatic archival Disabled 这种情况下,数据库不能自动归档,需要进行手工归档。如果所有在线日志都写满了,又没有的及时进行手工归档的话,由于LGWR 没有可用的在线日志可写,数据库将会挂在这儿,只有进行手工归档后,有可用的在线日志后才能继续。在生产环境中应该避免这种情况。 手工归档操作如下:
    SQL> ALTER SYSTEM ARCHIVE LOG ALL;

    数据库将会把在线日志进行归档处理

    1. Database log mode NO Archive Mode,Automatic archival Enabled 有些情况下,数据库管理员只在数据库参数文件中设置了LOG_ARCHIVE_START=TRUE,然后在数据库起来后查看到ARCH 归档进程已经起来了,可是尽管ORACLE 已经作了几次日志切换,但还是没有归档日志,这时的设置就是这种情况,如果数据库不是处在ARVHIVELOG 模式,redolog 还是不会被归档。
    2. Database log mode NO Archive Mode,Automatic archival Disabled 这种设置是刚安装的oracle 数据库的缺省设置,开发环境也大部分如此。即没有进行归档。

    归档日志清理(如果采用RMNA备份后则不用手工删除)

    归档日志都可以清理,不会导致数据库有问题,但一般清历史的,保留近1个小时的。 一、先手工删除归档日志文件 二、用RMAN删除数据库记录的归档列表信息

    1. 进入本数据库的rman,在命令行模式输入"rman target /",进入rman,查看提示,确认连接的是否是本库?
    oracle ~# reman /target
    1. 查看归档日志文件的状态:
    RMAN> list archivelog all;
    1. 删除操作系统中的日志文件(到操作系统级进行手工删除,也可以是第一步;
    2. 将归档日志信息进行更新;
    RMAN> crosscheck archivelog all;
    RMAN> delete expired archivelog all; (确认时键入"yes")
    RMAN> exit

     

    转载于:https://www.cnblogs.com/zihanxing/p/6852698.html

    展开全文
  • 数据库归档模式详解

    2014-04-01 18:20:33
    数据库归档模式详解 很详细的介绍,又需要的可以看看
  • 本文介绍如何启动或关闭数据库归档模式 Oracle 数据库可以运行在2种模式下:归档模式( archivelog )和非归档模式( noarchivelog ) 归档与非归档的区别请参考ORACLE相关文档。 数据库循环使用LOG文件,若数据库处于非...

    本文介绍如何启动或关闭数据库归档模式 Oracle 数据库可以运行在2种模式下:归档模式( archivelog )和非归档模式( noarchivelog ) 归档与非归档的区别请参考ORACLE相关文档。 数据库循环使用LOG文件,若数据库处于非归档日志模式,当LOG文件被使用后,文件中

    本文介绍如何启动或关闭数据库归档模式Oracle数据库可以运行在2种模式下:归档模式(archivelog)和非归档模式(noarchivelog)

    归档与非归档的区别请参考ORACLE相关文档。

    数据库循环使用LOG文件,若数据库处于“非归档日志”模式,当LOG文件被使用后,文件中记录的重做信息将覆盖。为了恢复数据库,必须启用归档。

    归档模式可以提高Oracle数据库的可恢复性,生产数据库都应该运行在此模式下,归档模式应该和相应的备份策略相结合,只有归档模式没有相应的备份策略只会带来麻烦。

    [系统环境]

    OS Version:

    Microsoft Window XP Professional 版本2002 Service Pack 3

    Oracle Version:

    SQL> select * from v$version;

    BANNER

    ----------------------------------------------------------------

    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod

    PL/SQL Release 10.2.0.1.0 - Production

    CORE 10.2.0.1.0 Production

    TNS for 32-bit Windows: Version 10.2.0.1.0 - Production

    NLSRTL Version 10.2.0.1.0 - Production

    [操作步骤]

    一、设置NOARCHIVELOG--->ARCHIVELOG

    1、确认当前数据模式

    SQL> select dbid, name, log_mode from v$database;

    DBID NAME LOG_MODE

    ---------- --------- ------------

    1182163329 ORCL NOARCHIVELOG

    注:通过查询v$database进行确认数据库当前处于何种模式

    2、干净关闭数据库(shutdown normal或shutdown immediate)

    SQL> shutdown normal

    数据库已经关闭。

    已经卸载数据库。

    ORACLE 例程已经关闭。

    3、启动数据库至MOUNT状态

    (a)启动数据库到NOMOUNT状态

    SQL> startup nomount

    ORACLE 例程已经启动。

    Total System Global Area 209715200 bytes

    Fixed Size 1248140 bytes

    Variable Size 79692916 bytes

    Database Buffers 125829120 bytes

    Redo Buffers 2945024 bytes

    (b)执行alter database mount更改数据到MOUNT状态

    SQL> alter database mount;

    数据库已更改。

    注:通过分步操作使数据库启动至MOUNT状态

    4、设置数据库为ARCHIVELOG状态(alter database archivelog)

    (a)更改前状态:

    SQL> archive log list

    数据库日志模式 非存档模式

    自动存档 禁用

    存档终点 USE_DB_RECOVERY_FILE_DEST

    最早的联机日志序列 6

    当前日志序列 8

    (b)执行更改命令:alter database archivelog

    SQL> alter database archivelog;

    数据库已更改。

    (c)更改后状态:

    SQL> archive log list

    数据库日志模式 存档模式

    自动存档 启用

    存档终点 USE_DB_RECOVERY_FILE_DEST

    最早的联机日志序列 6

    下一个存档日志序列 8

    当前日志序列 8

    5、打开数据库

    SQL> alter database open;

    数据库已更改。

    二、设置ARCHIVELOG--->NOARCHIVELOG

    1、确认当前数据模式

    SQL> archive log list

    数据库日志模式 存档模式

    自动存档 启用

    存档终点 USE_DB_RECOVERY_FILE_DEST

    最早的联机日志序列 6

    下一个存档日志序列 8

    当前日志序列 8

    2、干净关闭数据库(shutdown normal或shutdown immediate)

    SQL> shutdown immediate

    数据库已经关闭。

    已经卸载数据库。

    ORACLE 例程已经关闭。

    3、启动数据库至MOUNT状态

    SQL> startup mount

    ORACLE 例程已经启动。

    Total System Global Area 209715200 bytes

    Fixed Size 1248140 bytes

    Variable Size 79692916 bytes

    Database Buffers 125829120 bytes

    Redo Buffers 2945024 bytes

    数据库装载完毕。

    4、设置数据库为NOARCHIVELOG状态(alter database noarchivelog)

    (a)更改前状态:

    SQL> archive log list

    数据库日志模式 存档模式

    自动存档 启用

    存档终点 USE_DB_RECOVERY_FILE_DEST

    最早的联机日志序列 6

    下一个存档日志序列 8

    当前日志序列 8

    (b)执行更改命令:alter database noarchivelog

    SQL> alter database noarchivelog;

    数据库已更改。

    (c)更改后状态:

    SQL> archive log list

    数据库日志模式 非存档模式

    自动存档 禁用

    存档终点 USE_DB_RECOVERY_FILE_DEST

    最早的联机日志序列 6

    当前日志序列 8

    5、打开数据库

    SQL> alter database open;

    数据库已更改。

    [说明]

    1、Oracle10g之前,你还需要修改初始化参数使数据库处于自动归档模式。有两种方式,如下

    (a)在pfile中设置如下参数:

    log_archive_start = true

    重启数据库此参数生效,此时数据库处于自动归档模式。

    (b)以在数据库启动过程中,手工执行:

    archive log start

    使数据库启用自动归档,但是重启后数据库仍然处于手工归档模式。

    2、从Oracle10g开始,log_archive_start参数已经废除

    [参考文档]

    如何启动或关闭数据库的归档(ARCHIVELOG)模式

    作者:eygle

    链接:http://www.eygle.com/archives/2004/10/oracle_howtoeci.html

    本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

    本文系统来源:php中文网

    展开全文
  • oracel数据库默认存档模式为关闭状态,要实现数据的热备份,需要改变数据库的存档模式,将其打开。并且需要注意的是数据库的存档模式的操作需要在MOUNT实例中进行,且数据库不能处于OPEN状态。下面将进行详细介绍:1...

    在实际应用中,我们需要实现对数据的备份,其实现方式主要有冷备份和热备份两种。现在我们主要讨论热备份的具体操作。热备份也称为联机备份,在数据库的存档模式下进行备份。oracel数据库默认存档模式为关闭状态,要实现数据的热备份,需要改变数据库的存档模式,将其打开。并且需要注意的是数据库的存档模式的操作需要在MOUNT实例中进行,且数据库不能处于OPEN状态。下面将进行详细介绍:

    1. 打开存档模式:

    1.1 首先使用sqlplus登录到sys用户,使用SQL:archive log list 查看当前数据库的存档模式。

    此时可以看出当前数据库为默认的非存档模式。

    1.2 使用SQL:alter system set log_archive_start=true scope=spfile; --修改系统的日志方式为存档模式--

    shutdown immediate; --关闭数据库,因为不能在open状态下进行操作--

    startup mount; --启动mount实例,但不是启动数据库--

    alter database archivelog; --更改数据库为存档模式--

    1.3 此时我们使用SQL:archive log list 进行查看,已经更改为存档模式。

    1.4 最后别忘了使用SQL:alter database open;打开数据库。

    2. 关闭存档模式:

    前面已经提到,数据的存档模式的操作必须要在mount实例中进行,且数据库要处于非open状态。所有关闭存档模式前,我们需要查看当前数据库的状态,并且关闭数据库,启动mount实例,才可进行操作。其具体操作为:

    2.1 使用SQL:select status from v$instance;查看当前数据库的状态,正常情况下一般都处于open状态。

    2.2 使用SQL:shutdown immediate; --关闭数据库,因为数据库当前状态为open--

    startup mount; --启动mount实例--

    alter database noarchivelog; --改变数据库存档模式为非存档模式--

    2.3 此时使用SQL:archive log list 查看,存档模式已经变更为非存档模式。

    2.4 再次使用SQL:select status from v$instance;进行查看数据库的当前状态,当前状态为mount状态。

    2.5 最后别忘记使用SQL:alter database open;打开数据库。

    2.6 再次使用SQL:select status from v$instance;查看数据库状态,为open状态。

    最后使用快捷键Crtl + C 退出sqlplus。

    展开全文
  • 刚安装的数据库归档模式是默认关闭的: SELECT NAME,ARCH_MODE FROM V$DATABASE; 要变更数据库的归档模式,首先以sysdba用户登陆数据库 [dmdba@localhost tool]$ ./disql disql V8 SQL> conn sysdba 密码: 一、...

    开启归档模式的目的:数据库热备

    刚安装的数据库归档模式是默认关闭的:
    SELECT NAME,ARCH_MODE FROM V$DATABASE;
    在这里插入图片描述

    要变更数据库的归档模式,首先以sysdba用户登陆数据库
    [dmdba@localhost tool]$ ./disql
    disql V8
    SQL> conn sysdba
    密码:

    一、查看数据库归档模式

    SQL> SELECT NAME,ARCH_MODE FROM V$DATABASE;

    行号 NAME ARCH_MODE


    1 DAMENG N

    已用时间: 2.295(毫秒). 执行号:4.

    二、数据库open状态是不能开启归档的,要先切换到mount状态,执行以下命令:

    SQL> alter database mount;
    操作已执行
    已用时间: 00:00:01.778. 执行号:0.

    三、规划归档目录:/dm8/arch(个人按需配置)

    [root@localhost dm8]# mkdir arch
    在这里插入图片描述
    将arch目录赋权给dmdba用户,执行以下命令:
    [root@localhost dm8]# chown dmdba:dinstall -R /dm8/arch/
    在这里插入图片描述
    进入disql配置归档目录:
    SQL> ALTER DATABASE ADD ARCHIVELOG ‘DEST = /dm8/arch, TYPE = local, FILE_SIZE = 1024, SPACE_LIMIT = 2048’;
    操作已执行
    已用时间: 1.425(毫秒). 执行号:0.

    四、开启归档模式:

    SQL> ALTER DATABASE ARCHIVELOG;
    操作已执行
    已用时间: 5.077(毫秒). 执行号:0.

    五、重新开启数据库:

    SQL> ALTER DATABASE OPEN;
    操作已执行
    已用时间: 00:00:01.761. 执行号:0.

    六、用以下命令确认归档模式是否成功开启:

    SQL> SELECT NAME,ARCH_MODE FROM V$DATABASE;

    行号 NAME ARCH_MODE


    1 DAMENG Y

    已用时间: 0.999(毫秒). 执行号:5.

    七、查看归档目录有正常生成日志文件:

    [root@localhost arch]# ls
    ARCHIVE_LOCAL1_0x6F51072A[0]_2021-01-31_22-44-29.log

    展开全文
  • OARCLE数据库OARCLE数据库归档模式的切换归档模式的切换OARCLE数据库归档OARCLE数据库归档模式的切换模式的切换
  • 首先查看数据库归档模式和磁盘使用情况,确定归档文件放到什么位置:[oracle@gisdbserver ~]$ sqlplus / as sysdbaSQL> archive log listDatabase log mode No Archive ModeAutomatic arch...
  • 改变数据库归档模式

    2017-10-09 21:16:00
    1.查看归档日志模式(两种方法)  a. archive log list  b. select log_mode from v$database; 2.关闭数据库实例 shutdown immediate ...4.改变数据库归档模式 alter database archivelog; 5...
  • 设置数据库归档模式

    2017-11-15 16:41:00
    设置数据库归档模式: SQL> startup mount ORACLE instance started. Total System Global Area236000356 bytes Fixed Size 451684 bytes Variable Size 20132...
  • 整理关于oracle数据库归档模式,修改归档文件的大小、数据库连接数等 开启数据库归档模式: Sqlplus登录,然后 SQL> archive log list;--查看归档模式 SQL> alter system set log_archive_start=true ...
  • 改变数据库归档模式。 Purpose 目的 This module describes how you can change the database archiving mode. 这篇文字描述如何的你可以改变那个数据库归档模式。 Topics 主题 This module discusses the fo...
  • 1)修改数据库为 MOUNT 状态。 SQL>ALTER DATABASE MOUNT; 2)配置本地归档。 eg : ALTER DATABASE ADD ARCHIVELOG ‘DEST = /home/dmdba/dmdbms/data/lixora/DAMENG/arch, TYPE = local,FILE_SIZE = 1024, SPACE_...
  • 介绍如何为 Oracle 单实例和 RAC 集群环境设置数据库归档模式和非归档模式。非归档模式只能进行冷备,只能还原到备份点,之后的数据无法恢复;一般在开发或者测试环境使用;归档模式可以执行热备,同时支持增量...
  • 将Oracle数据库改为归档模式并启用RMAN备份 如下Linux环境下对Oracle单节点数据库采用文件系统情况的配置归档模式过程。首先查看数据库归档模式和磁盘使用情况,确定归档文件放到什么位置。
  • 1.数据库在非归档模式下的备份SQL> archive log list;数据库日志模式 非存档模式自动存档 禁用存档终点 USE_DB_RECOVERY_FILE_DEST最早的联机日志序列 3244当前日志序列 3246RMAN> run2> {3> allocate ...
  • 在Oracle数据库的开发环境和测试环境中,数据库的日志模式和自动归档模式一般都是不设置的,这样有利于系统应用的调整,也免在Oracle数据库的开发环境和测试环境中,数据库的日志模式和自动归档模式一般都是不设置的...
  • 数据库归档模式开启

    2018-04-08 18:57:35
    一般情况下为了数据库可恢复,需要把数据库修改为归档模式,接下来讲解一下修改过程;1、使用管理员登录2、查看当前的归档模式、归档状态、归档进程select log_mode from v$database; select * from v$archive_...
  • 配置数据库归档模式

    千次阅读 2007-12-03 09:26:00
    配置数据库归档模式目标:说明 ARCHIVELOG 与 NOARCHIVELOG 模式之间的区别将数据库配置为 ARCHIVELOG 模式启用自动归档执行手动日志归档说明 ARCHIVELOG 与 NOARCHIVELOG 模式之间的区别将数据库配置为 ARCHIVELOG ...
  • 实例运行状态下 ,自动归档方式和手动归档方式的相互转变。 1.可以用命令archive log list 来查看归档的方式, SQL archive log list Database log mode Archive Mode Automatic archival Enable欢迎进入Oracle社区...
  • Oracle数据库归档模式

    2019-03-27 10:03:31
    Oracle归档日志开启与关闭实际操作内容 实际操作内容 1、登录 sqlplus,—>> 方法: sqlplus /nolog, 2、登入管理员—>> 方法: conn/as sysdba; 3、开启归档日志 3.1 shutdown immediate; –关闭数据库 ...
  • 更变数据库归档模式

    2008-03-13 20:28:11
    更变数据库归档日志模式
  • 首先将数据库切换归档模式查看日志状态(确认是否开启归档模式)archive log listNo Archive Mode --> Archive Mode修改日志模式shut immediatestartup mountalter database archivelog;alter database open;...
  • 数据库开启归档; 2.创建数据文件之后的所有归档日志都在线; 3.数据文件或者表空间没有进行过备份,数据库也没有全库备场景:1.数据库开启归档;2.创建数据文件之后的所有归档日志都在线;3.数据文件或者表空间没有...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,145
精华内容 1,658
关键字:

数据库归档模式