达梦数据库:系统视图介绍
V 数据库配置参数详情:
SELECT * FROM V$DM_INI;
READ ONLY:手动参数,表示服务器运行过程中不可修改;
IN FILE:静态参数,只可修改 ini 文件;(重启数据库服务生效)
SYS 和 SESSION:动态参数,ini 文件和
内存同时可修改,其中,SYS 系统级参数;
SESSION 会话级参数
V 查看数据库实例目录
select * from v$dm_ini where para_name
like '%SYSTEM_PATH%';
V 通过本视图可以观察系统的一些命令的历史信息
SELECT * FROM V$CMD_HISTORY;
V 监控运行时错误历史
SELECT * FROM V$RUNTIME_ERR_HISTORY;
介绍: 异常分为三种:
一种是系统异常,用户没有捕获,
由 vm_raise_runtime_error 产生;
第二种是用户异常,用户捕获错误,并抛出自定义异常,
由 nthrow_exec 产生;
第三种是语法异常,语法未通过,
由 nsvr_build_npar_cop_out 产生。
V 用于查询服务器实例运行期间生成的最近 1 万条事件日志
SELECT * FROM V$INSTANCE_LOG_HISTORY;
V 查询归档状态:
SELECT * FROM V$ARCH_STATUS;
V 查询等待执行的sql会话
SELECT * FROM V$TRXWAIT
结果列的ID 与V$LOCK的TRX_ID 相同
V 查询锁
SELECT * FROM V$LOCK
其中 S 锁封锁成功的SESSIONS状态是ACTIVE(等待执行),X 锁封(正在执行的事务):提交或回滚
介绍根据 V$LOCK的TRX_ID 值,进行查找sql执行冲突语句
SELECT SESS.* FROM
V$LOCK,V$TRX,V$SESSIONS AS SESS
WHERE "V$LOCK".TRX_ID = '47270'
AND "V$LOCK".TRX_ID = V$TRX.ID
AND V$TRX.SESS_ID = SESS.SESS_ID;
V 查询数据库实例当前会话:
SELECT * FROM V$SESSIONS;
关闭 某个会话根据 视图V$SESSIONS 查询的结果列 SESS_ID
SP_CLOSE_SESSION (SESS_ID);
V 查询关于数据库的加密算法名称相关信息:
SELECT * FROM V$CIPHERS;
介绍: 加密算法可以是系统中已经存在的算法名称,可选的算法可以在 V$CIPHERS 中获取,也可以使用第三方加密库中的算法,第三方加密库的实现可参考《DM8 安全管理》的相 关 章 节 , 将 已 实 现 的 第 三 方 加 密 动 态 库 放 到 bin 目 录 下 的 文 件 夹 external_crypto_libs 中,DM支持加载多个第三方加密动态库,然后重启 DM 服务器 即可引用其中的算法;
需要注意的是:以“NOPAD”结尾的加密算法需要用户保证原始数据长度是 BLOCK_SIZE 的整数倍,DM 不会自动填充。如果数据不一定是 BLOCK_SIZE 的整数 倍,请选择不以“NOPAD”结尾的加密算法,以“NOPAD”结尾的加密算法主要用于数 据页分片加密。
V 查询关于数据库的参数信息:
SELECT * FROM V$PARAMETER;
介绍: INI 参数分为手动、静态和动态三种类型,
分别对应 V$PARAMETER 视图中
TYPE 列的 READ ONLY、IN FILE、SYS/SESSION。
服务器运行过程中,手动(READ ONLY)参数 不能被修改,静态和动态参数可以修改。
静态(IN FILE)参数只能通过修改 dm.ini 文件进行修改,修改后重启服务器才能生效, 为系统级参数,生效后会影响所有的会话。
动态(SYS 和 SESSION)参数可在 dm.ini 文件和内存同时修改,修改后即时生效。
其中,SYS 为系统级参数,修改后会影响所有的会话;
SESSION 为会话级参数,服务器运行过程中被修改时,
之前创建的会话不受影响,只有新创建的会话使用新的参数值。
V 查询数据库密码策略
SELECT VALUE FROM V$PARAMETER WHERE NAME='PWD_POLICY';
V 查询数据库系统保留字:
SELECT * FROM V$RESERVED_WORDS;
V 查询数据库缓存的sql相关信息
SELECT * FROM V$CACHEPLN;
V 统计当前活动的sql 信息:
SELECT * FROM V$SQL_STAT;
V 统计活动sql 的历史记录信息:
SELECT * FROM V$SQL_STAT_HISTORY;
V 查询数据库实例信息:
SELECT * FROM V$INSTANCE;
V SQL历史记录:
SELECT * FROM V$SQL_HISTORY;