Oracle 归档开启切换和归档日志删除(单实例和RAC)
Oracle默认安装后,是没有开启归档模式的,需要手动开启。
开启归档
--单实例
如果archive log模式下不能正常startup,则先恢复成noarchive log,startup成功后,再shutdown;
SQL> select group#,thread# from v$log;
GROUP# THREAD#
---------- ----------
1 1
2 1
3 2
4 2
5 1
shutdown immediate;
startup mount;
alter database noarchivelog;
alter database open;
--alter system set log_archive_format='%s_%t_%r.log' scope=spfile;
--alter system set log_archive_dest_1='location=/u01/app/oracle/archive';
再次startup以archive log模式
shutdown immediate;
startup mount;
show parameter log_archive_dest;
alter database archivelog;
archive log list;
alter database open;
SQL> show parameter archive;
alter system archive log current;
--RAC ,把归档日志放在asm上
ASMCMD> cd ARCH
ASMCMD> ls
ASMCMD> pwd
+FRA/BOL/ARCH
ASMCMD> lsdg
SQL> select instance_name,host_name,status from gv$instance;
SQL> alter system set log_archive_dest_1='location=+FRA/BOL/ARCH' scope=spfile sid='bol1';
SQL> alter system set log_archive_format='%s_%t_%r.log' scope=spfile sid='bol1';
SQL> alter system set log_archive_dest_1='location=+FRA/BOL/ARCH' scope=spfile sid='bol2';
SQL> alter system set log_archive_format='%s_%t_%r.log' scope=spfile sid='bol2';
srvctl stop database -d bol
srvctl start instance -d bol -i bol1 -o mount
SQL> alter database archivelog;
SQL> alter database open;
SQL> archive log list;
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination +FRA/bol/arch
Oldest online log sequence 91
Next log sequence to archive 93
Current log sequence 93
srvctl start instance -d bol -i bol2 -o mount
SQL> alter database open;
SQL> show parameter archive;
SQL> show parameter cluster_da
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
cluster_database boolean TRUE
cluster_database_instances integer 2
select *from v$archived_log;
1 991992944 +FRA/bol/arch/32_2_990861401.log 1 2 32
2 991993151 +FRA/bol/arch/93_1_990861401.log 1 1 93
--2个实例的归档日志
[grid@rac2 ~]$ asmcmd
ASMCMD> cd FRA/BOL/ARCH
ASMCMD> ls
32_2_990861401.log
33_2_990861401.log
93_1_990861401.log
94_1_990861401.log
--2个实例的归档文件
删除归档日志
--单实例
手工删除os的归档日志后,在controfile中仍然记录着这些归档日志的信息,这时候需要删除
1 删除os文件
[root@localhost archivelog]# pwd
/u01/app/oracle/archivelog
[root@localhost archivelog]# find /u01/app/oracle/archivelog/ -mtime +30 -name '*.arc'
---执行删除命令
find /u01/app/oracle/archivelog/ -mtime +30 -name '*.arc' -exec rm -f {} \;
[oracle@localhost ~]$ find /u01/app/oracle/archivelog/ -mtime +30 -name '*.arc' -exec rm -f {} \;
2 rman执行删除
[oracle@localhost ~]$ rman target /
RMAN> crosscheck archivelog all;
RMAN> delete expired archivelog all;
RMAN> report obsolete;
RMAN> delete obsolete;
RMAN> list expired archivelog all;
或者直接执行
RMAN> delete archivelog all completed before 'sysdate -29';
--删除全部归档日志
delete noprompt archivelog all completed before 'sysdate'; --->该命令清除所有的归档日志
delete noprompt archivelog all; --->同上一命令
select * from V$FLASH_RECOVERY_AREA_USAGE;
select * from v$archived_log order by first_time desc
--脚本删除
#!/bin/bash
source /home/oracle/.bash_profile
#LOGFILE=/data/rman/rman_delete.log
#RMAN=$ORACLE_HOME/bin/rman
$ORACLE_HOME/bin/rman log=/home/oracle/del_arch$(date +%Y-%m-%d).log <<EOF
connect target sys/***@sid
crosscheck archivelog all;
delete noprompt expired archivelog all;
delete noprompt archivelog until time 'sysdate-1';
exit;
EOF
--删除rac的归档日志
[grid@rac2 ~]$ asmcmd
ASMCMD> cd FRA/BOL/ARCH
ASMCMD> ls
32_2_990861401.log
33_2_990861401.log
93_1_990861401.log
94_1_990861401.log
--进行rm删除文件
ASMCMD> rm 32_2_990861401.log
Oracle 归档开启切换和归档日志删除(单实例和RAC)的更多相关文章
- Oracle - 通过dg,完成单实例到rac的迁移
一.概述 本文将介绍如何给单实例搭建一个rac dg,以及如何对其进行角色转换,完成从单实例到rac的迁移.预先具备的知识(rac搭建,单实例-单实例dg搭建) 二.实验环境介绍 主库(已有数据库实例 ...
- oracle rac与单实例DG切换
1.主库查看状态(RAC库) SQL> select database_role,switchover_status from v$database; DATABASE_ROLE SWITCHO ...
- Oracle RAC备份异机单实例恢复演练
本文只节选了操作方案的部分章节: 3. 操作步骤 3.1. 异机单实例Oracle数据库软件安装 在异机上进行单实例Oracle数据库软件安装.该步骤过程不再本文中重复描述,如果对安装过程存在疑问 ...
- Oracle 单实例 迁移到 RAC 实例 -- 使用RMAN 异机恢复
Oracle 官网有关单实例迁移到RAC的一个步骤说明: How to Convert 10g Single-Instance database to 10g RAC using Manual Con ...
- 当ORACLE归档日志满后如何正确删除归档日志
当ORACLE 归档日志满了后,将无法正常登入ORACLE,需要删除一部分归档日志才能正常登入ORACLE. 一.首先删除归档日志物理文件,归档日志一般都是位于archive目录下,AIX系统下文件格 ...
- ORACLE 11G 单实例 磁盘文件系统 DG 归档日志删除脚本 基于RED HAT LINUX 5.3 X86 64BIT
近期做个DG的归档日志删除, [oracle@.local logs]crontab -l * 8 * * * sh /home/oracle/dbscripts/del_arc.sh 该脚本分别调用 ...
- Oracle归档开启和更改
运用 Xshell 客户端工具链接所在的 oracle 服务器 1.先进入数据库里面去 [root@DBSTANDBY ~]# su - oracle [oracle@DBSTANDBY ~]$ ...
- Oracle归档模式和非归档模式
一 什么是Oracle归档模式? Oracle数据库有联机重做日志,这个日志是记录对数据库所做的修改,比如插入,删除,更新数据等,对这些操作都会记录在联机重做日志里.一般数据库至少要有2个联机重做日志 ...
- oracle数据库表空间及归档
--表空间(TableSpace)是Oracle的开创性理念.表空间使得数据库管理更加灵活,而且极大地提高了数据库性能. --作用 :1.避免磁盘空间突然耗竭的风险 2.规划数据更灵活 3.提高数据库 ...
随机推荐
- Java I/O 小结
主要内容: 一.输入流基类:InputStream 和 OutputStream(字节流). Reader 和 Writer(字符流) 二.文件字节流:FileInputStream和FileOutp ...
- Mybatis-config.xml配置文件详解
1.官方给出的案列: 注意:这些配置在文件中的顺序非常重要!必须严格按照上图中出现的顺序定义 2.properties属性 该属性主要作用就是引入外部的properties是文件,文件格式为xxx=x ...
- 如何检查BioPerl是否正确安装
如果是Linux系统,随意打开一个终端:如果用的是Windows系统,那么打开命令提示符. 输入以下命令: perldoc Bio::SeqIO 以上命令的作用是查看Bio::SeqIO模块的文档是否 ...
- webview 详解
[原文] 1. 打开网页时不调用系统浏览器, 而是在本WebView中显示: mWebView.setWebViewClient(new WebViewClient(){ @Override publ ...
- javascript(jquery)_匿名函数
一.什么是匿名函数 匿名函数:就是没有函数名的函数 二.为什么使用匿名函数 1.最大的用处就是创建闭包 三.匿名函数定义(怎么使用匿名函数) 1.这种方法使用了Function构造函数,把参数列表和函 ...
- 做一个完整的Java Web项目需要掌握的技能
最近自己做了几个JavaWeb项目,有公司的商业项目,也有个人做着玩的小项目,写篇文章记录总结一下收获,列举出在做项目的整个过程中,所需要用到的技能和知识点,带给还没有真正接触过完整Java Web项 ...
- tensorflow笔记:流程,概念和简单代码注释
tensorflow是google在2015年开源的深度学习框架,可以很方便的检验算法效果.这两天看了看官方的tutorial,极客学院的文档,以及综合tensorflow的源码,把自己的心得整理了一 ...
- OSGi类加载问题
项目中遇到的JVM难点 ——启动OSGi容器时,出现永久代内存不够.内存泄露 ——OSGi找不到类路径问题. ——线程死锁问题. 问题一:OSGi类内存问题 其次,从内存用量来看, ...
- 井眼轨迹的三次样条插值 (vs + QT + coin3d)
井眼轨迹数据的测量值是离散的,根据某些测斜公式,我们可以计算出离散的三维的井眼轨迹坐标,但是真实的井眼轨迹是一条平滑的曲线,这就需要我们对测斜数据进行插值,使井眼轨迹变得平滑,我暂时决定使用三次样条进 ...
- alias 中使用awk
alias hehistory10='history |awk "{print \$2}"|sort|uniq -c|sort -rn|head -10' $要转义