归档日志

dataguard主库删除归档日志后从库恢复的方法

落花浮王杯 提交于 2019-12-27 04:50:26
------------------方法1在主库上使用备份的进行恢复丢失的归档日志------------------------- 1.发现主库备份后删除了归档,但是这些归档从库还没应用,也没有传到从库 从库应用的最新的归档日志为592 SQL> connect / as sysdba Connected. SQL> Select Max(t.SEQUENCE#) From V$archived_Log t; MAX(T.SEQUENCE#) ---------------- 592 主库的归档日志 SQL> connect / as sysdba Connected. SQL> Column Name format a100; SQL> Column THREAD# format 99; SQL> Column SEQUENCE# format 999999; SQL> Column STANDBY_DEST format a10; SQL> Column ARCHIVED format a10; SQL> Column APPLIED format a10; SQL> Column STATUS format a10; SQL> Column fal format a10; SQL> Column COMPLETION_TIME format a20; SQL> Select

Oracle数据库的备份方法

巧了我就是萌 提交于 2019-12-23 18:54:04
1、引言 Oracle数据库的备份方法很多,无论使用那种备份方法,备份的目的都是为了在出现故障后能够以尽可能小的时间和代价恢复系统。比如使用export实用程序导出数据库对象、使用Oracle备份数据库、使用Oracle对称复制、使用Oracle并行服务器、使用Oracle冷备份、使用Oracle热备份等各种备份方法都有其优缺点、适用的场合和相应的软硬件要求。本文主要就用export实用程序导出数据库对象、Oracle冷备份、Oracle热备份这三种最基本的备份方法进行详细的探讨,分析各自的优缺点和适用的场合,并给出自动执行这些备份方案的脚本文件。 2、三种备份方案的比较   冷备份 冷备份是Oracle最简单的一种备份;执行冷备份前必须关闭数据库;然后使用操作系统实用工具或者第三方工具备份所有相关的数据库文件。 优点:能简单快速地备份。能简单快速地恢复。执行简单。 缺点:必须关闭数据库,不能进行点恢复。 热备份 热备份是当数据库正在运行时进行数据备份的过程。执行热备份的前提是:数据库运行在可归档日志模式。适用于24X7不间断运行的关键应用系统。 优点:备份时数据库可以是打开的。热备份可以用来进行点恢复。初始化参数文件、归档日志在数据库正常运行时是关闭的,可用操作系统命令拷贝。 缺点:执行过程复杂。由于数据库不间断运行,测试比较困难。不能用操作系统实用工具拷贝打开的文件

oracle nologging用法

穿精又带淫゛_ 提交于 2019-12-23 02:03:33
一、oracle日志模式分为(logging,force logging,nologging) 默认情况是logging,就是会记录到redo日志中,force logging是强制记录日志,nologging是尽量减少日志。FORCE LOGGING可以在数据库级别、表空间级别进行设定、而LOGGING与NOLOGGING可以在表级别设定。 注:FORCE LOGGING并不比一般的LOGGING记录的日志多,数据库在FORCE LOGGING状态下,NOLOGGING选项将无效,因为NOLOGGING将破坏DATAGUARD的可恢复性.FORCE LOGGING强制数据库在任何状态下必须记录日志。 logging,force logging和nologging是只记录到redo日志中,归档不归档是另外的设置,但是如果用nologging了,那么显然就算归档的话,归档日志就少了,但是可能不能用于介质回复了,因为有些根本没有记录。 二、使用情况 1.logging模式 这是日志记录的缺省模式,无论数据库是否处于归档模式,这并不改变表空间与对象级别上的缺省的日志记录模式。 对于临时表空间将不记录日志到联机重做日志文件。 2.nologing模式 此模式不是不记录日志,而是最小化日志产生的数量,通常在下列情况下使用NOLOGGING nologing模式通常和append联合使用。

Linux - 常用归档、压缩命令

烂漫一生 提交于 2019-12-20 01:47:20
1. ncompress   compress命令是一个相当古老的 unix 档案压缩指令,压缩后的文件会加上一个 .Z 的后缀名,默认不会保留源文件。compress只能对文件进行压缩,若要压缩目录,先使用tar命令归档为一个文件后,再进行压缩,此命令已经很少被使用。 压缩后缀: .Z 安装: sudo yum install ncompress 语法: compress [options] file ...    uncompress [options] file ... 选项: -c:将压缩后的数据输出到屏幕,而不是压缩文件中。可通过重定向导入文件中,达到修改压缩文件名的作用。 -f:强制压缩,若目标文件存在,则覆盖。 -v:输出程序执行的信息。 -b:设定压缩程度,值越大,压缩比例越大,范围是9-16,默认是16. -d:解压搜,等同于uncompress 压缩:   例1:压缩functions文件 $ compress functions $ ls functions.Z   例2:强制压缩,若存在同名的压缩文件,则覆盖 $ compress -f functions $ ls functions.Z    例3:使用-c选项将压缩后的数据输出到屏幕,然后使用重定向将数据导入文件,实现重命名压缩文件 $ compress -c functions > fun.Z $

归档日志文件

半腔热情 提交于 2019-12-17 22:40:25
重做日志文件需要及时的做归档,形成的归档文件称为归档日志文件。 数据库的归档模式可以选择打开或关闭,默认是关闭状态。 开启日志归档模式的方法: 1、设置归档的位置和归档文件大小 db_recovery_file_dest 归档文件的位置 db_recovery_file_dest_size 归档文件的大小 2、SQL> archive log list; 查看归档模式 3、SQL> shutdown immediate; 关闭数据库 4、SQL> startup mount; 数据库启动到mount模式,在mount模式下进行归档模式修改 5、SQL> alter database archivelog; 开启归档 6、SQL> alter database open; 打开数据库 7、SQL> archive log list; 查看归档设置是否成功 来源: CSDN 作者: Uncle.Cui 链接: https://blog.csdn.net/David_ifx/article/details/103586266

达梦数据库备份还原

点点圈 提交于 2019-12-17 17:24:53
(一)基础概念 备份   数据库备份与还原是系统容灾的重要方法。备份就是将待备份的数据经过加密、压缩等处理后写入备份片文件中,并将相关备份信息写入备份元数据文件的过程。备份的目的就是在数据库遭到损坏时可以执行还原恢复操作把数据库复原到损坏前的某个时间点。 备份集 用来存放备份过程中产生的备份数据及备份信息。一个备份集对应一次完整的备份,一个备份集为一个目录,由一个或多个备份片文件和一个元数据文件组成。 备份片   备份片是用来存储备份数据的文件。备份时,目标数据文件内容或归档日志内容经过处理后,都会存放到各自的备份片文件中。备份片文件后缀为.bak。 元数据 元数据文件用来存放备份信息,元数据文件的后缀为.meta。通过元数据文件,可以了解整个备份集信息。 还原 还原是备份的逆过程,就是把备份集中的备份数据经过处理后写回还原目标库中相应的数据文件中的过程。 恢复 恢复是重做本地归档日志或者备份集中备份的归档日志的过程。 备份库 备份库是指需要进行备份的库,又称源库或源备份库。 还原库 还原库指用来做还原的库,又称目标库或者还原目标库。 恢复库 恢复库是指已经做过恢复的库。 (二)备份还原分类 逻辑备份 利用 dexp 导出工具,将指定对象(库级、模式级、表级)的数据导出到文件的备份方式。 物理备份 根据备份范围(库级、模式级、表级

linux第二天

落爺英雄遲暮 提交于 2019-12-06 05:42:59
帮助的命令: 1.man [参数] 命令 , 打开帮助手册 1.命令: man 1 cd , cd , cp, mv ,printf 2.系统调用: man 2 系统函数, fork() 进程 3.C语言库函: man 3 C语言函数 , printf() printf fork 2.help: 内部:help 命令名 外部: 命令名 --help type 命令 cd is a shell builtin 内部 ls is aliased to `ls --color=auto' 外部 3.查看命令相关文件的路径:whereis -mb 命令 帮助-m,原代码文件-b 4. info 命令 显示的是命令手册 一。vi / vim vi [路径/文件名] 1.命令模式 2.输入模式 3.末行模式 命令模式 - i/o/a/ I/A/O--> 输入模式 <----ESC 键------ 命令模式 -- : / ?开头的命令---> 末行模式 i:当前光标前 o:当前光标所在行的下一行 a: 当前光标后 I:当前光标所在行的开头 A:当前光标所在行的结尾 O:当前光标所在行的上一行 :w [文件名] 保存 :q 退出 :wq 保存退出 :w! 强制保存 :q! 强制退出 :wq! 强制保存退出 4基本使用 1)命令模式下的命令: x:删除光标所在的字符(可实现剪切), dd:删除当前行

RMAN备份,catalog注册rman带库备份信息

試著忘記壹切 提交于 2019-12-05 15:35:41
客户需求:测试恢复的过程中,控制文件是全备时期的,recover database无法恢复到指定日期,控制文件中缺失后续新的归档备份信息。 方法:1.控制文件rman注册后续带库中的归档备份; 2.使用更新的控制文件进行恢复操作,其中自动包含归档日志信息,无需注册。 如果需要注册,Rman如何注册带库归档备份信息? HOW TO CATALOG TAPE BACKUP PIECES (Doc ID 550082.1) RMAN>CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS 'ENV=(NB_ORA_CLASS=oraclebkup, SBT_LIBRARY=/usr/openv/netbackup/bin/libobk.so)'; RMAN> CATALOG DEVICE TYPE 'SBT_TAPE' BACKUPPIECE 'lij1qaa3_1_1';    来源: https://www.cnblogs.com/lvcha001/p/11931544.html

Oracle归档日志自动清理作业实现

倾然丶 夕夏残阳落幕 提交于 2019-12-05 14:47:24
在Oracle数据库开启了归档日志模式的情况下,归档日志会不断积累,如果不定时关注维护,可能会让归档日志把磁盘空间撑爆,并且若把归档目录设置在快速恢复区里,可在短时间内把该区撑爆,从而让数据库无法归档,数据库会挂起无法响应,影响严重!下面方案是部署自动化作业,定时清理历史归档日志,从而避免上述的归档日志撑爆的隐患。 LINUX下自动清理归档脚本(自动清理7天前的历史归档日志): #/bin/sh source ~/.bash_profile rman target / log /home/oracle/rman.log <<EOF DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7'; YES exit; EOF 如实现每天记录一个执行日志文件,可用下面的详细版: #!/bin/bash source ~/.bash_profile LOGDIR=$HOME/delete_archivelog LOGFILE=$LOGDIR/delete_$(date +%Y-%m-%d).log if [ ! -d $LOGDIR ] then mkdir -p $LOGDIR fi delete archivelog in 3 days $ORACLE_HOME/bin/rman target / <<script > $LOGFILE

oracle归档空间不足的问题(rman删除归档日志)

我的未来我决定 提交于 2019-12-05 07:14:41
案例一:归档日志满,数据库用户无法登陆,业务异常 解决方案一(可以登录rman): rman target / RMAN> crosscheck archivelog all; RMAN> delete archivelog until time 'sysdate-7'; RMAN> crosscheck archivelog all; 解决方案二(无法登陆rman) 1、登录数据库服务器,删除归档目录里面的数据库7天之前归档文件 2、删除归档文件之后,再次尝试登陆rman, 如果可以登录rman则: rman target / crosscheck archivelog all; delete archivelog until time 'sysdate-7'; crosscheck archivelog all; 如果删除归档文件之后还是无法登陆rman,此时就要重启数据库。 最好的解决方法: 写定时任务,定时删除数据库7天前的归档日志文件。 [oracle@edgzrip1-PROD1 ~]$ cat delete_archivelog.sh #!/bin/bash source ~/profile_prod1 $ORACLE_HOME/bin/rman target / log=delete_archivelog.log<<eof crosscheck archivelog