首页 > 数据库 >Oracle数据库归档模式的开启和关闭

Oracle数据库归档模式的开启和关闭

时间:2024-11-12 13:18:44浏览次数:1  
标签:log 数据库 归档 模式 SQL Oracle alter

 

 

 

一、Oracle环境

 

Oracle服务器:oracle11g

oracle版本:11.2.0.1.0

操作系统版本:Red Hat Enterprise Linux Server release 7.6 (Maipo)

 


二、归档模式介绍
       oracle是款高安全性的数据库,刚安装好的数据库一般没有开启归档模式,我们需要开启归档模式,特别是业务数据库,开启归档后,故障发生时才可以实现数据库的完全恢复。

       在实际应用中,我们需要实现对数据的备份,其实现方式主要有冷备份和热备份两种。现在我们主要讨论热备份的具体操作。热备份也称为联机备份,在数据库的归档模式下进行备份。oracel数据库默认归档模式为关闭状态,要实现数据的热备份,需要改变数据库的归档模式,将其打开。并且需要注意的是数据库的归档模式的操作需要在MOUNT实例中进行,且数据库不能处于OPEN状态。

 

三、打开归档模式

 

步骤一:首先用sys登录数据库,查看oracle是否开启归档模式(su - oracle切换用户,然后sqlplus / as sysdba进入sql模式)

输入archive log list来查看是否开启,如下说明不是归档模式

[oracle@oracle11g ~]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Thu Jun 18 00:48:26 2020

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

SQL> conn /as sysdba

Connected.

SQL> archive log list; 

Database log mode              No Archive Mode

Automatic archival             Disabled                   /*目前不是归档模式

Archive destination            USE_DB_RECOVERY_FILE_DEST

Oldest online log sequence     7

Current log sequence           9

 

步骤二:需要将数据库归档更改为enable,使用shutdown immediate来关闭数据库(因为不能在open状态下进行操作)

SQL> shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

 

步骤三:使用startup mount来启动数据库实例(当数据库处于这个模式时,可以执行一些管理的任务,像恢复操作)

SQL> startup mount

ORACLE instance started.

Total System Global Area 1068937216 bytes

Fixed Size                  2220200 bytes

Variable Size             281022296 bytes

Database Buffers          780140544 bytes

Redo Buffers                5554176 bytes

Database mounted.

 

步骤四:修改归档位置

SQL>alter system set log_archive_dest_1='location=/nbumedia-store' scope=spfile;       /*可创建指定的归档目录

System altered.

 

步骤五:alter database archivelog开启归档模式

SQL> alter database archivelog;

Database altered.


步骤六:alter database open打开数据库,此模式为数据库的正常模式.

 

SQL> alter database open;

Database altered.

 

步骤七:此时查看归档状态,已经变为enable,已经开启归档

SQL> archive log list;

Database log mode              Archive Mode

Automatic archival             Enabled

Archive destination            /nbumedia-store

Oldest online log sequence     7

Next log sequence to archive   9

Current log sequence           9

SQL> exit

 

四、关闭归档模式

前面已经提到,数据的存档模式的操作必须要在mount实例中进行,且数据库要处于非open状态。所有关闭存档模式前,我们需要查看当前数据库的状态,并且关闭数据库,启动mount实例,才可进行操作。其具体操作为:

 

步骤一:使用SQL:select status from v$instance;查看当前数据库的状态,正常情况下一般都处于open状态。

SQL> select status from v$instance;

STATUS

------------

OPEN

SQL> 

 

步骤二:使用SQL:shutdown immediate;   --关闭数据库,因为数据库当前状态为open

                 startup mount;   --启动mount实例--

                 alter database noarchivelog;   --改变数据库存档模式为非存档模式

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup mount;    

ORACLE instance started.

 

Total System Global Area 1068937216 bytes

Fixed Size                  2220200 bytes

Variable Size             281022296 bytes

Database Buffers          780140544 bytes

Redo Buffers                5554176 bytes

Database mounted.

SQL> alter database noarchivelog;

Database altered.

 

步骤三:此时使用SQL:archive log list 查看,存档模式已经变更为非存档模式。

 

SQL> archive log list;   

Database log mode              No Archive Mode

Automatic archival             Disabled

Archive destination            /nbumedia-store

Oldest online log sequence     9

Current log sequence           11

SQL> 

 

步骤四:再次使用SQL:select status from v$instance;进行查看数据库的当前状态,当前状态为mount状态。

SQL> select status from v$instance;

STATUS

------------

MOUNTED

SQL> 

 

步骤五:最后别忘记使用SQL:alter database open;打开数据库。

SQL> alter database open;

Database altered.

 

步骤六:再次使用SQL:select status from v$instance;查看数据库状态,为open状态。

SQL> select status from v$instance;

STATUS

------------

OPEN

最后使用快捷键Crtl + C 退出sqlplus。

 

查看归档模式

 创建归档目录

 修改归档目录和归档格式

 

SQL> alter system set log_archive_format= 'cjcdb_%t_%s_%r.arc' scope=spfile sid='*';

SQL> alter system set log_archive_dest_1='location=+ARCH/arch' scope=spfile sid='*';

 

 

 2 设置恢复目录/归档目录(仅节点1)

 


- 正确设置
  归档文件可以放在本地,也可以放在asm共享磁盘中,RAC环境要放ASM中。
  
- 如果是ASM
  SQL>alter system set log_archive_dest_1='location=+DATA';
  
- 如果是文件系统
  SQL>alter system set log_archive_dest_1='location=/archivelog';
  
- 错误设置
  SQL>alter system set db_recovery_file_dest_size=500g;
  SQL>alter system set db_recovery_file_dest='+DATA';
  
  原因分析:如果归档盘是500g,快满的时候就需要手动增加容量;
  如果归档空间满了,数据库就会报归档错误,应用无法连接。

- 设置数据库为非集群模式(仅节点1)
  SQL>show parameter cluster
  SQL>alter system set cluster_database=false scope=spfile;
  
- 节点1和2关闭数据库
  关闭数据库,启动后mount(仅节点1)
  SQL>shutdown immediate
  
- 仅在节点1操作
  SQL>startup mount
  SQL>alter database archivelog;
  SQL>alter database open;
  
- 查看归档状态
  SQL>archive log list;
  
设置数据库为集群模式(仅节点1)


SQL>alter system set cluster_database=true scope=spfile;


此前是在节点1操作,节点2并没有开启归档,选择打开集群模式后,重新数据库,节点二也就打开了归档

 

 

重启数据库,并打开(仅节点1)
节点1:
SQL>shutdown immediate;
SQL>startup

 


先等节点一启动完成后,再启动节点二

节点2:
SQL>startup

检查节点2的归档模式:
SQL>archive log list;

 

 

 

 

 

Oracle 19c RAC开归档

 

 

 

7、配置归档日志删除脚本和定时任务

mkdir -p /home/oracle/scripts/

vi /home/oracle/scripts/del_arch.sh

##添加以下脚本

 

!/bin/bash

source ~/.bash_profile

deltime=`date +"20%y%m%d%H%M%S"`

rman target / nocatalog msglog /home/oracle/scripts/del_arch_${deltime}.log<<EOF
crosscheck archivelog all;
delete noprompt archivelog until time 'sysdate-7';
delete noprompt force archivelog until time 'SYSDATE-10';

EOF

 

标签:log,数据库,归档,模式,SQL,Oracle,alter
From: https://www.cnblogs.com/chengxuyonghu/p/18541623

相关文章

  • SQLSever将csv文件中的数据导入数据库中的某个表中的操作以及可能会出现的报错
    注:导入数据前,检查一下数据类型是否与数据库中的数据类型相匹配第一种方法:首先打开SQLSever数据库,右击你的数据库找到任务后点开导入平面文件,如图 在弹开的窗口中点击下一步 接下来 填写完后点击下一步,跳转到预览数据的页面,会显示出表中的前20条数据,在检查没有错误后接......
  • SpringBoot校园电动车短租平台设计与实现x2rqw 程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统内容:学生,区域分类,电动车租借,电动车分类,租车订单,通知开题报告内容一、选题背景与意义随着环保意识的提升和校园出行需求的增加,电动车作为一种便捷、......
  • 若依框架多源数据库达梦应用适配问题处理记录-无效的模式名
    最近项目中有用户反馈应用连接数据库执行sql报无效的模式名,而在达梦客户端可以正常查询 首先怀疑的是应用连接串配置有错误,连接串配置如下: 根据查询,SZSJTGK模式不属于YSZWDT_YWYY用户将连接串模式名去掉之后还是同样问题,模式名大小写,驱动这些方面排除之后还是同样报错。......
  • SpringBoot小区蔬菜直销系统12x8w 程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统内容:用户,商品分类,商品信息开题报告内容一、研究背景随着居民生活水平的提高和健康意识的增强,小区居民对新鲜、安全、便捷的蔬菜需求日益增长。传统的蔬......
  • SpringBoot线上书城网站h5z49 程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统内容:用户,图书类型,热卖图书开题报告内容一、课题背景与意义随着互联网技术的快速发展,电子商务已成为现代商业活动的重要组成部分。线上书城作为电子商务......
  • 关系数据库 Query_Execution
    关系数据库QueryExecution的流程在关系型数据库中,一条Query语句执行的流程如下:DBMS将Quey语句翻译成特定的内部抽象语言,通常有两种QueryPlanlogicalPlan:使用关系代数描述QueryPlan,描述关系操作符或者非关系操作符physical:描述这些操作符的实际动作Que......
  • D64【python 接口自动化学习】- python基础之数据库
    day64SQL-DQL-基础查询学习日期:20241110学习目标:MySQL数据库--133SQL-DQL-基础查询学习笔记:基础数据查询基础数据查询-过滤总结基础查询的语法:select字段列表|*from表过滤查询的语法:select字段列表|*from表where条件判断......
  • D65【python 接口自动化学习】- python基础之数据库
    day65SQL-DQL-分组聚合学习日期:20241111学习目标:MySQL数据库--133SQL-DQL-分组聚合学习笔记:分组聚合总结分组聚合的语法分组聚合的注意事项groupby中出现了哪个列,哪个列才能出现在select中的非聚合中......
  • 数据库技术提升-MySQL数据库原理、设计与应用【1.9】
    4.4.4商品表商品分类与商品是一对多的联系,一个分类中有多件商品。商品表的具体结构如表4-14所示。在表4-14中设计的商品表sh_goods共有21个字段,具体说明如下商品id:主键,使用无符号整型存储,自动增长。。·分类id:商品所属分类,使用无符号整型存储,自动增长。S......
  • 导图-Oracle基础之网络监听器
    关于Jady:★工作经验:近20年IT技术服务经验,熟悉业务又深耕技术,为业务加持左能进行IT技术规划,右能处理综合性故障与疑难杂症;★成长历程:网络运维、主机/存储运维、程序/数据库开发、大数据运维、数据库运维、数据管理;★擅长技术:Oracle/MySQL/PGSQL/SQLServer/ClickHouse/Elastic......