Yashan-DB-实例管理
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. 运行日志
• 包括运行日志路径、级别、作用。