Yashan DB 实例

一、实例启停机制

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`。

  • 支持多种日志级别,可根据需要配置。

相关推荐
凌虚3 小时前
面向 MySQL 用户的 PostgreSQL 快速上手指南
数据库·后端·架构
五阿哥永琪3 小时前
MySQL中操作json的函数!
数据库·mysql·json
来者皆善3 小时前
了解Mysql优化吗?如何优化索引?
数据库·mysql
赤壁小虾5 小时前
【渲染流水线】[逐片元阶段]-[透明度测试]以UnityURP为例
java·前端·数据库
MC皮蛋侠客5 小时前
SQLAlchemy 系列(七):高级建模与高效写入——批量 DML、方言与扩展
数据库·python
奈斯先生Vector6 小时前
把 Midjourney 二次编辑做成生产系统:customId 能力令牌、Action Graph 与 WebUI 精修工作台
数据库·人工智能·架构·aigc·音视频·midjourney
Lethehong7 小时前
双擎并驱·全链路并行:KFS让TB级异构增量同步秒级到达
数据库
MC皮蛋侠客7 小时前
SQLAlchemy 系列(八):AsyncIO、并发与 Web 生命周期——让每个并发任务持有自己的 Session
数据库·python
一水7 小时前
Redis实战:一个AI工作流系统里的五个应用场景,从传参到限流的完整链路
数据库·redis·wpf
枫叶v.8 小时前
Prompt Injection 防不住怎么办?从 Source-Sink 模型设计 Agent 安全边界
数据库·安全·prompt