1、概述-实例和数据库的关系
实例:YashanDB实例由YashanDB线程及其管理内存结构组成。YashanDB实例用于控制和管理数据库,数据库提供服务的媒介。
数据库:数据库是数据载体,是参数文件、控制文件、Redo日志文件、数据文件、归档日志文件等物理文件的集合。
实例和数据库的关系:数据库启动时,实例会加载、打开数据库,并提供数据服务。一个实例最多加载一个数据库。
2、启动和关闭YashanDB
2.1启动YashanDB
YashanDB实例从关闭启动到正常使用,要经过NOMOUNT、MOUNT和OPEN三种状态。
NOMOUNT:启动数据库实例,此时读取参数文件,但是不加载数据库。 这个状态下可以重建控制文件,比如控制文件损坏。
MOUNT:启动数据库实例,读取控制文件,加载数据库,但是数据库处于关闭状态。 这个状态下可以恢复数据库。
OPEN: 启动数据库实例,加载并打开数据库。 这个状态下可以读写数据库。
◼ 启动到NOMOUNT状态
$ yasdb nomount &
◼ 查询数据库状态
SQL >SELECT status FROM V$INSTANCE;
◼ 数据库实例启动到NOMOUNT状态后,查看V$INSTANCE视图的STATUS状态值为STARTED,而不是NOMOUNT。
方式一:在OS命令行直接启动数据库到MOUNT状态
$ yasdb mount &
◼ 方式二:从NOMOUNT状态切换到MOUNT状态
SQL > ALTER DATABASE MOUNT ;
◼ 查询数据库状态
SQL > SELECT status FROM V$INSTANCE;
◼ 数据库实例启动到MOUNT状态后,查看V$INSTANCE视图的STATUS状态值为MOUNTED。
◼ yasdb 命令只能在关闭状态运行。
方式一:在OS命令行直接启动数据库到OPEN状态
$ yasdb open &
◼ 方式二:从NOMOUNT状态或者MOUNT状态切换到OPEN状态
SQL > ALTER DATABASE OPEN;
◼ 查询数据库状态
SQL > SELECT status FROM V$INSTANCE ;
◼数据库实例启动到OPEN状态后,查看V$INSTANCE视图的STATUS状态值为OPEN。
2.2关闭 YashanDB
我们常用的关闭YashanDB方法如下:
⚫ SHUTDOWN NORMAL:等待所有事务正常结束后关闭,生产环境一般不推荐这种方式来关闭数据库。默认关闭数据库将采用NORMAL模式。
⚫ SHUTDOWN IMMEDIATE:立即中断当前用户的连接,同时强行终止用户的当前执行中的事务,将未完成的事务回退,并关闭数据库。采用默认关闭方式一般需要主动断开所有连接,推荐使用这种方式关闭数据库。
⚫ SHUTDOWN ABORT:强制中断所有数据库操作并关闭数据库,不会等待事务回滚完成,在启动数据库时需要进行实例恢复。生产环境一般不推荐这种方式来关闭数据库。
◼ 推荐的关闭YashanDB方法
SQL > SHUTDOWN IMMEDIATE ;
3、管理数据库实例
3.1数据库打开模式
- 在MOUNT状态下,准备OPEN打开时,可以根据不同场景配置数据库的打开模式为READWRITE、RESETLOGS或者READONLY 。
- 如果数据库运行在OPEN状态,不能切换到其他模式。
- 可通过ALTER DATABASE命令配置数据库打开模式。
SQL > ALTER DATABASE OPEN [READ WRITE|RESETLOGS|READ ONLY ]
◼ 数据库三种打开模式
可通过数据库视图V$DATABASE查看数据库打开模式。
SQL > SELECT database_name , open_mode FROM V$DATABASE ;
◼ 参数初始化配置
YashanDB的所有系统参数都存在一个默认值,允许在产品安装后不做任何处理也能启动实例。默认值一般基于在个人PC也能运行的最小配置给出,可能并不适用于生产环境,因此建议在安装YashanDB时也进行参数的初始化配置工作。
◼ 方式一:修改参数文件
参数的初始化可通过直接编辑${YASDB_DATA}/config/yasdb.ini的方式操作。
◼编辑yasdb.ini文件修改参数示例
◼ 修改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 ;
3.2运行日志文件
◼ 运行日志文件作用
运行日志记录了数据库各服务运行产生的轨迹信息、调试信息、状态变迁、未产生影响的潜在问题和直接的错误信息。
◼ 运行日志配置参数
RUN_LOG_LEVEL
◼ 运行日志文件位置
$YASDB_DATA/log/run/run.log
◼ YashanDB 运行日志文件支持不同级别的日志管理,并根据配置打印不同级别的日志:
◼ 从上到下,日志等级依次增高,高日志级别包含低日志级别。
◼建议在生产环境使用INFO级别。
3.3告警日志文件
◼ 告警日志文件作用
当数据库发生死锁,表空间满,网络断连,坏块等错误时,运维人员应该及时知道这些信息并作出处理。通过数据库在告警日志中发出告警,运维人员定时检查告警日志,可以防患于未然,时刻了解和维护系统的运行状况。
◼ 告警日志文件位置
$YASDB_DATA/log/alert/alert.log
◼ YashanDB 告警日志支持很多告警事件,以下列举部分常见事件:
◼ 以下列举部分常见管理数据库实例系统视图:
YCA官方报名链接:https://www.yashandb.com/YCA_courses