- 博客(107)
- 收藏
- 关注
原创 selectdb修改表副本
如果想修改表的副本数需要首先确定是否分区表,当前没有数据字典得知哪个表是分区的,只能先show partitions看结果。可以指定某个分区为多个副本,其他分区为单副本。首先,副本数不应该大于be节点数。
2025-04-05 00:00:00
185
原创 查看达梦数据库对象
初学达梦,有时想知道某个对象是否存在,需要查看内部数据字典,oracle的都可通过dba_objects获取,但是达梦的需要拼凑一下。说明还有index_used_space、ts_used_space等。例如知道table_used_space函数,其他类似的还有哪些?
2025-03-31 00:00:00
232
原创 达梦改密码时不想看到明文
这里采用了SHA-512加密算法(看第2张图片中的蓝色箭头),长度为128字节,且密码一样的话加密后的PASSWORD内容也一样。有人可能想,开启了dmsql日志是不是能看到所有操作。至少在你旁边的人看不到你把密码改为什么了。这里很明显被掩盖为黑点了,放心输入即可。找到用户,点击右键,选择modify。最简单的是用manager工具。但不想让别人看到你的密码明文。dba_users就不行了。还好达梦也做了安全保护。有时,需要修改用户密码。这不,密码全被看到了。那到底密码是什么呢?
2025-03-27 00:00:00
334
原创 莫名奇妙的ORA-4030
检查近期活跃sql_id时,如果将日期范围改为3天也会触发这个ORA-4030,说明是共性问题。检查会话的执行计划发现是备库,只能通过display_cursor 看执行计划。看起来像是共享池空间不足。共享池、pga都很大。看起来内存使用也不高。
2025-03-27 00:00:00
170
原创 为什么不建议使用达梦dba_前缀的数据字典
开发过数据库的都知道,dba_前缀的数据字典都是由一些底层视图组成成。可以通过10046看吗,估计比较麻烦,还是用sql_monitor吧。想查数据字典还是得看sysobjects,对,这一个就够了。假如我想查二级分区索引,结果很慢,12秒才返回。就说第19步的最耗时。
2025-03-25 00:00:00
125
原创 丐版插入selectdb模拟
为了模拟不断插入数据到库里,写个简单的循环脚本。仅为验证数据插入是否报错或有明显的变慢情况。0.2是每次插入后延时0.2秒。
2025-03-25 00:00:00
158
原创 好吧好吧,看一下达梦的模式与用户的关系
单凭个人感觉,模式在达梦中属于逻辑对象合集,回头再看资料。知道schid在sysobjects中大有用途。问题来了,模式的ID和用户的ID一样吗?应该是一个用户可以对应多个模式。简洁版的查询无效索引。
2025-03-24 00:00:00
153
原创 5年前问题的答案,如何造统计信息
数据变化有规律的前提下,为了减少收集统计信息耗时或避免错过收集窗口,巧妙的办法是复制统计信息。如果不锁定,后期收集窗口会修改吗?
2025-03-06 00:15:00
162
原创 oracle游标为什么没有共享,统计一下原因
BIND_LENGTH_UPGRADEABLE:绑定长度可升级,并且无法共享,因为一个绑定变量大小小于正在插入的新值(在早期版本中被标记为BIND_MISMATCH)。ROLL_INVALID_MISMATCH:超过了滚动无效窗口。这是由DBMS_STATS的滚动无效功能引起的。因为它的无效窗口已经超过了,所以子游标不能被共享。BIND_MISMATCH:绑定元数据与现有的子游标不匹配。很清晰了,绑定变量不匹配。
2025-03-03 00:00:00
328
原创 a_init: Unable to get log name. Retval:[-4]是什么故障
你想直接echo>+ASM1_rbal_13057.trc 降低大小,不确定内存是否会降下来,可能会有其他风险,稳妥的dba不会这么干的。看来rba有些异常,按说只有添加、删除asm磁盘才会导致其干活,这个最近没有扩容asm磁盘组操作,按说不应该活跃。好了,重启一下数据库集群,然后可释放内存并减少trc文件大小(把老的删除即可)看到arbl进程占用11%,比对节点2同样如此,比对其他环境确很低。嗯,看来还是v$asm_disk_stat这个好,低成本。扫了一眼,比较幸运找到一个,看一下版本及症状。
2025-02-28 00:15:00
323
原创 靠腰嘞,达梦manager方块、乱码怎么办
通过MobaXterm连接达梦数据库服务器, 打算启动manager玩耍一下。将INSTALL_LANGUAGE从zh_CN改为en_US 后保存退出。其实是个shell脚本文件,然后用vi打开这个脚本。可见变回英文的了,至少大概能看懂。看看manager文件所在位置。变回中文的方式等等再说。再次打开manager。
2025-02-27 00:00:00
197
原创 达梦数据库版本,想搞清楚不容易
也就是说开发人员编译时在17号,然后经过打包测试后发布日期为22号。想试用一下达梦数据库,登录官网点击“达梦数据库管理系统”记住这里的文件名中日期显示20250122。but,数据库版本该如何登记和称呼呢?领导问:我们达梦数据库版本是什么?这里显示的日期为20250117。你告他:03134284336。建议先扣产品经理100元工资。安装后检查一下数据库版本。然后,点击“试用下载”选择后,下载了一个文件。
2025-02-24 00:00:00
192
原创 达梦存储过程执行后 sql日志信息粗读
我猜代表执行节点execute point的意思,可以理解为oracle的thread 或实例,默认从0开始,DSC(类似ORACLE的RAC环境)中会看到EP[1][SEL]这是sql的类型,可能有DML、SEL、INS、DEL等,也有可能是操作符,例如DLCK。根据日志输出,可见只记录存储过程最外层的执行情况,如果内部有事务才输出相关信息。sql执行句柄,同一会话的不同sql还是一样的(有点像sess_id)事务id,即使查询也分配一个事务id,如果会话内开启一个事务则会增加1。
2025-02-20 00:00:00
706
原创 改变oracle执行计划,狸猫换太子
试验通过DBMS_SPM包来替换执行计划。红色箭头是慢的,绿色箭头是优化后的。通过hint优化后获得新执行计划。
2025-01-31 00:00:00
339
原创 显示当前绑定变量
当用户修改变量后再执行时可能捕获不到,绑定变量并不会全部记录,而是采样方式记录,受_cursor_bind_capture_interval隐含参数控制。测试两个变量的情况(实际可以看6个,可根据需要修改)看到当前两个绑定变量的值是SYS 和50。如果清理执行计划,重新执行(发生了硬解析)sql_id 和执行计划如下。默认是900秒捕获一次。来自v$sql中的信息。
2025-01-31 00:00:00
232
原创 展示统计信息收集情况
可以看到某个对象(通常是变化超过10%的表或索引才被收集)开始收集时间和结束时间。前面是索引,后面是表的收集情况。看看最近是否收集失败。
2025-01-29 00:15:00
317
原创 oracle比较一下统计信息差异吧
上次收集表T1(以dba_users数据为样例演示)统计信息时,表中有36条记录,插入10条后再收集,又插入了54条收集后,比对结果看到,最终是96条了。表T1中expiry_date空值之前有31个(大部分用户没有过期),随机插入一些后,累计到76个。从上次收集到最近一次收集有什么不同?统计信息发生了哪些变化?
2025-01-29 00:00:00
328
原创 除了v$session,第二个需要学习的就是v$sql啦
业务系统发出的sql语句,到数据库中执行,dba进行分析时需要从库里查出来,是经常需要做的事。通常是根据关键字得到sql_id,然后再取完整的sql文本。完整的文本可再通过v$sqltext获取。
2025-01-28 00:00:00
178
原创 向达梦告警日志说声hello
为了调试和跟踪一些业务功能,通常会创建一个日志表,写入每个关键步骤的信息。也可以向达梦数据库的告警日志输出信息,然后通过查看告警日志即可。在达梦的告警日志中输出一个信息可以这样。
2024-12-14 00:00:00
335
原创 难道我用了一个假oracle 23c?
原先的oracle 19.17多租户虚拟机占用磁盘空间较大,于是下载了官方的oracle 23c模板做练习。建个用户默认放到cdb中,要求前缀c##,但是连接时容易连到pdb中,得时刻记得加 FREE才是pdb。操作系统是 Oracle Linux Server release 8.10。增加了ping、oerr,不用再像以前通过!默认创建用户,会建在cdb下,必然要求加c##了。mysql模仿者,不用加 from dual了。数据库版本是 Oracle 23c。授予dba权限,但是连不上库。
2024-12-04 00:00:00
144
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人