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使用Freemarker生成静态文件中文乱码
1.指定Configuration编码 Configuration freemarkerCfg = new Configuration(); freemarkerCfg.setEncoding(Loc ...
- spring配置hibernate映射文件-------通配符
<!-- 这里一定要注意是使用spring的mappingLocations属性进行通配的 --> <property name="mappingLocation ...
- spring mvc 官方下载
1.进入https://spring.io 2.选择projects选项卡 3.点击spring frawewoek 4.选择右中方的Reference 5.选择2.3章节 6.点击 Distribu ...
- vue自定义事件 子组件把数据传出去
每个 Vue 实例都实现了事件接口(Events interface),即: 使用 $on(eventName) 监听事件 使用 $emit(eventName) 触发事件 1.使用v-on绑定自定义 ...
- 0.00-050613_head.s
# head.s contains the -bit startup code. # Two L3 task multitasking. The code of tasks are in kernel ...
- js装饰者模式
装饰者模式是为已有的功能动态地添加更多功能的一种方式.当系统需要新功能的时候,是向旧的类中添加新的代码.这些新加的代码通常装饰了原有类的核心职责或主要行为,在主类中加入了新的字段,新的方法和新的逻辑, ...
- Android dependency has different version.You should manually set the same version via DependencyReso
有时候导入一些module时,会出现以下问题 Android dependency 'com.android.support:support-v4' has different version for ...
- 弹框内画echarts图dom元素无法获取的问题
弹框内画echarts图dom元素无法获取的问题? 什么意思呢?就是当我们打开弹框之后,此时要画eachars图,可是echarts图的容器dom此时为null, 因此我们需要做的就是在dom元素获取 ...
- Highcharts中更新series的5种方法
用Highcharts画图时,经常需要更新所画的图表,最常见的就是改变数据以更新图表.在Highcarts中,数据对应的参数是series.这儿就以图1的柱状图为例,列举如何更新series的5种方法 ...
- es6基础入门变量的解构赋值
let [a, b, c] = [1, 2, 3]; let [foo, [[bar], baz]] = [1, [[2], 3]]; foo bar baz let [ , , third] = [ ...