--兼容oracle要设置的参数:
SP_SET_PARA_VALUE(2,'COMPATIBLE_MODE',2);
SP_SET_PARA_VALUE(1,'ORDER_BY_NULLS_FLAG',1);
SP_SET_PARA_VALUE(1,'CALC_AS_DECIMAL',1);
SP_SET_PARA_VALUE(1,'ENABLE_SEQ_REUSE',1);
SP_SET_PARA_VALUE(1,'ENABLE_PL_SYNONYM',1);
SP_SET_PARA_VALUE(1,'ENABLE_BLOB_CMP_FLAG',1);
检查
SELECT *FROM V$DM_INI WHERE PARA_NAME LIKE 'TEMP_SPACE_LIMIT';
SELECT *FROM V$DM_INI WHERE PARA_NAME IN ('MEMORY_TARGET','BUFFER');
--更新license
1.找到达梦数据库$DM_HOME/bin路径
2.把新的key 更改为dm.key 并拷贝到$DM_HOME/bin目录
3.使用管理员用户SYSDBA登录
sp_load_lic_info();
4.检查新的license是否生效
select * from v$license;
--主从集群重启顺序
关闭
监视器--》备库守护进程 --》主库守护进程 --》主机数据库实例---》备机数据库实例
1.关闭监视器:Systemctl stop DmMonitorServiceDW
2.关闭备库守护进程:systemctl stop DmWatcherServiceDMSERVER02
3.关闭主库守护进程:systemctl stop DmWatcherServiceDMSERVER01
4.关闭主机数据库实例:systemctl stop DmServiceDMSERVER01
5.关闭备机数据库实例:systemctl stop DmServiceDMSERVER02
启动
主库实例--》备库实例--》主库守护进程--》备库守护进程
1.启动主机数据库实例:systemctl start DmServiceDMSERVER01
2.启动备机数据库实例:systemctl start DmServiceDMSERVER02
3.启动主库守护进程:systemctl start DmWatcherServiceDMSERVER01
4.启动备库守护进程:systemctl start DmWatcherServiceDMSERVER02
5.启动监视器: systemctl start DmMonitorServiceDW
只记得大概的关键字,不清楚视图具体的名称的查找方法:select * from v$dynamic_tables where name like '%关键字%'
select * from dba_objects where object_name like '%关键字%';
select *from dba_tables where table_name like '%关键字%';
select * from v$ifun where name like '%SP_%';
--设置用户免密登录
基于 普通用户 (TEST) 用户的操作系统验证
前期准备:
create user test IDENTIFIED by Dameng123 DEFAULT TABLESPACE test1;
grant public,resource,soi,svi,vti to test; #重要#
设置参数 ENABLE_LOCAL_OSAUTH 值为 1
sp_set_para_value(2,'ENABLE_LOCAL_OSAUTH',1);
重启数据库服务:
[dmdba@localhost bin]$ ./DmServiceDMSERVER restart
查询该参数:
select para_name,para_value,para_type from v$dm_ini where para_name ='ENABLE_LOCAL_OSAUTH';
[root@localhost ~]# groupadd dmdba
[root@localhost ~]# id dmdba
用户 id=1000(dmdba) 组 id=1000(dinstall) 组=1000(dinstall)
[root@localhost ~]# usermod -G dmdba dmdba
[root@localhost ~]# id dmdba
[root@localhost ~]# groupadd dmusers
[root@localhost ~]# useradd -G dmusers test
[root@localhost ~]# passwd test
[root@localhost ~]#su - test
[root@localhost ~]$/dm8/bin/disql / as users
------统计收集和展示--------
--收集指定schema下统计
dbms_stats.GATHER_SCHEMA_STATS('OWNNAME',100,'FALSE','FOR ALL COLUMNS SIZE AUTO');
-收集指定用户下所有表所有列的统计信息:
DBMS_STATS.GATHER_SCHEMA_STATS('username',100,TRUE,'FOR ALL COLUMNS SIZE AUTO');
--收集指定用户下所有索引的统计信息:
DBMS_STATS.GATHER_SCHEMA_STATS('usename',1.0,TRUE,'FOR ALL INDEXED SIZE AUTO');
--或 收集单个索引统计信息:
DBMS_STATS.GATHER_INDEX_STATS('username','IDX_T2_X');
--收集指定用户下某表统计信息:
DBMS_STATS.GATHER_TABLE_STATS('username','table_name',null,100,TRUE,'FOR ALL COLUMNS SIZE AUTO');
--收集某表某列的统计信息:
STAT 100 ON table_name(column_name);
展示列的统计信息和直方图的统计信息
dbms_stats.COLUMN_STATS_SHOW('OWNNAME','TABNAME','COLNAME')
dbms_stats.TABLE_STATS_SHOW ('OWNNAME','TABNAME')
dbms_stats.INDEX_STATS_SHOW ('OWNNAME','INDEXNAME')
自动收集统计信息
DM 数据库支持统计信息的自动收集,当全表数据量变化超过设定阈值后可自动更新统计信息。
--打开表数据量监控开关,参数值为 1 时监控所有表,2 时仅监控配置表
SP_SET_PARA_VALUE(1,'AUTO_STAT_OBJ',2);
--设置 SYSDBA.T 表数据变化率超过 35% 时触发自动更新统计信息
DBMS_STATS.SET_TABLE_PREFS('SYSDBA','T','STALE_PERCENT',35);
--配置自动收集统计信息触发时机
SP_CREATE_AUTO_STAT_TRIGGER(1, 1, 1, 1,'00:00', '2024/6/25',60,1);
--函数各参数介绍
SP_CREATE_AUTO_STAT_TRIGGER(
TYPE INT, --间隔类型,默认为天
FREQ_INTERVAL INT, --间隔频率,默认 1
FREQ_SUB_INTERVAL INT, --间隔频率,与 FREQ_INTERVAL 配合使用
FREQ_MINUTE_INTERVAL INT, --间隔分钟,默认为 1440
STARTTIME VARCHAR(128), --开始时间,默认为 22:00
DURING_START_DATE VARCHAR(128), --重复执行的起始时间,默认 1900/1/1
MAX_RUN_DURATION INT, --允许的最长执行时间(秒),默认不限制
ENABLE INT --0 关闭,1 启用 --默认为 1
);
文章
阅读量
获赞