![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
文章平均质量分 59
kevin_linshaojie
learning
展开
-
Oracle: 行锁等待时从V$active_session_history中的信息构建rowid
行锁等待时从V$active_session_history中的信息构建rowid行锁等待(enq: TX - row lock contention)出现时,有时想要得到具体是等待在哪一行数据上,V$active_session_history中有几个字段可用于构建rowid:current_obj#,current_file#,current_block#,current_row#。其中需要注意的是current_obj#对应的是dba_objects.object_id,但是dbms_rowid.原创 2021-03-13 17:29:35 · 422 阅读 · 0 评论 -
Oracle: archive归档速度控制尝试
Oracle: archive归档速度控制尝试1. 概述2. _log_archive_buffers3. 控制IO后的压测表现1. 概述前段时间进行压测,由于硬件条件不是最理想,压测过程中出现TPS波动,主要发生在归档产生期间。redo日志切换且进行归档时,TPS出现波动。Redo文件已经独立存放于独立介质,而归档时仍会出现大量读取redo文件的 IO,使请求队列增加,IO请求服务时间增加,造成波动。解决思路:提升IO能力。降低IO需求。这里我们尝试去降低IO需求,也就是找方法限制归档的速度。原创 2021-03-13 11:40:49 · 337 阅读 · 0 评论 -
Oracle: 通过一个案例重新认识index range scan以及复合索引的创建
Oracle: 通过一个案例重新认识index range scan以及复合索引的创建1. 概述2. 索引和表信息:3. 两个类似SQL的执行计划与区别3.1 SQL1 CHRDT为范围条件3.2 SQL2 CHRDT为 in 条件4. 讨论1. 概述本文的执行计划问题其实是由于统计信息的问题,而本文的主要目的是重新认识一下index range scan以及复合索引。结论是前导列在where条件中不适合出现范围条件,这个在以前有提到过:“Oracle BTREE索引创建一般性经验(主要是前3条)”。原创 2021-03-13 11:11:17 · 650 阅读 · 0 评论 -
Oracle:两个分区表之间exchange分区体验
Oracle : 两个分区表之间exchange分区体验-11.2.0.4 1. 创建初始分区表结构2. exchange 分区到中间表3. 创建历史表4. 中间表exchange到历史表5. 其他考虑1. 创建初始分区表结构create table test_partition (id number,ac_dt VARCHAR2(8),c3 number,c4 varchar2(8))partition by range (ac_dt)(partition test_p1 val原创 2021-03-06 13:06:08 · 839 阅读 · 1 评论 -
Mysql:从mysqldump备份文件恢复数据的一次过程
从mysqldump备份文件恢复数据的一次过程记录导入前优化.sql文件拆分因max_allowed_packet不足导致导入时出现的错误导入前优化Mysql服务及innodb配置(基于硬件条件):character-set-server = utf8mb4innodb_buffer_pool_size = 2Ginnodb_log_buffer_size = 256Minnodb_log_file_size = 1Ginnodb_write_io_threads = 16innodb_fl原创 2021-03-05 21:38:34 · 256 阅读 · 0 评论 -
oracle: date类型在10053 trace中的min/max值代表什么
使用以下查询可得julian日以来的天:SQL> SELECT TO_CHAR(TO_DATE('08-28-2012', 'MM-DD-YYYY'),'J') from dual;TO_CHAR-------2456167 ---与10053事件的trace中min对应值一致SQL> select TO_CHAR(TO_DATE('BC4712010100:00', 'BCYYYYMMDDHH24:MI'),'J') from dual;TO_CHAR-------000原创 2021-02-24 22:41:33 · 166 阅读 · 0 评论 -
count(*) and count(1) and count(colname)
1.count(*)If you specify the asterisk (*), then this function returns all rows, including duplicatesand nulls.2.count(*)和count(1)都是统计所有行的3.count(colname)统计col列不为空的记录#mysql8.0mysql> select * from student;+-----------+-----------+---------+--------原创 2021-02-24 22:16:18 · 108 阅读 · 0 评论 -
MySQL:Waiting for table flush,blocker与表锁
MySQL: Waiting for table flush,blocker与表锁主要内容另外记录几点:1. mysqldump在--flush-logs 或--master-data 时会触发flush tables.2. 在id 257 上进行commit,并不能释放锁,目前发现两种方法可释放lock table造成的表锁:1) 在锁表的当前会话中执行unlock tables;2) kill 锁表的会话。3. 在mysql命令行中执行flush logs操作并不会被长时间查询或lock table阻塞原创 2021-02-20 18:00:05 · 509 阅读 · 0 评论 -
index full scan/index fast full scan以及B+树索引
index full scan/index fast full scan以及B+树索引了解index full scan/index fast full scan的读取方式与顺序Oracle BTREE索引创建一般性经验(主要是前3条)以下步骤与信息供参考:index full scan运行并10046 trace记录,可见是按照index tree来进行访问的,以单个索引块访问为主index fast full scan的10046 trace,可见是以dba_extents的顺序进行全索引扫描的,以多块原创 2021-02-11 11:39:56 · 1278 阅读 · 1 评论 -
MySQL字符集初探
MySQL字符集初识官网信息基本情况字符集转化行为更换客户端相关字符集后的数据情况官网信息首先,推荐官网文档中关于字符集、排序规则、统一编码的章节内容,更为细致的进行了解:“Chapter 10 Character Sets, Collations, Unicode”:https://dev.mysql.com/doc/translation-refman/8.0/en/charset.html基本情况在体验MySQL的过程中,了解到其与其他数据库如Oracle database,在字符集的行为原创 2021-02-10 12:39:51 · 140 阅读 · 1 评论 -
通过oracle Database Gateway for ODBC访问MySQL
通过oracle Database Gateway for ODBC访问MySQL1. 配置ODBC源 --获得dsn名,这里是mysql_test2. 修改ORACLE自带的异构服务配置 :$ORACLE_HOME/hs/admin/init.ora3. 修改ORACLE_HOME/network/admin/中的listener.ora与tnsnames.ora4. 在oracle数据库中创建database link5. 在oralce端查询与插入mysql6. 以上配置完成,如有乱码,根本原因是字符原创 2021-02-08 12:20:18 · 358 阅读 · 1 评论