隐藏参数_optimizer_adaptive_cursor_sharing 建议关闭隐藏参数_optimizer_adaptive_cursor_sharing只有在开启了_optim_peek_user_binds后才有意义,它可以防止不合理的执行计划,但是在实际生产环境中,_optimizer_adaptive_cursor_sharing会带来各种问题,产生bug,因此建议关闭该参数.
在PostgreSQL中很多实用的小技巧,有效的利用这技巧,有时候可以帮助我们在遇到意外的情况时,及时的恢复。本文借助PG MVCC实现机制,来介绍以下在PG中如果一个表的列被意外删除了怎么进行快速恢复。在PG中当一个表的列被删除时,其实并没有真正的删除而是在系统表中将该列标记为删除,在表不经过VACUUM FULL和UPDATE操作的情况下,通过修该pg_attribute表的attname、a
[sysomm@db1 ~]$ pg_controldata /mogdata/cluster_26000/ pg_control version number: 923 Catalog version number: 201611171 Database system identifier: 3422859389133465
页修剪create table hot (id int , s char(2000)); create index hot_id on hot(id); insert into hot values (1,'A'); auxdb=# SELECT * FROM heap_page_items(get_raw_page('hot',0)); lp | lp_off | lp_flags | l
MogDB=# select * from pg_indexes where tablename = 'pg_class'; schemaname | tablename | indexname | tablespace | indexd
安装Oracle客户端oracle_fdw插件依赖Oracle客户端的so文件,客户端包需要使用官方地址下载,然后解压。x86: https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.htmlARM: https://www.oracle.com/database/t
mysql_upgrade本质上为一个封装了mysqlcheck命令的脚本,流程如下:1 mysqlcheck --no-defaults --databases --fix-db-names --fix-table-names mysql2 mysqlcheck --no-defaults --check-upgrade --databases --auto-repair mysql3 mysq
解决方案SQL> create sequence seq; Sequence created. SQL> create or replace 2 procedure exchange_par( 3 p_table1 varchar2, 4 p_table2 varchar2, 5 p_t
1 创建集群var cluster = dba.createCluster('mgr1')2 给集群分配变量将集群 mgr1 分配给变量 cluster,如果刚通过 1 中的方式创建了集群,则可以不执行,如果是创建完集群,又退出了 MySQL Shell,则需要执行,方便后面命令执行。var cluster = dba.getCluster('mgr1')3 获取集群结构信息cluster.des
方案概述进行两种工具备份恢复mongoexport/mongoimportmongodump/mongorestore备份工具区别:备份格式: 1. mongoexport/mongoimport:导入/导出的是 JSON 格式或者 CSV 格式 2. mongodump/mongorestore:导入/导出的是 BSON 格式 应用场景: 1. mongoexport/mongoimport:
检查点在PostgreSQL中的检查点叫全量检查点,执行时会将buffer中的所有的脏页刷到磁盘,需要在一定时间内完成刷脏页的操作,导致数据库运行性能波动较大。同时全量检查点开始时需要遍寻内存中的所有脏页,内存越大,寻找脏页的时间也越长,具体过程如下:遍历所有BUFFER,将当前时刻的所有脏块状态改为CHECKPOINT NEEDED,来表示需要将这些脏块写出磁盘。这一步是在内存中完成的不涉及磁盘
slave-skip-errors全局静态参数,不可动态修改1 简介 mysql在主从复制过程中,由于各种的原因,从服务器可能会遇到执行BINLOG中的SQL出错的情况,在默认情况下,服务器会停止复制进程,不再进行同步,等到用户自行来处理。 slave-skip-errors的作用就是用来定义复制过程中从服务器可以自动跳过的错误号,当复制过程中遇
简述Mogdb在1.1.0版本引入动态脱敏(Dynamic Data Masking),通过2个版本的迭代,目前已经日趋完善,该功能通过定制化制定脱敏策略从而实现对隐私数据保护的一种技术,可以有效地不更改业务SQL的前提下,解决非授权用户对敏感信息的访问问题。当管理员指定待脱敏对象(LABEL)和定制数据脱敏策略(POLICY)后,用户所查询的数据库资源如果关联到对应的脱敏策略时,则会根据用户身份
MogDB=# select version(); version ---------------------
为什么要使用定时任务在一个固定的时间点活间隔一段时间需要频繁触发某一动作,为了使用便捷,有了定时任务,极大的减少了工作的重复性,提高了效率。定时任务的内容基于定时任务产生的背景,定时任务内容包括:定时任务的创建、任务到达时间点自动执行、删除任务、任务内容的修改(任务 id、任务的关闭开启、任务的触发时间、触发时间间隔、任务内容等)。定时任务1.创建表CREATE TABLE tb_test(ins
pg_trgm是PostgreSQL数据库的一个扩展插件,它提供了文本相似度查询函数和操作符,可以快速搜索相似字符串,并基于这些功能开发文本搜索工具或结合索引加速文本模糊查询。以下是关于pg_trgm的详细介绍:一、pg_trgm的基本概念Trigram(三元组):pg_trgm插件引入了Trigram概念,即从一个字符串中取出的由三个连续字符组成的文本组。对于长度小于3的字符串,pg_trgm会
分区表类型openGauss数据库支持这些划分类型: (1) 范围分区表:指定一个或多个列划分为多个范围,每个范围创建一个分区,用来存储相应的数据。 例如可以采用日期划分范围,将销售数据按照月份进行分区。 (2) 列表分区表:直接按照一个列上的值来划分出分区。例如可以采用销售门店划分销售数据。 (3) 间隔分区表:是一种特殊的范围分区,新增了间隔值定义。当插入记录找不到匹配的分区时可以根据间隔值自
结论PG的是事务和ORACLE的事务是不一样的在ORACLE事务中,有失败是可以继续执行的,且事务提交后,只有失败的不可见(成功的可见)在PG事务中,有失败,立即中止,且前面成功的,也会回滚报错:current transaction is aborted, commands ignored until end of transaction block原因oracle具有子事务功能,orale的子
High Waits On ‘block change tracking buffer space’ - Checkpoint Contention With BLOCK CHANGE TRACKING or RMAN Incremental Backup (Doc ID 2094946.1)ORACLE 10G BLOCK CHANGE TRACKING INSIDE OUT (Doc ID 1
方案概述1. 现象 当实际生产中,明明查询只有一条数据,没有其它用户修改这一笔数据,当我们需要修改这一笔数据时,往往会卡住,到底是怎么回事呢? 2. 模拟mysql的事务级别是RCmaster [localhost:21829] {root} (test) > show variables like '%iso%'; +----------------
select * from scott.emp这条sql的执行计划是全表扫描,现在我们希望它使用主键索引,测试记录如下:1.查看sql的sql_id select sql_text, sql_id,plan_hash_value from v$sql a where sql_text like '%scott.emp%' order by sql_text; SQL_TEXT
注意事项一般情况下备份ORACLE_HOME不需要停库和监听,但官方建议如果能停尽量,且一般打补丁都是需要停库,所以建议还是在停库和监听后再备份ORACLE_HOME.备份应当由root或者oracle用户执行,强烈建议用root,否则可能会遇到未知报错.tar备份时切记使用-p参数保留文件属性.还原备份时必须关库和监听.实施步骤1.切换到root [oracle@ora11 ~]# su - r
将db_name从ora11改为ora11b1.记录当前数据库名称 show parameter name; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ cell_offl
解决方案move tablespace概要说明:move tablespace 操作可以收缩段、消除部分行迁移、消除空间碎片、使数据更紧密。move tablespace 操作会降低高水位线,但不会释放申请的空间。可以使用move将一个表从当前的tablespace中移动到另一个tablespace中,或者仅在当前的tablespace中移动。move操作时,会在表上添加exclusive loc
查询要迁移的表空间的大的表SET LINESIZE 720; SET PAGESIZE 300; COL OWNER FOR A16; COL SEGMENT_TYPE FOR A20; COL SEGMENT_NAME FOR A38; COL TABLESPACE_NAME FOR A20; SELECT * FROM (SELECT OWNER,
问题概述当数据库中出现锁,或者程序无响应等,需要kill 掉数据库中的进程(锁),可以通过本文档的SQL 查询相关信息并进行 kill 。问题原因查询某个会话的锁SET linesize 180 col username FOR a15 col owner FOR a15 col OBJECT_NAME FOR a30 col SPID FOR a10 SELECT SESSION_ID,
在pdb refresh迁移过程中,由于Oracle 19c高低版本间,架建时部署组件的差异,有可能会导致某些组件失效;此时,需要根据实际场景,进行组件清理,比如:XDB修复,ORDIM删除,JAVAVM删除,SDO删除等。 在具体执行以下步骤时,请将pdb1替换成实际的pdb名称。1、XDB修复sys.validate_context、XDB.dbms_xdbt,是清理context组件残留的
故障案例1:JVM INVALID此故障经常出现在Oracle打补丁升级后,JAVA VM组件失效,状态变为INVALID以下SQL查询组件状态:select comp_name, version, status from dba_registry;JVM是一个独立的执行环境平台,其可以直接将JAVA源码编译成机器码,然后在特定的处理器架构或者系统下执行。修复方法: 1.set the fol
概念描述pg_prewarm 是一个辅助数据库在重启后预热重启前的数据,防止在重启后,数据库内存中并没有数据进行数据预读,这样的情况下,系统在第一次査询数据的时候后会比较慢,等待数据LOAD 仅内存中。pg_prewarm 模块提供了一种方便的方式将关系数据加载到操作系统缓冲区缓存或 PostgreSQL 缓冲区缓存中。预热可以使用 pg_prewarm 函数手动执行,也可以通过在 shared_
概念描述一、RESET MASTER有什么影响?对于启用了二进制日志记录的服务器(log_bin is on),RESET MASTER删除所有现有的二进制日志文件并重置二进制日志索引文件,将服务器重置为启动二进制日志记录之前的状态。将创建一个新的空二进制日志文件,以便可以重新启动二进制日志记录。对于正在使用 GTID 的服务器(gtid_mode is on ),发出命令RESET MASTER
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号