- 博客(52)
- 收藏
- 关注
转载 使用mysqlbackup搭建级联从库
1、 在MySQL的生产从库进行mysqlbackup的全备mysqlbackup --login-path=root --socket=/paic/my$port/var/mysql.sock --backup-dir=$mybackdir_full --backup-image=$mybackdir_full/mybackup.mbi --compress backup-...
2019-01-07 09:21:48
571
转载 MySQL复制原理和问题处理
MySQLReplication整体上来说,复制有3个步骤: (1) master将改变记录到二进制日志binary log中;(2) slave将master的binary log events拷贝到它的中继日志relay log;(3) slave重做中继日志中的事件,将改变反映到它自己的数据。异步复制:•MySQL 5.5 版本之前的传统复制实现方式•复制存在不可靠风险...
2019-01-04 17:33:45
684
转载 MySQLsql_mode参数说明
参数说明:SQL_MODE是一个非常重要的变量,默认为空。SQL_MODE的设置为空其实是比较冒险的一种设置,因为在这种设置下可以允许一些非法操作,比如可以将NULL插入NOT NULL的字段中,也可以插入一些非法日期,如“2012-12-32”。因此在平安这个值设为严格模式,这样有些问题可以在数据库的设计和开发阶段就能发现。此外,正确地设置SQL_MODE还可以做一些约束(Constraint...
2019-01-04 17:31:22
1137
原创 oracle统计信息
收集表的统计信息begin dbms_stats.gather_table_stats(ownname => 'TESTDATA', tabname => 'TEST_TABLE', estimate_percen
2017-11-06 15:50:30
427
原创 rman duplicate
11gR2利用active rman duplicate,源端归档模式下不停机复制一套新环境。以testa复制到testb为例,具体步骤如下:1.源端库TESTA打开归档模式SYS@testa> archive log list;Database log mode No Archive ModeAutomatic archival Disab
2017-11-06 15:23:35
1422
原创 rman auxiliary
目的,将oracle库TESTA的数据覆盖TESTB库。1源端和目标端重建密码文件TESTA:orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=test1234 force=y TESTB:orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=te
2017-11-06 14:02:07
1430
原创 oracle有buffer等待事件,根据file#和block#确定objects
Wait until a buffer becomes available.There are four reasons that a session cannot pin a buffer in the buffer cache, and a separate wait event exists for each reason:1."buffer busy waits": A sessi
2017-10-20 14:22:12
502
原创 ORA-39700: database must be opened with UPGRADE option
环境 oracle 11G+linux+ASMA库test1的oracle软件版本11.2.0.3.9B库test2的oracle软件版本11.2.0.4.160119背景:用A库test1的备份还原成一套B库test2,但是由于两个库的软件版本不一致,没注意版本,直接open了。是从低版本到高版本,故open时报错ORA-39700: database must be
2017-10-19 15:37:55
680
原创 oracle 11G 软件克隆安装(单实例和RAC)
准备工作:将已安装oracle软件的oracle_home的tar成包,传至目标主机的指定目录,然后tar包解tar。单实例软件克隆(小机):1 配置profile,并执行生效。vi prof_testORACLE_SID=testORACLE_BASE=/paic/hq/t1cfs/data/app/oracleORACLE_HOME=$ORACLE_BASE/pro
2017-10-17 17:25:12
1787
转载 记一次通过v$active_session_history来分析问题的案例
关于:v$active_session_history是oracle中一个最重要的视图之一,该视图每秒一次记录当前数据库中的活动进程相关的信息,可以用于问题的分析和诊断;同时awr还会将部分v$active_session_history中的部分记录保留到dba_hist_active_session_history(10秒一次),我们常用的ash报告就源于此。 通过v$active_sessio
2017-10-13 15:03:48
6018
原创 PG伪类型anyelement触发pg_pathman的一个bug
PG版本 9.5.5pg_pathman 版本 1.3问题:今天用户上报一个问题,在跑建表脚本之后数据库连接被驳回,然后不清楚表是否创建成功。再连到数据库做任何操作都会报如下错误:ERROR: could not determine which collation to use for string comparisonHINT: Use the COLLATE cla
2017-08-22 15:27:02
1709
原创 使用flashback恢复数据
一、flashback query先查询一下当前的SCN,这样好回退。select dbms_flashback.get_system_change_number from dual;select current_scn from v$database;适应范围:表中的数据持续变化,需要看到某个时间点错误删除修改了某些记录,可以根据这些记录再进行数据恢复。1恢复被删除了的储存过程...
2017-08-17 10:42:56
767
原创 ORA-01775: looping chain of synonyms
今天使用expdp导出一个schema报错 :ORA-01775: looping chain of synonyms怀疑是对象删除但是同义词还遗留的原因,查询一下果然是select 'drop public synonyms '||synonym_name||' ;' from dba_synonyms where table_owner=upper('ivasdata') and sy
2017-08-11 19:25:44
9177
转载 关于global index、local index、global partition index的适用场景
今天看到大牛们的讨论,把他们的总结记录下来,供自己参考学习。1.一个大原则,能创建local index的尽量创建local index。无论从分区管理角度,还是查询性能local index都有优势;2.那什么是否无法创建local index的情况呢?那就是查询条件和分区键值不符的情况,例如主键是保单号,分区键是日期,又要通过保单号查询,这种情况下,将保单号创建为global inde
2017-08-11 17:39:33
5168
原创 ORA-08104: 该索引对象79931正在被联机建立或重建
现象:执行重建索引是报错alter index CLAIMDATA.CLM_ATP_TASK_TYPE REBUILD ONLINE;ORA-08104: 该索引对象79931正在被联机建立或重建 解决:SQL> DECLARE 2 RetVal BOOLEAN; 3 OBJECT_ID BINARY_INTEGER; 4 WAIT_FOR_LOCK
2017-08-08 19:16:22
1809
转载 oracle的redo和undo
oracle实例在crash后,undo如何恢复的比较难于理解。下面详细描述了undo 的DML操作是如何保存在undo tablespace和在线归档日志中的。然后在分析下undo保存两份信息的原因。首先,看看undo是如何保存在undo tablespace中的。–oracle redo 包含 undo– Checkpointing 导致. 脏块被写到数据文件中
2017-07-31 16:46:11
547
原创 创建trigger,审计和禁止用户的密码修改
1、审计用户 TEST 的密码修改。1)创建审计记录表,记录密码修改。create table FC.record_passwd_change as select SID, username, osuser, machine, program, logon_time from v$session where 1 = 2;2)创建tiggercreate
2017-07-19 21:54:14
671
转载 创建PKG,实现kill session
kill session权限是属于DBA权限的,但是不能直接给DBA以外的用户授DBA权限,所以创建一个PKG给用户调用,实现kill session。create or replace procedure dbmgr.prc_kill_session(v_username IN varchar2,v_sid IN number ,v_serial# IN number)is
2017-04-27 16:21:09
545
原创 mongoexport遭遇Authentication failed
今天使用mongoexport工具导出数据,遇到权限不足报错:[host]$mongoexport -h 10.31.11.190:23820 -udbmgr -pMgr2mgdb -d rcmp -c policydata --limit 20000 -o policydata.dat2017-04-25T11:02:06.599+0800 Failed: error con
2017-04-25 11:12:05
8862
原创 推荐禁用11.2.0.3及以上版本的隐含参数_use_adaptive_log_file_sync
防止出现log file sync出现过长的情况,需要将所有11.2.0.3版本及以上版本的参数_use_adaptive_log_file_sync=false.可以直接修改生效,不需要重启库。alter system set "_use_adaptive_log_file_sync"=false;
2017-04-06 21:34:42
2246
原创 oracle 12C 软件克隆安装
环境 12C R1+linux+ASM将已安装的12CR1的oracle_home的tar成包,传至目标主机的指定目录,然后tar包解tar。然后开始安装:cnsh281336:test> $ORACLE_HOME/perl/bin/perl $ORACLE_HOME/clo
2017-03-15 17:35:42
1234
原创 Error accessing PRODUCT_USER_PROFILE
oracle 10g ,创建完用户之后报warningSQL> conn OPMDATA / paic1234;Error accessing PRODUCT_USER_PROFILEWarning: Product user profile information not loaded!You may need to run PUPBLD.SQL as SYSTEM
2017-03-06 16:49:33
683
翻译 oracle查询隐含参数
SELECT x.ksppinm NAME, y.ksppstvl VALUE, x.ksppdesc describFROM SYS.x$ksppi x, SYS.x$ksppcv yWHERE x.inst_id = USERENV ('Instance')AND y.inst_id = USERENV ('Instance')AND x.indx = y.indx
2017-02-22 20:21:00
315
原创 调用CONTEXT上下文报错,ORA-01031: 权限不足 ,ORA-06512: 在 "SYS.DBMS_SESSION"
上下文处理:导入一个用户后,执行调用上下文报错SQL> execute pkg_clcp_cldm_utils.proc_set_cldm_context('AS','AS'); begin pkg_clcp_cldm_utils.proc_set_cldm_context('AS','AS'); end; ORA-01031: 权限不足 ORA-06512: 在 "S
2017-02-17 15:04:30
8275
原创 redis导库
将redis A库是数据全部导入redis B库中。步骤1、源库A,执行save:[A~] $redis-cli -p $PORT127.0.0.1:5410> saveOK(1.88s)127.0.0.1:5410> exit然后会在存放数据文件的目录下生成一个dump.rdb文件:[A ]$cd datafile/[A]$ls -alh dump
2017-01-13 12:18:41
408
转载 稳定执行计划操作手册--oracle库
稳定执行计划操作手册一、 概述本文档列举了不同版本间稳定执行计划的方法,给出了详细的操作步骤。考虑到可阅读性及可操作性,未做过多的原理介绍,需要使用者在操作前已经具备相关技术知识,以便操作起来得心应手。Outline 的使用前提Outline的功能是为了保存sql执行计划,以保证sql在db配置或者数据变化时每次执行时都使用该执行计划。Outline的实现是通过保存生成
2017-01-05 20:57:36
760
原创 oracle锁相关
--锁查询select * from v$lock where sid in ( select sid from v$lock where id1 in (select object_id from dba_objects
2016-12-01 21:30:20
228
原创 关于direct path read
描述:用户反应数据库任何操作都很慢,然后我查询到当前有大量的direct path read等待事件。数据库版本是oracle 11G。诊断与解决步骤:1查询当前等待事件,主要是direct path readselect event, count(1) from v$session_wait WHERE EVENT NOT IN (select E.
2016-11-30 17:39:13
3540
转载 数据库日常管理常用sql脚本
/ 目录: ###########查询类########### 关于session: kill session和kill -9 查询session信息以及process信息 查找产生大量物理读的进程 查找产生redo log过快的进程
2016-11-29 22:43:38
2946
转载 oracle数据库SQL相关指标统计分析
---查询sql当前的指标:select a.HASH_VALUE, a.sql_text, a.PLAN_HASH_VALUE, round(a.BUFFER_GETS/a.EXECUTIONS) bg_per_exec, round(a.CPU_TIME/1000/a.EXECUTIONS) cpu_per_exec, ro
2016-11-29 22:35:34
740
转载 oracle数据库event堵塞问题分析
数据库发生了堵塞,例如大量latch free,大量log file sync, 大量enq , 需要尽快查看并备份当前的v$active_session_history表,以免1s一次的统计数据被覆盖。 被覆盖后只能查dba_hist_active_sess_history,根据snapshot的频率不同(一般15分钟一次)而记录的历史统计数据。关键点: 找到大量堵塞event的ho
2016-11-29 22:33:28
532
转载 关于Oracle数据库IO等待相关指标的较为系统的分析方法
我们在IO问题发生时间段:1.可以查dba_hist_system_event 来看该IO相关等待时间的平均响应时间的变化趋势, 2.直接查dba_hist_event_histogram或者sys.WRH$_EVENT_HISTOGRAM ,来看该IO相关等待事件的等待时间直方图分布。3.我们也可以从整体数据库的IO变化量上(dba_hist_sysstat),看出问题时段的
2016-11-29 22:30:21
2390
转载 Linux的IO调度算法
当一个新的IO请求加入到请求队列时,操作系统的通用块设备层会调用IO调度器来决定这个请求在队列中的确切位置。调度器会让请求队列中的请求按照磁盘上的扇区来进行排序。如果从这个请求列表中按照顺序取出请求进行处理,那么磁道寻址的数量会大幅减少,因为磁头会线性地从内道移向外道,而不是随机地在磁道间来回跳来跳去。这种方法和现实生活中的电梯很相似,电梯上下移动来让不同楼层的乘客进去或者出来。首
2016-10-12 22:27:39
1193
原创 linux配置SSH 互信
配置两个节点的ssh 互信,注意 .ssh上一层目录,也就是home目录的权限应为755,不能是777,如果是777则ssh不能配置互信。在两个节点先执行:> chmod 755 $HOME配置过程:node1:cd $HOMEmkdir ~/.sshchmod 700 ~/.ssh/usr/bin/ssh-keygen -t rsacat $HOME/
2016-10-08 22:31:47
404
原创 postgresSQL清理xlog
pg_log可以直接用rm删除,但是pg_xlog不行,清理步骤如下:1、停库:[postgres@cnsz081285:d0cmu:7490 /paic/pg7490/data/pg_xlog]$ pg stopwaiting for server to shut down.... doneserver stoppedLock file exists. exitLock
2016-10-08 18:39:03
2652
转载 latch: cache buffers chains导致CPU冲高的问题
今天同事分享了一个特别好的案例,所以记录到我的博客现象:CPU冲高,大量latch: cache buffers chains等待事件.分析过程:1.根据等待事件查询出SQL信息。select t.BLOCKING_SESSION,t.BLOCKING_SESSION_STATUS,t.sql_id,t.SQL_HASH_VALUE,t.* from v$session t w
2016-09-27 11:17:12
3783
原创 oracle 11g下exp direct=y的陷阱
今天同事分享了一个案例数据库版本是oracle 11G,使用exp导出数据,然后imp导入。Column :Column : Column : IMP-00019: row rejected due to ORACLE error 1400IMP-00003: ORACLE error 1400 encounteredORA-01400: cannot insert
2016-09-05 16:15:17
2835
原创 pg常用命令
一、进程:1)查询进程:select * from pg_stat_activity 说明:datname表示数据库名procpid表示当前的SQL对应的PIDquery_start表示SQL执行开始时间current_query表示当前执行的SQL语句waiting表示是否正在执行,t表示正在执行,f表示已经执行完成client_addr表示客户端IP地址
2016-08-30 17:45:55
5345
原创 ERROR: role "data" cannot be dropped because some objects depend on it
PG删除用户报错:[postgres:7471@postgres] [08-24.19:50:18]=# drop user data;ERROR: role "data" cannot be dropped because some objects depend on itDETAIL: privileges for schema public解决方法
2016-08-24 20:06:17
8067
原创 ORACLE SPA
--------------------------------------------------------Step1: 创建名称为STS_NAME_TEST 的SQL_SET.---------------------------------------------------BEGINDBMS_SQLTUNE.CREATE_SQLSET(SQLSET_NAME =>
2016-07-29 17:23:26
2390
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人