SQL> sp_set_para_value(1,'ENABLE_FLASHBACK',1); 2、设置undo闪回时间为600s SQL> sp_set_para_double_value(1,'UNDO_RETENTION',600); 3、查询现有测试数据 4、删除9开头的数据 SQL> delete from "TEST"."TEST_TABLE" where id like '9%'; SQL> commit; 5、查看修改后的数据 6、查看当前时间...
1 UNDO_RETENTION 1200.000000 90.000000 SYS 已用时间: 2.795(毫秒). 执行号:60206. SQL> ALTER SYSTEM SET 'undo_retention'=1500 BOTH; DMSQL 过程已成功完成 已用时间: 4.387(毫秒). 执行号:60207. SQL> select para_name,para_value,default_value,para_type from v$dm_ini where para_name like '%...
2 )开启并行,并设置最大并行查询数为 4 ,执行完成后重启数据库生效 3 )未开启并行时查看查询表 T1 的执行计划 2. 手动并行 1 )修改 PARALLEL_POLICY 参数为 2 ,开启手动并行模式,并重启数据库 2 )执行命令查看执行计划,可以看到此时不是并行查询的 3 )因为开启了手动并行,所以需要使用 HINT 来指定并行度,...
但是,数据库不是一个可以无限存储的机器啊,在回滚段里面的值,对应的事务已经提交的情况下,它本应该可以被清理了,但是为了我们当前执行的这类查询不报错,我们也需要适当留一留。 那么,留多久,有一个undo_retention的参数决定,2017年往后的版本,默认值是300s了(以前默认是900s) 如何查看这个值: 这个就是说,如果...
达梦数据库执行某sql报错,报错为:-7120:回滚记录版本太旧,无法获取用户记录。#DM数据库专栏# 错误原因分析:当sql在执行期间时,无法从回滚页中获取有效数据。一般主要是因为数据变动导致。所以一般出现此情况,可以通过设置UNDO_RETENTION参数(事务提交后回滚页保持时间,单位为秒),保留较长时间的回滚页解决。一...
检查数据库参数ENABLE_FLASHBACK是否设置为1,开启闪功能,如果没有开启,将静态参数改为1,检查UNDO_RETENTION保留时间 alter system set 'ENABLE_FLASHBACK'=1 spfile select para_value from v$DM_INI WHERE PARA_NAME='ENABLE_FLASHBACK'; select arch_mode from v$database; ...
查询回滚段保留时长UNDO_RETENTION,默认为90秒。 超过90秒后,再来查询v$purge等PURGE回滚段视图,会发现此视图中的数据已经为空(回滚段已经被清理): 同时数据所占用的空间信息也被释放,如下所示: 三、总结 从上面测试可以看出: 1、CTAS方式创建表的同时并插入数据效率更高,比先创建表然后再插入数据要快。
alter system set ‘UNDO_RETENTION’=180 both|memory; 4.1 使用alter system set 语句 alter system set '参数名'='参数值' both | spfile | memory; 如果不指定则默认修改的是memory。 both:既修改内存中的值,也修改配置文件中的值,重启不重启都一样生效; ...
alter system set 'UNDO_RETENTION'=180 both; // 事务提交后回滚页保持时间 alter system set 'UNDO_RETENTION'=300 memory; alter session set 'LIST_TABLE'=1; // 默认情况下,创建的表不是堆表,0:否;1:是 alter system set 'BUFFER'= 500 spfile; //修改数据缓冲区大小为500M ...
select * from v$parameter t where name like UNDO_RETENTION; MAIN:用户默认表空间,当创建用户时,如果为指定用户的默认表空间,则 MAIN 为用户的默认表空间。 TEMP:临时表空间,存放临时表数据等、当大量的数据排序或创建索引占用临时表空间。DM 中临时表空间由参数 TEMP_SIZE 指定。