首页 > 数据库 >达梦数据库系列—45.系统存储过程总结

达梦数据库系列—45.系统存储过程总结

时间:2024-08-02 15:59:58浏览次数:10  
标签:SP PARA -- 数据库 45 参数 达梦 SF SELECT

目录

参数

数据库

执行计划

会话

备份恢复

数据守护

归档日志

SQL LOG

统计信息


参数

查询数值类型参数值

--语法格式:

select SF_GET_PARA_VALUE (scope int, paraname varchar(256));

--SCOPE 参数为 1 表示获取 INI 文件中配置参数的值

--SCOPE 参数为 2 表示获取内存中配置参数的值

--例如:获取 DM.INI 文件中动态参数 HFS_CACHE_SIZE 的当前值

select SF_GET_PARA_VALUE (1,'HFS_CACHE_SIZE');

查询浮点型参数值

--语法格式

select SF_GET_PARA_DOUBLE_VALUE(scope int, paraname varchar(8187));

--SCOPE 参数为 1 表示获取 INI 文件中配置参数的值

--SCOPE 参数为 2 表示获取内存中配置参数的值

--例如:获取内存中 参数SEL_RATE_EQU 的当前值

select SF_GET_PARA_DOUBLE_VALUE(2,'SEL_RATE_EQU');

查询字符串类型参数值

--语法格式

select SF_GET_PARA_STRING_VALUE(scope int, paraname varchar(8187));

--SCOPE 参数为 1 表示获取 INI 文件中配置参数的值

--SCOPE 参数为 2 表示获取内存中配置参数的值

--例如:获取 DM.INI 文件中动态参数 SQL_TRACE_MASK 的当前值

select SF_GET_PARA_STRING_VALUE(1,'SQL_TRACE_MASK');

获得当前会话的某个会话级 INI 参数的值

--语法格式

select SF_GET_SESSION_PARA_VALUE (paraname varchar(8187));

--例如:获取当前会话 USE_HAGR_FLA 参数的值

select SF_GET_SESSION_PARA_VALUE ('USE_HAGR_FLAG');

修改整型参数

SP_SET_PARA_VALUE (scope int, paraname varchar(256), value int64);

SP_SET_PARA_VALUE (1,'HFS_CACHE_SIZE',320);

修改浮点型参数

SP_SET_PARA_DOUBLE_VALUE(scope int,paraname varchar(8187),value double);

SP_SET_PARA_DOUBLE_VALUE(1, 'SEL_RATE_EQU', 0.3);

修改系统整型、double、 varchar的配置参数

--语法格式

SF_SET_SYSTEM_PARA_VALUE(paraname varchar(256),value int64\double\varchar(256),deferred int,scope int64);

--DEFERRED 参数为 0 表示当前 session 修改的参数立即生效,默认为 0

--DEFERRED 参数为 1 表示当前 session 不生效,后续再生效

--SCOPE 参数为 1 表示在内存和 INI 文件中都修改参数值,此时只能修改动态的配置参数

--SCOPE 参数为 2 表示只在 INI 文件中修改配置参数,此时可用来修改静态配置参数和动态配置参数

--例如:将动态参数 ENABLE_DDL_ANY_PRIV 设置为 1,且当前 session 立即生效

select SF_SET_SYSTEM_PARA_VALUE('ENABLE_DDL_ANY_PRIV',1,0,1);

修改会话级INI参数的值,设置的参数值只对本会话有效

SF_SET_SESSION_PARA_VALUE (paraname varchar(8187), value bigint);

--例如:将 USE_HAGR_FLAG 设置为 1,且只对本会话有效

select SF_SET_SESSION_PARA_VALUE ('USE_HAGR_FLAG',1);

重置某个会话级 INI 参数的值

--语法格式

SP_RESET_SESSION_PARA_VALUE (paraname varchar(8187));

--例如:重置 USE_HAGR_FLAG

select SP_RESET_SESSION_PARA_VALUE ('USE_HAGR_FLAG');

数据库

查看版本

select id_code();

SELECT SF_GET_UNICODE_FLAG ();

查看字符集

select UNICODE ();

查看页大小

select SF_GET_PAGE_SIZE(); 

查看簇大小

SELECT SF_GET_EXTENT_SIZE ();

查看永久魔数

SELECT PERMANENT_MAGIC();

打开监听

SP_OPEN_LSNR();

关闭监听

SP_CLOSE_LSNR();

查看表定义

CALL SP_TABLEDEF('SYSDBA', 'ORDERS');

根据对象类型、对象名、对象所属模式返回DDL语句:

SELECT SF_DBMS_METADATA_GET_DDL(OBJECT_TYPE=>'TABLE',OBJECT_NAME=>'DICT_AREA',SCHNAME=>'TEST');

查看视图定义

CALL SP_VIEWDEF('SYSDBA', 'VIEW1');

查看约束定义

//通过查询系统表

SELECT C.INDEXID FROM SYSOBJECTS O,SYSCONS C WHERE O.NAME='CONS1' AND O.ID=C.ID;

//系统生成C2上的INDEX为33555481

SELECT CONSDEF(33555481,1);

查看索引定义

//查询系统表得到索引ID

SELECT NAME, ID FROM SYSOBJECTS WHERE NAME='PRODUCT_IND' AND SUBTYPE$='INDEX';

SELECT indexdef(33555530,1);

查看全文索引定义

//查询系统表得到全文索引ID

select name, id from sysobjects where name='PRODUCT_CINd';

select context_index_def(33555531, 1);

查看同义词定义

SELECT SYNONYMDEF('SYSDBA', 'SYSOBJECTS',0,1);

查看序列定义

SELECT ID FROM SYSOBJECTS WHERE NAME='SEQ1'; //查出id为167772160

SELECT SEQDEF(167772160, 1);

禁用/启用触发器

SP_ENABLE_EVT_TRIGGER('SYSDBA', 'TRI_1', 1);

SP_ENABLE_EVT_TRIGGER('SYSDBA', 'TRI_1', 0);

分配给表的页面数

SELECT TABLE_USED_SPACE('SYSDBA','SPACE_TABLE');

表已使用的页面数

 SELECT TABLE_USED_PAGES('SYSDBA','SPACE_TABLE');

表的总行数

SELECT TABLE_ROWCOUNT('SYSDBA','TAB1');

执行计划

仅当历史执行计划持久化功能打开(USE_PLN_POOL!=0,ENABLE_MONITOR_PLNHIST=1)时,使用 DBMS_XPLAN 包才有意义。

展示sql语句的历史执行计划

如果还未创建过系统包。请先调用系统过程创建系统包

SP_CREATE_SYSTEM_PACKAGES (1,'DBMS_XPLAN');

DBMS_XPLAN.DISPLAY_PLANHIST('SELECT C1 FROM T1;');

会话

杀会话

SP_CLOSE_SESSION(510180488);

解锁用户

SP_UNLOCK_USER('USER123');

查看当前用户

SELECT USER();

查看当前数据库

SELECT CUR_DATABASE();

查看当前用户ID

SELECT UID();

查看当前会话ID

SELECT SESSID ();

备份恢复

查看备份集信息,需要先添加备份目录,V$BACKUPSET_SEARCH_DIRS有目录信息,当前会话执行查询。

添加备份目录

SELECT SF_BAKSET_BACKUP_DIR_ADD('DISK','/dm/backup');

删除备份目录,只删目录不删文件

SELECT SF_BAKSET_BACKUP_DIR_REMOVE('DISK','/dm/backup');

SELECT SF_BAKSET_BACKUP_DIR_REMOVE_ALL();

删除备份目录,删除文件

SELECT SF_BAKSET_REMOVE('DISK','/dm/backup/db_full_bak_01',1)

删除备份集

SELECT SF_BAKSET_REMOVE_BATCH ('DISK', now(), NULL, NULL);

删除满足指定条件的所有库级备份集

SELECT SF_BAKSET_REMOVE_BATCH_S ('DISK', now(), NULL, NULL);

删除满足指定条件的所有库级备份集,保留备份时间最新的 n 个库级完全备份集

SELECT SF_BAKSET_REMOVE_BATCH_N ('DISK', now(), NULL, NULL, 2);

删除指定时间之前的数据库备份集

CALL SP_DB_BAKSET_REMOVE_BATCH('DISK', NOW());

删除指定表空间对象及指定时间之前的表空间备份集

CALL SP_TS_BAKSET_REMOVE_BATCH('DISK',NOW(),'MAIN');

删除指定表对象及指定时间之前的表备份集

CALL SP_TAB_BAKSET_REMOVE_BATCH('DISK',NOW(),'SYSDBA','TAB_FOR_BATCH_DEL');

删除指定时间之前的归档备份集

CALL SP_ARCH_BAKSET_REMOVE_BATCH('DISK', NOW());

BACKUP ARCHIVELOG BACKUPSET '/dm/backup/arch_bak_for_batch_del';

SELECT SF_BAKSET_BACKUP_DIR_ADD('DISK','/dm/backup');

CALL SP_ARCH_BAKSET_REMOVE_BATCH('DISK', NOW());

数据守护

设置OGUID

SP_SET_OGUID (451245);

设置实时归档有效/无效

SP_SET_RT_ARCH_VALID ();

SP_SET_RT_ARCH_INVALID ();

获取实时归档状态

SELECT SF_GET_RT_ARCH_STATUS ();

归档日志

设置刷脏页百分比为 30% 的检查点

SELECT CHECKPOINT(30);

删除三天之前的归档

SELECT SF_ARCHIVELOG_DELETE_BEFORE_TIME(SYSDATE - 3);

删除 LSN 值小于 95560 的归档日志文件

SELECT SF_ARCHIVELOG_DELETE_BEFORE_LSN(95560);

SQL LOG

使配置生效

SP_REFRESH_SVR_LOG_CONFIG();

修改SVR_LOG参数为1

sp_set_para_value(1,'SVR_LOG',1);

统计信息

对库上所有模式下的所有用户表以及表上的所有索引生成统计信息

CALL SP_DB_STAT_INIT ();

对某张表生成统计信息

SP_TAB_STAT_INIT ('SYS', 'SYSOBJECTS');

对表上所有的索引生成统计信息

SP_TAB_INDEX_STAT_INIT ('SYS', 'SYSOBJECTS');

对某个表上所有的列生成统计信息

SP_TAB_COL_STAT_INIT ('SYS', 'SYSOBJECTS');

对指定的索引生成统计信息

SP_INDEX_STAT_INIT ('SYSDBA', 'IND');

对指定的列生成统计信息

SP_COL_STAT_INIT ('SYS', 'SYSOBJECTS', 'ID');

对某个表上所有的列,按照指定的采样率生成统计信息

SP_STAT_ON_TABLE_COLS ('SYS','SYSOBJECTS',90);

对'SELECT * FROM SYSOBJECTS'语句涉及的所有表生成统计信息

SP_SQL_STAT_INIT ('SELECT * FROM SYSOBJECTS');

标签:SP,PARA,--,数据库,45,参数,达梦,SF,SELECT
From: https://blog.csdn.net/md54333/article/details/140872659

相关文章

  • 达梦数据库系列—44.SQL调优
    目录SQL优化思路1、定位慢sql2、SQL分析方法2.1执行计划2.2ET工具2.3dbms_sqltune工具3、SQL语句优化3.1索引3.2SQL语句改写3.3表设计优化3.4表的连接方式3.5HINT4、统计信息SQL优化思路1、定位慢sql待优化的SQL大致可分为两类:1、SQL执行时间在十......
  • 使用pg_basebackup备份和恢复一个pg数据库
    创建用于备份用的用户:创建数据库备份用户:psql-Upostgres-c"CREATEUSERdbbackupWITHREPLICATIONPASSWORD'123456'"-U指定备份用户-c指定创建用户命令备份用户只需要授权:replication即可创建用于备份的目录:创建备份目录:mkdir-p/pgdata/backup/如果不是本......
  • MySQL:初识数据库&初识SQL&创建数据库
    目录1、初识数据库1.1什么是数据库1.2 什么是MySQL2、数据库2.1 数据库服务&数据库2.2C/S架构3、初识SQL3.1什么是SQL3.2 SQL分类 4、使用SQL4.1查看所有数据库4.1.2语句解析 4.2创建数据库4.2.1 ifnotexists校验 4.2.2手动明确字符集和排序规......
  • A086-基于SpringBoot+vue实现的在线小说阅读平台(源码+数据库+部署文档+包运行)
    (=======如需源码请查看博主个人信息介绍,可联系博主获取源码=============)开发语言和框架:JDK版本:确保使用JDK1.8,以支持SpringBoot的最新特性和性能优化。服务器:使用Tomcat7作为您的应用程序的服务器,提供可靠的运行环境和良好的性能。数据库:选择MySQL5.7作为......
  • sql更新数据库表的某一字段每条记录的随机数
    sql更更新数据库表的某一字段每条记录的随机数(6位随机数)使用游标实现,以下代码在SQL里执行即可--声明游标DECLARE@user_idvarchar(36)DECLAREuser_extension_cursorCURSORFORSELECTid--表里唯一识别ID(改为自己表里的字段名)FROM[test].[dbo].[my_table]--表名......
  • P4544 [USACO10NOV] Buying Feed G
    思路:考虑动态规划算法。定义\(dp_{i,j}\)表示达到第\(i\)家商店时共买了\(j\)吨饲料的最小花费,那么我们可以枚举到达上一家店的饲料数\(k\):\[dp_{i,j}=(x_i-x_{i-1})\timesj^2+\min\limits_{k=j-f_{i-1}}^jdp_{i-1,k}+c_{i-1}\times(j-k)\]可以将和\(i-1\)......
  • 达梦数据库安装
    一、安装前环境准备1.创建用户groupadddinstalluseradd-gdinstall-m-d/home/dmdba-s/bin/bashdmdbaiddmdbauid=1000(dmdba)gid=1000(dinstall)组=1000(dinstall)2.操作系统资源限制检查ulimit-SHn65535vim/etc/security/limits.conf*softnofile......
  • 如何通过日志恢复数据库?
     不小心删表删库,没有日志备份,如何通过日志恢复数据库到故障点?  最近有同事不小心把数据库的表删除了,数据库只有完整备份,但是时间是好几天前,并且没有日志备份。我们希望通过日志恢复到删表的那个点,既然没有日志备份,如何通过日志恢复呢?  日志恢复的前提条件:1.数据库的恢复模......
  • vue项目播放本地音频和数据库音频
    前期准备:vue项目,安装好了axios和mock,如果没有可以看我的博客全新vue项目使用mock实现效果:点击按钮之后,可以播放音频,本地音频是放在vue项目里的,数据库音频是需要调用后端请求获得音频的(这里是获取mock中的base64音频数据)vue项目vue-audio目录结果如下,其中我在public/static中放了......
  • druid数据库连接池在使用中遇到的一些问题和说明
    getconnectiontimeoutretry:12024-02-0611:18:26.364ERROR23752---[eate-1838225797]com.alibaba.druid.pool.DruidDataSource:createconnectionSQLException,url:jdbc:oracle:thin:@192.168.66.88:1521:orcl,errorCode17002,state08006有正在执行的SQL......