当前位置: 首页 > 编程日记 > 正文

oracle启用归档日志

一、开启归档

1、查看归档信息

复制代码
SQL> archive log list
Database log mode           No Archive Mode
Automatic archival           Disabled
Archive destination           USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     244
Current log sequence           246
复制代码

当前数据库未开启归档

2、设置归档目录

oracle默认使用闪回恢复区DB_RECOVERY_FILE_DEST作为归档路径

复制代码
SQL> show parameter DB_RECOVERY_FILE_DESTNAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest             string     /u01/app/oracle/flash_recovery_area
db_recovery_file_dest_size         big integer 3882M
复制代码

闪回恢复区在安装过程中有限制其大小,如果闪回恢复区满了,归档日志会无法写入而导致数据库hang住,解决办法可以增加闪回区大小或者修改归档路径

3、修改归档路径

修改log_archive_dest_1参数可修改归档日志路径(pfile/spfile中参数db_recovery_file_dest指定的目录将无效)

实际上从Oracle 10g开始,可以生成多份一样的日志,保存多个位置,以防不测。多个位置通过设置不同的log_archive_dest_n 参数实现,archive log list输出中的Archive destination路径只显示最新修改的路径。

复制代码
SQL> show parameter log_archive_dest_1NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_1             string
log_archive_dest_10             string
log_archive_dest_11             string
log_archive_dest_12             string
log_archive_dest_13             string
log_archive_dest_14             string
log_archive_dest_15             string
log_archive_dest_16             string
log_archive_dest_17             string
log_archive_dest_18             string
log_archive_dest_19             string
复制代码

修改归档路径为/u01/app/oracle/archive_log

SQL> alter system set log_archive_dest_1='location=/u01/app/oracle/archive_log' scope=spfile;System altered.

重启生效

4、修改归档日志格式

SQL> alter system set log_archive_format='ARC%S_%R.%T_%D.dbf' scope=spfile;System altered.

重启生效

5、开启归档

需要在mount状态下开启数据库归档,重启至mount

复制代码
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.Total System Global Area 1603411968 bytes
Fixed Size            2213776 bytes
Variable Size          989857904 bytes
Database Buffers      603979776 bytes
Redo Buffers            7360512 bytes
Database mounted.
复制代码

开启数据库归档

SQL> alter database archivelog;Database altered.

查看归档情况

复制代码
SQL> archive log list
Database log mode           Archive Mode
Automatic archival           Enabled
Archive destination           /u01/app/oracle/archive_log
Oldest online log sequence     244
Next log sequence to archive   246
Current log sequence           246
复制代码

ALTER DATABASE FORCE LOGGING;
开启强制归档

打开数据库

SQL> alter database open;Database altered.

6、确认数据库为归档模式

复制代码
SQL> select log_mode from v$database;LOG_MODE
------------
ARCHIVELOGSQL> select archiver from v$instance;ARCHIVE
-------
STARTED
复制代码

7、强制日志切换

先查看当前归档日志视图和归档日志路径:

SQL> select name from v$archived_log;no rows selected
[oracle@zml-rhel6 archive_log]$ ll
total 0

没有归档日志,下面执行强制日志切换

SQL> alter system switch logfile;System altered.

再次查看视图

SQL> select name from v$archived_log;NAME
--------------------------------------------------------------------------------
/u01/app/oracle/archive_log/ARC0000000246_0963417259.0001_6833bc69.dbf

有归档日志产生,验证成功

二、归档日志清理

1、手动物理删除归档日志

该方式利用linux的命令find查找N天以前的日志,直接删除

复制代码
[oracle@localhost archive_log]$ find . -type f -mtime +2.4 -print |xargs ls -rlt
-rw-r----- 1 oracle oinstall 16092672 6月   4 20:45 ./ARC0000000606_0977259429.0001_fb0ffee2.dbf
-rw-r----- 1 oracle oinstall 38390272 6月   4 22:00 ./ARC0000000607_0977259429.0001_fb0ffee2.dbf
-rw-r----- 1 oracle oinstall 32950272 6月   4 22:02 ./ARC0000000608_0977259429.0001_fb0ffee2.dbf
复制代码

该例子中查询到2.4天前日志列表。手工物理删除这些日志文件:

[oracle@localhost archive_log]$ find . -type f -mtime +2.4 -print |xargs rm -f

虽然手工删除的了归档日志文件,但是控制文件中依然会有这些日志的记录,下面需要在控制文件中清理这些归档日志。利用rman:

查看过期日志:

RMAN> list expired archivelog all;specification does not match any archived log in the repository

返回信息显示没有过期日志,这是因为需要先检查归档日志有效性,再进行删除:

复制代码
RMAN> crosscheck archivelog all;
....
....
....
archived log file name=/home/oracle/app/oracle/archive/orclwhs/archive_log/ARC0000002400_0977259429.0001_fb0ffee2.dbf RECID=1795 STAMP=978255518
validation succeeded for archived log
archived log file name=/home/oracle/app/oracle/archive/orclwhs/archive_log/ARC0000002401_0977259429.0001_fb0ffee2.dbf RECID=1796 STAMP=978255659
validation succeeded for archived log
archived log file name=/home/oracle/app/oracle/archive/orclwhs/archive_log/ARC0000002402_0977259429.0001_fb0ffee2.dbf RECID=1797 STAMP=978256043
Crosschecked 1797 objects
复制代码

再次查看过期归档日志,rm删除的三个文件便被标记为了过期日志:

复制代码
RMAN> list expired archivelog all;List of Archived Log Copies for database with db_unique_name ORCLWHS
=====================================================================Key     Thrd Seq     S Low Time 
------- ---- ------- - ---------
1       1    606     X 04-JUN-18Name: /home/oracle/app/oracle/archive/orclwhs/archive_log/ARC0000000606_0977259429.0001_fb0ffee2.dbf2       1    607     X 04-JUN-18Name: /home/oracle/app/oracle/archive/orclwhs/archive_log/ARC0000000607_0977259429.0001_fb0ffee2.dbf3       1    608     X 04-JUN-18Name: /home/oracle/app/oracle/archive/orclwhs/archive_log/ARC0000000608_0977259429.0001_fb0ffee2.dbf
复制代码

删除过期归档日志:

复制代码
RMAN> delete expired archivelog all;released channel: ORA_DISK_1
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=446 device type=DISK
List of Archived Log Copies for database with db_unique_name ORCLWHS
=====================================================================Key     Thrd Seq     S Low Time 
------- ---- ------- - ---------
1       1    606     X 04-JUN-18Name: /home/oracle/app/oracle/archive/orclwhs/archive_log/ARC0000000606_0977259429.0001_fb0ffee2.dbf2       1    607     X 04-JUN-18Name: /home/oracle/app/oracle/archive/orclwhs/archive_log/ARC0000000607_0977259429.0001_fb0ffee2.dbf3       1    608     X 04-JUN-18Name: /home/oracle/app/oracle/archive/orclwhs/archive_log/ARC0000000608_0977259429.0001_fb0ffee2.dbfDo you really want to delete the above objects (enter YES or NO)? yes
deleted archived log
archived log file name=/home/oracle/app/oracle/archive/orclwhs/archive_log/ARC0000000606_0977259429.0001_fb0ffee2.dbf RECID=1 STAMP=977949943
deleted archived log
archived log file name=/home/oracle/app/oracle/archive/orclwhs/archive_log/ARC0000000607_0977259429.0001_fb0ffee2.dbf RECID=2 STAMP=977954446
deleted archived log
archived log file name=/home/oracle/app/oracle/archive/orclwhs/archive_log/ARC0000000608_0977259429.0001_fb0ffee2.dbf RECID=3 STAMP=977954551
Deleted 3 EXPIRED objects
复制代码

再次查询过期归档:

RMAN> list expired archivelog all;   specification does not match any archived log in the repository

2、RMAN归档日志清理

删除归档日志正确的流程:

RMAN> crosscheck archivelog all; //验证的DB的归档日志
RMAN> delete expired archivelog all; //删除所有归档日志
RMAN> DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7'; //保留7天的归档日志

定时shell脚本

复制代码
#!/bin/bash
export ORACLE_BASE=/home/oracle/app/oracle
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_1
export export ORACLE_SID=orclwhs${ORACLE_HOME}/bin/rman nocatalog log=/home/oracle/bin/cleararchivelog/del_arch$(date +%Y-%m-%d).log <<EOF  
connect target /  
#crosscheck archivelog all;  
#delete noprompt expired archivelog all;  
DELETE noprompt ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-2';  
exit;  
EOF
复制代码

可参考:https://blog.csdn.net/javaee_ssh/article/details/36906413

转载于:https://www.cnblogs.com/li-sx/p/11020838.html

相关文章:

C++派生类与基类构造函数调用次序

本文用来测试C基类和派生类构造函数&#xff0c;析构函数&#xff0c;和拷贝构造函数的调用次序。运行环境&#xff1a;SUSE Linux Enterprise Server 11 SP2 (x86_64) #include <iostream>using namespace std;class Base{public:Base(){cout << "Base Cons…

Java项目:在线点餐系统(java+Springboot+Maven+mybatis+Vue+mysql+Redis)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 项目描述&#xff1a; 这是一个基于SpringBootVue框架开发的在线点餐系统。首先&#xff0c;这是一个前后端分离的项目。具有一个在线点餐系统该有的所有功能。 项目功能&#xff1a; 此项目分为两个角色&…

js 打开窗口window.open

js改变原有的地址 window.open(webPath/index?codecode,_self); 转载于:https://www.cnblogs.com/hwaggLee/p/4645680.html

中兴SDH原理介绍及中兴E300网管介绍

姓名苟忠兴培训课程中兴SDH原理介绍及中兴E300网管介绍培训心得1、 SDH概念&#xff1a;SDH&#xff08;Synchronous Digital Hierarchy&#xff0c;同步数字体系&#xff09;是一种将复接、线路传输及交换功能融为一体、并由统一网管系统操作的综合信息传送网络。2、 PDH缺点&…

bootstrap 冻结表格,冻结表头

需要的文件下载&#xff1a; bootstrap-table:https://github.com/wenzhixin/bootstrap-table bootstrap-table-fiex-column:https://github.com/wenzhixin/bootstrap-table-fixed-columns 参考来源&#xff1a;https://www.cnblogs.com/Kyaya/p/9004237.html 1.引入文件 2. bo…

Linux多线程与同步

作者&#xff1a;Vamei 出处&#xff1a;http://www.cnblogs.com/vamei 欢迎转载&#xff0c;也请保留这段声明。谢谢&#xff01; 典型的UNIX系统都支持一个进程创建多个线程(thread)。在Linux进程基础中提到&#xff0c;Linux以进程为单位组织操作&#xff0c;Linux中的线程也…

Java项目:校园外卖点餐系统(java+SSM+JSP+maven+mysql)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 一、项目简述 环境配置&#xff1a; Jdk1.8 Tomcat8.5 mysql Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09; 项目技术&#xff1a; JSP Spring SpringMVC MyBatis cs…

基于css3 transform实现散乱的照片排列

分享一款基于css3 transform实现散乱的照片排列。这是一款简单零散的css3相册排列特效下载。效果图如下&#xff1a; 在线预览 源码下载 实现的代码。 html代码&#xff1a; <div class"main"><div class"pic pic1"><img src"1.jpg…

C++利用二级指针做函数形参来进行修改实参的实例分析

在学C/C的时候&#xff0c;我们都会了解到一级指针&#xff0c;int* i NULL; 和二级指针int ** pp NULL; 但是具体的一些应用我们可能很难理解&#xff0c;如果我们要取int*的地址&#xff0c;我们就需要int**&#xff0c;这是因为指针传递本质上还是值传递,本质很难理解&a…

SpringBoot 优雅实现超大文件上传,通用方案

通俗的说,你把要上传的东西上传,服务器会先做MD5校验,如果服务器上有一样的东西,它就直接给你个新地址,其实你下载的都是服务器上的同一个文件,想要不秒传,其实只要让MD5改变,就是对文件本身做一下修改(改名字不行),例如一个文本文件,你多加几个字,MD5就变了,就不会秒传了。分片上传,就是将所要上传的文件,按照一定的大小,将整个文件分隔成多个数据块(我们称之为Part)来进行分别上传,上传完之后再由服务端对所有上传的文件进行汇总整合成原始的文件。

robotframework - 运行报错提示 No keyword with name 'Open Browser' found.

用下面的例子为例&#xff1a; 1、输入以上robot脚本提示&#xff1a; 2、经查阅资料&#xff0c;大部分都使用的是selenium2 版本&#xff0c;无法解该的问题&#xff0c;目前小编使用的是selenium3&#xff0c;不知道selenium是哪个版本的话&#xff0c;用pip show selenium…

Linux从程序到进程

作者&#xff1a;Vamei 出处&#xff1a;http://www.cnblogs.com/vamei 欢迎转载&#xff0c;也请保留这段声明。谢谢&#xff01; 计算机如何执行进程呢&#xff1f;这可以说是计算机运行的核心问题。即使我们已经编写好程序&#xff0c;但程序是死的文本&#xff0c;只有成为…

struct stat结构体的详解和用法

[cpp] view plaincopy//! 需要包含de头文件 #include <sys/types.h> #include <sys/stat.h> S_ISLNK(st_mode)&#xff1a;是否是一个连接.S_ISREG(st_mode)&#xff1a;是否是一个常规文件.S_ISDIR(st_mode)&#xff1a;是否是一个目录S_ISCHR(st_mode)&a…

反射setaccessible_反射技术

反射机制作用动态的加载类、动态的获取类的信息(属性&#xff0c;方法&#xff0c;构造器)动态构造对象动态调用类和对象的任意方法、构造器动态调用和处理属性获取泛型信息处理注解获取Class对象的方式有哪些&#xff1f;1. Class clazz Class.forName(全限定类名);2. 类名.c…

pthread_cond_wait()函数的详解

http://hi.baidu.com/tjuer/item/253cc6d66b921317d90e4483 了解 pthread_cond_wait() 的作用非常重要 -- 它是 POSIX 线程信号发送系统的核心&#xff0c;也是最难以理解的部分。 首先&#xff0c;让我们考虑以下情况&#xff1a;线程为查看已链接列表而锁定了互斥对象&#x…

CentOS7下python虚拟环境

搭建python虚拟环境 1.我们先创建一个隐藏目录 .virtualenvs&#xff0c;所有的虚拟环境都放在此目录下 &#xff1a;mkdir /root/.virtualenvs 2.安装虚拟环境 确认pip&#xff1a;whereis pip3 pip3 install virtualenv 安装virtualenvwrapper&#xff0c;为避免超时错误&…

WCDMA中的URA和LA/RA

1、关于URA的概念&#xff1a;URA&#xff08;UTRAN Registration Area&#xff09;是UTRAN内部区域的划分适用于UE处于RRC连接状态的情形&#xff0c;而且只能在UTRAN端使用&#xff08;比如由UTRAN发起的寻呼&#xff09;。一 个URA包含了一个或多个Cell&#xff0c;具体由决…

背景音乐的实现

通过利用Service来实现该功能将要播放的歌曲放入raw文件夹中[html] view plaincopy <strong>新建一个AudioService 类&#xff0c;<span style"font-family: Arial, Helvetica, sans-serif;">AudioService 类</span><span style"font-fami…

打牌软件可以控制吗_使用crm软件真的可以帮助企业省钱吗

使用crm软件真的可以帮助企业省钱吗大多数企业管理者认为&#xff1a;“客户关系系统有什么用?真的可以帮助企业发展吗?自己做一套excel版本不就行了”其实&#xff0c;不以为然&#xff0c;当我们去寻找用户时或者管理用户需要工作人员做一些繁琐的事情会极大的降低员工的工…

MS_SQL_获取字符串最后出现的字符串及位置

一&#xff0e;如&#xff1a;6.7.8.2.3.4.x得到最后一个.后面的字符串&#xff1a; declare str1 varchar(50) set str16.7.8.2.3.4.x select REVERSE(SUBSTRING(REVERSE(str1),1,CHARINDEX(.,REVERSE(str1))-1)) -------- string:x-- --------------------------------------…

redis(3)-redis基本类型

在redis安装目录下存在redis自带的客户端&#xff0c;启动即可使用。如果设置了密码&#xff0c;需要输入auth 123456进行验证。123456为密码。 redis的基本数据类型&#xff1a; 1.字符串类型(String)    redis 127.0.0.1:6379> SET mykey "redis" OK redis 1…

虚函数与虚继承寻踪

封装、继承、多态是面向对象语言的三大特性&#xff0c;熟悉C的人对此应该不会有太多异议。C语言提供的struct&#xff0c;顶多算得上对数据的简单封装&#xff0c;而C的引入把struct“升级”为class&#xff0c;使得面向对象的概念更加强大。继承机制解决了对象复用的问题&…

信息记录拉取失败_天猫入驻为什么失败?猫店侠做详细解读

天猫入驻为什么失败&#xff1f;这是很多商家都想要知道的一件事情&#xff0c;猫店侠想说其实这也很正常&#xff0c;只要不是一味盲目的入驻&#xff0c;就还有机会。首先失败商家要看看失败的反馈内容&#xff0c;看看是哪方面不达标&#xff0c;再着重进行补充&#xff0c;…

Linux查看目录挂载点

用命令 df 即可 # df /var/lib/ Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda3 135979984 66905292 62055896 52% /加上-kh更容易看些&#xff1a; # df /var/lib/ -kh Filesystem Size Used Avail Use% Mounted o…

Android:你好,androidX!再见,android.support

190325 补充&#xff1a;莫名问题的解决 181106 补充&#xff1a;修改未迁移成功的三方库 1、AndroidX简介 点击查看Android文档中对androidx的简介 按照官方文档说明 androidx 是对 android.support.xxx 包的整理后产物。由于之前的support包过于混乱&#xff0c;所以&#xf…

设计模式:简单工厂、工厂方法、抽象工厂之小结与区别

简单工厂&#xff0c;工厂方法&#xff0c;抽象工厂都属于设计模式中的创建型模式。其主要功能都是帮助我们把对象的实例化部分抽取了出来&#xff0c;优化了系统的架构&#xff0c;并且增强了系统的扩展性。 本文是本人对这三种模式学习后的一个小结以及对他们之间的区别的理解…

云计算和大数据时代网络技术揭秘(八)数据中心存储FCoE

数据中心存储演化——FCoE数据中心三大基础&#xff1a;主机 网络 存储在云计算推动下&#xff0c;存储基础架构在发生演变传统存储结构DAS、SAN在发展中遇到了布线复杂、能耗增多的缺点&#xff08;原生性&#xff09;&#xff0c;需要对架构做根本的改变。FCoE是业界无可争议…

在plsql里面怎么去掉空行_盐渍樱花怎么做?详细做法告诉您,一年都不会坏,学会再也不用买...

盐渍樱花怎么做&#xff1f;详细做法告诉您&#xff0c;一年都不会坏&#xff0c;赶紧收藏学会它&#xff01;樱花季说的就是现在&#xff0c;虽然到了飘落的季节&#xff0c;但是还是到处可见的樱花朵朵。俗话说&#xff1a;花无百日红。真的是啊&#xff0c;每年的三四月是最…

Linux基础知识——常用shell命令介绍(三)

一、改变文件权限 chmod:change mode 语法&#xff1a;# chmod [选项-option] 权限 FILE 选项&#xff1a;-R 递归修改权限 --reference 参照文件或目录给予权限 权限定义方式&#xff1a; 1.同时修改三类用户的权限: 8进制数字方式 # chmod 666 /abc /*将/abc的权限改为…

免费版CloudFlare CDN基本设置参考

CDN有很多&#xff0c;网上都有介绍&#xff0c;用户比较多的CloudFlare CDN大家都知道&#xff0c;配置起来也比较简单&#xff0c;合理的配置&#xff0c;才能提升网站的速度和网站安全。不同的网站需求配置不一样&#xff0c;以下是我的配置情况&#xff0c;仅供参考。 我网…