一、实例启停机制
1. **启动阶段**
-
**NOMOUNT**
-
启动实例,但不加载数据库。
-
可以重建控制文件(如控制文件损坏)。
-
启动命令:`$ yasboot cluster start -c yashandb -m nomount`
-
查询状态:`SQL> SELECT status FROM V$INSTANCE;`,状态值为`STARTED`。
-
**MOUNT**
-
实例已启动,数据库完成加载,但数据库仍处于关闭状态。
-
可以恢复数据库。
-
启动命令:
-
`$ yasboot cluster start -c yashandb -m mount`
-
`SQL> ALTER DATABASE MOUNT;`(前提:实例已启动到NOMOUNT状态)
-
查询状态:`SQL> SELECT status FROM V$INSTANCE;`,状态值为`MOUNTED`。
-
**OPEN**
-
实例已启动,数据库已处于打开状态。
-
可以读写数据库。
-
启动命令:
-
`$ yasboot cluster start -c yashandb -m open`
-
`SQL> ALTER DATABASE OPEN;`(前提:实例已启动到NOMOUNT/MOUNT状态)
-
查询状态:`SQL> SELECT status FROM V$INSTANCE;`,状态值为`OPEN`。
-
**打开模式**
-
数据库在OPEN状态下可以配置不同的打开模式:
-
**READWRITE**:默认模式,适用于生产环境。
-
**RESETLOGS**:用于数据库故障时,重新设置日志号并进行不完全恢复。
-
**UPGRADE**:用于数据库升级。
-
配置命令:`SQL> ALTER DATABASE OPEN [READWRITE|RESETLOGS|UPGRADE]`。
2. **关闭实例**
-
**关闭命令**
-
`$ yasboot cluster stop -c yashandb`
-
`SQL> SHUTDOWN [NORMAL|IMMEDIATE|ABORT]`
-
**关闭模式**
-
**SHUTDOWN NORMAL**:等待所有事务正常结束后关闭。
-
**SHUTDOWN IMMEDIATE**:立即中断用户连接,终止事务并关闭数据库(推荐)。
-
**SHUTDOWN ABORT**:强制中断所有操作并关闭数据库,需实例恢复(不推荐)。
二、实例配置参数
1. **参数文件**
-
参数文件名为`yasdb.ini`,存放在`$YASDB_DATA/config`路径下。
-
安装时指定的初始配置参数保存在此文件中,运行时的非内存修改也会持久化到此文件。
2. **查看参数**
-
使用SQL命令:
SQL> SHOW PARAMETER parameter_name;
3. **修改参数**
-
**方式一:使用SQL命令修改(推荐)**
-
命令格式:
ALTER SYSTEM|SESSION SET parameter_name = parameter_value [SCOPE = spfile|memory|both];
-
示例:
SQL> ALTER SYSTEM SET data_buffer_size=256M SCOPE=spfile;
-
`SCOPE`选项:
-
`spfile`:写入参数文件,需重启生效。
-
`memory`:写入内存,立即生效但重启后失效。
-
`both`:同时写入内存和参数文件,立即生效且重启后生效。
-
**方式二:编辑`yasdb.ini`文件修改(不推荐)**
-
需要重启数据库才能生效。
-
适用于因内存不足报错时调整参数。
-
修改前建议备份参数文件。
-
操作命令:
$ cd $YASDB_DATA/config
$ vi yasdb.ini
三、运行日志
1. **日志概述**
- 记录数据库服务运行的轨迹信息、调试信息、状态变迁、潜在问题和错误信息。
2. **日志文件路径**
-
默认路径:`$YASDB_HOME/log/yashandb/db-1-1/run/run.log`
-
路径受参数`RUN_LOG_FILE_PATH`控制。
-
文件名`run.log`不可修改。
3. **日志级别**
-
从上到下日志等级依次增高:
-
**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
...
```
四、小结
1. **实例启停机制**
-
YashanDB实例启动分为三个阶段:NOMOUNT、MOUNT和OPEN。
-
不同阶段支持不同的操作,如重建控制文件、恢复数据库和读写操作。
-
提供多种启动和关闭命令,推荐使用`SHUTDOWN IMMEDIATE`关闭数据库。
2. **实例配置参数**
-
参数文件为`yasdb.ini`,位于`$YASDB_DATA/config`路径下。
-
可通过SQL命令或直接编辑文件修改参数,推荐使用SQL命令。
-
参数修改可通过`SCOPE`选项控制生效范围。
3. **运行日志**
-
日志记录数据库运行的详细信息,路径默认为`$YASDB_HOME/log/yashandb/db-1-1/run/run.log`。
-
支持多种日志级别,可根据需要配置。