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.提高数据库 ...
随机推荐
- tomcat 正常启动但不能访问
Eclipse中的Tomcat可以正常启动,不过发布项目之后,无法访问,包括http://localhost:8080/的小猫页面也无法访问到,报404错误.这是因为Eclipse所指定的Server ...
- java格式化输出 printf 例子
import java.util.Date; public class Printf { public static void main(String[] args) { // %s表示输出字符串,也 ...
- mysql基础(1)-基本操作
数据库 数据库(Database,DB)是数据的集合,是一个长期存储在计算机内的.有组织的.有共享的.统一管理的数据集合. 存储数据 管理数据 数据库类型 关系型数据库:由二维表及其之间的联系组成的一 ...
- 使用log4j2打印Log,log4j不能打印日志信息,log4j2不能打印日志信息,log4j和logj2,idea控制台信息乱码(文末)
说来惭愧,今天就写了个"hello world",了解了一下log4j的日志. 本来是想在控制台打印个log信息,也是遇到坎坷重重,开始也没去了解log4j就来使用,log4j配置 ...
- Python之print语句Python的注释
话不多说直接切入正题 print语句可以向屏幕上输出指定的文字.比如输出'hello, world',用代码实现如下: >>> print 'hello, world' 注意: 1. ...
- Spring Boot入门——tomcat配置
1.通过配置文件配置 server.port = 8080 2.通过程序配置 import org.springframework.boot.SpringApplication; import org ...
- sorket is closed
今早来公司启动项目时,发现在代码正确的情况下报了一个错. 15:19:14.362 [http-9000-2] ERROR com.nari.osp.servicebus.rmi.LongConnec ...
- Python — 多线程与多进程
1.多线程 线程是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位,一个进程可以包含多个线程.一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线 ...
- Mac的搜狗输入法和QQ输入法加入⌘⌥⌃⇧自定义短语
搜狗输入法(Mac):http://pinyin.sogou.com/mac/ 创建名为『搜狗输入法自定义短语.ini』的文本文件(建议用Sublime Text),内容如下,然后偏好设置的自定义短语 ...
- js动态拼接参数到请求的url上
var queryConfig={ "page" : "index", "method" : 2, //1:按照方法A查看 2:按照方法B查 ...