YashanDB归档管理

简介: YashanDB通过归档模式实现redo日志自动归档,支持数据热备份与主备同步。其核心功能包括:配置归档路径(默认$YASDB_DATA/archive)、切换归档模式(ARCHIVELOG/NOARCHIVELOG)、在线日志切换、查看及清理归档日志。归档日志清理支持自动与手动两种方式,自动清理由ARCH_CLEAN_IGNORE_MODE等参数控制,手动清理需指定条件并执行相应SQL语句。这些功能确保数据库在故障时可通过备份与归档日志重建,同时满足高可用需求。

本文内容来自YashanDB官网,原文内容请见 https://doc.yashandb.com/yashandb/23.3/zh/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%AE%A1%E7%90%86/%E5%9F%BA%E6%9C%AC%E6%95%B0%E6%8D%AE%E5%BA%93%E7%AE%A1%E7%90%86/%E5%BD%92%E6%A1%A3%E7%AE%A1%E7%90%86.html

YashanDB通过开启归档模式来进行redo日志文件自动归档,用以支持生产环境中的数据热备份以及高可用主备部署场景的主备同步。当故障发生时,可以通过历史全量数据数据备份以及归档的redo日志文件重做完成数据库重建。

V$DATABASE视图中的log_mode字段表示数据库当前的归档模式配置,字段值为ARCHIVELOG表示为归档模式,NOARCHIVELOG表示非归档模式。

示例

SELECT database_name,log_mode,open_mode FROM V$DATABASE;

DATABASE_NAME      LOG_MODE          OPEN_MODE  

yasdb              ARCHIVELOG        READ_WRITE

Copied!

配置归档路径


数据库默认的归档路径为$YASDB_DATA/archive,该值由ARCHIVE_LOCAL_DEST参数控制,进入到数据库可以查看并修改归档文件存放路径。

1.查看归档路径:

show parameter ARCHIVE_LOCAL_DEST;

NAME                     VALUE        

ARCHIVE_LOCAL_DEST       ?/archive

Copied!

2.修改归档路径:

通过SQL语句修改归档路径,重启数据库后生效。

ALTER SYSTEM SET ARCHIVE_LOCAL_DEST='/home/yashan' scope=spfile;

Copied!

3.查看配置是否生效:

show parameter ARCHIVE_LOCAL_DEST;

NAME                    VALUE         

ARCHIVE_LOCAL_DEST      /home/yashan

Copied!

归档模式切换


Caution

归档模式切换需要关闭数据库并启动到MOUNT状态下操作,请在无业务运行时参考下列步骤完成切换。

1.关闭数据库:


SHUTDOWN IMMEDIATE; 
exit;

Copied!

2.重启数据库:

$ yasboot cluster restart -c yashandb -m mount 
$ yasql username/password

Copied!

3.调整到归档模式:


ALTER DATABASE ARCHIVELOG;

ALTER DATABASE NOARCHIVELOG;

Copied!

4.归档模式查看:


SELECT database_name,log_mode,open_mode FROM V$DATABASE;

DATABASE_NAME    LOG_MODE          OPEN_MODE   

yasdb            ARCHIVELOG        READ_WRITE

Copied!

5.打开数据库:


ALTER DATABASE OPEN;

Copied!

在线日志切换


当前正在写入的redo日志文件写满时,数据库会自动切换至下一可用redo日志文件,用户也可根据自身需求选择手动切换:

  • 强制切换当前正在写入的redo日志
  • 对当前正在写入的redo日志进行归档,同时切换至下一可用redo日志文件(数据库须处于归档模式)

示例


ALTER SYSTEM SWITCH LOGFILE;


ALTER SYSTEM ARCHIVE LOG CURRENT;

Copied!

归档日志查看


可以通过V$ARCHIVED_LOG视图查看归档日志的信息,如归档日志的序列号、归档日志名和归档时间等。

示例

SELECT * FROM V$ARCHIVED_LOG;

Copied!

归档日志清理


归档空间有限的情况下,需要根据保留策略对归档日志进行清理。默认安装下,在线日志的大小为128M,则归档日志最大可为128M。

清理归档的原则:归档日志不被数据库回放需要,即小于数据库的回放点,这样的归档才可以被清理。可以从V$DATABASE视图的RCY_POINT获取数据库的当前回放点。

# 自动清理归档

YashanDB具有自动清理归档日志的功能,清理策略由以下三个系统配置参数决定:

  • ARCH_CLEAN_IGNORE_MODE:指定清理归档文件时的忽略模式,包括如下值(默认为NONE):

    • NONE:表示清理归档文件时不忽略备份和备库。
    • BACKUP:表示清理归档时忽略备份,此设置可能导致数据库无法恢复至任意时间点 。
    • STANDBY:表示清理归档时忽略备库,此设置可能导致备库跟不上主库,出现need repair状态,单机部署中默认忽略备库。
    • BOTH:表示清理归档时忽略备份和备库,此设置可能导致如上所述的两种问题均会出现。
    • 其中:
      • 忽略备份指的是无论该归档文件是否已经备份,均会被清理。
      • 忽略备库指的是无论该归档文件是否已经被所有备库获取,均会被清理。

Caution

  • YashanDB支持通过指定时间点的方式对数据库进行恢复。若在备份集后生成的归档日志和在线日志连续且完整,可通过指定时间点使数据库继续恢复至任意时间点;若备份集之后的归档日志被清理,则数据库无法继续恢复至任意时间点。
  • 高可用运行过程中,备库需要通过获取主库的归档日志对主库进行同步,如清理的归档文件还未被备库所获取,会导致备库无法正常同步主库。
  • ARCH_CLEAN_UPPER_THRESHOLD:指定归档清理触发的阈值,归档日志总大小超出这个值时进行归档清理,如果该值为0表示关闭自动清理。
  • ARCH_CLEAN_LOWER_THRESHOLD:指定归档空间保持的最小值,触发一次自动清理归档后,保留归档日志总大小的最小值。

上述配置参数可以通过ALTER SYSTEM命令进行在线修改。ARCH_CLEAN_IGNORE_MODE参数同时也控制手动清理归档的策略。

# 手动清理归档

手动清理归档日志的清理条件由ARCH_CLEAN_IGNORE_MODE参数决定,具体如上所述,执行手动清理归档前先通过配置ARCH_CLEAN_IGNORE_MODE参数指定合适的忽略模式。

手动清理归档日志需要进入到数据库执行ALTER DATABASE语句,语法如下:

ALTER DATABASE DELETE ARCHIVELOG (ALL|UNTIL ((SEQUENCE INTEGER [THREAD INTEGER])|TIME DATE|SCN INTEGER))[FORCE]

Copied!

关键字描述同ALTER DATABASE

示例(单机、共享集群部署)


ALTER DATABASE DELETE ARCHIVELOG ALL;

ALTER DATABASE DELETE ARCHIVELOG UNTIL TIME TO_DATE('2022-01-06 11:30:00', 'yyyy-mm-dd hh24:mi:ss');

ALTER DATABASE DELETE ARCHIVELOG UNTIL SEQUENCE 71;

ALTER DATABASE DELETE ARCHIVELOG ALL FORCE;

Copied!

相关文章
|
8月前
|
网络安全 数据库
YashanDB HA节点间SSL连接配置
本指南介绍HA内部节点链路的SSL连接配置,包括客户端监听与HA节点自身监听两种方式。需使用OpenSSL工具生成证书,具体步骤参考数据库服务端SSL连接配置文档。此外,还需在数据库中开启HA的SSL连接开关并设置证书路径(仅支持绝对路径,长度≤254字节),最后重启数据库以完成配置。确保服务器已安装所需工具,详细操作请查阅相关文档。
YashanDB HA节点间SSL连接配置
|
8月前
|
SQL 运维 数据库
YashanDB参数配置
YashanDB的系统参数默认值基于最小配置,可能不适合生产环境,建议安装时初始化配置。参数初始化需结合业务和资源环境设定。YashanDB提供参数自适应功能,根据环境信息推荐调参配置,减少运维难度。修改参数可通过SQL命令完成,支持系统级和会话级调整,过时参数修改会触发告警。查看参数可使用show命令或查询动态视图,过时参数在视图中IS_DEPRECATED字段为TRUE。此外,不建议直接编辑配置文件,分布式部署中可通过YCM或yasboot实现多节点统一配置。
|
8月前
|
数据库
YashanDB数据库删除
本内容介绍了在YashanDB中删除数据库实例的操作方法。通过`DROP DATABASE`语句可删除数据库的所有数据文件,但该语句不适用于分布式部署。操作前需确保数据库处于NOMOUNT模式,且仅支持单机或共享集群部署。删除操作不可逆,会彻底清除数据库相关文件,需谨慎执行。具体步骤包括重启实例至NOMOUNT模式,并以sys用户登录执行删除语句。
|
8月前
|
SQL 数据库
YashanDB控制文件管理
本指南介绍了YASHANDB控制文件的管理方法,包括查看和修改控制文件路径。默认情况下,控制文件有3份拷贝(最多8份),其路径可在配置参数文件中指定。通过SQL命令或动态视图可查看现有控制文件信息。修改路径时,需先更新参数、关闭数据库、移动文件并确认无误后重启数据库。操作须谨慎,避免在生产环境正常运行时单独移动控制文件,以防数据丢失或损坏。
|
7月前
|
数据采集 存储 人工智能
智创 AI 新视界 -- 优化 AI 模型训练效率的策略与技巧(16 - 1)
本文深度聚焦 AI 模型训练效率优化,全面涵盖数据预处理(清洗、归一化、增强)、模型架构(轻量级应用、剪枝与量化)、训练算法与超参数调优(自适应学习率、优化算法)等核心维度。结合自动驾驶、动物图像识别、语音识别等多领域实际案例,佐以丰富且详细的代码示例,深度剖析技术原理与应用技巧,为 AI 从业者呈上极具专业性、可操作性与参考价值的技术宝典,助力高效优化模型训练效率与性能提升。
智创 AI 新视界 -- 优化 AI 模型训练效率的策略与技巧(16 - 1)
|
8月前
|
SQL 分布式数据库 数据库
YashanDB实例启停
本文介绍了YashanDB单机及分布式部署的实例启停方法,包括SQL命令与yasboot工具两种方式。数据库启动分为NOMOUNT、MOUNT和OPEN三个阶段,分别对应实例启动、加载数据库但关闭状态、完全打开状态。文章还详细说明了启动失败的常见场景(如环境变量错误、控制文件或数据文件问题)及解决方法,并阐述了SHUTDOWN语句和yasboot工具在关闭数据库时的不同用法与注意事项。
YashanDB实例启停
|
8月前
|
数据库
卸载YashanDB服务端
本文来自YashanDB官网,主要介绍通过`yasboot`命令卸载YashanDB服务端的详细步骤。操作需在服务器安装用户(yashan)的`install`目录下执行,包括:1) 检查并关闭仲裁模式;2) 卸载数据库;3) 卸载`yasom`与`yasagent`组件;4) 清理环境变量及相关配置。若启用了CPU资源管理或守护进程功能,需额外处理开机自启动配置。
|
8月前
|
Java Linux 数据库连接
YashanDB字符集配置
YashanDB支持多种字符集(GBK、UTF8、GB18030、ASCII、ISO88591),可根据需求配置数据库字符集。默认安装下,服务端和Linux/JDBC客户端为UTF8,Windows客户端为GBK。字符集不一致可能导致操作结果异常。配置原则包括:中文场景选GBK,多语言选UTF8(默认推荐),纯英文可选ASCII或ISO88591,严格中文处理选GB18030。服务端字符集在建库时指定,不可更改;TAC/LSC表需UTF8。客户端字符集可通过修改yasc_env.ini文件设置。
|
8月前
|
安全 API UED
A2A(Agent2Agent) 简介
本文主要介绍Google于2025年4月9日发布的Agent2Agent Protocol(简称“A2A”),这是一个旨在促进不同类型智能体(Agent)之间高效沟通与协作的开放协议。
4413 74
A2A(Agent2Agent) 简介
|
8月前
|
人工智能 JSON API
0代码将存量 API 适配 MCP 协议
本文主要讲述通过 Nacos+Higress 的方案实现0代码改造将 Agent 连接到存量应用,能够显著降低存量应用的改造成本。
1084 44
0代码将存量 API 适配 MCP 协议