1、概述-实例和数据库的关系

实例:YashanDB实例由YashanDB线程及其管理内存结构组成。YashanDB实例用于控制和管理数据库,数据库提供服务的媒介。

数据库:数据库是数据载体,是参数文件、控制文件、Redo日志文件、数据文件、归档日志文件等物理文件的集合。

实例和数据库的关系:数据库启动时,实例会加载、打开数据库,并提供数据服务。一个实例最多加载一个数据库。

2、启动和关闭YashanDB

2.1启动YashanDB

YashanDB实例从关闭启动到正常使用,要经过NOMOUNT、MOUNT和OPEN三种状态。

NOMOUNT:启动数据库实例,此时读取参数文件,但是不加载数据库。 这个状态下可以重建控制文件,比如控制文件损坏。

MOUNT:启动数据库实例,读取控制文件,加载数据库,但是数据库处于关闭状态。 这个状态下可以恢复数据库。

OPEN: 启动数据库实例,加载并打开数据库。 这个状态下可以读写数据库。

【YashanDB培训心得】--国产崖山数据库YCA认证培训 第五章 YashanDB实例管理_数据库

◼ 启动到NOMOUNT状态

$ yasdb nomount &

◼ 查询数据库状态

SQL >SELECT status FROM V$INSTANCE;

【YashanDB培训心得】--国产崖山数据库YCA认证培训 第五章 YashanDB实例管理_SQL_02

◼ 数据库实例启动到NOMOUNT状态后,查看V$INSTANCE视图的STATUS状态值为STARTED,而不是NOMOUNT。

方式一:在OS命令行直接启动数据库到MOUNT状态

$ yasdb mount &

◼ 方式二:从NOMOUNT状态切换到MOUNT状态

SQL > ALTER DATABASE MOUNT ;

【YashanDB培训心得】--国产崖山数据库YCA认证培训 第五章 YashanDB实例管理_数据库_03

◼ 查询数据库状态

SQL > SELECT status FROM V$INSTANCE;

【YashanDB培训心得】--国产崖山数据库YCA认证培训 第五章 YashanDB实例管理_数据库_04

◼ 数据库实例启动到MOUNT状态后,查看V$INSTANCE视图的STATUS状态值为MOUNTED。

◼ yasdb 命令只能在关闭状态运行。

方式一:在OS命令行直接启动数据库到OPEN状态

$ yasdb open &

◼ 方式二:从NOMOUNT状态或者MOUNT状态切换到OPEN状态

SQL > ALTER DATABASE OPEN;

【YashanDB培训心得】--国产崖山数据库YCA认证培训 第五章 YashanDB实例管理_数据库_05

◼ 查询数据库状态

SQL > SELECT status FROM V$INSTANCE ;

【YashanDB培训心得】--国产崖山数据库YCA认证培训 第五章 YashanDB实例管理_日志文件_06

◼数据库实例启动到OPEN状态后,查看V$INSTANCE视图的STATUS状态值为OPEN。

2.2关闭 YashanDB

我们常用的关闭YashanDB方法如下:

⚫ SHUTDOWN NORMAL:等待所有事务正常结束后关闭,生产环境一般不推荐这种方式来关闭数据库。默认关闭数据库将采用NORMAL模式。

⚫ SHUTDOWN IMMEDIATE:立即中断当前用户的连接,同时强行终止用户的当前执行中的事务,将未完成的事务回退,并关闭数据库。采用默认关闭方式一般需要主动断开所有连接,推荐使用这种方式关闭数据库。

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


◼ 推荐的关闭YashanDB方法

SQL > SHUTDOWN IMMEDIATE ;

【YashanDB培训心得】--国产崖山数据库YCA认证培训 第五章 YashanDB实例管理_数据库_07

3、管理数据库实例

3.1数据库打开模式

  1. 在MOUNT状态下,准备OPEN打开时,可以根据不同场景配置数据库的打开模式为READWRITE、RESETLOGS或者READONLY 。
  2. 如果数据库运行在OPEN状态,不能切换到其他模式。


  1. 可通过ALTER DATABASE命令配置数据库打开模式。

SQL > ALTER DATABASE OPEN [READ WRITE|RESETLOGS|READ ONLY ]

◼ 数据库三种打开模式

【YashanDB培训心得】--国产崖山数据库YCA认证培训 第五章 YashanDB实例管理_SQL_08

可通过数据库视图V$DATABASE查看数据库打开模式。


SQL > SELECT database_name , open_mode FROM V$DATABASE ;

【YashanDB培训心得】--国产崖山数据库YCA认证培训 第五章 YashanDB实例管理_数据库_09

◼ 参数初始化配置

YashanDB的所有系统参数都存在一个默认值,允许在产品安装后不做任何处理也能启动实例。默认值一般基于在个人PC也能运行的最小配置给出,可能并不适用于生产环境,因此建议在安装YashanDB时也进行参数的初始化配置工作。

◼ 方式一:修改参数文件

参数的初始化可通过直接编辑${YASDB_DATA}/config/yasdb.ini的方式操作。


◼编辑yasdb.ini文件修改参数示例

【YashanDB培训心得】--国产崖山数据库YCA认证培训 第五章 YashanDB实例管理_SQL_10

◼ 修改DATA_BUFFER_SIZE参数,测试环境建议设置如下即可,生产环境需要按照服务器内存实际情况进行调整。

DATA_BUFFER_SIZE = 256M

◼ 方式二:使用SQL命令修改参数

◼ 语法:

SQL > ALTER SYSTEM|SESSION SET PARAMETER parameter_name = param eter_value [ SCOPE = spfile|memory | both ] ;

◼ ALTER SYSTEM 和 ALTER SESSION 分 别 用 于 修 改 系 统 级 别 和 会 话 级 别 的 配 置 参 数 , 而 ALTER SESSION 修 改 方 式 默 认只 写 到 内 存 , 仅 对 当 前 会 话 生 效 。

◼ parameter_name 和 parameter_value 分别为配置参数名称和值 。

◼ SCOPE 用于设定对配置参数修改后的生效方式,这部分可选 。

⚫ spfile : 将 参 数 值 写 入 参 数 文 件 , 需 重 启 才 能 生 效 。

⚫ memory : 将参数值写入内存,立即生效,但重启后失效 。

⚫ both : 将 参 数 值 同 时 写 入 内 存 和 参 数 文 件 , 立 即 生 效 , 重 启 后 也 生 效 

◼ 修改配置参数范例:

SQL > ALTER SESSION SET date_format = ' yyyy-mm-dd hh24:mi:ss' ;

◼ 通过show命令查看配置参数是否生效

SQL > SHOW PARAMETER date_format ;

【YashanDB培训心得】--国产崖山数据库YCA认证培训 第五章 YashanDB实例管理_日志文件_11

3.2运行日志文件

◼ 运行日志文件作用

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

◼ 运行日志配置参数

RUN_LOG_LEVEL

◼ 运行日志文件位置

$YASDB_DATA/log/run/run.log

◼ YashanDB 运行日志文件支持不同级别的日志管理,并根据配置打印不同级别的日志:

◼ 从上到下,日志等级依次增高,高日志级别包含低日志级别。

【YashanDB培训心得】--国产崖山数据库YCA认证培训 第五章 YashanDB实例管理_SQL_12

◼建议在生产环境使用INFO级别。

3.3告警日志文件

◼ 告警日志文件作用

当数据库发生死锁,表空间满,网络断连,坏块等错误时,运维人员应该及时知道这些信息并作出处理。通过数据库在告警日志中发出告警,运维人员定时检查告警日志,可以防患于未然,时刻了解和维护系统的运行状况。

◼ 告警日志文件位置

$YASDB_DATA/log/alert/alert.log

◼ YashanDB 告警日志支持很多告警事件,以下列举部分常见事件:

【YashanDB培训心得】--国产崖山数据库YCA认证培训 第五章 YashanDB实例管理_日志文件_13

◼ 以下列举部分常见管理数据库实例系统视图:

【YashanDB培训心得】--国产崖山数据库YCA认证培训 第五章 YashanDB实例管理_SQL_14

YCA官方报名链接: https://www.yashandb.com/YCA_courses