![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
dm
洋哥哥db
可以
展开
-
SQL 行转列,列转行
SELECT *FROM studentPIVOT (SUM(score) FOR subject IN (语文, 数学, 英语))或者SELECT name,MAX(CASEWHEN subject=‘语文’THEN scoreELSE 0END) AS “语文”,MAX(CASEWHEN subject=‘数学’THEN scoreELSE 0END) AS “数学”,MAX(CASEWHEN subject=‘英语’THEN scoreELSE 0EN.原创 2021-07-01 10:27:53 · 95 阅读 · 0 评论 -
日期时间正则
判断日期select REGEXP_LIKE('2021-1-1 9:00:00','[1-9]\d{3}-(0{0,1}[1-9]|1[0-2])-(0{0,1}[1-9]|[1-2][0-9]|3[0-1])')判断时间select REGEXP_LIKE('2021-1-1 9:00:00','20|21|22|23|[0-1]\d:[0-5]\d:[0-5]\d')原创 2021-04-08 16:20:12 · 185 阅读 · 0 评论 -
达梦8通过多个left join on 查询往表里查数据报超出全局hash join 空间,适当增加hj_buf_global_size的错误
达梦8通过多个left join on 查询往表里查数据报超出全局hash join 空间,适当增加hj_buf_global_size的错误解决方法:数据库里执行sp_set_para_value(1,‘hj_buf_global_size’,1000)原创 2020-08-27 16:11:44 · 2598 阅读 · 0 评论 -
PSEG_RECV可快速启动DM数据库
PSEG_RECV可快速启动DM数据库系统故障重启时,对活动事务和已提交事务的处理方式。0表示跳过回滚活动事务和PURGE已经提交事务的步骤。在回滚表空间出现异常,损坏,系统无法正常启动时,可将改值设为0,让系统启动。但也存在一定风险,未提交事务无法回滚和部分存贮空间无法回收,默认值是1。...原创 2020-08-31 11:11:44 · 288 阅读 · 0 评论 -
限制用户登录失败次数,登录IP,登录时间
限制用户登录失败次数,登录IP,登录时间例如:修改用户登录10次锁定,限制IP为172.21.18.登录,登录时间为周一早上到周五晚上6点alter user testuser limit failed_login_attemps 10 allow_ip "172.21.18." allow_datetime “MON” “8:00:00” to “FRI” “18:00:00”;...原创 2020-09-02 10:56:40 · 1101 阅读 · 0 评论 -
批量删除备份集
批量删除备份集增加要删除的备份集目录sf_bakset_backup_dir_add(‘DISK’,‘E:\dm\bak’);删除十天前的备份集sp_db_bakset_remove_batch(‘DISK’,NOW()-10);原创 2020-09-02 11:02:46 · 179 阅读 · 0 评论 -
监控锁表
declarev_sql varchar(500);v_sql2 varchar(500);v_date1 varchar(500);v_date2 varchar(500);beginloopv_date2:='2021-02-07 9:00:00';v_sql:='INSERT INTO TEST.TT SELECT B.NAME,SF_GET_SESSION_SQL(C.SESS_ID) FULL_SQL,A.* FROM V$LOCK A,SYSOBJECTS B,V$SESSIO原创 2021-02-06 10:36:36 · 216 阅读 · 1 评论 -
批量处理数据
declare i int; r_rowid varchar;begin i = 0; for j in (select rowid from XYXX_JC.QTTT_Tmp_419176 ) loop INSERT INTO XYXX_JC.QTTT_TWO SELECT * FROM "XYXX_JC"."QTTT_Tmp_419176" WHERE rowid=j.rowid; i = i + 1; ...原创 2021-01-28 13:41:21 · 233 阅读 · 0 评论 -
创建dblink
修改两个服务器dm.ini的 MAL_PORT=1配置两个服务器的dmmal.ini两个服务器内容一样[MAL_INST1]##数据库实例名,与dm.ini的INSTANCE_NAME配置项保持一致,MAL系统中数据库实例名要保持唯一MAL_INST_NAME = DMSERVER##MAL IP地址,使用MAL_HOST + MAL_PORT创建MAL链路MAL_HOST = 172.21.18.18##MAL监听端口MAL_PORT...原创 2021-01-25 14:47:00 · 173 阅读 · 0 评论 -
根据正则去特殊字符
SELECT REGEXP_REPLACE('徐 梅 ?','\s|\?','') FROM DUAL;原创 2021-01-25 14:44:18 · 131 阅读 · 0 评论 -
定期删除备份集
--每周一全量备份call SP_CREATE_JOB('每周一全量备份',1,0,'',0,0,'',0,'');call SP_JOB_CONFIG_START('每周一全量备份');call SP_ADD_JOB_STEP('每周一全量备份', 'FULL_BAK', 5, '01000E:\dm\dmdbms\data_new\DAMENG_NEW\bak', 1, 2, 0, 0, NULL, 0);call SP_ADD_JOB_SCHEDULE('每周一全量备份', '每周一10原创 2021-01-25 14:41:06 · 154 阅读 · 1 评论 -
基于时间点恢复数据库
1.备份数据库backup database full backupset 'bak';2.制造数据,生成归档日志,创建一张表,写入数据3.模拟故障,删除该表4.记录时间 select sysdate;5.使用备份和归档将数据恢复到指定时间1>停数据库服务2>进入rman3>还原数据库到备份状态restore database /dm8/data/DAMENG/dm.ini from backupset 'bak';4>使用归档日志恢复到指定时间recover.原创 2021-01-25 14:38:46 · 169 阅读 · 0 评论 -
dm参数优化
declarev_mem_mb int;v_cpus int;mem_per int:=100;MEMORY_POOL int;BUFFER INT;MAX_BUFFER INT;RECYCLE int;CACHE_POOL_SIZE int;BUFFER_POOLS int;RECYCLE_POOLS int;SORT_BUF_SIZE int;SORT_BUF_GLOBAL_SIZE INT;DICT_BUF_SIZE INT;SESS_POOL_SIZE INT;HJ_.原创 2021-01-21 10:19:41 · 463 阅读 · 0 评论 -
误操作删除了重要数据时,可以使用闪回查询来找回原来的数据,但当表被删除或者数据库没有开启闪回功能时
1.备份数据库 backup database full backupset 'DMTESTFULL_ONLINE0723';2.制造数据,生成归档日志3.模拟故障,删除表,并记录下删除表时的系统时间。4.使用备份和归档日志将数据库恢复到指定时间点5.使用步骤1的备份文件将数据库还原到备份时状态: RMAN> restore database '/dm8/data/DMTEST/dm.ini' from backupset 'DMTESTFULL_ONLINE0723';6.使用归档..原创 2021-01-20 17:17:40 · 343 阅读 · 0 评论 -
dm-笔记
查看已经执行超过2秒的SQLselect * from (select sess_id,sql_text,datediff(ss,last_recv_time,sysdate) Y_EXETIME,SF_GET_SESSION_SQL(SESS_ID) FULL_SQL,CLNT_IPfrom v$sessions where state='active') WHERE Y_EXETIME>2;查看被阻塞的SQLSELECT B.NAME,SF_GET_SESSION_SQL(C.SESS_I原创 2021-01-20 15:37:16 · 144 阅读 · 0 评论 -
使用dmetl快速装载报错
使用dmetl快速装载时报错[dm7 fast loader send rows failed]com.dameng.etl.api.DataAccessException: com.dameng.etl.api.DataAccessException: dm7 fast loader send rows failed查看目的表是否有位图索引,删掉位图索引就好了原创 2020-12-26 10:43:02 · 239 阅读 · 0 评论 -
时间转换
to_char(apprdate/(10006060*24)+to_date(‘1970-01-01’,‘YYYY-MM-DD’),‘YYYY-MM-DD’)原创 2020-12-16 15:22:24 · 123 阅读 · 0 评论 -
dm7闪回
SELECT * FROM V$DM_INI WHERE PARA_NAME LIKE '%ENABLE_FLASHBACK%' -- ENABLE_FLASHBACK=1select * from "SYSDBA"."T" when TIMESTAMP '2020-12-01 15:09:57.343000'原创 2020-12-01 15:14:56 · 140 阅读 · 0 评论 -
DMHS双向同步安装配置步骤
DMHS双向同步安装配置步骤环境:数据库都要配置归档都要打开附加日志(否侧启动cpt报错)两台服务器分别为捕获器服务器,执行器服务器配置--数据库要配置 ~/.bash_profile中 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/dmdbms/bin的环境变量方法一:通过web形式启动web服务 ./startWebServer.sh通过http://192.168.100.102:8080/manager/进入web配置界面启动捕获器,.原创 2020-06-22 22:08:08 · 470 阅读 · 0 评论 -
记录一次dm7连续两天挂掉的故障
dm7数据库连续两天挂掉查看数据库日志无明显错误查看操作系统日志发现如下问题:第一句日志意思为没有属于任何一个包,并且ProcessUnpackaged被设置成了no.通过查阅资料得知深层次原因为无法创建ccpp文件导致的,可以修改/etc/abrt/abrt-action-save-package-data.conf文件中的ProcessUnpackaged参数为yes刷新配置文件使其生效,数据一段时间运行正常,没有出现服务挂掉。...原创 2020-06-16 16:04:19 · 408 阅读 · 0 评论 -
DM7归档日志挖掘
1.创建系统包SP_CREATE_SYSTEM_PACKAGES(1);2.查看数据库是否开启了归档和追加日志(必须加)select para_name,para_value from v$dm_ini where para_name in ('ARCH_INI','RLOG_APPEND_LOGIC');3.查看数据库当前有那些归档日志SELECT NAME ,FIRST_TIME , NEXT_TIME , FIRST_CHANGE# , NEXT_CHANGE# FROM V$ARCHIVE原创 2020-06-15 15:27:15 · 204 阅读 · 0 评论 -
dm7数据库重演
在数据库系统上捕获所有负载保存到二进制捕获文件,然后通过DM提供的数据库重演工具将捕获文件中的请求发送给捕获前由原始数据库备份恢复而来的重演测试系统上,从而帮助重现当时的场景SP_START_CAPTURE('D:\dmdbm\data\DAMENG5\bh' ,-1);--开启捕获,前面参数表示捕获文件保存的绝对路径,后面表示捕获时间,-1表示手动停止create table SYSDBA.BH(ID INT);INSERT INTO SYSDBA.BH VALUES(1); --操作表CAL原创 2020-06-12 14:51:21 · 164 阅读 · 0 评论 -
dm7利用新备份还原恢复到指定的lsn或时间
恢复到指定的lsn1.备份源数据库BACKUP DATABASE BACKUPSET 'D:\dmdbm\data\DAMENG5\bak\db_full_bak_for_time_lsn';2.备份完后,正常修改源数据库数据3.如要将目的数据库恢复到当前状态,需查询源数据库当前lsnSELECT FILE_LSN FROM V$RLOG ;--97727994.还原数据库进入dmrman执行还原restore DATABASE 'D:\dmdbm\data\DAMENG3\dm.ini'.原创 2020-06-12 11:09:19 · 200 阅读 · 0 评论 -
dm7打开跟踪日志
用户在 dm.ini 中配置 SVR_LOG 和 SVR_LOG_SWITCH_COUNT 参数后就会打开跟踪日志。跟踪日志文件是一个纯文本文件;打开跟踪日志会对系统的性能会有较大影响,一般用于查错和调优的时候才会打开,默认情况下系统是关闭跟踪日志的。sp_set_para_value(1,'SVR_LOG',1); 是否打开sql日志功能 动态参数sp_set_para_value(1,'SVR_LOG_SWITCH_COUNT',10000); 每个文件记录sql的条数 动态参数...原创 2020-05-27 15:29:08 · 187 阅读 · 0 评论 -
DM7数据守护,通过服务名访问数据库
配置 DM 数据守护,一般要求配置连接服务名,以实现故障自动重连。连接服务名可以 在 DM 提供的 JDBC、DPI 等接口中使用,连接数据库时指定连接服务名,接口会随机选择 一个 IP 进行连接,如果连接不成功或者服务器状态不正确,则顺序获取下一个 IP 进行连 接,直至连接成功或者遍历了所有 IP。 配置方式: vi /etc/dm_svc.conf dm_shfw=(192.168.100.100:5536,1...原创 2020-05-21 16:56:07 · 183 阅读 · 0 评论 -
dm7数据守护2.0搭建
环境准备:1.准备三台服务器,分别为主机,备机,监视器(监视器不用初始化实例),三台服务器都已经安装了dm72.相关服务器ip和相关的端口配置如下:数据准备:配置数据守护之前,必须先同步主备机数据,确保两者保持完全一致。主数据库可以是 新初始化的实例,也可以是正在生产、使用中的实例。可以通过两种方式初始化同步主备机数据:数据文件拷贝以及备份还原方式。我这里采用数据脱机备份还原:1.正常关闭主库,备库;2.备份主库(备份前要配置主库归档):./dmbackup TYPE=FULL INI_P原创 2020-05-19 22:53:29 · 183 阅读 · 0 评论 -
dm7数据库启动不起来,占用内存不停增长
dm7数据库服务启动不起来,通过命令行启动也一直启动卡滞,然后dm数据库占用服务器的内存一直增长。通过将ENABLE_FREQROOTS参数由0改为1后,数据库成功启动,该参数作用如下: 指定FAST_POOL的管理方式。0:静态,系统启动时一次性载入内容,之后不再变化;1:动态,根据MAX_FREQ_ROOTS和MIN_FREQ_CNT参数值动态调整FAST_POOL内容;2:静态+动态模式,先在系统启动时载入内容,之后运行时根据和MAX_FREQ_ROOTSMIN_FREQ_...原创 2020-05-19 22:42:58 · 291 阅读 · 0 评论 -
通过dmetl连接hbase抽取数据
1.在dmetl中添加hbase数据源保证dmetl服务器和hbase服务器通信正常,添加hbase-site.xml配置文件,点击测试连接(注意配置dmetl服务器的ip映射)2.右键添加hbase数据,可添加hbase的相关表3.配置相关数据抽取转换注意:hbase中的rowid在dm7数据库属于关键字,在dm7数据库建表不能指定字段为rowid,配置dmetl转换时,需要...原创 2020-05-07 08:40:03 · 159 阅读 · 0 评论 -
利用ROWID批量提交,备份大数据大数据量表
利用ROWID批量提交,备份大数据大数据量表(rowid值依次递增,分配后的值不会再分配)CREATE TABLE TEST.CF_BAK AS SELECT * FROM TEST.CF WHERE 1=2;--创建空表DECLARE V_MAX_ROWID INT; V_COUNT INT; V_ROWS INT :=100000;BEGIN S...原创 2020-05-05 23:01:07 · 186 阅读 · 0 评论 -
dm7根据部分字段去重
delete from test.cf where (FDMCHXM,TYSHXYDM) IN(SELECT FDMCHXM,TYSHXYDM FROM TEST.CF GROUP BY FDMCHXM,TYSHXYDM HAVING COUNT(1)>1)AND ROWID not IN (SELECT MIN(ROWID) FROM TEST.CF GROUP BY FDMCHX...原创 2020-04-26 17:08:01 · 369 阅读 · 0 评论 -
dm7生成AWR报告
SP_CREATE_SYSTEM_PACKAGES (1,'DBMS_WORKLOAD_REPOSITORY');--创建DBMS_WORKLOAD_REPOSITORY包CALL DBMS_WORKLOAD_REPOSITORY.AWR_SET_INTERVAL(10);--设置awr的时间间隔DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT(); --手...原创 2020-04-24 17:26:51 · 175 阅读 · 0 评论 -
dm7逻辑备份还原dexp、dimp
--表的导出、导入: dexp SYSDBA/SYSDBA@127.0.0.1:2236 file=CF.dmp log=CF_dexp.log directory=D:\dmdbm\data\DAMENG5\bak\dexp tables=SYSDBA.cf,SYSDBA.cf_q parallel=4 dimp SYSDBA/SYSDBA@127.0.0...原创 2020-04-21 15:34:28 · 290 阅读 · 0 评论 -
dm7锁表查看
SELECT * FROM V$LOCK; --BLOCKED为1说明该事务被别的事务阻塞,trx_id为本事务的ID,ROW_IDX为阻塞事务id;上面语句也可以下面语句看:select * from v$trxwait; --查看是谁阻塞了谁,ID事务正在等待wait_for_id的事务--最后通过v$sessions看相应的sql,trx_id 表示本会话事务的ID阻塞解决办...原创 2020-04-21 08:33:25 · 1007 阅读 · 0 评论 -
DM7统计信息的查看收集
当一条SQL请求发送到数据库的时候,数据库的优化器也要通过一系列的代价算法来决定如何生成成本最低的执行计划(连接方式、访问路径、连接顺序及索引的选择),同时计算出所需花费的成本。而这个执行计划和花费的成本就需要统计信息的帮助。 SP_CREATE_SYSTEM_PACKAGES (1,'DBMS_STATS'); --如果还未创建过系统包。请先调用...原创 2020-04-18 23:39:53 · 509 阅读 · 2 评论 -
dm7调整配置参数及配置并行执行
DM7调整配置参数: SF_GET_PARA_VALUE (scope int, paraname varchar(256)); 配置参数的值类型为数值类型时使用该函数来获取当前值。SCOPE 参数为 1 表示获取 INI 文件中配置参数的值,为 2 表示获取内存中配置参数的值。 SF_GET_PARA_DOUBLE_VALUE(s...原创 2020-04-17 14:31:27 · 275 阅读 · 0 评论 -
dm7安装目录快满了,安装目录也没有做逻辑卷
dm7安装目录快满了,安装目录也没有做逻辑卷,扩充不了空间;可以通过select t.name tablespace_name,t.id file_id,d.path file_name,d.total_size*sf_get_page_size()/1024/1024||'m' total_spacefrom v$tablespace t, v$datafile d where t.id...原创 2020-04-17 10:32:06 · 97 阅读 · 0 评论 -
linux下DM7表空间数据文件误删恢复
如果表空间文件误删,那么对此表空间所有的操作都会失败,并报错该表空间内有数据文件被删除;linux系统中被删除的文件,只要其句柄没有被关闭,可以在/proc/<pid>/fd中找到对应的文件副本,其中pid为打开该文件的的进程id.对于DM7表空间数据文件误删恢复步骤如下: 1.调用系统过程SP_TABLESPACE_PREPARE_RECOVER(tables...原创 2020-04-16 09:53:20 · 445 阅读 · 0 评论 -
DM7通过数据文件备份迁移
1.登录当前数据库,查看当前数据库信息select * from v$version; --查看数据库版本select * path from v$datafile; --查看数据文件的路径select * from v$dm_ini where para_name like '%PATH%'; --查看dm.ini配置文件中带路径的参数2.停止数据库,将数据库的数据文件D:...原创 2020-04-14 10:28:02 · 204 阅读 · 0 评论 -
DM7数据库服务运行正常,用户登录突然报网络通讯异常
问题描述: DM7数据库服务运行正常,用户登录突然报网络通讯异常,查看数据库日志报错如下: 从日志可以看出是用户创建任务线程失败;解决办法: 1.看下数据库是那个用户启动的 ps -ef|grepdmserver 2.切换到该用户下 ,一般是dmdba su dmdba 3.查看该用户可同...原创 2020-04-09 13:06:30 · 756 阅读 · 0 评论 -
DM查询优化-统计信息
对象统计信息描述数据是如何在数据库中存储的。统计信息是优化器的代价计算的依据,可以帮助优化器较精确地估算成本,对执行计划的选择起着至关重要的作用。统计信息收集1.收集表的统计信息call dbms_stats.gather_table_stats(OWNNAME='TEST',TABNAME='student',DEGREE=3,ESTIMATE_PERCENT=50);2.收集索引的统...原创 2020-01-07 16:28:59 · 635 阅读 · 0 评论