Yashan DB 实例管理

一、实例启停机制

1. 启动阶段

• NOMOUNT:启动实例,但不加载数据库。此状态下可以重建控制文件,例如控制文件损坏。启动到NOMOUNT状态的命令为`yasboot cluster start -c yashandb -m nomount`,此时查询`V$INSTANCE`视图的`STATUS`状态值为`STARTED`。

• MOUNT:实例已启动,数据库完成加载,但数据库仍处于关闭状态。此状态下可以恢复数据库。启动到MOUNT状态有两种方式,一是通过命令`yasboot cluster start -c yashandb -m mount`,二是通过SQL命令`ALTER DATABASE MOUNT`(前提条件是数据库实例已启动到NOMOUNT状态),此时查询`V$INSTANCE`视图的`STATUS`状态值为`MOUNTED`。

• OPEN:实例已启动,数据库已处于打开状态。此状态下可以读写数据库。启动到OPEN状态也有两种方式,一是通过命令`yasboot cluster start -c yashandb -m open`,二是通过SQL命令`ALTER DATABASE OPEN`(前提条件是数据库实例已启动到NOMOUNT/MOUNT状态),此时查询`V$INSTANCE`视图的`STATUS`状态值为`OPEN`。

• 打开模式:在启动数据库到OPEN状态时,可以根据不同场景配置数据库的打开模式为`READWRITE`(数据库完整事务的读写操作,数据库可以对外提供服务,适用于生产环境,是默认的模式,推荐使用的模式)、`RESETLOGS`(数据库需要重新设置日志号,数据库发生故障时,可以使用RESETLOGS模式打开数据库,此时可以通过重新设置日志号,对数据库进行不完全恢复)、`UPGRADE`(用于数据库升级)。

2. 关闭实例

• 方式一:通过命令`yasboot cluster stop -c yashandb`。

• 方式二:通过SQL命令`SHUTDOWN`,具体有以下几种:

• `SHUTDOWN NORMAL`:等待所有事务正常结束后关闭,是默认的关闭方式。

• `SHUTDOWN IMMEDIATE`:立即中断当前用户的连接,同时强行终止用户的当前执行中的事务,将未完成的事务回退,并关闭数据库,一般推荐使用这种方式关闭数据库。

• `SHUTDOWN ABORT`:强制中断所有数据库操作并关闭数据库,不会等待事务回滚完成,在启动数据库时需要进行实例恢复,生产环境一般不推荐这种方式来关闭数据库。

二、实例配置参数

1. 参数文件

• 配置参数文件名为`yasdb.ini`,存放在`$YASDB_DATA/config`路径下。安装时所指定的数据库初始配置参数将保存在此文件中,后续数据库运行过程中对配置参数的非memory修改也将持久化到此文件中。

2. 查看参数

• 通过SQL命令`SHOW PARAMETER`查看参数,例如`SHOW PARAMETER data_buffer_size`。

3. 修改参数

• 方式一:使用SQL命令修改参数(推荐)。`ALTER SYSTEM/ALTER SESSION`分别用于修改系统级别和会话级别的配置参数,而`ALTER SESSION`修改方式默认只写到内存,仅对当前会话生效。`parameter_name/parameter_value`分别为配置参数名称和值。`SCOPE`用于设定对配置参数修改后的生效方式,这部分可选,默认是`both`。`spfile`表示将参数值写入参数文件,需重启才能生效;`memory`表示将参数值写入内存,立即生效,但重启后失效;`both`表示将参数值同时写入内存和参数文件,立即生效,重启后也生效。例如`ALTER SYSTEM SET data_buffer_size=256M SCOPE=spfile`。

• 方式二:编辑`yasdb.ini`修改参数值(不推荐)。需要重启数据库生效,一般用于使用SQL设置参数之后,重启数据库,因为内存不足报错时,编辑参数文件调整参数。建议修改前备份一份参数文件。

三、运行日志

1. 概述

• 运行日志记录了数据库各服务运行产生的轨迹信息、调试信息、状态变迁、未产生影响的潜在问题和直接的错误信息。

2. 文件名及路径

• 默认路径为`$YASDB_HOME/log/yashandb/db-1-1/run/run.log`,路径受参数`RUN_LOG_FILE_PATH`控制,文件名`run.log`不可修改。

3. 运行日志级别

• YashanDB运行日志文件支持不同级别的日志管理,并根据配置打印不同级别的日志。从上到下,日志等级依次增高,高日志级别包含低日志级别:

• `OFF`:关闭日志。

• `FATAL`:致命错误产生的日志。

• `ERROR`:一般错误产生的日志。

• `WARN`:告警类错误产生的日志。

• `INFO`:正常运行日志(默认日志级别)。

• `DEBUG`:调试日志级别。

• `TRACE`:追踪日志。

• `ALL`:所有日志。

4. 运行日志内容(部分)

   2024-06-27 16:35:07.9054092 [INFO] [DB] start kernel
   2024-06-27 16:35:07.9054092 [INFO] [DB] database kernel version is 0.2.59
   2024-06-27 16:35:08.0764092 [INFO] [PARAM] the number of synchronous standby in QUORUM_SYNC_STANDBYS and REQUIRED_SYNC_STANDBYS is 0 and 0
   2024-06-27 16:35:08.0764092 [INFO] [HA] start redo receiver
   2024-06-27 16:35:08.2274092 [INFO] [CTRL] start mount type: normal
   2024-06-27 16:35:08.3084092 [INFO] [DB] the database protection mode is MAXIMUM PERFORMANCE
   2024-06-27 16:35:08.3084092 [INFO] [REDO] load the log file for instance 0
   2024-06-27 16:35:08.3104112 [INFO] [ARCH] archive process start
   2024-06-27 16:35:08.7794108 [INFO] [HA] redo receiver thread exited
   2024-06-27 16:35:08.7804092 [INFO] [HA] start redo sender for primary
   2024-06-27 16:35:08.7814092 [INFO] [DB] database mount
   2024-06-27 16:35:08.7814114 [INFO] [MONITOR] health monitor process start
   2024-06-27 16:35:08.9554092 [INFO] [RCY] instance 0 stop to replay, point 0-24-353-282409
   2024-06-27 16:35:08.9554092 [INFO] [DB] recover destroy
   2024-06-27 16:35:09.0784092 [INFO] [DB] database open, current role: primary

四、小结

1. 实例启停机制

• 包括三个阶段:NOMOUNT、MOUNT、OPEN。

2. 实例配置参数

• 包括参数文件`yasdb.ini`、参数修改以及查看。

3. 运行日志

• 包括运行日志路径、级别、作用。

相关推荐
今年不养猪只除草36 分钟前
windows版本的时序数据库TDengine安装以及可视化工具
数据库·时序数据库·tdengine
极限实验室3 小时前
Easysearch 磁盘水位线注意事项
数据库
月落星还在3 小时前
Redis 单线程架构:化繁为简的性能哲学
数据库·redis·架构
十五年专注C++开发3 小时前
SQLiteStudio:一款免费开源跨平台的SQLite管理工具
数据库·c++·qt·sqlite
啥都想学的又啥都不会的研究生4 小时前
Redis设计与实现-服务器中的数据库
运维·服务器·数据库·redis·笔记·缓存·性能优化
m0_748229994 小时前
redis 使用
数据库·redis·缓存
Foolforuuu4 小时前
什么样的场景适用redis?redis缓存是什么?
数据库·redis·缓存
m0_748234084 小时前
redis 清理缓存
数据库·redis·缓存
智享AI4 小时前
阿里云工作空间与Ollama(一)
数据库·阿里云·云计算
聆风吟º4 小时前
阿里云操作系统控制台实战评测:提升云资源管理与监控效率
数据库·阿里云·云计算