- 博客(36)
- 收藏
- 关注
原创 Oracle 19C RAC 静默(silent)安装on RHEL7.x
修订记录日期版本描述作者2018-05-09v1.0初稿刘勇一、安装准备1.1.RHEL版本及IP规划1.1.1.OS版本信息[root@localhost ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.6 (Maipo)[root@localhost ~]...
2019-05-10 11:06:41 10996 1
原创 [MySQL源码]:事务提交之InnoDB Prepare
MySQL 5.6 InnoDB Prepare流程如下innobase_xa_prepare // InnoDB Prepare trx_prepare_for_mysql //事务层Prepare { trx->op_info = "preparing"; //设置事物的操作状态为preparing trx_prepa...
2018-09-12 17:43:25 947
原创 [MySQL源码]:2PC下的事务提交概述
XA-2PC (two phase commit, 两阶段提交 )第一阶段:为prepare阶段,TM向RM发出prepare指令,RM进行操作,然后返回成功与否的信息给TM;第二阶段:为事务提交或者回滚阶段,如果TM收到所有RM的成功消息,则TM向RM发出提交指令;不然则发出回滚指令;MySQL通过两阶段提交很好地解决了binlog和redo log的一致性问题第一阶段:InnoD...
2018-09-12 16:26:18 2068
原创 [Leetcode 142&160]链表求环与链表相交
链表求环1、通过快慢追赶的方法确定是否有还的存在2、如果链表存在环,在通过循环来获得环的起点'''链表求环 leetCode 142'''class ListNode: def __init__(self, x): self.val = x self.next = Nonedef printlist(head): while(hea...
2018-09-07 15:26:50 169
原创 [Leetcode 21]链表之合并两个有序单链表
实现思路:1、两个链表已经有序,取出两个链表的当前节点比较val,将较小的节点链接到新的链表上,并将较小的链表当前节点向前推进一个节点2、循环直至其中一个链表为空,比较另个链表是否有剩余,如果有就将剩余的链表链接到临时链表之后,3、返回临时链表第一个链接的节点指针class ListNode: def __init__(self, x): self.val...
2018-09-06 19:38:00 209
原创 [Leetcode 92]链表之单链表中段反转
主要思想:1、先记录链表头节点, 将链表当前节点指针推进到开始逆序的节点,记录此节点前一个节点的指针p2、开始逆序到指定节点,将逆序后的尾节点与剩余节点相连3、判断开始逆序的节点是不是第一个节点,是的话直接返回逆序后的头节点,不是的话将将逆序后的头节点与p相连,返回原头节点。代码及测试结果如下:class ListNode:def __init__(self, x):sel...
2018-09-06 17:22:11 182
原创 [Leetcode 206]链表之单链表反转
Python实现:用Python实现链表总觉着有点尴尬class ListNode: def __init__(self, x): self.val = x self.next = Noneclass Solution: def reverseList(self, head): if (head is None o...
2018-09-06 11:45:03 149
原创 Oracle自适应游标共享(Adaptive Cursor Sharing)
1、自适应游标说明 在Oracle 10g 和11g中对绑定变量的处理,已经有所不同, 在Oracle 10g中,绑定变量相对比较简单,当使用绑定变量的SQL 第一次执行时,会进行硬解析,生成plan 和cursor。 在这个过程中,Oracle 会使用bind peeking,即将绑定变量的值带入,从而选择最优的一个plan。以后每次执行都使用这个plan。 在以后的执行时,如...
2018-08-27 11:46:36 2654
原创 Oracle统计信息管理之基础知识
1、优化器相关统计信息优化器统计范围:表统计: 行数,块数,行平均长度;all_tables:NUM_ROWS,BLOCKS,AVG_ROW_LEN;列统计: 列中唯一值的数量(NDV),NULL值的数量,数据分布; --DBA_TAB_COLUMNS:NUM_DISTINCT,NUM_NULLS,HISTOGRAM;索引统计:叶块数量,等级,聚簇因子; ...
2018-08-27 11:32:27 398
原创 Python装饰器语法糖
####装饰器的固定格式##普通版本def timer(func): def inner(*args,**kwargs): '''执行函数之前要做的''' ret = func(*args,**kwargs) '''执行函数之后要做的''' return ret return inner##wraps版本f...
2018-08-27 08:16:40 269
原创 Oracle不建议使用varchar2来存时间数据,实际案例说明
问题现象2015年9月客户系统中一条高逻辑读的SQL语句,在业务高峰期执行频率较高,导致系统逻辑读居高不下,同时带高了系统CPU,SQL语句主体部分如下SELECT /* ^^*/COUNT(DISTINCT ts_map.draftid) AS recordCountFROM usr.BillStateMap ts_mapINNER JOIN usr.create ts_creat...
2018-08-27 08:14:29 4108
原创 Python常用模块之json、pickle、random、hashlib、collections
1、json和picklejson用于字符串和Python数据类型间进行转换pickle用于python特有的类型和python的数据类型间进行转换json和pickle均提供了四种方法dumps,dump,loads,load##jsondumps() ##转换成字符串loads() ##将json编码的字符串再转换为python的数据结构dump() ##转换...
2018-08-27 08:07:33 227
原创 Python常用模块之time和datetime
1、时间的格式化结构化时间##把字符串时间转换成结构化时间time.strptime("2017-06-21","%Y-%m-%d")##把结构化时间转换成时间字符串time.strftime("%Y-%m-%d",time.localtime())##把一个时间转换成结构化时间time.struct_time(time.localtime())##把时间戳转换成结构...
2018-08-27 08:05:41 486
原创 Python常用模块之os和sys
1、OS常用方法os.access(path, mode) # 检验权限模式 os.getcwd() #获取当前工作目录,即当前python脚本工作的目录路径os.chdir("dirname") #改变当前脚本工作目录;相当于shell下cdos.curdir #返回当前目录: ('.')os.par...
2018-08-27 08:03:35 470
原创 Python常用模块之re
1、正则表达式规则2、Python正则常用模块 2.1、re.match与re.search函数说明:re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话, match()就返回none。 re.search 扫描整个字符串并返回第一个成功的匹配。函数语法:re.match(pattern, string, fla...
2018-08-24 12:14:42 181
原创 Python基础之字符串(str)常用操作
len()返回字符串的长度##Python3>>> print(len('ab12我'))5##Python2>>> print(len('ab12我'))6join()将字符串的每个元素按照指定的分隔符进行拼接def join(self, iterable): return "">>> str1='*'...
2018-08-24 12:08:50 613
翻译 ORA-15196 while allocation reaches 2Tb even compatible.asm is set to 12.1 (Doc ID 1933068.1)
Oracle ASM不支持大于2T的磁盘,此为bug,在12.1版本上修复了APPLIES TO:Oracle Database - Enterprise Edition - Version 12.1.0.1 and laterInformation in this document applies to any platform.SYMPTOMS New diskgroup was create...
2018-06-13 16:27:13 422
原创 RHEL7.X安装12.2RAC时root.sh错误CLSRSC-400的解决方案
现象:[root@ora12c ghome]# /opt/oracle/ghome/root.shPerforming root user operation.The following environment variables are set as: ORACLE_OWNER= grid ORACLE_HOME= /opt/oracle/ghome。。。。。。。。。。。...
2018-06-13 00:43:21 5554
原创 文件系统inodes使用率过高问题处理
常见场景:1、crontab产生大量邮件,导致/var/spool/postfix/maildrop下大量小文件2、Oracle数据库产生大量审计及文件,导致审计目录下大量小文件删除文件:find /var/spool/postfix/maildrop/ -type f |xargs rm -rfcrontab添加参数,避免产生mailcrontab -e ;添加MAILTO=""重启:/etc/...
2018-06-10 20:20:26 2465
原创 OGG抽取进程异常一例
1、问题现象出去进程常常running,但是没有新产生trail文件,lag比较大GGSCI (xxxdb) 3> info allProgram Status Group Lag at Chkpt Time Since ChkptMANAGER RUNNING ...
2018-05-29 17:56:04 7458 1
翻译 Oracle 统计信息罗列
1、Oracle统计信息概要优化器统计范围:表统计: 行数,块数,行平均长度;all_tables:NUM_ROWS,BLOCKS,AVG_ROW_LEN;列统计: 列中唯一值的数量(NDV),NULL值的数量,数据分布; --DBA_TAB_COLUMNS:NUM_DISTINCT,NUM_NULLS,HISTOGRAM;索引统计:叶块数量,等级,聚簇因子; ...
2018-05-23 17:03:52 330
原创 Go标准库学习之OS常用函数
1、OS基础操作//获取主机名os.Hostname()//获取当前目录os.Getwd()//获取用户IDos.Getuid()//获取有效用户IDos.Geteuid()//获取组IDos.Getgid()//获取有效组IDos.Getegid()//获取进程IDos.Getpid()//获取父进程IDos.Getppid()//获取环境变量的值os.Gete...
2018-05-23 16:40:34 2939
原创 如何在单机或RAC环境下做Systemstate或Hanganalyze
1、systemstate dump有多个级别 2: dump (不包括lock element) 10: dump 11: dump + global cache of RAC 256: short stack (函数堆栈) 258: 256+2 -->short stack +dump(不包括lock element) 266: 256+10 --&g...
2018-05-22 16:40:36 350
翻译 12.1.0.2自适应特性导致SQL性能下降
12.1.0.2自适应特性导致SQL性能下降背景介绍l 在升级到12.1.0.2.0数据库版本后,在使用12c中引入的自适应特性默认配置的情况下,可能引起SQL性能的下降。问题现象l 升级到12.1.0.2.0后,SQL语句性能可能出现下降。影响的产品及版本l Oracle 12.1.0.2.0原因和触发条件l Oracle 12.1.0.2版本上,增加了2个自适应特性:自适应计划和自适应统计信息...
2018-05-22 16:28:14 1239
原创 小问题汇总持续更新
1、数据库连接相关9i客户端连接12c数据库sqlnet增加下列参数SQLNET.ALLOWED_LOGON_VERSION_SERVER =8SQLNET.ALLOWED_LOGON_VERSION_CLIENT = 8
2018-05-22 16:27:24 109
翻译 $CRS_HOME/cdata下大量数字命名的文件,占用空间大
问题现象: <CRS_HOME>/cdata目录下存在大量数字命名的文件,导致文件系统爆满$ls -alrth /opt/oracle/product/CRS/cdata/crs-rw-r--r-- 1 root root 3.9M Oct 19 00:51 25974360-rw-r--r-- 1 root root 3.9M Oct 19 04:51 39631111-rw-...
2018-05-22 16:22:04 714
原创 library cache: mutex X 和latch: shared pool 一例
某业务系统数据库HANG,排查进程如下:alert日志信息如下:Tue Sep 26 22:10:04 2017WARNING: inbound connection timed out (ORA-3136)Tue Sep 26 22:10:04 2017WARNING: inbound connection timed out (ORA-3136)Tue Sep 26 22:10:04 ...
2018-05-22 16:05:15 825
转载 Oracle cloud control 12c 如何修改sysman密码
一、emctl命令emctl命令想必大家都见过,DB console时代经常会用到,现在功能是越来越强大了,下面仅仅列出有关修改pwd的部分emctl config oms -change_repos_pwd [-old_pwd <old_pwd>] [-new_pwd <new_pwd>] [-use_sys_pwd [-sys_pwd <sys_pwd>]]...
2018-05-22 15:42:50 898
转载 理解golang中的function types
先找个例子来看一下:package mainimport "fmt"// Greeting function typestype Greeting func(name string) stringfunc say(g Greeting, n string) { fmt.Println(g(n))}func english(name string) string { ...
2018-05-22 14:42:46 1567
原创 Oracle DG数据库gap处理一列
通过增量备份恢复的方式修复DG gap1、确定增备scn范围,通过alert日志获取gap日志序列GAP - thread 1 sequence 109631-1171702、根据序列获取增备起点SCN提示最小gap序列为109631, 往前推一个序列,然后获得scn号select THREAD#,SEQUENCE#,FIRST_CHANGE#,NEXT_CHANGE# from v$archiv...
2018-05-20 15:07:36 600
转载 MySQL复制之常见Got fatal error 1236错误
一 、前言 MySQL 的主从复制作为一项高可用特性,用于将主库的数据同步到从库,在维护主从复制数据库集群的时候,作为专职的MySQL DBA,笔者相信大多数人都会遇到“Got fatal error 1236 from master when reading data from binary log” 这类的报错/报警。本文整理了常见的几种 error 1236 报错,并给出相应的解决...
2018-05-08 13:41:20 751
原创 MySQL 5.7 在线启用和关闭GTID
1、基础知识 MySQL 5.7.6之后GTID_MODE提供了两个新的选项分别为ON_PERMISSIVE和OFF_PERMISSIVEOFF_PERMISSIVE:不产生GTID事务, Slave接受不带GTID的事务(匿名事务)也接受带GTID的事务ON_PERMISSIVE:新事务为gtid事务,slave接受GTID事务也接受不带GTID事务GTID_MODE在主备库上的兼容情况...
2018-05-04 14:54:49 2686
原创 MySQL派生表(derived)优化一例
1、什么是派生表derived关键字:子查询-->在From后where前的子查询例子:mysql> explain select * from (select * from t) a where id=2;+----+-------------+------------+------+---------------+-------------+---------+-------...
2018-05-03 15:26:20 42396 6
转载 MySQL 5.7 cost模型浅析
代价模型mysql 5.7.10 cost计算相对之前的版本有5.7 代价模型浅析较大的改进。例如cost模型参数可以动态配置,可以适应不同的硬件 区分考虑数据在内存和在磁盘中的cost cost精度提升为浮点型 jion计算时不仅要考虑condition,还要考虑condition上的filter,具体参见参数condition_fanout_filter5.7 在cost类型上...
2018-05-02 15:30:50 2366
翻译 MySQL优化器功能开关optimizer_switch之功能概览
MySQL 8.0新增特性use_invisible_indexes 是否使用不可见索引,MySQL 8.0新增可以创建invisible索引,这一开关控制优化器是否使用invisible索引,on表示考虑使用。MySQL 5.7新增derived_merge 派生表合并,类似Oracle的视图合并,当派生SQL中存在以下操作是无法展开UNION 、GROUP 、DISTINCT、LIMIT及聚合...
2018-05-02 15:19:20 5152
原创 Oracle AWR快照管理与常见问题
1、手动创建Snapshotsexec dbms_workload_repository.create_snapshot();ORBEGINDBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT ();END;2、手动删除Snapshotsexec dbms_workload_repository.drop_snapshot_range(low_snap_id =...
2018-04-11 21:13:24 2131 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人