MySQL http://prog3.com /深圳/博客 http://prog3.com /深圳/ static.blog /图像/控股 做最专业的dba 深圳prog3.com http:/ / / / / mchdba博客 zh CN http://prog3.com /深圳/博客 5 2016年:49 20 / 1 / 14 23 <![CDATA[[原]MySQL5.6.12 Waiting for commit lock导致从库hang住的问题剖析]]> 深圳prog3.com http:/ / / / / /博客/文章/ 50471864 mchdba细节 深圳prog3.com http:/ / / / / /博客/文章/ 50471864 mchdba细节 mchdba 2016年/ 1 / 6 21 37 49 nagios报警,线上一台从库检测不到slave状态,于是远程上去查看问题:


1,节目从属地位\ g卡住:

帮助;  “H” for求助。型“C” to 清晰 酒店电流输入语句。

查看从属地位的G

从属节目status卡住了,动弹不了,这种情况还是第一次遇到。


2、看w负载无压力:

[根“tmp3 _ 72~】# W
 132331启动828天,21543用户负载指数: 01.08,0。。。。。。。050。。。。。。。00
用户     tty                    登录@空闲   jcpu   pcpu 什么
tty1 -根29sep138270。。。。。。。15S0。。。。。。。15S的bash
PTS /根0    192.168.x.x。。。。。。。120.28   1319    349   0。。。。。。。18S0。。。。。。。14MySQL的
PTS /根1    192.168.x.x。。。。。。。120.28   1323    0。。。。。。。00S0.08s0。。。。。。。02S W
[根“tmp3 _ 72~】#
[根“tmp3 _ 72~】#
[根“tmp3 _ 72~】#

3、top看mysqld进程占据cpu才0.3 %

Write the picture here.


4、查看error日志,没有发现异常记录:

[根“tmp3 _ 72MySQL的]# tail-f /usr/local MySQL / mysqld.log
2015年-12-29 203531 29254[注]“::”resolves to“::”;;;;;;;
2015年-12-29 203531 29254[注]服务器插座在创建的IP:“::”。。。。。。。
2015年-12-29 203531 29254[注]:加载事件调度器0事件
2015年-12-29 203531 29254[注] / usr /局域网/ MySQL /斌/ mysqld:准备for连接。
版本:“5.6.12木  插座“/usr/local MySQL / mysql.sock’端口:3306源分布
2015年-12-29 203540 29254[注]变更执行的主。。。。。。。。以前的州立主_主机='''_ =主港3306主日志文件,_ _ ='''主_ _ POS =日志4主_绑定='''。。。。。。。新州立主_主机='''_ =主港3306主日志文件,_ _ =MySQL的bin.036282’’主_ _ POS =日志120主_绑定='''。。。。。。。
2015年-12-30 100004 29254[注]变更执行的主。。。。。。。。以前的州立主_主机='''_ =主港3306主日志文件,_ _ ='''主_ _ POS =日志4主_绑定='''。。。。。。。新州立主_主机=192.168.12.71’’_ =主港3306主日志文件,_ _ =MySQL的bin.036282’’主_ _ POS =日志120主_绑定='''。。。。。。。
2015年-12-30 100004 29254[注] initialized从属线程中启动SQL复制,日志 MySQL的bin.036282’’在位置120,中继日志 MySQL。/中继bin. 0.00001”位置:4
2015年-12-30 100004 29254[警告]保的MySQL用户名密码信息存储在一个master.info困境安全是因此困境推荐的。请参阅MySQL手册for更多关于这个问题可能的替代。
2015年-12-30 100004 29254[注]:从I / O连通到主线程“@”:3306 192.168.12.71 repl在复制开始,日志 MySQL的bin.036282’’在位置120

5、查看到后台的mysql进程,有一个mysqldump备份进程,执行了很久,我kill掉试试看

[根“tmp3 _ 72MySQL的]# PS电炉| grep的MySQL16100 16094  0 1200???????000000/bin/sh C /家/数据/ MySQL /备份/脚本/备份_ full.sh
根16104 16100  0 1200???????000000/usr/local MySQL /斌/ mysqldump uroot密码=————R-eH——可以选择跳过冲洗单事务日志数据=硕士2——插表创建选项快速扩展插入集字符禁用用户密钥数据库_ plocc _系统停车_分贝分贝
根18986 18967  0 1319PTS /0    000000MySQL
Nagios19486 19485  0 1333???????000000/usr/local Nagios / MySQL /检查_ libexec unagios -p3306-SS /usr/local MySQL / mysql.sock -hlocalhost——为密码xxxxxxxxxxxxW D试验60C10019511 19121  0 1334PTS /1    000000grep的MySQL
根28242     1  0  2015年???????000000/bin/sh /usr/local MySQL /斌/ mysqld安全- = _ datadir家庭/家庭/数据/ MySQL /数据文件=——PID/usr/local/ MySQL / mysqld.pid
MySQL29254 28242  9  2015年???????165636/usr/local MySQL /斌/ mysqld - basedir =/usr/local——datadir = / MySQL /家MySQL数据数据的插件你/=/usr本地/ MySQL //图书馆/插件-用户MySQL日志错误= =/usr/local/ MySQL / mysqld开放的文件。日志——极限=8192文件=——PID/usr/local/ MySQL / mysqld.pid = -插座/usr/local//MySQL的MySQL.sock -港口3306
[根“tmp3 _ 72MySQL的]#杀死9 16104
[根“tmp3 _ 72MySQL的]#
[根“tmp3 _ 72MySQL的]#
[根“tmp3 _ 72MySQL的]# PS电炉| grep的MySQL18986 18967  0 1319PTS /0    000000MySQL
根19 555 19121  0 1334PTS /1    000000grep的MySQL
根28242     1  0  2015年???????000000/bin/sh /usr/local MySQL /斌/ mysqld安全- = _ datadir家庭/家庭/数据/ MySQL /数据文件=——PID/usr/local/ MySQL / mysqld.pid
MySQL29254 28242  9  2015年???????165636/usr/local MySQL /斌/ mysqld - basedir =/usr/local——datadir = / MySQL /家MySQL数据数据的插件你/=/usr本地/ MySQL //图书馆/插件-用户MySQL日志错误= =/usr/local/ MySQL / mysqld开放的文件。日志——极限=8192文件=——PID/usr/local/ MySQL / mysqld.pid = -插座/usr/local//MySQL的MySQL.sock -港口3306
[根“tmp3 _ 72MySQL的]#

6、kill掉备份进程后,执行一条简单的delete语句,会卡住,看来kill解决不了问题

MySQL的SELECT * FROM >测试;
+——+——+
| | | ID名称
+——+——+
| |零| 0
1 |零| |
| | |零2
| 3 |零|
+——+——+
4行集(0.02秒)

MySQL >
MySQL >
从MySQL >删除where id = 0的测试;

去查询当前进程:

MySQL的SELECT >用户州立计数(1从信息_ schema.processlist)集团。用户州立;;;;;;;
---------------------------------------- + + + +有选择
|用户|州立| count(1|)
---------------------------------------- + + + +有选择
用户| _ |仙人掌|17|
用户执行| | _ |仙人掌      657|
| |执行| Nagios       38|
| ploccsys _ Web ||10|
|根|执行|        1|
|根| init |        2|
| |系统用户 queueing事件日志|靠近主继电器1|
| |系统用户 等待为锁定|提交1|
---------------------------------------- + + + +有选择
8在(rows集合0.01美国证券交易委员会(SEC)

MySQL >

有许多类似下面的线程:

|516544 用户| _ |仙人掌 192.168.x.x118.1242082||查询|375 |执行| 表演/*!50002 全球*/现状|
|516564 用户| _ |仙人掌 192.168.x.x118.1242208||查询|350 |执行| 表演/*!50002 全球*/现状|
|516571 用户| _ |仙人掌 192.168.x.x118.1242215||查询|330 |执行| 表演/*!50002 全球*/现状|
|516575 用户| _ |仙人掌 192.168.x.x118.1242218||查询|320 |执行| 表演/*!50002 全球*/现状|
|516592 用户| _ |仙人掌 192.168.x.x118.1242230||查询|315 |执行| 表演/*!50002 全球*/现状|
|516598 用户| _ |仙人掌 192.168.x.x118.1242359||查询|300 |执行| 表演/*!50002 全球*/现状|

要不要重启mysql db或者是重启cacti服务器?想来还是继续再看看,万不得已不能用绝招_。^ ^


7、写了个脚本来kill这些来自cacti的show status的线程

[脚本] tmp3 _ 72根”# killsleep _ cacti.sh VIM

它是用来杀死# MySQL正在睡眠
#!/bin/sh
whiledo
N =————uroot ` mysqladmin密码列表“”| i grep的睡眠|厕所L`
日期=日期+“% % % % % D h:[ M ] `:%s
  回声 n

  如果[n GT 10]
  然后
  回声 “睡眠正在开始杀……”
  fori“uroot mysqladmin————密码列表“”一个睡眠| | grep2 }”“{印刷元`
  do
密码=————uroot mysqladmin“”杀死一美元
  
  回声 “仙人掌开始执行状态列表显示杀……”
  fori“uroot mysqladmin————密码列表“”|执行grep grep | I I I状态显示| grep grep,awk | I |仙人掌2 }”“{印刷元`
  do
密码=————uroot mysqladmin“”杀死一美元
  

  回声 “睡眠太多我杀了它”> > /甲氧苄啶/ sleep.log
  回声 日期美元n> > /甲氧苄啶/ sleep.log
  FI
睡眠1

执行后,通过show全这些线程仍然存在,只是状态从excuteing变成了killed而已:其它问题仍然没有改观列表;

MySQL >选择用户、命令、计数(1)从information_schema.processlist集团用户的命令;
+ + + + -------------- --------- ----------
|用户|命令|计数(1)|
+ + + + -------------- --------- ----------
|仙人掌_user |杀| 792 |
| cacti_用户|查询| 4 |
|仙人掌_user |睡眠| 1 |
| Nagios |查询| 48 |
| ploccsys_Web |睡眠| 10 |
|根|杀| 1 |
|根|查询| 2 |
|根|刷新| 1 |
|系统用户|连接| 2 |
+ + + + -------------- --------- ----------
9行(0.01秒)

MySQL >

7、重新查看奴隶状态,还是无效

MySQL >显示奴隶地位的G
误差 二千零六(hy000):MySQL服务器已经走了
无连接。尝试重新连接…
连接标识:五十二万三千二百七十五
当前数据库:测试

8、去查看发动机状态

MySQL >显示引擎INNODB STATUS \ G
***************************1。行***************************
类型:InnoDB
姓名:
状态:
=====================================
二千零一十六0106 十五08五十二 f3ef5a19700 InnoDB监视器输出
=====================================
每平均计算 这个 最后 五十-----------------
背景线
-----------------
srv_master_thread环:四十七万五千四百八十九srv_active,srv_shutdown,十九万五千三百二十二srv_idle
srv_master_thread日志冲洗写:六十七万零八百
----------
信号灯
----------
操作系统等待数组信息:预订计数 六十九万七千四百六十一
操作系统等待数组信息:信号计数 七十一万零二百六十九
互斥自旋等待二百三十四万零二百六十,轮一千八百六十三万五千五百二十二,操作系统等四十九万八千二百七十九
RW共同旋转十三万二千一百一十一,轮三百六十三万一千四百四十一,操作系统等十一万九千六百一十二
RW不包括旋转二万五千二百,轮二百二十一万三千一百一十二,操作系统等七万零三百三十六
旋转每等待:七点九六互斥,二十七点四九RW共享,八十七点八二RW除外
------------
交易
------------
TRX身份证件计数器十二亿四千七百八十五万五千八百四十六
清除完成对于TRX的N:o <十二亿四千七百八十五万五千八百三十五撤消氮:状态:运行 闲置
历史列表 长度 二千四百四十二
每届会议的交易清单:
---交易0,不是开始
MySQL线程身份证件 五十二万三千七百三十一,操作系统线程句柄0x7f3ef5a19700,查询身份证件 一亿五千零八万九千六百一十二本地根初始化
显示引擎INNODB STATUS
---交易0,不是开始
MySQL线程身份证件 五十二万二千五百四十,操作系统线程句柄0x7f3ef7ea8700,查询身份证件 一亿五千零八万六千七百六十二localhost root执行
显示/ *!五万零二全球* /地位
---交易1247853306,不是开始
MySQL线程身份证件 三万五千六百七十一,操作系统线程句柄0x7f4bf8083700,查询身份证件 排队主事件 这个继电器日志
交易1247855447,活动11330秒
MySQL表使用,锁
锁的结构(S)、堆大小三百七十六行锁(的),撤消日志条目
MySQL线程身份证件 三万五千六百七十二,操作系统线程句柄0x7f4bf8052700,查询身份证件 一亿五千零五万九千一百一十一等待对于提交锁
--------
文件/输出
--------
输入/输出线程状态:等待对于输入/输出请求(插入缓冲线)
输入/输出线程状态:等待对于输入/输出请求(日志螺纹)
输入/输出线程状态:等待对于输入/输出请求(螺纹)
输入/输出线程状态:等待对于输入/输出请求(螺纹)
输入/输出线程状态:等待对于输入/输出请求(螺纹)
输入/输出线程状态:等待对于输入/输出请求(螺纹)
输入/输出线程状态:等待对于输入/输出请求(螺纹)
输入/输出线程状态:等待对于输入/输出请求(螺纹)
输入/输出线程状态:等待对于输入/输出请求(螺纹)
输入/输出线程状态:等待对于输入/输出请求(螺纹)
在正常的AIO读:],AIO写道:],
IBUF AIO读:日志我/哦:,我/我的:
待冲(fsync)日志缓冲池:
九千零六十七操作系统文件读,一亿二千九百三十万五千四百七十七操作系统文件写,一千二百七十五万四千九百四十四操作系统fsyncs
读/秒,AVG字节/写/写,fsyncs / s
-------------------------------------
插入缓冲区和自适应哈希索引
-------------------------------------
输入缓冲器:尺寸,自由列表伦恩十一赛格的大小,十三合并
合并操作:
插入,删除标记,删除
废弃作业:
插入,删除标记,删除
哈希表大小七千五百六十九万二千一百七十九,节点堆有二千四百三十七缓冲区
哈希查找/ s,非哈希搜索/的
---
日志
---
日志序列 四千一百八十二亿六千四百七十万九千八百八十一
日志刷新   四千一百八十二亿六千四百七十万九千八百八十一
页面刷新 四千一百八十二亿六千四百七十万九千八百八十一
最后检查点  四千一百八十二亿六千四百七十万九千八百八十一
待定日志写,自动化程度:全写在
一亿一千零六万零三百一十 日志我做了, 日志我/我的/
----------------------
缓冲池和内存
----------------------
分配总内存三百五十一亿六千五百零四万四千七百三十六附加池分配
字典内存分配一百四十二万零五百九十五
缓冲池大小二百零九万七千一百四十四
自由缓冲区一百三十七万五千二百三十一
数据库页面七十一万九千四百七十六
旧数据库页二十六万五千四百二十四
修改后的数据库页面
待读
待写道:LRU,冲洗列表 ,单页
年轻的页面一千四百七十四年轻的
年轻人的,非弹性的
页 九万一千二百八十六,创造六十二万八千一百九十,写的三千四百八十万七千五百八十二
读/秒,创建/秒,写/写
没有缓冲池页获取 这个 最后打印输出
页提前s,驱逐没有访问/随机提前/秒
LRU Len:七十一万九千四百七十六,unzip_lru Len:
输入/输出总和我[ ]:],和[解压我[ ]:]
----------------------
个人缓冲池信息
----------------------
---缓冲池0
缓冲池大小二十六万二千一百四十三
自由缓冲区十七万二千零二
数据库页面八万九千八百三十六
旧数据库页三万三千一百四十二
修改后的数据库页面
待读
待写道:LRU,冲洗列表 ,单页
年轻的页面九十七年轻的
年轻人的,非弹性的
页 一万一千五百三十四,创造七万八千三百零二,写的五百六十四万四千九百四十三
读/秒,创建/秒,写/写
没有缓冲池页获取 这个 最后打印输出
页提前s,驱逐没有访问/随机提前/秒
LRU Len:八万九千八百三十六,unzip_lru Len:
输入/输出总和我[ ]:],和[解压我[ ]:]
---缓冲池1
缓冲池大小二十六万二千一百四十三
自由缓冲区十七万一千九百一十四
数据库页面八万九千九百二十四
旧数据库页三万三千一百七十四
修改后的数据库页面
待读
待写道:LRU,冲洗列表 ,单页
年轻的页面二百五十九年轻的
年轻人的,非弹性的
页 一万一千四百二十五,创造七万八千四百九十九,写的三百三十五万二千六百四十七
读/秒,创建/秒,写/写
没有缓冲池页获取 这个 最后打印输出
页提前s,驱逐没有访问/随机提前/秒
LRU Len:八万九千九百二十四,unzip_lru Len:
输入/输出总和我[ ]:],和[解压我[ ]:]
---缓冲池2
缓冲池大小二十六万二千一百四十三
自由缓冲区十七万一千五百七十
数据库页面九万零二百六十七
旧数据库页三万三千三百零一
修改后的数据库页面
待读
待写道:LRU,冲洗列表 ,单页
年轻的页面一百五十八年轻的
年轻人的,非弹性的
页 一万一千七百二十,创造七万八千五百四十七,写的二百一十八万二千七百二十一
读/秒,创建/秒,写/写
没有缓冲池页获取 这个 最后打印输出
页提前s,驱逐没有访问/随机提前/秒
LRU Len:九万零二百六十七,unzip_lru Len:
输入/输出总和我[ ]:],和[解压我[ ]:]
---缓冲池3
缓冲池大小二十六万二千一百四十三
自由缓冲区十七万二千一百二十
数据库页面八万九千七百二十四
旧数据库页三万三千一百
修改后的数据库页面
待读
待写道:LRU,冲洗列表 ,单页
年轻的页面一百四十一年轻的
年轻人的,非弹性的
页 一万一千一百一十七,创造七万八千六百零七,写的八百一十五万五千四百四十八
读/秒,创建/秒,写/写
没有缓冲池页获取 这个 最后打印输出
页提前s,驱逐没有访问/随机提前/秒
LRU Len:八万九千七百二十四,unzip_lru Len:
输入/输出总和我[ ]:],和[解压我[ ]:]
---缓冲池4
缓冲池大小二十六万二千一百四十三
自由缓冲区十七万一千六百六十五
数据库页面九万零一百六十七
旧数据库页三万三千二百六十四
修改后的数据库页面
待读
待写道:LRU,冲洗列表 ,单页
年轻的页面一百四十二年轻的
年轻人的,非弹性的
页 一万一千六百七十五,创造七万八千四百九十二,写的七百四十五万零七百零九
读/秒,创建/秒,写/写
没有缓冲池页获取 这个 最后打印输出
页提前s,驱逐没有访问/随机提前/秒
LRU Len:九万零一百六十七,unzip_lru Len:
输入/输出总和我[ ]:],和[解压我[ ]:]
---缓冲池5
缓冲池大小二十六万二千一百四十三
自由缓冲区十七万二千零八十一
数据库页面八万九千七百四十六
旧数据库页三万三千一百零八
修改后的数据库页面
待读
待写道:LRU,冲洗列表 ,单页
年轻的页面一百八十五年轻的
年轻人的,非弹性的
页 一万一千二百五十八,创造七万八千四百八十八,写的三百五十万五千一百五十七
读/秒,创建/秒,写/写
没有缓冲池页获取 这个 最后打印输出
页提前s,驱逐没有访问/随机提前/秒
LRU Len:八万九千七百四十六,unzip_lru Len:
输入/输出总和我[ ]:],和[解压我[ ]:]
---缓冲池6
缓冲池大小二十六万二千一百四十三
自由缓冲区十七万三千二百七十五
数据库页面八万八千五百六十九
旧数据库页三万二千六百七十四
修改后的数据库页面
待读
待写道:LRU,冲洗列表 ,单页
年轻的页面三百三十六年轻的
年轻人的,非弹性的
页 一万零六百二十二,创造七万七千九百四十七,写的二百四十八万八千二百六十五
读/秒,创建/秒,写/写
没有缓冲池页获取 这个 最后打印输出
页提前s,驱逐没有访问/随机提前/秒
LRU Len:八万八千五百六十九,unzip_lru Len:
输入/输出总和我[ ]:],和[解压我[ ]:]
---缓冲池7
缓冲池大小二十六万二千一百四十三
自由缓冲区十七万零六百零四
数据库页面九万一千二百四十三
旧数据库页三万三千六百六十一
修改后的数据库页面
待读
待写道:LRU,冲洗列表 ,单页
年轻的页面一百五十六年轻的
年轻人的,非弹性的
页 一万一千九百三十五,创造七万九千三百零八,写的二百零二万七千六百九十二
读/秒,创建/秒,写/写
没有缓冲池页获取 这个 最后打印输出
页提前s,驱逐没有访问/随机提前/秒
LRU Len:九万一千二百四十三,unzip_lru Len:
输入/输出总和我[ ]:],和[解压我[ ]:]
--------------
行操作
--------------
在InnoDB查询,查询队列
 观内开放InnoDB
主线程处理号码二万九千二百五十四身份证件 一百三十九兆九千二百五十八亿九千四百六十万四千五百四十四,状态:睡觉
数插入行七千一百九十六万七千一百六十六,更新九千四百四十一万九千九百七十九,删除四万五千九百七十五 七十三亿六千六百零二万九千一百八十四
插入/插入,更新/秒,删除/秒,读/秒
----------------------------
InnoDB监视器输出端
============================

 零点零二美国证券交易委员会

MySQL >

9、去查看是否有锁信息

MySQL >选择*从information_schema innodb_trx \ G;
***************************1。行***************************
trx_id:十二亿四千七百八十五万五千四百四十七
trx_state:运行
trx_started:二千零一十六0106 十二0002
trx_requested_lock_id:
trx_wait_started:
trx_weight:
trx_mysql_thread_id:三万五千六百七十二
trx_query:
trx_operation_state:
trx_tables_in_use:
trx_tables_locked:
trx_lock_structs:
trx_lock_memory_bytes:三百七十六
trx_rows_locked:
trx_rows_modified:
trx_concurrency_tickets:
trx_isolation_level:提交读
trx_unique_checks:
trx_foreign_key_checks:
trx_last_foreign_key_error:
trx_adaptive_hash_latched:
trx_adaptive_hash_timeout:一万
trx_is_read_only:
trx_autocommit_non_locking:
 美国证券交易委员会

误差:
未指定查询

MySQL >

MySQL >选择*从innodb_locks;
 美国证券交易委员会

MySQL >
MySQL >
MySQL >
MySQL >选择*从innodb_lock_waits;
 美国证券交易委员会

MySQL >

有一个事务是运行状态,根据trx_mysql_thread_id:35672查询PROCESSLIST表:

MySQL >选择*从列表id是35672;
+ + + + ------- ------------- ------ ------ + --------- + + + + ------- ------------------------- ------
| ID |用户|主机| DB |命令|时间|状态信息| |
+ + + + ------- ------------- ------ ------ + --------- + + + + ------- ------------------------- ------
| 35672 |系统用户| |空|连接| 11948 |等待提交锁|空|
+ + + + ------- ------------- ------ ------ + --------- + + + + ------- ------------------------- ------
1行(0.01秒)

MySQL >

正常的从服务器是:

MySQL >选择ID限2从列表的顺序;
+ + + + ---------- ------------- ------ ------ + --------- + + + + -------- ------------------------------------------------------------------ ------
| ID |用户|主机| DB |命令|时间|状态信息| |
+ + + + ---------- ------------- ------ ------ + --------- + + + + -------- ------------------------------------------------------------------ ------
| 29903251 |系统用户| |空|连接| 624229 |等待主人送事件|空|
| 29903252 |系统用户| |空|连接| 5 |奴隶已经阅读所有中继日志;等待Slave I/O线程T |空|
+ + + + ---------- ------------- ------ ------ + --------- + + + + -------- ------------------------------------------------------------------ ------
2行(0秒)

MySQL >

而我的这台出故障的从服务器是:

MySQL >选择ID限2从列表的顺序;
+ + + + ------- ------------- ------ ------ + --------- + + + + -------- ---------------------------------------- ------
| ID |用户|主机| DB |命令|时间|状态信息| |
+ + + + ------- ------------- ------ ------ + --------- + + + + -------- ---------------------------------------- ------
| 35671 |系统用户| |空|连接| 624374 |排队主事件的中继日志|空|
| 35672 |系统用户| |空|连接| 12379 |等待提交锁|空|
+ + + + ------- ------------- ------ ------ + --------- + + + + -------- ---------------------------------------- ------
2行(0.01秒)

MySQL >

再次查看统计,确定问题所在为系统用户|连接|等待提交锁线程导致:

MySQL >选择用户命令状态,伯爵从information_schema.processlist组)用户命令状态;
+ + + + -------------- --------- ---------------------------------------- ---------- +
|用户|命令|状态|计数()|
+ + + + -------------- --------- ---------------------------------------- ---------- +
| cacti_user | 杀了  |执行|      七百九十二|
| cacti_user | 查询   |执行|      三百四十四|
| Nagios | 查询   |执行|       七十二|
| ploccsys_web | 睡眠| ||
|根| 杀了  |执行|        |
|根| 杀了  | init |        |
|根| 查询   |执行|        |
|根| 查询|等待表冲洗||
|根| 刷新 | init |        |
|系统用户| 连接|排队主事件的中继日志||
|系统用户| 连接|等待承诺锁定||
+ + + + -------------- --------- ---------------------------------------- ---------- +
十一集合中的行(零点零二美国证券交易委员会

MySQL >

10、问题解决

事情到此地步,已经很明确了就是等待提交锁这个导致的全局锁,所以杀掉innodb_trx中的运行事务的MySQL线程:

MySQL >杀死35672
•>;
查询确定,0行受影响(0秒)

MySQL >

然后再去检查列表;已经正常了,如下所示:

MySQL >显示完整列表;
+ + + + -------- -------------- ------------------- -------------------- + --------- + + + + ------- ---------------------------------- -----------------------
|身份证件|用户|主机              | DB | 命令|时间|状态|信息|
+ + + + -------- -------------- ------------------- -------------------- + --------- + + + + ------- ---------------------------------- -----------------------
|五十二万七千零二十三 |根| localhost | information_schema | 查询| | init |显示完整的列表|
|五十二万七千一百六十五 |系统用户|||连接|五十四|等待主发送事件||
|五十二万七千一百六十六 |系统用户|||连接|一万二千五百四十八|系统锁||
|五十二万七千一百六十七 | ploccsys_web | 一百九十二点一六八1228三万三千零六 | plocc_system | 睡眠|二十八| ||
|五十二万七千一百六十八 | ploccsys_web | 一百九十二点一六八1228三万三千零七 | plocc_system | 睡眠|二十八| ||
|五十二万七千一百六十九 | ploccsys_web | 一百九十二点一六八1228三万三千零八 | plocc_system | 睡眠|二十八| ||
|五十二万七千一百七十 | ploccsys_web | 一百九十二点一六八1228三万三千零九 | plocc_system | 睡眠|二十八| ||
|五十二万七千一百七十一 | ploccsys_web | 一百九十二点一六八1228三万三千零一十 | plocc_system | 睡眠|二十八| ||
|五十二万七千一百七十二 | ploccsys_web | 一百九十二点一六八1229四万三千四百七十三 | plocc_system | 睡眠|十六| ||
|五十二万七千一百七十三 | ploccsys_web | 一百九十二点一六八1229四万三千四百七十四 | plocc_system | 睡眠|十六| ||
|五十二万七千一百七十四 | ploccsys_web | 一百九十二点一六八1229四万三千四百七十六 | plocc_system | 睡眠|十六| ||
|五十二万七千一百七十五 | ploccsys_web | 一百九十二点一六八1229四万三千四百七十七 | plocc_system | 睡眠|十六| ||
|五十二万七千一百七十六 | ploccsys_web | 一百九十二点一六八1229四万三千四百七十八 | plocc_system | 睡眠|十六| ||
+ + + + -------- -------------- ------------------- -------------------- + --------- + + + + ------- ---------------------------------- -----------------------
十三集合中的行(美国证券交易委员会

MySQL >

在查看奴隶状态,是没有状态,如下所示:

MySQL >显示奴隶地位的G
*************************** 1。行* **************************
slave_io_state:
master_host:192.168.12.71
master_user:REPL
master_port:3306
connect_retry:60
master_log_file:mysql-bin.037579
read_master_log_pos:2172311
relay_log_file:mysql-relay-bin.002685
relay_log_pos:13453336
relay_master_log_file:mysql-bin.037578
slave_io_running:无
slave_sql_running:无
replicate_do_db:
replicate_ignore_db:
replicate_do_table:
replicate_ignore_table:
replicate_wild_do_table:
复制_wild_ignore_table:
last_errno:0
last_error:
skip_counter:0
exec_master_log_pos:13453173
relay_log_space:15626372
until_condition:无
until_log_file:
until_log_pos:0
master_ssl_allowed:无
master_ssl_ca_file:
master_ssl_ca_path:
master_ssl_cert:
master_ssl_cipher:
master_ssl_key:
seconds_behind_master:空
大师_ssl_验证_server_证书:无
last_io_errno:0
last_io_error:
last_sql_errno:0
last_sql_error:
复制_ignore_server_ids:
master_server_id:71
master_uuid:9b0dcf62-29f4-11e3-9471-677b33903869
master_info_file:mysql.slave_master_info
sql_delay:0
sql_remaining_delay:空
slave_sql_running_state:
master_retry_count:86400
master_bind:
last_io_error_timestamp:
last_sql_error_timestamp:
master_ssl_crl:
master_ssl_crlpath:
retrieved_gtid_set:
executed_gtid_set:
auto_position:0
1行(0秒)

MySQL >

之后启动奴隶,奴隶搞定开始。


11、网友风神”普的提示

与读取锁定+显示从状态问题:如果一个客户端线程在一个奴隶的客户端线程与读取锁的锁,那么主做一些更新,显示在同一客户端的从属地位将被阻止。分析:执行FLUSH TABLES WITH奴隶读锁,同时在主执行DML。然后,DML应停止在一个状态”等承诺锁定”。这个状态意味着SQL线程持有RLI -> data_lock等待mdl_commit锁。现在在同一个客户端会话中,使用读写锁的刷新表执行问题显示从状态命令。这个命令将被阻塞等待RLI -> data_lock造成锁死。一旦发生这种情况,它将不可能释放的“解锁表”命令在同一个客户端,在同一个客户端,在全球读锁被收购的全球阅读锁。这会导致死亡的锁。修正:现有代码持有RLI -> data_lock整个时间提交操作。而不是整个持有锁的代码提交时间已经重组,在这样一种方式,锁只举行期间RLI对象被更新。

然后去查了下我这台DB从服务器,确实有每我这台从库是有做mysqldump备份的,一个小时备份一次,然后仙人掌监控也会每分钟就来抽取一次数据,可能还真的是mysqldump +仙人掌的SHOW SLAVE STATUS一起执行导致的bug出现。我先去将备份改成4个小时一次,继续观察后续情况。

作者:mchdba发表于2016 / 1 / 6 21:37:49原文链接
阅读:736评论:0查看评论
]]>
<![CDATA[[原]mongodb使用aggregate、group、match实现mysql中的having(count(1)>1)的功能]]> http://prog3.com/sbdm/blog/mchdba/article/details/50456784 http://prog3.com/sbdm/blog/mchdba/article/details/50456784 mchdba 2016 / 1 / 4 16:27:53 关系型数据库中分组去重一般都是组…有(计数(1)> 1)…赛选出来重复的记录组,然后一条SQL搞定,但是在MongoDB里面,没有这么方便了,需要自己写脚本来实现,可以通过骨料、组、比赛来操作处理。

1、准备录入测试数据

DB斯图。插入{CID,年龄:十四,名字:“gom1”});
DB斯图。插入{CID,年龄:十二,名字:“jack2”});
DB斯图。插入{CID,年龄:十三,名字:“lily3”});
DB斯图。插入{CID,年龄:十四,名字:“tony4”});
DB斯图。插入{CID,年龄:,名字:“harry5”});
DB斯图。插入{CID,年龄:十三,名字:“vincent6”});
DB斯图。插入{CID,年龄:十四,名字:“bill7”});
DB斯图。插入{CID,年龄:十七,名字:“tim8”});
DB斯图。插入{CID,年龄:,名字:“bruce9”});
DB斯图。插入{CID,年龄:二十,名字:“luxi10”});

执行窗口显示如下:

蒙戈>使用 测试开关  DB 测试
蒙戈>
蒙戈>DB斯图。插入{CID,年龄:十四,名字:“gom1”});
蒙戈>DB斯图。插入{CID,年龄:十二,名字:“jack2”});
蒙戈>DB斯图。插入{CID,年龄:十三,名字:“lily3”});
蒙戈>DB斯图。插入{CID,年龄:十四,名字:“tony4”});
蒙戈>DB斯图。插入{CID,年龄:,名字:“harry5”});
蒙戈>DB斯图。插入{CID,年龄:十三,名字:“vincent6”});
蒙戈>DB斯图。插入{CID,年龄:十四,名字:“bill7”});
蒙戈>DB斯图。插入{CID,年龄:十七,名字:“tim8”});
蒙戈>DB斯图。插入{CID,年龄:,名字:“bruce9”});
蒙戈>DB斯图。插入{CID,年龄:二十,名字:“luxi10”});

2、开始分组测试,按照CID进行分组

2.1、先统计分组记录数

无风险组
{组:{ _id:”CID”,max_age:{MX年龄“},计数:{求和:1 } },
{
排序:{计数:- 1 } }

执行窗口如下:

蒙戈>无功组([
{ $组:{ _id:“$ CID”,max_age:{ $最大:“年龄”数:{ $和:} },
{ $排序:{计数:—}
)
蒙戈>

2.2、定义就是找出存在重复的分组,使用管道操作符MTCH集团的输出结果的格式:

变量匹配= {匹配“:{“计数”:{GT 1 } } }”;
执行窗口如下:

蒙戈>比赛= { var火柴:{“伯爵”:{$ gt} };
蒙戈>

3获取数据

蒙戈>分贝斯图。骨料(群体、比赛)
{
    “结果”[
{
            “_id”“max_age”十七“伯爵”
},
{
            “_id”“max_age”十四“伯爵”
},
{
            “_id”“max_age”二十“伯爵”
}
],
    “好”
}
蒙戈>

PS: match here is invalid, out of the count for 1 of the data, there is no match success, the problem where?

User Traveller pointing:
Db.stu.aggregate (group, match); see it? You call it is equivalent to the match as the options passed into the, of course not, this method not the final data, because each pipeline is an element of the array, whereas group alone is an array, the match is an element. Unless it added to the array, see the following wording,
Group.push (match);
Db.stu.aggregate (group);

Then go to see the official website for further study:
Http://docs.mongoing.com/manual-zh/reference/method/db.collection.aggregate.html#db.collection.aggregate, view the aggregate introduction, aggregate method signature is function (pipeline, aggregateOptions),
The first parameter is piplines, all of the data to determine the conditions should be in this.
The second parameter is the options, which specifies the number of options to use when the query is used.
The options document can contain the following fields and values: including explain, allowDiskUse, cursor,, so I pass the match is for the judgement of a group, so you can't as the second argument, but should put the first parameter to the inside, so it is necessary to group push function, will match to join the first parameter to the entry into force of the judgment of count>1.


4, the use of push group function

Group mongos>.push(match);
Three
DB mongos>.stu.aggregate(Group);
{
    "Result": [
{
            "_id":Two,
            "Max_age":Seventeen,
            "Count":Five
},
{
            "_id":One,
            "Max_age":Fourteen,
            "Count":Four
}
],
    "Ok":One
}
Mongos>

See the count=1 has been filtered out of the record group, said push was successful.

Author: mchdba published in 16:27:53 2016/1/4Text link
Read: 685 comments: 0View comments
]]>
<![CDATA[[原]mongodb 分组查询统计去掉重复的记录]]> Http://prog3.com/sbdm/blog/mchdba/article/details/50455071 Http://prog3.com/sbdm/blog/mchdba/article/details/50455071 Mchdba 11:42:48 2016/1/4 Mongodb version number is, shell version: 2.4.4 MongoDB
Operating environment, shell window, as shown below:

[mongo_user@mongodb_dbsNext week# Mongo --port 30100
Shell version: MongoDBTwo point four.Four
To: connectingOne hundred and twenty-seven.Zero.One:Thirty thousand/test
Mongos>
Mongos>Use POS
To DB switchedPOS
Mongos>

1, the first statistical packet records, in order to paymentOrder field to group statistics, check out all of the statistical results, the number of >1 group

Here take out / / statistical grouping field value of paymentOrder _id, the largest objectid value max_id, packet statistics count
Var Group=([    
{$group: {_id:"$paymentOrder"Max_id: {$max:"$_id"{count:}$sum:One",
{$sort{count:-One}}
])

2, the definition is to find out the existence of duplicate groups, using the pipeline operatorMATCH,strippieceyesuniversalthroughcheckInquiryThegridtype,butyesdousetoThe format of the output result of group:

Var match ={"$match": {"Count": {"$gt":Two";

3, in the end, the db.paymentinfo.aggregate (group, match) is obtained by the aggregation framework function. This process may seem complicated, in fact, only to achieve the group T-SQL by... Having... Grammar.

VarDS=DB.Paymentinfo.Aggregate (Group,Match);

PS: match here is invalid, out of a lot of count for 1 of the data, that is, {"Match ": {" count ": {"GT ": 2}}}; failure, why?


4, before you delete the backup

backups

/usr/Local/mongodb/mongodb-linux-x86_64-Two point four.4/bin/mongoexport-PortThirty thousand -dPOS-cPaymentinfo-o/home/backup/mongodb_pos_paymentinfo_3.Txt

5, start the cycle to delete

Here DS is a large result set, directly with the ds.result can get the results set inside the packet query data:

  / / next to enable loop to traverse, aggregate the result have the characteristics of the array can be directly for loop processing
  VarDS = db.paymentinfo.aggregate (group, match);
  For(Var= IZero; <ds.result.length I; i++) {
    VarChild=ds.result[i];
    VarCount=child.count;
    / / for $match above the second step {:} "count": {"GT": 2}}}; filtering invalid, so here to add a count>1 to filter the unnecessary duplication of data, only to repeat data processing operation
    If(count>One{)
        VarOid=child.max_id;
        Print(count);
        / / here to get the objectid largest collection of records of the objectid group
        VarPayorder=child._id;
        / / gets all records of the duplicated paymentOrder query, traversal
        VarPs=db.paymentinfo.find ({"PaymentOrder"Payorder});
        / / directly after the find need to use toArray () to be processed into the array so that it can traverse
        VarPsc=ps.toArray ();
        For(VarJ=ZeroJ<psc.length; j++;) {
            VarPchild=psc[j];
            Objectid / / traversal, if it is the record of the largest reserves, not just delete remove off
            If(==pchild._id.toString () oid.toString ()) {
                Print("Same one the");Print(pchild._id.toString ());
                Print(oid.toString ());
}Else{
                Print("Other one the");Print(pchild._id.toString ());Print(oid.toString ()); db.paymentinfo.remove ({)"_id"Pchild._id});
}
}
}
}

By the way: if you copy my script to shell mongos client execution error, may be wrong format, you can removed all the newline symbol or your own manual input again, to perform, not error out.

Author: mchdba published in 11:42:48 2016/1/4Text link
Read: 899 comments: 0View comments
]]>
<![CDATA[[原]oracle11g dataguard failover重建后归档日志没有被应用被NO的问题]]> Http://prog3.com/sbdm/blog/mchdba/article/details/50429357 Http://prog3.com/sbdm/blog/mchdba/article/details/50429357 Mchdba 21:07:49 2015/12/29 1, the main library archive records from the library is not consistent, as follows:

After failover, bad old main library into a new library, but the new library from the archive log record is not consistent, that is, log list archive; out and v$archived_log out on the number, as shown below:

1.1 main library:
Archive SQL>LogList;
DatabaseLogArchive Mode mode
Archival Enabled Automatic
Destination USE_DB_RECOVERY_FILE_DEST Archive
Online OldestLogSequenceEight
Next LogSequenceToArchiveTen
CurrentLogSequenceTen
SQL>
Select sequence SQL>#, applied from v$archived_log order by sequence# asc;
......
-------------------
      Seven thousand five hundred and twenty-seven YES
      Seven thousand five hundred and twenty-seven YES
      Seven thousand five hundred and twenty-eight YES
      Seven thousand five hundred and twenty-eight YES
      Seven thousand five hundred and twenty-nine YES
      Seven thousand five hundred and thirty YES
      Seven thousand five hundred and thirty-one YES
      Seven thousand five hundred and thirty-two YES
      Seven thousand five hundred and thirty-three YES

Fourteen thousand five hundred and twenty-nineSelected. rows

You can see the main library log list archive and v$archived_log records archive is not consistent.

1.2 from the library:

Archive SQL>LogList;
DatabaseLogArchive Mode mode
Archival Enabled Automatic
Destination USE_DB_RECOVERY_FILE_DEST Archive
Online OldestLogSequenceTen
Next LogSequenceToArchiveZero
CurrentLogSequenceTen
SQL>
SQL>Select Sequence#, appliedFromV$archived_logOrder By Sequence#ASC;

 SEQUENCE# APPLIED
-------------------
     Nine IN-MEMORY

SQL>

Archive from the library has not been applied, but the two also checked a number of poor, one for the 10, one for the 9.

PS: we see the main library and archive number from the library is not unified, not consistent.


2, clear the archive records of the new main library

The problem is that the archive log records of the old main library are kept on the new main library, and you need to clean it by hand:

Execute sys.dbms_backup_restore.resetCfileSection SQL> (Eleven);

PL/SQLProcedure Successfully Completed.

SQL>
SQL>
SQL>Select Sequence#,Applied From V$Archived_log Order By Sequence#ASC;

Rows selected no

SQL>

To archive the log directory, delete the old archive log

[oracle@oracle_standby1Archivelog]$RM -rf2015_12_13/2015_12_19 2015_12_20 2015_12_21 2015_12_22 2015_12_23 2015_12_24 2015_12_25
[oracle@oracle_standby1Archivelog]$

And then enter the RMAN execution

Catalog db_recovery_file_dest RMAN>;
Catalog db_recovery_file_dest RMAN>;

Target database control usingFileInsteadOfCatalog recovery
SearchingFor AllFilesInRecovery area the

ListOfUnknown FilesToDatabase the
=====================================
File/oracle/app/oracle/flash_recovery_area/STANDBY/onlinelog/o1_mf_9_c7c1v5qw_.log Name:
File/oracle/app/oracle/flash_recovery_area/STANDBY/onlinelog/o1_mf_7_c7c1ttf1_.log Name:
File/oracle/app/oracle/flash_recovery_area/STANDBY/onlinelog/o1_mf_8_c7dst287_.log Name:
File/oracle/app/oracle/flash_recovery_area/STANDBY/onlinelog/o1_mf_7_c7dssvfd_.log Name:
File/oracle/app/oracle/flash_recovery_area/STANDBY/onlinelog/o1_mf_9_c7dst8wr_.log Name:
File/oracle/app/oracle/flash_recovery_area/STANDBY/onlinelog/o1_mf_8_c7c1v0ff_.log Name:
File/oracle/app/oracle/flash_recovery_area/STANDBY/archivelog/ Name:Two thousand and fifteen_12_26/o1_mf_1_9_c7wqvrp9_.arc

You really want DoToThe above files catalog (YES enterOrYES) NO?
Files cataloging...
Done Cataloging

ListOfFiles Cataloged
=======================
文件名称:/甲骨文/应用程序/ Oracle / flash_recovery_area /待机/归档/二千零一十五_12_26 / o1_mf_1_9_c7wqvrp9_。弧

列表在哪里的文件编目
=======================================
文件名称:/甲骨文/应用程序/ Oracle / flash_recovery_area /待机/ onlinelog / o1_mf_9_c7c1v5qw_。日志
RMAN—07529原因:目录 支持对于文件 
文件名称:/甲骨文/应用程序/ Oracle / flash_recovery_area /待机/ onlinelog / o1_mf_7_c7c1ttf1_。日志
RMAN—07529原因:目录 支持对于文件 
文件名称:/甲骨文/应用程序/ Oracle / flash_recovery_area /待机/ onlinelog / o1_mf_8_c7dst287_。日志
RMAN—07529原因:目录 支持对于文件 
文件名称:/甲骨文/应用程序/ Oracle / flash_recovery_area /待机/ onlinelog / o1_mf_7_c7dssvfd_。日志
RMAN—07529原因:目录 支持对于文件 
文件名称:/甲骨文/应用程序/ Oracle / flash_recovery_area /待机/ onlinelog / o1_mf_9_c7dst8wr_。日志
RMAN—07529原因:目录 支持对于文件 
文件名称:/甲骨文/应用程序/ Oracle / flash_recovery_area /待机/ onlinelog / o1_mf_8_c7c1v0ff_。日志
RMAN—07529原因:目录 支持对于文件 

RMAN >出口

然后进入SQL命令查看:

SQL >选择 序列#,应用V archived_log美元秩序 通过 序列#ASC序列#应用
---------- ---------
     没有

SQL >

3、之后开关切换日志测试

主库:

SQL >已更改系统;

系统改变。

SQL >选择 序列#,应用V archived_log美元秩序 通过 序列#ASC序列#应用
---------- ---------
     没有
    没有
    没有

SQL >

从库:

SQL >选择 序列#,应用V archived_log美元秩序 通过 序列#ASC序列#应用
---------- ---------
     可以
    可以

SQL >

看到两边归档日志以及被应用情况都一致了。

作者:mchdba发表于2015 / 12 / 29 21:07:49原文链接
阅读:920评论:0查看评论
]]>
<![CDATA[[原]mongodb中批量将时间戳转变通用日期格式]]> http://prog3.com/sbdm/blog/mchdba/article/details/50382477 http://prog3.com/sbdm/blog/mchdba/article/details/50382477 mchdba 2015 / 12 / 22 21:41:08 1、官网提供的MongoDB遍历脚本:
官方文档地址:https://docs.mongodb.org/manual/tutorial/remove-documents/
> var arr = [“AB”、“CD”、“EF”]
=功能(值、索引、应){打印(值)}
> arr.foreach(显示)
AB
CD
EF

2、MongoDB的模糊查询

MongoDB模糊查询参考:http://prog3.com/sbdm/blog/5iasp/article/details/20714943,需要找出所有时间戳的数据记录,因为时间戳多是以数字开头,最近几年的都是14xxx的,所以正则表达式以14开头搜索,实现方式如下:

蒙戈>使用 POS
切换到分贝POS
蒙戈>
分贝。paymentinfo。找到({“付款时间”:{$正则表达式“14”$选项“我”} })。count();
蒙戈>分贝。paymentinfo。找到({“付款时间”:{$正则表达式“144”$选项“我”} })。count();
一千九百九十五
蒙戈>

查询到有1995条记录,蛮多的,需要处理记录数不少。

建立遍历函数:

DB,细胞质雄性不育_content发现({“用户名”“444333f107624489bae28140d1970bbc”})每一个。(功能(X){
如果(X,标题& &X文件名){
打印(Xcontentid。
DB,细胞质雄性不育_content更新({“contentid”Xcontentid。{ }“设置”:{“标题”X文件名})
}
})

PS:证明不能用,效果一般


3、首先删除一部分txntype为1的胀数据

删除查询出来的集合数据

分贝。paymentinfo。删除({“txntype”:{$正则表达式“1”$选项“我”},三百);

删除所以查询出来的记录:

分贝。paymentinfo。删除({“txntype”:{$正则表达式“1”$选项“我”});

删除付款时间= 0的数据记录

DBpaymentinfo。除去{付款时间 “0” })

4、遗留问题需要解决

对于(var i = 0,len = 3;我< len;i++){ var孩子= dschilds [我];var id =孩子。_id;printjson((ID));var付款时间= child.paymenttime;printjson(付款时间)}
批量修改校验错误日期数据的期待解决的问题

分贝。paymentinfo。更新({“_id”objectID(:“55d56fdbe4b0c1f89b5356ae”)},{设置$:{“付款时间”“14400511608049527”},真正的);
 VaRDS =分贝。paymentinfo。找到({“付款时间”:{$正则表达式“144”$选项“我”});
 对于VaR我=,len =;我< len;i++){
    VaR孩子= dschilds [我];
    VaR_id ID =孩子;
printjson(ID);
    VaR付款时间= child.paymenttime;
    VaR设定=付款时间
    # here. This date is timestamp, such as 1440560826340 mode. Excuse me, inside the mongodb shell how will timestamp into a string'2015-12-15 12:34:16'such a date string?
Db.paymentinfo.update ({"_id"Id}, {$set: {"PaymentTime"Datestr}},True);
Db.paymentinfo.find ({"_id"Id});
}

Db.paymentinfo.find ({"_id"ObjectId ("55dd36dc45ce9e75b91eb340")}).ForEach(Function (a){A["PaymentTime"=]NewDate (parseInt) * (paymentTime) *One thousand(.ToLocaleString ().Replace () (/: \d{)One,Two}$/,''(printjson (a)});

See here also can not solve my problem, so the idea to stop, toLocaleString () get is GST date format string, not I need hh:mm:ss yyyy-mm-dd structure of date format


5,找到突破口,使用javascript

Mongodb's official website has reported error are illustrated, the mongodb shell is to call JavaScript script, so directly inside the window write JS script to achieve OK and be ready to take a data to validate the correctness, the successful, validation script are as follows:
- a single set of data, the time stamp into a date string:

Db.paymentinfo.find ({"_id"ObjectId ("55d56cbbe4b0c1f89b5356a4")}).ForEach(Function (a){   
        This function is # in the month and day, when a digital front and 0 operation
        Function Tran_val(VAL){
            If(parseInt (VAL) <Ten{)
Val="0"+val;
}
            ReturnVal;
}
        Here is the paymentTime for the timestamp #
        VarDatenew =NewDate (parseInt (paymentTime));

        # date to get
        VarYear=datenew.getFullYear ();
        VarMonth=tran_val (datenew.getMonth) +One);
        VarDate=tran_val (datenew.getDate ());

        # get every minute
        VarHour=tran_val (datenew.getHours ());
        VarMinute=tran_val (datenew.getMinutes ());
        VarSecond=tran_val (datenew.getSeconds ());

        # assembled into the standard date format yyyy-mm-dd hh:mm:ss
        VarDatastr=year+"-"+month+"-"+date+""+hour+":"+minute+":"+second;
A["PaymentTime"]=datastr
        Print(paymentTime);

Printjson (a)}
);

The example above shows that the direct use of the JS script can achieve the time stamp to date format change, then the following is the beginning of the for loop batch changes:

Db.paymentinfo.update ({"_id"ObjectId ("55d56fdbe4b0c1f89b5356ae"{}).$set: {"PaymentTime":"14400511608049527"}},True);
    Time stamp # used to traverse the array to the operation at the beginning of the 144
     VarDb.paymentinfo.find ds= ({"PaymentTime": {$regex:'144',$options:'i'}});
     VarDschilds=ds.toArray ();
     For(Var= IZero; <dschilds.length I; i++) {
        VarChild=dschilds[i];
        VarId=child._id;
        VarPaymentTime=child.paymentTime;
        Print(paymentTime);
        Function Tran_val(VAL){
                    If(parseInt (VAL) <Ten{)
Val="0"+val;
}
                    ReturnVal;
}
        VarDatenew =NewDate (parseInt (paymentTime));
        VarYear=datenew.getFullYear ();
        VarMonth=tran_val (datenew.getMonth) +One);
        VarDate=tran_val (datenew.getDate ());
        VarHour=tran_val (datenew.getHours ());
        VarMinute=tran_val (datenew.getMinutes ());
        VarSecond=tran_val (datenew.getSeconds ());
        VarDatestr=year+"-"+month+"-"+date+""+hour+":"+minute+":"+second;
        Here # modification
Db.paymentinfo.update ({"_id"Id}, {$set: {"PaymentTime"Datestr}},True);
Db.paymentinfo.find ({"_id"Id});
}
      Time stamp # used to traverse the array to the operation at the beginning of the 145
     VarDb.paymentinfo.find ds= ({"PaymentTime": {$regex:'145',$options:'i'}});
     VarDschilds=ds.toArray ();
     For(Var= IZero; <dschilds.length I; i++) {
        VarChild=dschilds[i];
        VarId=child._id;
        VarPaymentTime=child.paymentTime;
        Print(paymentTime);
        Function Tran_val(VAL){
                    If(parseInt (VAL) <Ten{)
Val="0"+val;
}
                    ReturnVal;
}
        VarDatenew =NewDate (parseInt (paymentTime));
        VarYear=datenew.getFullYear ();
        VarMonth=tran_val (datenew.getMonth) +One);
        VarDate=tran_val (datenew.getDate ());
        VarHour=tran_val (datenew.getHours ());
        VarMinute=tran_val (datenew.getMinutes ());
        VarSecond=tran_val (datenew.getSeconds ());
        VarDatestr=year+"-"+month+"-"+date+""+hour+":"+minute+":"+second;
Db.paymentinfo.update ({"_id"Id}, {$set: {"PaymentTime"Datestr}},True);
Db.paymentinfo.find ({"_id"Id});
}

6, encountered new problems, a unified date format, will slash into the bar

–批量修改日期斜杠变成横杠

     VaRDS =分贝。paymentinfo。找到({“付款时间”:{$正则表达式“/”$选项“我”});
     VaRdschilds = toarray() DS;
     对于VaR我=;我的<< dschilds.length;i++){
        VaR孩子= dschilds [我];
        VaR_id ID =孩子;
        VaR付款时间= child.paymenttime;
        VaRpaymenttime2 =付款时间。取代(/ \、“-”);
分贝。paymentinfo。更新({“_id”:标识,{设置$:{“付款时间”:paymenttime2 } },真正的);
        打印(付款时间);打印(paymenttime2);
分贝。paymentinfo。找到({“_id”):标识;
}

好吧,到此圆满解决,特别感谢给我启发的网友风神”普,^ _ ^

作者:mchdba发表于2015 / 12 / 22 21:41:08原文链接
阅读:1284评论:1查看评论
]]>
<![CDATA[[原]MySQL 5.7.10最新版本源代码安装详细过程]]> http://prog3.com/sbdm/blog/mchdba/article/details/50354213 http://prog3.com/sbdm/blog/mchdba/article/details/50354213 mchdba 2015 / 12 / 18 21:04:01 ,下载地址:

安装包下载地址:http://dev.mysql.com/get/downloads/mysql-5.7/mysql-5.7.10.tar.gz

可以wget下载,也可以在PC本地网页上下载完再远程传到Linux上面去。


安装文档地址:http://dev.mysql.com/doc/refman/5.7/en/installing-source-distribution.html

文档干货在这里:

#预置设置

贝壳>加MySQL

贝壳>因为- R的gmysql /bin/false MySQL

#开始建立特殊的来源

贝壳>tar zxvf MySQL—版本.tar.gz

贝壳>CD的MySQL—版本

贝壳>CMake。

贝壳>使

贝壳>安装

源#端建立具体的指示

#安装后的设置

贝壳>cd /usr/local MySQL

贝壳>chown -R MySQL。

贝壳>chgrp - R的MySQL。

贝壳>斌/ mysql_install_db MySQL用户=# MySQL的前5.7.6

贝壳>斌/ mysqld -初始化- MySQL用户=# MySQL 5.7.6和

贝壳>斌/ mysql_ssl_rsa_setup# MySQL 5.7.6和

贝壳>chown -R的根。

贝壳>chown -R mysqldata

贝壳>斌/ mysqld_safe MySQL用户=

#下命令是可选的

贝壳>cpsupport文件/ mysql.server / etc / init.d/mysql.server

 

PS:看到差别在于,斌/ mysqld -初始化- MySQL用户=# MySQL 5.7.6和

 

,添加MySQL用户

加MySQL
因为G mysql
autoreconf --力--安装
libtoolize automake --力--
automake --力--添加缺少的

 

,安装组件准备

安装gcc的过程gcc-c + Y
yum安装Y ncurses-devel.x86_64
yum安装Y cmake.x86_64
yum安装Y libaio.x86_64
yum安装Y bison.x86_64
yum安装Y gcc-c + +。x86_64

 

,数据库规划

MySQL软件目录:/usr/local/ mysql5710

MySQL数据目录:/家/数据/ mysql5710 /数据/

MySQL日志目录:/家/数据/ mysql5710 /日志/


mkdir -p /家/数据/ mysql5710 /数据
mkdir -p /usr/local/ mysql5710

mkdir -p /家/数据/ mysql5710 /日志/

 

原博主CSDN博客地址的:http://prog3.com/sbdm/blog/mchdba/article/details/50354213,未经过允许,不得转载。

,开始预编译

时间的。- dcmake_install_prefix = /usr/local/ mysql5710 - dmysql_datadir = /家/数据/ mysql5710 / data-dwith_innobase_storage_engine = 1 dmysql_unix_addr = = /usr/local/ mysql5710 / MySQL。sock-dmysql_user = MySQL UTF8 ddefault_collation utf8_general_ci ddefault_charset = =

 

有报错信息:

指定错误的作用。C:76(消息):

你可以下载它与ddownload_boost = 1 dwith_boost = <目录>

 

这的脚本将寻找<目录>升压。如果不在那里,

将下载并解压(在你的目录)。

 

如果你是在一个防火墙,你可能需要使用一个HTTP代理:

 

 

添加参数- ddownload_boost = 1 dwith_boost = /家/ mysql5710 /,继续编译:

时间的。- dcmake_install_prefix = /usr/local/ mysql5710-dmysql_datadir = /家/数据/ mysql5710 /数据dwith_innobase_storage_engine = 1-dmysql_unix_addr = = /usr/local/ mysql5710 /到- dmysql_user = mysql-ddefault_charset = UTF8 ddefault_collation = utf8_general_ci - ddownload_boost = 1-dwith_boost = /usr/local/升压/

 

看到报错信息:

[下载31%完成]

——下载失败,错误:28;“timeoutwas达”

指定错误的作用。C:177(消息):

你可以试着下载

http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz

使用卷曲/ wget或类似的工具手动,或增加价值

download_boost_timeout(现在是600秒)

调用栈(最新调用的第一个):

CMakeLists .txt:435(包括)

 

 

-配置不完整,错误发生!

 

然后再继续,设置一个download_boost_timeout = 28800来继续下载:

[根@ wgq_idc_mon_1_12 mysql-5.7.10 ] # timecmake。- dcmake_install_prefix = /usr/local/ mysql5710-dmysql_datadir = /家/数据/ mysql5710 /数据dwith_innobase_storage_engine = 1-dmysql_unix_addr = = /usr/local/ mysql5710 /到- dmysql_user = mysql-ddefault_charset = UTF8 ddefault_collation = utf8_general_ci - ddownload_boost = 1-dwith_boost = /usr/local/升压/ download_boost_timeout = 28800

 

也不行,报一样的错误,看来还是需要手动下载了

 

mkdir -p /usr/local/升压

wget http://www.sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz

 

 

然后继续编译:

时间的。- dcmake_install_prefix = /usr/local/ mysql5710-dmysql_datadir = /家/数据/ mysql5710 /数据dwith_innobase_storage_engine = 1-dmysql_unix_addr = = /usr/local/ mysql5710 /到- dmysql_user = mysql-ddefault_charset = UTF8 ddefault_collation = utf8_general_ci - dwith_boost = /usr/local/升压/

 

最好出现如下信息表示编译通过:

......

——cmake_build_type:relwithdebinfo

——compile_definitions:_gnu_source;_file_offset_bits = 64;have_config_h

——cmake_c_flags:墙体的wextra - wformat安全wwrite字符串后声明wdeclaration西弗吉尼亚图书馆协会

——cmake_cxx_flags:墙体的wextra - wformat安全虚拟没有未使用的参数woverloaded西弗吉尼亚图书馆协会

——cmake_c_flags_relwithdebinfo:臭氧- g-fabi-version = 2 -没有忽略帧指针FNO严格ddbug_off走样

——cmake_cxx_flags_relwithdebinfo:臭氧- g-fabi-version = 2 -没有忽略帧指针FNO严格ddbug_off走样

-配置完成

-生成

——建立文件已被写入:/根/ mysql-5.7.10

 

时间使

这个时间比较长,需要耐心等待中,如下所示:

[根@ wgq_idc_mon_1_12 mysql-5.7.10 ] #时间

......

扫描依赖targetmysql_embedded

[ 100% ]建筑CXX objectlibmysqld /例子/ cmakefiles / mysql_embedded。目录/ __ / __ /客户/ completion_hash啊。CC。

[ 100% ]建筑CXX objectlibmysqld /例子/ cmakefiles / mysql_embedded。目录/ __ / __ /客户/ MySQL。CC啊

[ 100% ]建筑CXX objectlibmysqld /例子/ cmakefiles / mysql_embedded。目录/ __ / __ /客户/ Readline。CC啊

链接可执行mysql_embedded Cxx

[ 100% ]建立目标mysql_embedded

扫描依赖targetmysqltest_embedded

[ 100% ]建筑CXX objectlibmysqld /例子/ cmakefiles / mysqltest_embedded。目录/ __ / __ /客户/ MySqlTest。CC啊

链接可执行mysqltest_embedded Cxx

[ 100% ]建立目标mysqltest_embedded

扫描依赖targetmy_safe_process

[ 100% ]建筑CXX objectmysql测试/自由/我的/ Safeprocess / cmakefiles / my_safe_process。目录/ safe_process啊。CC。

链接可执行my_safe_process Cxx

[ 100% ]建立目标my_safe_process

 

7、时间进行安装

这个执行起来比较快一些,如下所示:

[根@ wgq_idc_mon_1_12 mysql-5.7.10 ] #时间安装

......

——安装:/usr/local/ mysql5710 / MySQL测试/自由/我的/ Safeprocess / my_safe_process

--至今:/usr/local/ mysql5710 / MySQL测试/自由/我的/ Safeprocess / my_safe_process

——安装:/usr/local/ mysql5710 / MySQL测试/自由/我的/ Safeprocess / base.pm

——安装:/usr/local/ mysql5710 /支持文件/ my-default.cnf

——安装:/usr/local/ mysql5710 /支持文件/ mysqld_multi.server

——安装:/usr/local/ mysql5710 /支持文件/ MySQL日志旋转

——安装:/usr/local/ mysql5710 /支持文件/魔法

——安装:/usr/local/ mysql5710 /分享/ aclocal / mysql.m4

——安装:/usr/local/ mysql5710 /支持文件/ mysql.server

 

,配置my.cnf启动参数文件

[客户]

#密码= [ your_password ]

端口= 3308

插座= /usr/local/ mysql5710 /到

松散的默认字符集= GBK

 

 

[他]

默认存储引擎= InnoDB

group_concat_max_len = 99999

#通用配置选项

端口= 3307

插座= /usr/local/ mysql5710 /到

PID文件= /usr/local/ mysql5710 / mysqld.pid

datadir = /家/数据/ mysql5710 /数据

MySQL用户=

sql_mode = no_engine_substitution,strict_trans_tables

跳外锁定

跳过名称解析

explicit_defaults_for_timestamp

......

 

,初始化数据库

贝壳>斌/ mysql_install_db MySQL用户=# MySQL的前5.7.6

贝壳>斌/ mysqld -初始化- MySQL用户=# MySQL 5.7.6和

贝壳>斌/ mysql_ssl_rsa_setup# MySQL 5.7.6和

 

 

九点一利用my.cnf初始化

[根@ wgq_idc_mon_1_12根] # cd /usr/local mysql5710 /斌/

[根@ wgq_idc_mon_1_12仓] #。/ mysqld -初始化-用户= MySQL——basedir = /usr/local/ mysql5710 -- datadir = /家/数据/ mysql5710 /数据缺省文件= /usr/local/ mysql5710 / my.cnf

2015-12-17t09:44: 00.021750z 0 [警告] timestampwith隐式的默认值是不。请使用explicit_defaults_for_timestamp服务器选项(见文件的细节)。

2015-12-17t09:44: 00.462018z 0 [警告] InnoDB:新日志文件创建,LSN = 45790

2015-12-17t09:44: 00.652738z 0 [警告] InnoDB:创建外键约束系统表。

2015-12-17t09:44: 00.712997z 0 [错误] unknownvariable的缺省文件= /usr/local/ mysql5710 CNF /我的。”

2015-12-17t09:44: 00.713034z 0 [错误]中止

 

[根] # @ wgq_idc_mon_1_12仓

 

貌似报错了,不识别缺省文件的参数

 

九点二默认启动

会报错如下:

[根@ wgq_idc_mon_1_12仓] # RM -射频/家/数据/ mysql5710 /数据/ *

[根@ wgq_idc_mon_1_12仓] #。/ mysqld -初始化-用户= MySQL——basedir = /usr/local/ mysql5710 -- datadir = /家/数据/ mysql5710 /数据

2015-12-17t09:48: 07.344700z 0 [警告]时间戳和隐式的默认值是不。请使用explicit_defaults_for_timestamp服务器选项(见文件的细节)。

2015-12-17t09:48: 07.705225z 0 [警告] InnoDB:新日志文件创建,LSN = 45790

2015-12-17t09:48: 07.795939z 0 [警告] InnoDB:创建外键约束系统表。

2015-12-17t09:48: 07.807878z 0 [警告]无现成的UUID已经找到,所以我们认为这是第一次,该服务器已经启动。产生一个新的UUID:46bcea55-a4a3-11e5-b7ee-000c29ff8c77。

2015-12-17t09:48: 07.809546z 0 [警告] gtid表不准备使用。表“MySQL gtid_executed”无法打开。

2015-12-17t09:48: 07.811257z 1 [注]的临时密码是root@localhost产生:4e3taitlxu % /

[根] # @ wgq_idc_mon_1_12仓

 

PS:看到这里有一个初始化密码,记下来,不然启动完后,MySQL登录就报密码错误登录不了。

,安装SSL

[根@ wgq_idc_mon_1_12仓] #。/ mysql_ssl_rsa_setup

生成一个2048位的RSA私钥

.......... + + +

................................................................................. + + +

写新的私钥的密钥的CA。PEM

-----

生成一个2048位的RSA私钥

+ + +

.................................................................................................................................................................. + + +

写新的私钥的密钥。PEM

-----

生成一个2048位的RSA私钥

....................................................................... + + +

+ + +

写新的私钥的客户端密钥。PEM

-----

[根] # @ wgq_idc_mon_1_12仓

 

十一,部署启动服务

准备服务:

[根@ wgq_idc_mon_1_12仓] # CP。/支持文件/ mysql.server / etc / init.d/mysqld5710

[根@ wgq_idc_mon_1_12仓] # chmod 700 /等/ init.d/mysqld5710

[根@ wgq_idc_mon_1_12仓] #回声“出口路径= $路径:/usr/local/ mysql5710 / bin”> > /etc/profile

[根@ wgq_idc_mon_1_12仓] #源/etc/profile

[根] # @ wgq_idc_mon_1_12仓

 

设置开机启动

[根@ wgq_idc_mon_1_12仓] # chkconfigmysqld5710上

[根] # @ wgq_idc_mon_1_12仓

 

启动报错:

[根@ wgq_idc_mon_1_12仓] # servicemysqld5710开始

启动MySQL服务器退出了…withoutupdating PID文件[失败] /地方/ mysql5710 / mysqld PID)。

[根] # @ wgq_idc_mon_1_12仓

 

查看后台报错日志mysqld.log:

2015-12-17t09:54: 40.004720z 0 [错误] InnoDB:重做日志文件/ ib_logfile0”存在。创建系统表空间必须重做日志文件是不推荐。请删除所有重做日志文件

在创建新的系统表空间。

2015-12-17t09:54: 40.004744z 0 [错误] InnoDB InnoDB数据库创建失败:错误的一般性错误。你可能需要在试图再次启动删除ibdata1文件。

2015-12-17t09:54: 40.305233z 0 [错误]插件的InnoDB的init函数返回错误。

2015-12-17t09:54: 40.305292z 0 [错误]插件的注册为InnoDB存储引擎失败。

2015-12-17t09:54: 40.305305z 0 [错误]未能初始化插件。

2015-12-17t09:54: 40.305315z 0 [错误]中止

 

2015-12-17t09:54: 40.305333z 0 [注] binlogend

2015-12-17t09:54: 40.306240z 0 [注] /usr/local/ mysql5710 /斌/ mysqld:关机完成

 

解决办法:

[数据]根@ wgq_idc_mon_1_12 # RM - rfib_logfile0 ib_logfile1

[数据] # wgq_idc_mon_1_12根@


 

然后再启动MySQL,有报错信息如下:

2015-12-17t10:02: 46.169594z 0 [警告] InnoDB:无法打开tablemysql /插件从内部数据字典InnoDB虽然FRM文件表存在。请参阅HTTP:/ /

对于如何解决这个问题v.mysql.com/doc/refman/5.7/en/innodb-troubleshooting.html。

mysqld:表“MySQL插件”不存在。

2015-12-17t10:02: 46.169680z 0 [错误]不能打开mysql.plugintable。请运行mysql_upgrade创造它。

2015-12-17t10:02: 46.169907z 0 [错误]未知variable'max_connection = 10000

2015-12-17t10:02: 46.169928z 0 [错误]中止

 

我修改.cnf里面,注释掉即可后面陆陆续续报如下错误max_connection = 10000。

2015-12-17t10:07: 22.243181z 0 [错误]的未知变量的max_user_connection = 3009

2015-12-17t10:16: 15.870396z 0 [错误]的未知变量的thread_concurrency = 8

2015-12-17t10:16: 51.251271z 0 [错误]未知选项”-- myisam_recover”

我然后全部在.cnf里面注释掉,再启动mysqld服务,正常启动了,如下所示:

[根@ wgq_idc_mon_1_12 mysql5710 ] # servicemysqld5710开始

启动MySQL的。[确定]

[根@ wgq_idc_mon_1_12 mysql5710 ] #

 

至此,mysql5.7.10安装部署成功了。

 

十二,重置密码

利用mysqladmin重置密码

[根@ wgq_idc_mon_1_12 mysql5710 ] #。/斌/ mysqladmin -h localhost -中密码的“根”——'4e3taitlxu % /”——插座= /usr/local/ mysql5710 /到

mysqladmin:[警告]使用密码的命令行接口可不安全。

警告:由于密码将发送来的纯文本,使用SSL连接,保证密码安全。

[根@ wgq_idc_mon_1_12 mysql5710 ] #

 

使用新密码登录:

[根@ wgq_idc_mon_1_12 mysql5710 ] # MySQL——插座= /usr/local/ mysql5710 /到-中-证明

警告:使用密码的命令行界面可不安全。

欢迎到MySQL监控。命令结束与;或\

你的MySQL连接ID是7

服务器版本:5.7.10-log源分布

 

版权所有(C)2000、2013、Oracle和/或附属机构。保留所有权利。

 

Oracle是一个注册商标的oraclecorporation和/或其

关联公司。其他名称可能是其各自trademarksof

业主。

 

帮助的类型'帮助'或' '。“C”型清除当前输入的语句。

 

MySQL >

 

好吧,mysql5.7.10安装彻底结束了,下面就可以开始验证5.7的新特性了。

 

13、番外篇

http://www.lengdo.com/blog/view/id/52.html博客,这里的主,说:MySQL启动后一切正常,但是大概在五六分钟后MySQL内存开始莫名飙升到5,然后就稳定在5左右,所有的缓冲区,大小,缓存等都是按最小配置,无SQL请求,甚至关闭InnoDB都无效。

所以准备探讨一番他的症状所在。

 

启动mysql5.7后,剩余1927m内存,如下所示:

[根@ wgq_idc_mon_1_12 mysql-5.7.10 ] #

[根@ wgq_idc_mon_1_12 mysql-5.7.10 ] # free-m

总使用自由共享缓冲区缓存

数量:32110 30182 1927 0 349 24095

•缓冲/高速缓存:26372 5737

交换:12 3955 3967

[根@ wgq_idc_mon_1_12 mysql-5.7.10 ] #

[根@ wgq_idc_mon_1_12 mysql-5.7.10 ] #

 

停止mysql5.7后,剩余2841m内存,如下所示:

[根@ wgq_idc_mon_1_12 mysql-5.7.10 ] # mysqld5710停止服务

关闭MySQL的。[确定]

[根@ wgq_idc_mon_1_12 mysql-5.7.10 ] # free-m

总使用自由共享缓冲区缓存

数量:32110 29268 2841 0 349 24083

•缓冲/高速缓存:27274 4835

交换:12 3955 3967

[根@ wgq_idc_mon_1_12 mysql-5.7.10 ] #

 

大概用了一个G左右,而我的buffer_pool设置就是4G,可能是启动MySQL加载缓冲池的内存消耗,有待后续验证。

作者:mchdba发表于2015 / 12 / 18 21:04:01原文链接
阅读:1836评论:0查看评论
]]>
<![CDATA[[原]mysqlbinlog解析binlog乱码问题解密]]> http://prog3.com/sbdm/blog/mchdba/article/details/50300035 http://prog3.com/sbdm/blog/mchdba/article/details/50300035 mchdba 2015 / 12 / 14 20:22:43 发现MySQL库的binlog日志出来都是乱码,如下所示:
binlog”
ixzqvhniaaaalqaaagcbaaaaahoaaaaaaaeabhrlc3qaano0aaedaabuocny
ixzqvh5iaaaakaaaai8baaaaahoaaaaaaaeaagab / 4baaaacu +尿激酶= =,如果强行用V出来也得不到具体执行的SQL语句,这个问题困扰了很近,今天深入研究才发现核心问题所在。


1、binlog日志的困扰,先看下日志格式

MySQL >显示变量“% binlog %;
----------------------------------------- ---------------------- + + +
|variable_name|价值|
----------------------------------------- ---------------------- + + +
| binlog_cache_size | 一百零四万八千五百七十六|
| binlog_checksum | CRC32|
| binlog_direct_non_transactional_updates | 关闭|
| binlog_format | 混合|
| binlog_max_flush_queue_time | |
| binlog_order_commits | |
| binlog_row_image | |
| binlog_rows_query_log_events | 关闭|
| binlog_stmt_cache_size | 三万二千七百六十八|
| innodb_api_enable_binlog | 关闭|
| innodb_locks_unsafe_for_binlog | 关闭|
| max_binlog_cache_size | 18446744073709547520|
| max_binlog_size | 十亿七千三百七十四万一千八百二十四|
| max_binlog_stmt_cache_size | 18446744073709547520|
| sync_binlog | |
----------------------------------------- ---------------------- + + +
十五集合中的行(零点零一美国证券交易委员会

MySQL >

日志格式是混合的,这个表示一些特殊的UUID以及now()之类会记录成排,其它的仍然是记录SQL模式。


2、测试例子:

MySQL >使用测试;
读取表信息对于完成栏目名称
你可以转关闭此功能 得到一个更快的启动随着•一

数据库更改
MySQL >创建表的Z4选择  作为一;
查询确定,行受影响零点零二美国证券交易委员会
记录:重复:警告:

MySQL >插入Z4选择 ;
查询确定,行受影响美国证券交易委员会
记录:重复:警告:

MySQL >

为CSDN博客博主黄杉(mchdba)所有,原地址为:http://prog3.com/sbdm/blog/mchdba/article/details/50300035,谢绝转载。


3、查看binlog,打开是乱码模式,看不到执行的SQL语句,如下所示

[ root@mysql5.6.12 binlog_new ] # LL
总用量32
- RW光碟----。1 mysql 143 12 10 mysql-bin.000001月09
- RW光碟----。1 mysql 17549 12 11月3点06分mysql-bin.000002
- RW光碟----。1 mysql 618 12 11 mysql-bin.000003月15:07
- RW光碟----。1 mysql 135 12 11月3点06分mysql-bin.index
[ root@mysql5.6.12 binlog_new ] # /usr/local/ MySQL /斌/ mysqlbinlog mysql-bin.000003
/ *!50530集@ @会话。pseudo_slave_mode = 1 * // *!40019集@ @会话。max_insert_delayed_threads = 0 * // *!50003集“old_completion_type = @ @ completion_type,completion_type = 0 * /;
分隔符/ *!*;
# 4
# 151211 15:06:46服务器ID 72 end_log_pos 120 CRC32 0x9961ff72开始:binlog V 4,V 151211 15:06:46 5.6.12-log创建服务器
#警告:这binlog正在使用或没有正确关闭。
binlog”
bnzqvg9iaaaadaaaahgaaaabaaqans42ljeylwxvzwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaa ezgnaagaegaebaqeegaaxaaegggaaaaicagcaaaacgokgrkaaxl /
千年虫=
'/ *!*;
# 120
# 151211 15:07:13服务器ID 72 end_log_pos 192 CRC32 0x3ea43b0e查询thread_id = 732 = 0 = 0 error_code exec_time
 时间戳=十四亿四千九百八十一万七千六百三十三/ *!*;
“@”会话pseudo_thread_id =。七百三十二/ *!*;
“@”会话foreign_key_checks =。“,”会话sql_auto_is_null =。“,”会话unique_checks =。“,”会话自动提交=。/ *!*;
“@”会话sql_mode =。十亿七千五百八十三万八千九百七十六/ *!*;
“@”会话auto_increment_increment =。“,”会话auto_increment_offset =。/ *!*;
/ *!C utf8mb4 *// *!*“@”会话character_set_client =。四十五“,”会话collation_connection =。四十五“,”会话collation_server =。四十五/ *!*;
“@”会话lc_time_names =。/ *!*;
“@”会话collation_database =。默认/ *!*;
开始
/ *!*;
# 192
# 151211 15:07:13服务器ID 72 end_log_pos 314 CRC32 0xcaec51ae查询thread_id = 732 = 0 = 0 error_code exec_time
使用测试/ *!* 时间戳=十四亿四千九百八十一万七千六百三十三/ *!*;
创建  ` Z4 `一个 int  默认 “0”
)
/ *!*;
# 314
# 151211 15:07:13服务器ID 72 end_log_pos 359 CRC32 0xd8c93954 table_map:`测试`。` Z4 `映射到122号
# 359
# 151211 15:07:13服务器ID 72 end_log_pos 399 CRC32 0xa494ef72 write_rows:表ID 122旗:stmt_end_f

binlog”
ixzqvhniaaaalqaaagcbaaaaahoaaaaaaaeabhrlc3qaano0aaedaabuocny
ixzqvh5iaaaakaaaai8baaaaahoaaaaaaaeaagab / 4baaaacu +尿激酶= =
'/ *!*;
# 399
# 151211 15:07:13服务器ID 72 end_log_pos 430 CRC32 0xd1ab5b55 XID = 6908
承诺/ *!*;
# 430
# 151211 15:07:20服务器ID 72 end_log_pos 502 CRC32 0xdfc3212d查询thread_id = 732 = 0 = 0 error_code exec_time
 时间戳=十四亿四千九百八十一万七千六百四十/ *!*;
开始
/ *!*;
# 502
# 151211 15:07:20服务器ID 72 end_log_pos 547 CRC32 0xc59aab0e table_map:`测试`。` Z4 `映射到122号
# 547
# 151211 15:07:20服务器ID 72 end_log_pos 587 CRC32 0x648b02a4 write_rows:表ID 122旗:stmt_end_f

binlog”
khzqvhniaaaalqaaacmcaaaaahoaaaaaaaeabhrlc3qaano0aaedaaaoq5rf
khzqvh5iaaaakaaaaescaaaaahoaaaaaaaeaagab / 4caaaapaklza = =
'/ *!*;
# 587
# 151211 15:07:20服务器ID 72 end_log_pos 618 CRC32 0x9b35600a XID = 6915
承诺/ *!*;
分隔符;
#终点 日志文件
回滚增加了通过mysqlbinlog */;
/ *!50003集completion_type = @ old_completion_type *// *!50530集@ @会话。pseudo_slave_mode = 0 * /;
[ root@mysql5.6.12 binlog_new ] #

PS:大家看到/usr/local/ MySQL /斌/ mysqlbinlog MySQL 00000解析出来的都是khzqvhniaaaalqaaacmcaaaaahoaaaa这样的乱码格式3箱。


4、谷歌、得知可以用–Base64输出= decode-rows V查看出来SQL语句,如下所示

[根@ MySQL5612binlog_new ] # /usr/local/ MySQL /斌/ mysqlbinlog——Base64输出= decode-rows V MySQL仓3 00000
/ *!50530集@ @会话。pseudo_slave_mode = 1 * // *!40019集@ @会话。max_insert_delayed_threads = 0 * // *!50003集“old_completion_type = @ @ completion_type,completion_type = 0 * /;
分隔符/ *!*# 4
# 151211 15:06:46服务器ID 72 end_log_pos 120 CRC32 0x9961ff72开始:binlog V 4,V 151211 15:06:46 5.6.12-log创建服务器
#警告:这binlog正在使用或没有正确关闭。
# 120
# 151211 15:07:13服务器ID 72 end_log_pos 192 CRC32 0x3ea43b0e查询thread_id = 732 = 0 = 0 error_code exec_time
设置时间戳=十四亿四千九百八十一万七千六百三十三/ *!*;
设置“@session.pseudo_thread_id =七百三十二/ *!*;
设置“@session.foreign_key_checks =,“@session.sql_auto_is_null =,“@session.unique_checks =,“@session.autocommit =/ *!*;
设置“@session.sql_mode =十亿七千五百八十三万八千九百七十六/ *!*;
设置“@session.auto_increment_increment =,“@session.auto_increment_offset =/ *!*/ *!C utf8mb4 *// *!*;
设置“@session.character_set_client =四十五,“@session.collation_connection =四十五,“@session.collation_server =四十五/ *!*;
设置“@session.lc_time_names =/ *!*;
集@ @会议collation_database =默认。/ *!*;
开始
/ *!*# 192
# 151211 15:07:13服务器ID 72 end_log_pos 314 CRC32 0xcaec51ae查询thread_id = 732 = 0 = 0 error_code exec_time
使用测试/ *!*;
设置时间戳=十四亿四千九百八十一万七千六百三十三/ *!*;
创建` Z4 `(
一个int默认“0”/ *!*# 314
# 151211 15:07:13服务器ID 72 end_log_pos 359 CRC32 0xd8c93954 table_map:`测试`。` Z4 `映射到122号
# 359
# 151211 15:07:13服务器ID 72 end_log_pos 399 CRC32 0xa494ef72 write_rows:表ID 122旗:stmt_end_f
# # #插入`测试` ` ` Z4。
# # #集
# # # @ 1 = 1
# 399
# 151211 15:07:13服务器ID 72 end_log_pos 430 CRC32 0xd1ab5b55 XID = 6908
承诺/ *!*# 430
# 151211 15:07:20服务器ID 72 end_log_pos 502 CRC32 0xdfc3212d查询thread_id = 732 = 0 = 0 error_code exec_time
设置时间戳=十四亿四千九百八十一万七千六百四十/ *!*;
开始
/ *!*# 502
# 151211 15:07:20服务器ID 72 end_log_pos 547 CRC32 0xc59aab0e table_map:`测试`。` Z4 `映射到122号
# 547
# 151211 15:07:20服务器ID 72 end_log_pos 587 CRC32 0x648b02a4 write_rows:表ID 122旗:stmt_end_f
# # #插入`测试` ` ` Z4。
# # #集
# # # @ 1 = 2
# 587
# 151211 15:07:20服务器ID 72 end_log_pos 618 CRC32 0x9b35600a XID = 6915
承诺/ *!*;
分隔符;
日志文件#结束
回滚/ * *添加/ mysqlbinlog/ *!50003集completion_type = @ old_completion_type *// *!50530集@ @会话。pseudo_slave_mode = 0 * /;
[根@ MySQL5612binlog_new ] #

确实可以看到SQL语句,不过都是排模式的,如下所示:

# # #插入`测试` ` ` Z4。
# # #集
# # # @ 1 = 2
# 587

看到不到应用程序或者客户端执行的真正SQL语句,这样也不利于进行业务分析数据分析,无助于对程序的优化。


5、问题分析

这样binlog日志格式混合都录制为乱码,那我将换成声明格式看看是否会持续乱码?,我修改完.cnf后,重启MySQL数据库,开始建表测试,但是报错如下:

MySQL >创建表3选择  作为一;
误差一千六百六十五(hy000):无法执行声明:不可能  二进制日志自binlog_format =声明至少一张桌子使用存储引擎有限公司行日志记录。InnoDB有限公司事务隔离级别时的行日志记录 承诺 未提交。
MySQL >

问题发现了,看到问题贺新郎,隔离级别太低了,我的默认隔离级别是read-committed,所以导致binlog记录的必须都是排模式,解析出来的是乱码,强行用V显示出来也是排模式,所以我将隔离级别升级为repeatable-read的话,就会有排格式也会有格式了接下来为了用2个小实例来验证我的判断声明:


4.1 repeatable-read和声明测试结果

*所以我将隔离级别升级为repeatable-read,binlog设置为binlog_format =声明
如下所示:**

#这个默认 交易 隔离 水平。可用水平:
#-中立,•承诺,可重复—,序列化
transaction_isolation =重复—
binlog_format =声明

然后重启MySQL,看binlog的记录形式是啥样的,如下所示:

开始
/ *!*;
# 219
# 251
# 151211 16:15:02服务器ID 72 end_log_pos 251 CRC32 0x4ea440db IntVar
insert_id =一万零五百五十/ *!*;
# 151211 16:15:02服务器ID 72 end_log_pos 435 CRC32 0xa37c5f2d查询thread_id = 1 = 0 = 0 error_code exec_time
使用` parking_db `/ *!* 时间戳=十四亿四千九百八十二万一千七百零二/ *!*;
插入 access_log.access_log价值观,connection_id(),now(),用户(),current_user())
/ *!*;
# 435
# 151211 16:15:02服务器ID 72 end_log_pos 466 CRC32 0x2970e89a XID = 3
承诺/ *!*;
# 466
# 151211 16:16:22服务器ID 72 end_log_pos 569 CRC32 0xbe43b367查询thread_id = 2 = 0 = 0 error_code exec_time
使用测试/ *!* 时间戳=十四亿四千九百八十二万一千七百八十二/ *!*;
创建 Z4选择  作为一
/ *!*;
# 569
# 151211 16:16:32服务器ID 72 end_log_pos 648 CRC32 0x69b2383c查询thread_id = 2 = 0 = 0 error_code exec_time
 时间戳=十四亿四千九百八十二万一千七百九十二/ *!*;
开始
/ *!*;
# 648
# 151211 16:16:32服务器ID 72 end_log_pos 745 CRC32 0xcd1721a4查询thread_id = 2 = 0 = 0 error_code exec_time
 时间戳=十四亿四千九百八十二万一千七百九十二/ *!*;
插入 Z4选择 
/ *!*;
# 745
# 151211 16:16:32服务器ID 72 end_log_pos 776 CRC32 0xfc0dcfc4 XID = 70
承诺/ *!*;
分隔符;
#终点 日志文件
回滚增加了通过mysqlbinlog */;
/ *!50003集completion_type = @ old_completion_type *// *!50530集@ @会话。pseudo_slave_mode = 0 * /;
Binlog_new]# [root@mysql5.6.12

See similar insert into access Access_log.access_log log values (null, connection (ID) now (), the user (), current user () here's some function is best to use row mode, because of the master-slave replication. UUID has now () will cause delay of time. Therefore, in order to data consistency, statement format is not the best choice.


4.2 REPEATABLE-READ and MIXED test results

Modify the settings inside the my.cnf:

Transaction_isolation =REPEATABLE-READ
Binlog_format=MIXED

After the restart MySQL database, enter the test data:

Insert mysql>IntoZ4Select Three;
OK Query,OneAffected row (ZeroSEC)
Records:OneDuplicates:ZeroWarnings:Zero

Mysql>Exit

View binlog data, will see the into Z4 select Insert 3 this SQL record, indicating that in the mixed mode, the parse out of the SQL is normal, some now () has UUID directly into row format, as shown below:

[root@mysql5.6.12/usr/local/mysql/bin/mysqlbinlog --base64-output=DECODE-ROWS -v mysql-bin binlog_new]#.000007
...
# at 274
16:21:02 server ID #151211 72 end_log_pos 368 CRC32 0x156a1c51 Write_rows: table ID flags: 70 STMT_END_F
### INSERT INTO `access_log`.`access_log`
### SET
### @1=10551
### @2=1
### @3=1449822062
### @4='park_user@192.168.121.243'
### @5='park_user@192.168.%'
# at 368
16:21:02 server ID #151211 72 end_log_pos 399 0x8254defe Xid CRC32 = 3
COMMIT* / / *!;
# at 399
16:21:25 server #151211 ID end_log_pos 478 CRC32 72 0xe252f5c7 Query thread_id=2 exec_time=0 error_code=0
TIMESTAMP= SETOne billion four hundred and forty-nine million eight hundred and twenty-two thousand and eighty-five* / / *!;
BEGIN
* / / *!;
# at 478
16:21:25 server #151211 ID end_log_pos 575 CRC32 72 0x34308ad6 Query thread_id=2 exec_time=0 error_code=0
`test` use* / / *!;
TIMESTAMP= SETOne billion four hundred and forty-nine million eight hundred and twenty-two thousand and eighty-five* / / *!;
Into Z4 select InsertThree
* / / *!;
# at 575
16:21:25 server ID #151211 72 end_log_pos 606 0x67c460eb Xid CRC32 = 61
COMMIT* / / *!;
DELIMITER;
End of log file #
ROLLBACKAdded by mysqlbinlog / * * /;
50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/ / *!;
50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/ / *!;
[root@mysql5.6.12Binlog_new]#
Author: mchdba published in 20:22:43 2015/12/14Text link
Read: 1254 comments: 0View comments
]]>
<![CDATA[[原]@酱油--路慢慢其修远兮]]> Http://prog3.com/sbdm/blog/mchdba/article/details/50266311 Http://prog3.com/sbdm/blog/mchdba/article/details/50266311 Mchdba 17:11:02 2015/12/11 One, I and soy sauce difference

1, soy sauce with a profit in playing the stock, I was playing the stock with the principal
2, soy sauce do not cover the quilt, not flesh, flesh will cover me
3, I will not soy sauce basic convertible, convertible
4, soy sauce only buy small cap stocks, I will buy the stock market gem
5, soy sauce fell out of the general heart is not urgent, I will be anxious to be sad mood is not good
6, soy sauce basically do not watch the disk, I will stare at the empty disk to see shares up and down unless the closure plate limit.
7, soy sauce salary is my 2 times.


Two, and I did the difference

1, Shanke knows more than me, technology
2, Shanke decisively, quilt immediately cut
3, understand the flash profit, profit 20% shipment immediately
4, flash will have stock artifact in hand.
5, Shanke married marriage housing loan, my salary is 1.1 times.


Three, the difference between me and the potato

1, potatoes have their own model software, in the 20% price range below the annual line, he bought. I don't have a model I'm buying
2, potatoes if 30% of profits is shipped, and no, I am earning the reluctant to sell to earn more, quilt, fear of the flesh, the pain.
3, the potato with a profit in the play, I was losing the principal to play.
I'm 4, this wave rally quilt, potatoes watching short positions.
The 5 wife is the regular hospital preparation, potatoes, all 4 Suites without credit, my salary is 3.5 times.


Four, wood, flash, MCH, group

Wait for me in the same quilt, Lu Long Xi, I will search for the truth, brother cheer us on, strive to catch up with and surpass them.

Author: mchdba published in 17:11:02 2015/12/11Text link
Read: 1269 comments: 0View comments
]]>
<![CDATA[[原]mysql5.6.12切换binlog二进制日志路径]]> Http://prog3.com/sbdm/blog/mchdba/article/details/50254903 Http://prog3.com/sbdm/blog/mchdba/article/details/50254903 Mchdba 21:25:44 2015/12/10 Preface
A MySQL students said because they binlog produce too big and need to log path to put the additional disk above, ask me what time of the operation of the program, share get a MySQL binary log log path switching examples to him. Just today is empty, take mysql5.6.12 to do an example, give you a demonstration.

1, see the binlog address

[root@mysql5612~]# more /usr/local/mysql/my.cnf |grepLog-bin
Log=/home/data/mysql/binlog/mysql-bin. -binLog
[root@mysql5612~]#

2, verify the normal use of binlog

Binlog] [root@mysql5612# PWD
/home/data/mysql/binlog
Binlog] [root@mysql5612# MySQL
Using a password Warning:On TheLine interface can be insecure. command
WelcomeTo TheMonitor. Commands MySQLEnd With;Or\g.
MySQL connection YourID Is Three hundred and ninety thousand two hundred and seventeen
ServerVersion:Five point six.12-LogDistribution Source

Copyright (c)Two thousand,Two thousand and thirteen, OracleAnd/Or ItsAll rights reserved. affiliates.

OracleIsRegistered trademark aOfCorporation OracleAnd/Or Its
Other names may be trademarks affiliates.OfRespective their
Owners.

'help Type; ';'Or'\h'ForType'\c'help.ToClearTheInput statement. current

Create table Z2 select mysql>Two AsA;
ERROROne thousand and forty-six(ThreeD000): database selected No
Create table test.z2 select mysql>Two AsA;
OK Query,OneAffected row (Zero point zero fourSEC)
Records:OneDuplicates:ZeroWarnings:Zero

Mysql>Exit
Bye
Binlog] [root@mysql5612# ll
Total dosageSix million two hundred and forty thousand two hundred and four
-rw-rw1. MySQL MySQL 82015 mysql-bin.000048 10737421876
-rw-rw1. MySQL MySQL 82015 mysql-bin.000049 10737419686
-rw-rw1. MySQL MySQL 82015 mysql-bin.000050 10737420636
-rw-rw1. MySQL MySQL 82015 mysql-bin.000051 10737419576
-rw-rw1. MySQL MySQL 82015 mysql-bin.000052 10737421426
-rw-rw1. MySQL MySQL 10 20:44 mysql-bin.000053 102119460412
-rw-rw1. MySQL MySQL 82015 mysql-bin.index 6156
Binlog] [root@mysql5612#

See binlog log updated, in the 20:44 time, binlog log mysql-bin.000053 has updated records. Then rinse the MySQL service to see if binlog will be re generated:

Binlog] [root@mysql5612#Service Mysqld56 Restart
Shutting Down MySQL... and...[determination]
Starting MySQL....[determination]
Binlog] [root@mysql5612#
Binlog] [root@mysql5612#Ll
The total amount of 997276
-rw-rw----1.Mysql Mysql102119462712 month 1020: 46 Mysql-bin.000053
-rw-rw----1.Mysql Mysql39912 month 1020: 47 Mysql-bin.000054
-rw-rw----1.Mysql Mysql8212 month 1020: 46 Mysql-bin.index
Binlog] [root@mysql5612#

Sure enough, there's a new mysql-bin.000054 log generated.

Blog address of the original csdn:Http://prog3.com/sbdm/blog/mchdba/article/details/50254903, without the original author Huang Shan (mchdba) allowed, may not be reproduced


3, to modify the binlog log path

Create a new binlog log path:

[root@mysql5612Binlog]# MKDIR -p /home/data/mysql/binlog_new
[root@mysql5612Binlog]#
[root@mysql5612Binlog]Chown -R mysql.mysql /home/data/mysql/binlog_new #
[root@mysql5612Binlog]#

And then modify the my.cnf, set the new log-bin path:

[root@mysql5612Binlog]# VIM /usr/local/mysql/my.cnf
Log-bin =/home/data/mysql/binlog_new/mysql-bin

View the configuration file for the binlog path:

[root@mysql5612Mysql]More /usr/local/mysql/my.cnf |grep log-bin #
Log-bin =/home/data/mysql/binlog_new/mysql-bin
[root@mysql5612Mysql]#

4, restart the MySQL service

[root@mysql5612Mysql]# service mysqld56 restart
ShuttingDownMySQL[determine]
Starting MySQL... [determine]
[root@mysql5612Mysql]#

5, verify the new binlog

View the generated log, with the new as shown below:

[root@mysql5612Mysql]# CD /home/data/mysql/binlog_new/
[root@mysql5612Binlog_new]# ll
Total dosageTwelve
-rw-rw----.OneMySQL MySQLOne hundred and forty-three TwelvemonthTen Twenty-one09 mysql-bin.000001
-rw-rw----.OneMySQL MySQLThree hundred and ninety-nine TwelvemonthTen Twenty-one:TenMysql-bin.000002
-rw-rw----.OneMySQL MySQLNinety TwelvemonthTen Twenty-one:TenMysql-bin.Index
[root@mysql5612Binlog_new]#

Create a new table, input data:

Binlog_new] [root@mysql5612# MySQL
Using a password Warning:On TheLine interface can be insecure. command
WelcomeTo TheMonitor. Commands MySQLEnd With;Or\g.
MySQL connection YourID Is Two
服务器版本五点六12日志源分布

版权(丙)二千二千零一十三,甲骨文/ 它的关联公司。保留所有权利。

甲骨文公司注册商标甲骨文公司/ 它的
关联公司。其他名称可能是商标各自的
业主。

类型的帮助;' \ '对于帮助。类型' \ '明确这个电流输入语句。

MySQL >使用测试;
读取表信息对于完成栏目名称
你可以关闭这个功能 得到一个更快的启动随着•一

数据库更改
MySQL创建表的Z3选择> 作为一;
查询确定,行受影响零点零一美国证券交易委员会
记录:重复:警告:

MySQL >插入Z3选择;
查询确定,行受影响美国证券交易委员会
记录:重复:警告:

MySQL >插入Z3选择;
查询确定,行受影响美国证券交易委员会
记录:重复:警告:

MySQL >选择*Z4;
误差一千一百四十六四十二S02):表”测试。Z4”不存在
MySQL >选择*Z3;
+--- +
|一|
+--- +
||
||
||
+--- +
 美国证券交易委员会

MySQL >

再去查看binlog,MySQL仓。00000 2 399 1085从增大到,表示有新的二进制日志产生了:

[根@ mysql5612 binlog_new ] # LL
总用量12
—RW RW ----。mysql一百四十三 十二 二十一09 MySQL仓。1 00000
RW RW ----。mysql一千零八十五 十二 二十一十一MySQL仓。2 00000
RW RW ----。mysql九十 十二 二十一mysql-bin.index
[根@ mysql5612 binlog_new ] #

再使用mysqlbinlog工具去看下产生的新日志是否刚在建立的Z3表记录,看到有所有关于测试库建立的Z3表的操作记录,如下所示:

[根@ mysql5612 binlog_new ] # /usr/local/ MySQL /斌/ mysqlbinlog——Base64输出= decode-rows V MySQL仓2 00000
/ *!50530集@ @会话。pseudo_slave_mode = 1 * // *!40019集@ @会话。max_insert_delayed_threads = 0 * // *!50003集“old_completion_type = @ @ completion_type,completion_type = 0 * /;
分隔符/ *!*# 4
# 151210 21:10:05服务器ID 72 end_log_pos 120 CRC32 0xa723f142开始:binlog V 4,V 151210 21:10:05 5.6.12-log服务器启动时创建的
#警告:这binlog正在使用或没有正确关闭。
回滚/ *!*# 120
# 151210 21:10:07服务器ID 72 end_log_pos 206 CRC32 0x447f5733查询thread_id = 1 = 0 = 0 error_code exec_time
设置时间戳=十四亿四千九百七十五万三千零七/ *!*;
设置“@session.pseudo_thread_id =/ *!*;
设置“@session.foreign_key_checks =,“@session.sql_auto_is_null =,“@session.unique_checks =,“@session.autocommit =/ *!*;
设置“@session.sql_mode =十亿七千五百八十三万八千九百七十六/ *!*;
设置“@session.auto_increment_increment =,“@session.auto_increment_offset =/ *!*/ *!C utf8mb4 *// *!*;
设置“@session.character_set_client =四十五,“@session.collation_connection =四十五,“@session.collation_server =四十五/ *!*;
设置“@session.time_zone =“系统”/ *!*;
设置“@session.lc_time_names =/ *!*;
集@ @会议collation_database =默认。/ *!*;
开始
/ *!*# 206
# 151210 21:10:07服务器ID 72 end_log_pos 274 CRC32 0xde0b7250 table_map:` access_log `。` access_log `映射到70号
# 274
# 151210 21:10:07服务器ID 72 end_log_pos 368 CRC32 0xa03a9659 write_rows:表ID 70旗:stmt_end_f
# # #插入` access_log ` ` access_log `。
# # #集
# # # @ 1 = 10534
# # # @ 2 = 1
# # # @ 3 = 1449753007
# # # @ 4 =“park_user@192.168.121.243”
# # # @ 5 = 'park_user @ 192.168。%”
# 368
# 151210 21:10:07服务器ID 72 end_log_pos 399 CRC32 0x3ccf3c72 XID = 3
承诺/ *!*# 399
# 151210 21:10:58服务器ID 72 end_log_pos 471 CRC32 0xef9ce950查询thread_id = 2 = 0 = 0 error_code exec_time
设置时间戳=十四亿四千九百七十五万三千零五十八/ *!*;
开始
/ *!*# 471
# 151210 21:10:58服务器ID 72 end_log_pos 593 CRC32 0x92e79f36查询thread_id = 2 = 0 = 0 error_code exec_time
使用测试/ *!*;
设置时间戳=十四亿四千九百七十五万三千零五十八/ *!*;
创建` Z3 `(
一个int默认“0”/ *!*# 593
# 151210 21:10:58服务器ID 72 end_log_pos 638 CRC32 0x65f13b58 table_map:`测试`。` Z3 `映射到107号
# 638
# 151210 21:10:58服务器ID 72 end_log_pos 678 CRC32 0xaa7fb7e1 write_rows:表ID 107旗:stmt_end_f
# # #插入` ` ` Z3 `测试。
# # #集
# # # @ 1 = 3
# 678
# 151210 21:10:58服务器ID 72 end_log_pos 709 CRC32 0x218a319c XID = 60
承诺/ *!*# 709
# 151210 21:11:04服务器ID 72 end_log_pos 781 CRC32 0x9662b95e查询thread_id = 2 = 0 = 0 error_code exec_time
设置时间戳=十四亿四千九百七十五万三千零六十四/ *!*;
开始
/ *!*# 781
# 151210 21:11:04服务器ID 72 end_log_pos 826 CRC32 0x46f32822 table_map:`测试`。` Z3 `映射到107号
# 826
# 151210 21:11:04服务器ID 72 end_log_pos 866 CRC32 0xafb27f1e write_rows:表ID 107旗:stmt_end_f
# # #插入` ` ` Z3 `测试。
# # #集
# # # @ 1 = 4
# 866
# 151210 21:11:04服务器ID 72 end_log_pos 897 CRC32 0x351c7718 XID = 63
承诺/ *!*# 897
# 151210 21:11:10服务器ID 72 end_log_pos 969 CRC32 0x76931e05查询thread_id = 2 = 0 = 0 error_code exec_time
设置时间戳=十四亿四千九百七十五万三千零七十/ *!*;
开始
/ *!*# 969
# 151210 21:11:10服务器ID 72 end_log_pos 1014 CRC32 0xe7e8947b table_map:`测试`。` Z3 `映射到107号
# 1014
# 151210 21:11:10服务器ID 72 end_log_pos 1054 CRC32 0xbdafa096 write_rows:表ID 107旗:stmt_end_f
# # #插入` ` ` Z3 `测试。
# # #集
# # # @ 1 = 5
# 1054
# 151210 21:11:10服务器ID 72 end_log_pos 1085 CRC32 0x831695c0 XID = 64
承诺/ *!*;
分隔符;
日志文件#结束
回滚/ * *添加/ mysqlbinlog/ *!50003集completion_type = @ old_completion_type *// *!50530集@ @会话。pseudo_slave_mode = 0 * /;
[根@ mysql5612 binlog_new ] #

这表明我们的binlog路径切换操作成功完成了。

作者:mchdba发表于2015 / 12 / 10 21:25:44原文链接
阅读:1327评论:0查看评论
]]>
<![CDATA[[原]正在关闭接口 eth0: 错误:断开设备 ‘eth0’]]> http://prog3.com/sbdm/blog/mchdba/article/details/50210003 http://prog3.com/sbdm/blog/mchdba/article/details/50210003 mchdba 2015 / 12 / 7 19:46:01 1、问题描述

[根@ pdshow ~ ] #平百度
连接:网络不可达
[根@ pdshow ~ ] #

[根@ pdshow ~ ] #平百度
连接:网络不可达
[根] # ifconfig eth0”pdshow ~ 192.168.121.51 netmask 255.255.255.0广播192.168.121.255
[根@ pdshow ~ ] #默认网关地址192.168.120.1
siocaddrt:没有那个进程
[根@ pdshow ~ ] #
网络IP地址设置没有成功,失效了。


2、网络启动报错

正在关闭接口eth0:错误:断开设备“eth0”(/组织/电子教鞭/安装/设备/ 0)失败:这个装置是不活跃的;


3、关闭NetworkManager

看到网上有说的是NetworkManager影响了/etc/init. D /网络,所以关闭NetworkManager
[根@ 192 ~ ] # NetworkManager停止服务
停止NetworkManager守护进程:[确定]
[ 192 ] # ~根@

也没有效果,重启网络服务失败。


4、查看ifcfg-eth0配置问题

[根@ 192 ~ ] # Vim / etc / sysconfig /网络脚本/ ifcfg-eth0

eth0设备=
类型=以太网
fd7935ed-d944-4a1a-81eb-bf72b1e368c0 UUID =
onboot =没有
nm_controlled =是的
bootproto =没有
hwaddr = 00:0c:29:CD:1F:68
ipaddr = 192.168.121.52
前缀= 23
网关192.168.120.1
192.168.121.212 -DNS1. =
defroute =是的
ipv4_failure_fatal =是的
ipv6init =没有
名称=“系统eth0”

看到onboot =不,这个配置失效了,应该配置成是猜对,没有是网卡不激活失效的设置改成是。


5、重启网络

/ etc / init.d/network重启,之后生效,网络问题解决了。

参考文章地址:http://blog.sina.com.cn/s/blog_6f74890d010195xm.html

作者:mchdba发表于2015 / 12 / 7 19:46:01原文链接
阅读:1479评论:0查看评论
]]>
<![CDATA[[原]ORA-19602: cannot backup or copy active file in NOARCHIVELOG mode]]> http://prog3.com/sbdm/blog/mchdba/article/details/50179067 http://prog3.com/sbdm/blog/mchdba/article/details/50179067 mchdba 2015 / 12 / 4 20:07:56 1、报错记录如下:
[根@ testoracle1 IMPDP、]# bash X /甲骨文/备份/脚本/ rman_full_backup.sh
+ +日期百分之
+出口日期=二千零一十五十二02
+日期=二千零一十五十二02
+出口back_dir = / pddata2 /甲骨文/备份/数据
+ back_dir = / pddata2 /甲骨文/备份/数据
+苏-甲骨文
mkdir P / pddata2 /甲骨文/备份/数据/二千零一十五十二02
RMAN日志= / pddata2 /甲骨文/备份/数据/二千零一十五十二02/ rman_backup。日志目标/ << EOF
运行{
备份作为压缩备份集的数据库格式“\”/ pddata2 /甲骨文/备份/数据/二千零一十五十二02d_ % % % / full_ t_ s.bak ' ';
}
出口;
EOF
'
RMAN >>> > + Oracle RMAN苏C
chmod七百七十五/ pddata2 /甲骨文/备份/数据/二千零一十五十二02/ *
'
[根@ testoracle1 IMPDP、]#
[根@ testoracle1 IMPDP、]#
[根@ testoracle1 IMPDP、]#
[根@ testoracle1 IMPDP、]#更多/ pddata2 /甲骨文/备份/数据/ 2015-12-02 / rman_backup.log

恢复管理器:发布十一点二010•生产结婚12月 二十一十五06 二千零一十五

版权(丙)一千九百八十二二千零九,甲骨文/ 它的关联公司。保留所有权利。

连接目标数据库:powerdes(DBID =三十三亿九千一百七十六万一千六百四十三)

RMAN >>>
启动备份 02•12月—十五
使用目标数据库控制文件 而不是回收目录
分配信道:ora_disk_1
通道ora_disk_1:SID =三百九十七设备类型=磁盘
通道:从全ora_disk_1压缩数据文件备份
通道ora_disk_1:指定数据文件(S)备份
RMAN—00571:===========================================================
RMAN—00569错误信息如下:===============栈===============
RMAN—00571:===========================================================
RMAN—03009:失败备份命令ora_disk_1通道 十二/02/二千零一十五 二十一十五08
奥拉—一万九千六百零二无法备份 复制主动文件 NOARCHIVELOG模式

RMAN >

恢复经理完成。
[根@ testoracle1 IMPDP、]#
[根@ testoracle1 IMPDP、]#

2。解决办法之泠备份

【甲骨文@ testoracle1 ~ ] rlwrap美元RMAN的目标/
rlwrap:警告:你的项“xterm”rlwrap找不到  这个terminfo数据库。期待一些问题。

恢复管理器:发布十一点二010•生产结婚12月 二十一十八十三 二千零一十五

版权(丙)一千九百八十二二千零九,甲骨文/ 它的关联公司。保留所有权利。

连接目标数据库:powerdes(DBID =三十三亿九千一百七十六万一千六百四十三)

RMAN >立即关闭;

使用目标数据库控制文件 而不是回收目录
数据库关闭
关闭数据库
甲骨文实例关闭

RMAN >启动安装;

连接目标数据库(开始)
实例开始
数据库安装

全系统全局区一百一十三亿五千七百五十六万四千九百二十八字节

固定尺寸二百二十一万六千七百四十四字节
变尺寸八十二亿五千四百三十九万三千五百六十字节
数据库缓冲区三十亿八千七百万七千七百四十四字节
重做缓冲区一千三百九十四万六千八百八十字节

RMAN >

3、解决办法开启归档备份

因为磁盘不够,所以此方法省略过。


4、备份控制文件

RMAN>备份控制文件格式“/ pddata2 /甲骨文/备份/数据/ 2015-12-02 / cntrl_ % % % s_ p_ T;

开始备份02•12月十五                                                                                                                                                                   
使用目标数据库控制文件而不是恢复目录
分配信道:ora_disk_1
通道ora_disk_1:希德=装置=磁盘
通道ora_disk_1:启动数据文件备份                                                                                                                                          
通道ora_disk_1:指定数据文件(S)备份
包括当前控制文件备份                                                                                                                                                   
通道ora_disk_1:启动片02•12月十五
通道ora_disk_1:完成02•12月十五手柄=/ pddata2 /甲骨文/备份/数据/二千零一十五十二02/ cntrl_5055_1_897427607标签=tag20151202t212647评论=没有
通道ora_disk_1:备份完整,经过时间:000001
完成备份02•12月十五

启动控制文件在数据库自动备份02•12月十五手柄=/ pddata2 /甲骨文/备份/数据/ ctl_auto / C三十三亿九千一百七十六万一千六百四十三二千零一十五万一千二百零二01评论=没有                                                                                                        
完成控制文件在数据库自动备份02•12月十五

RMAN>   

5、备份参数文件

创建pfile =“/甲骨文/ pfile01口”。二;
SQL >创建pfile =“/ pddata2 /甲骨文/备份/数据/ 2015-12-02 / pfile01口”。 二;

创建文件。

SQL >

6、备份成功

[根@ testoracle1数据] # bash X /甲骨文/备份/脚本/ rman_full_backup.sh
+ +日期+ %F
+出口 日期=二千零一十五十二04
+日期=二千零一十五十二04
+出口 back_dir= / pddata2 /甲骨文/备份/数据
+back_dir= / pddata2 /甲骨文/备份/数据
+苏-甲骨文
mkdirP / pddata2 /甲骨文/备份/数据/ 2015-12-04
RMAN日志= / pddata2 /甲骨文/备份/数据/ 2015-12-04 / rman_backup.log目标/ <<EOF
运行{
    备份 电流 控制文件 格式“\”/ pddata2 /甲骨文/备份/数据/ 2015-12-04 / cntrl_ % % % s_ p_ T \”;
备份作为压缩备份集的数据库格式“\”/ pddata2 /甲骨文/备份/数据/ 2015-12-04 / full_ d_ % %t_% s.bak ' ';
}
SQLPLUS 
出口EOF
'
RMAN>>>>RMAN>RMAN+苏-甲骨文
chmod 七百七十五/ pddata2 /甲骨文/备份/数据/ 2015-12-04 / *
'
[根@ testoracle1数据# ]
作者:mchdba发表于2015 / 12 / 4 20:07:56原文链接
阅读:1515评论:0查看评论
]]>
<![CDATA[[原]ORA-00439: feature not enabled: Managed Standby]]> http://prog3.com/sbdm/blog/mchdba/article/details/50179017 http://prog3.com/sbdm/blog/mchdba/article/details/50179017 mchdba 2015 / 12 / 4 20:00:00 1、启动Oracle实例报错:
警告:安装启动
ora-32004:过时或废弃的参数(S)数据库的实例指定
ora-00439:特征:管理没有启用备用
SQL >

警告:安装启动;
ora-32004:过时或废弃的参数(S)数据库的实例指定
ora-00439:特征:管理没有启用备用
SQL >

2、后台警报日志Trac日志报错如下:

奥拉—00439:特点启用:管理备用
星期四1203 十一三十九二十四 二千零一十五
开始甲骨文实例(正常)
license_max_session =
license_sessions_warning =
挑选无闩锁的SCN方案
错误 文件/甲骨文/应用程序/ Oracle /诊断/数据库/ pdunq / powerdes /跟踪/ powerdes_ora_5717.trc:
奥拉—00439:特点启用:管理备用

分析:是启动参数报错的缘故


3、导出参数文件

SQL >创建pfile = / Oracle / pfile1203或从数据库;

创建文件。

SQL >

参数文件内容如下:

powerdes __db_cache_size =。三十亿八千七百万七千七百四十四
powerdes __java_pool_size =。六千七百一十万八千八百六十四
powerdes __large_pool_size =。六千七百一十万八千八百六十四
powerdes __oracle_base =。/甲骨文/应用/甲骨文# oracle_base 环境
powerdes __pga_aggregate_target =。三十九亿五千九百四十二万二千九百七十六
powerdes __sga_target =。七十四亿四千九百零八万三千九百零四
powerdes __shared_io_pool_size =。
powerdes __shared_pool_size =。四十亿二千六百五十三万一千八百四十
powerdes __streams_pool_size =。一亿三千四百二十一万七千七百二十八
* audit_file_dest =。“/数据库/应用程序/ Oracle /管理/ powerdes / adump”
* audit_sys_operations =。真的
* audit_trail =。'没有'
*兼容=“11.2.0.0.0”
* control_files =。“/家/ oradata / powerdes / control01 CTL”。“/甲骨文/应用程序/ Oracle / flash_recovery_area / powerdes / control02 CTL”。
* db_block_size =。八千一百九十二
* db_domain =。' '
* db_file_name_convert =。“/家/ oradata / powerdes”“/家/ oradata / pwerdes”
* db_name =。“powerdes”
* db_recovery_file_dest =。“/甲骨文/应用程序/ Oracle / flash_recovery_area”
* db_recovery_file_dest_size =。一百六十一亿零六百一十二万七千三百六十
* db_unique_name =。“pdunq”
* diagnostic_dest =。/甲骨文/应用/甲骨文
*。调度员=“(协议为TCP)(服务= powerdesxdb)”
* fal_client =。“钯”
* fal_server =。“pd_dg”
* global_names =。
* job_queue_processes =。一千
* log_archive_config =。“dg_config =(pdunq,pddgunq)”
* log_archive_dest_1 =。位置= /甲骨文/应用程序/ Oracle / flash_recovery_area /归档valid_for =(all_logfiles,all_roles)db_unique_name = pdunq”
* log_archive_dest_2 =。服务= pd_dg valid_for =(online_logfiles,primary_role)db_unique_name = pddgunq LGWR同步确认”
* log_archive_dest_3 =。' '
* log_archive_dest_state_1 =。“启用”
* log_archive_dest_state_2 =。“推迟”
* log_archive_dest_state_3 =。“启用”
* log_archive_format =。“% % % t_ s_ r.dbf”
* log_archive_max_processes =。二十
* log_archive_start =。
* log_file_name_convert =。“/家/ oradata / powerdes”“/家/ oradata / powerdes”
* memory_target =。一百一十三亿七千九百一十四万六千七百五十二
* open_cursors =。三百
* optimizer_index_caching =。九十
* optimizer_index_cost_adj =。二十五
* optimizer_mode =。“first_rows”
*过程=一千
* remote_login_passwordfile =。'独家'
*会议=三百三十五
* standby_file_management =。“自动”
* undo_tablespace =。“undotbs1”

4、修改参数文件

去掉archive_dest

* log_archive_config =。“dg_config =(pdunq,pddgunq)”
* log_archive_dest_1 =。位置= /甲骨文/应用程序/ Oracle / flash_recovery_area /归档valid_for =(all_logfiles,all_roles)db_unique_name = pdunq”
* log_archive_dest_2 =。服务= pd_dg valid_for =(online_logfiles,primary_role)db_unique_name = pddgunq LGWR同步确认”
* log_archive_dest_3 =。' '
* log_archive_dest_state_1 =。“启用”
* log_archive_dest_state_2 =。“推迟”
* log_archive_dest_state_3 =。“启用”

去掉FAL

* fal_client =。“钯”
* fal_server =。“pd_dg”

去掉备用

* standby_file_management =。“自动”

保存为pfile1203_01.ora:

powerdes __db_cache_size =。三十亿八千七百万七千七百四十四
powerdes __java_pool_size =。六千七百一十万八千八百六十四
powerdes __large_pool_size =。六千七百一十万八千八百六十四
powerdes __oracle_base =。/甲骨文/应用/甲骨文# oracle_base 环境
powerdes __pga_aggregate_target =。三十九亿五千九百四十二万二千九百七十六
powerdes __sga_target =。七十四亿四千九百零八万三千九百零四
powerdes __shared_io_pool_size =。
powerdes __shared_pool_size =。四十亿二千六百五十三万一千八百四十
powerdes __streams_pool_size =。一亿三千四百二十一万七千七百二十八
* audit_file_dest =。“/数据库/应用程序/ Oracle /管理/ powerdes / adump”
* audit_sys_operations =。真的
* audit_trail =。'没有'
*兼容=“11.2.0.0.0”
* control_files =。“/家/ oradata / powerdes / control01 CTL”。
* db_block_size =。八千一百九十二
* db_domain =。' '
* db_file_name_convert =。“/家/ oradata / powerdes”“/家/ oradata / pwerdes”
* db_name =。“powerdes”
* db_recovery_file_dest =。“/甲骨文/应用程序/ Oracle / flash_recovery_area”
* db_recovery_file_dest_size =。一百六十一亿零六百一十二万七千三百六十
* db_unique_name =。“pdunq”
* diagnostic_dest =。/甲骨文/应用/甲骨文
*。调度员=“(协议为TCP)(服务= powerdesxdb)”
* global_names =。
* job_queue_processes =。一千
* log_archive_dest_1 =。位置= /甲骨文/应用程序/ Oracle / flash_recovery_area /归档valid_for =(all_logfiles,all_roles)db_unique_name = pdunq”
* log_archive_dest_state_1 =。“启用”
* log_archive_format =。“% % % t_ s_ r.dbf”
* log_archive_max_processes =。二十
* log_archive_start =。
* log_file_name_convert =。“/家/ oradata / powerdes”“/家/ oradata / powerdes”
* memory_target =。一百一十三亿七千九百一十四万六千七百五十二
* open_cursors =。三百
* optimizer_index_caching =。九十
* optimizer_index_cost_adj =。二十五
* optimizer_mode =。“first_rows”
*过程=一千
* remote_login_passwordfile =。'独家'
*会议=三百三十五
* undo_tablespace =。“undotbs1”

5、重新生成参数文件

SQL >创建pfile = /深圳/博客/甲骨文/ pfile1203_01 SPFILE。吾”;

创建文件。

SQL >

6、重新启动到安装

警告:安装启动;
ora-32004:过时或废弃的参数(S)数据库的实例指定
实例开始。

总的系统全局区1.1358e + 10字节
固定大小2216744字节
可变大小8254393560字节
数据库缓冲区3087007744字节
重做缓冲区13946880字节
SQL >
作者:mchdba发表于2015 / 12 / 4 20:00:00原文链接
阅读:1447评论:0查看评论
]]>
<![CDATA[[原]oracle11g dataguard主库备份恢复到测试环境单库报错:ORA-19502: write error on file]]> http://prog3.com/sbdm/blog/mchdba/article/details/50166949 http://prog3.com/sbdm/blog/mchdba/article/details/50166949 mchdba 2015 / 12 / 3 21:59:51 1、启动Oracle实例报错:
警告:安装启动
奥拉—三万二千零四:过时 过时的指定的参数对于RDBMS实例
奥拉—00439:特点启用:管理备用
SQL >

警告:安装启动;
奥拉—三万二千零四:过时 过时的指定的参数对于RDBMS实例
奥拉—00439:特点启用:管理备用
SQL >

2、后台警报日志Trac日志报错如下:

奥拉—00439:特点启用:管理备用
星期四1203 十一三十九二十四 二千零一十五
开始甲骨文实例(正常)
license_max_session =
license_sessions_warning =
挑选无闩锁的SCN方案
错误 文件/甲骨文/应用程序/ Oracle /诊断/数据库/ pdunq / powerdes /跟踪/ powerdes_ora_5717.trc:
奥拉—00439:特点启用:管理备用

分析:是启动参数报错的缘故,要修改完善下启动参数。


3、导出参数文件

SQL >创建pfile =“/甲骨文/ pfile1203口”。 二;

创建文件。

SQL >

参数文件内容如下:

powerdes __db_cache_size =。三十亿八千七百万七千七百四十四
powerdes __java_pool_size =。六千七百一十万八千八百六十四
powerdes __large_pool_size =。六千七百一十万八千八百六十四
powerdes __oracle_base =。/甲骨文/应用/甲骨文# oracle_base 环境
powerdes __pga_aggregate_target =。三十九亿五千九百四十二万二千九百七十六
powerdes __sga_target =。七十四亿四千九百零八万三千九百零四
powerdes __shared_io_pool_size =。
powerdes __shared_pool_size =。四十亿二千六百五十三万一千八百四十
powerdes __streams_pool_size =。一亿三千四百二十一万七千七百二十八
* audit_file_dest =。“/数据库/应用程序/ Oracle /管理/ powerdes / adump”
* audit_sys_operations =。真的
* audit_trail =。'没有'
*兼容=“11.2.0.0.0”
* control_files =。“/家/ oradata / powerdes / control01 CTL”。“/甲骨文/应用程序/ Oracle / flash_recovery_area / powerdes / control02 CTL”。
* db_block_size =。八千一百九十二
* db_domain =。' '
* db_file_name_convert =。“/家/ oradata / powerdes”“/家/ oradata / pwerdes”
* db_name =。“powerdes”
* db_recovery_file_dest =。“/甲骨文/应用程序/ Oracle / flash_recovery_area”
* db_recovery_file_dest_size =。一百六十一亿零六百一十二万七千三百六十
* db_unique_name =。“pdunq”
* diagnostic_dest =。/甲骨文/应用/甲骨文
*。调度员=“(协议为TCP)(服务= powerdesxdb)”
* fal_client =。“钯”
* fal_server =。“pd_dg”
* global_names =。
* job_queue_processes =。一千
* log_archive_config =。“dg_config =(pdunq,pddgunq)”
* log_archive_dest_1 =。位置= /甲骨文/应用程序/ Oracle / flash_recovery_area /归档valid_for =(all_logfiles,all_roles)db_unique_name = pdunq”
* log_archive_dest_2 =。服务= pd_dg valid_for =(online_logfiles,primary_role)db_unique_name = pddgunq LGWR同步确认”
* log_archive_dest_3 =。' '
* log_archive_dest_state_1 =。“启用”
* log_archive_dest_state_2 =。“推迟”
* log_archive_dest_state_3 =。“启用”
* log_archive_format =。“% % % t_ s_ r.dbf”
* log_archive_max_processes =。二十
* log_archive_start =。
* log_file_name_convert =。“/家/ oradata / powerdes”“/家/ oradata / powerdes”
* memory_target =。一百一十三亿七千九百一十四万六千七百五十二
* open_cursors =。三百
* optimizer_index_caching =。九十
* optimizer_index_cost_adj =。二十五
* optimizer_mode =。“first_rows”
*过程=一千
* remote_login_passwordfile =。'独家'
*会议=三百三十五
* standby_file_management =。“自动”
* undo_tablespace =。“undotbs1”

里面有很多关于DataGuard的配置信息,需要去掉


4、修改参数文件

去掉archive_dest:

* log_archive_config =。“dg_config =(pdunq,pddgunq)”
* log_archive_dest_2 =。服务= pd_dg valid_for =(online_logfiles,primary_role)db_unique_name = pddgunq LGWR同步确认”
* log_archive_dest_3 =。' '
* log_archive_dest_state_2 =。“推迟”
* log_archive_dest_state_3 =。“启用”
* log_file_name_convert =。“/家/ oradata / powerdes”“/家/ oradata / powerdes”

去掉FAL

* fal_client =。“钯”
* fal_server =。“pd_dg”

去掉备用

* standby_file_management =。“自动”

保存为pfile1203_01.ora:

powerdes __db_cache_size =。三十亿八千七百万七千七百四十四
powerdes __java_pool_size =。六千七百一十万八千八百六十四
powerdes __large_pool_size =。六千七百一十万八千八百六十四
powerdes __oracle_base =。/甲骨文/应用/甲骨文# oracle_base 环境
powerdes __pga_aggregate_target =。三十九亿五千九百四十二万二千九百七十六
powerdes __sga_target =。七十四亿四千九百零八万三千九百零四
powerdes __shared_io_pool_size =。
powerdes __shared_pool_size =。四十亿二千六百五十三万一千八百四十
powerdes __streams_pool_size =。一亿三千四百二十一万七千七百二十八
* audit_file_dest =。“/数据库/应用程序/ Oracle /管理/ powerdes / adump”
* audit_sys_operations =。真的
* audit_trail =。'没有'
*兼容=“11.2.0.0.0”
* control_files =。“/家/ oradata / powerdes / control01 CTL”。
* db_block_size =。八千一百九十二
* db_domain =。' '
* db_file_name_convert =。“/家/ oradata / powerdes”“/家/ oradata / pwerdes”
* db_name =。“powerdes”
* db_recovery_file_dest =。“/甲骨文/应用程序/ Oracle / flash_recovery_area”
* db_recovery_file_dest_size =。一百六十一亿零六百一十二万七千三百六十
* db_unique_name =。“pdunq”
* diagnostic_dest =。/甲骨文/应用/甲骨文
*。调度员=“(协议为TCP)(服务= powerdesxdb)”
* global_names =。
* job_queue_processes =。一千
* log_archive_dest_1 =。位置= /甲骨文/应用程序/ Oracle / flash_recovery_area /归档valid_for =(all_logfiles,all_roles)db_unique_name = pdunq”
* log_archive_dest_state_1 =。“启用”
* log_archive_format =。“% % % t_ s_ r.dbf”
* log_archive_max_processes =。二十
* log_archive_start =。
* log_file_name_convert =。“/家/ oradata / powerdes”“/家/ oradata / powerdes”
* memory_target =。一百一十三亿七千九百一十四万六千七百五十二
* open_cursors =。三百
* optimizer_index_caching =。九十
* optimizer_index_cost_adj =。二十五
* optimizer_mode =。“first_rows”
*过程=一千
* remote_login_passwordfile =。'独家'
*会议=三百三十五
* undo_tablespace =。“undotbs1”

5、重新生成参数文件

SQL >创建pfile =“/甲骨文/ pfile1203_01口”。;

创建文件。

SQL >
#建立默认的参数文件
SQL >创建pfile二;

创建文件。

SQL >

6、重新启动到安装

SQL>安装启动;
奥拉三万二千零四:过时过时的参数(S)数据库的实例指定
实例开始

全系统全球地区1.1358e + 10 字节
固定尺寸二百二十一万六千七百四十四 字节
变量大小八十二亿五千四百三十九万三千五百六十 字节
数据库缓冲区三十亿八千七百万七千七百四十四 字节
重做缓冲区一千三百九十四万六千八百八十 字节
SQL> 

7、开始恢复控制文件

RMAN >恢复控制文件“/家/ oradata / powerdes / control01 CTL”。“/甲骨文/ ctl_auto / C—三十三亿九千一百七十六万一千六百四十三二千零一十五万一千二百零二02' ';

开始恢复 03•12月—十五
使用目标数据库控制文件 而不是回收目录
分配信道:ora_disk_1
通道ora_disk_1:SID =七百七十一设备类型=磁盘

通道ora_disk_1:恢复控制文件
通道ora_disk_1:恢复完整,经过时间000001
完成还原 03•12月—十五

RMAN >

原博客地址:http://prog3.com/sbdm/blog/mchdba/article/details/50166153,谢绝转载。


8、加载到山

RMAN >安装数据库

数据库安装
发行渠道: a_disk_1

RMAN >

9、使用目录命令注册RMAN备份集

RMAN >目录开始“/甲骨文/ 2015-12-02 /”;

从隐在03-dec-15备份脚本
分配信道:ORA_disk_一
通道口_disk_1:SID = 771 =磁盘设备类型
6对象查证
隐在03-dec-15完成备份脚本

在03-dec-15隐核查开始复制
利用通道口_disk_一
2对象查证
在03-dec-15隐核查完成副本

搜索恢复区中的所有文件
编目文件…
没有文件编号

寻找匹配的模式/甲骨文/ 2015-12-02所有文件/

数据库未知的文件列表
=====================================
文件名:/甲骨文/ 2015-12-02 / pfile01.ora
文件名:/ / / 2015-12-02 Oracle RMAN_backup.log
文件名:/甲骨文/ 2015-12-02 / full_powerdes_20151202_5052.bak
文件名:/甲骨文/ 2015-12-02 /中心_5053__897427575
文件名:/甲骨文/ 2015-12-02 / cntrl_五千零五十五_1_八亿九千七百四十二万七千六百零七

你是否真的想要在上面的文件目录(输入是或没有)?可以
编目文件…
编目工作

编目文件列表
=======================
文件名:/甲骨文/ 2015-12-02 /全_powerdes_二千零一十五万一千二百零二_5052.bak
文件名:/甲骨文/ 2015-12-02 / cntrl_五千零五十三_1_八亿九千七百四十二万七千五百七十五
文件名:/甲骨文/ 2015-12-02 /中心_5055__897427607

文件不属于目录列表
=======================================
文件名:/甲骨文/ 2015-12-02 / pfile01.ora
rman-07517:原因:文件头损坏
文件名:/ / / 2015-12-02 Oracle RMAN_backup.log
rman-07517:原因:文件头损坏

RMAN >

10、开始恢复整个库

因为前面恢复了整个SPFILE文件已经,所以接下来恢复所有库的话,就不用带参数,直接恢复还原数据库就可以;RMAN恢复恢复遇到这个诡异的问题了的

RMAN >还原数据库;

开始恢复 03•12月—十五
使用信道ora_disk_1

跳过文件;已恢复 文件/家/ oradata / powerdes / pl01.dbf
通道ora_disk_1:启动数据文件备份恢复
通道ora_disk_1:指定数据文件(S)恢复备份
通道ora_disk_1:恢复数据文件00001 /家/ oradata / powerdes / system01.dbf
通道ora_disk_1:恢复数据文件00002 /家/ oradata / powerdes / sysaux01.dbf
通道ora_disk_1:恢复数据文件00003 /家/ oradata / powerdes / undotbs01.dbf
通道ora_disk_1:恢复数据文件00004 /家/ oradata / powerdes / users01.dbf
通道ora_disk_1:恢复数据文件00005 /家/ oradata / powerdes / powerdesk01.dbf
通道ora_disk_1:恢复数据文件00006 /家/ oradata / powerdes / plas01.dbf
通道ora_disk_1:恢复数据文件00008 /家/ oradata / powerdes / help01.dbf
通道ora_disk_1:恢复数据文件00009 /家/ oradata / powerdes / adobelc01.dbf
通道ora_disk_1:恢复数据文件00010 /家/ oradata / powerdes / sms01.dbf
通道ora_disk_1:恢复数据文件00011 /家/ oradata / powerdes / plcrm01.dbf
通道ora_disk_1:恢复数据文件00012 /家/ oradata / powerdes / powerdesk02.dbf
通道ora_disk_1:恢复数据文件00013 /家/ oradata / powerdes / datagm01.dbf
通道ora_disk_1:阅读备份/甲骨文/二千零一十五十二02/ full_powerdes_20151202_5052.bak
通道ora_disk_1:ORA—一万九千八百七十误差 恢复备份/甲骨文/二千零一十五十二02/ full_powerdes_20151202_5052.bak
奥拉—一万九千五百零二 误差  文件 “/家/ oradata / powerdes / plcrm01 .DBF”,块 三万七千九百五十二(块大小=八千一百九十二)
奥拉—二万七千零七十二我/我的文件误差
linux-x86_64误差:二十五:不恰当的ioctl对于装置
附加信息:
附加信息:三万七千九百五十二
附加信息:四十二万五千九百八十四

故障转移以前的备份

RMAN—00571:===========================================================
RMAN—00569错误信息如下:===============栈===============
RMAN—00571:===========================================================
RMAN—03002:失败恢复命令 十二/03/二千零一十五 十五二十一五十一
RMAN—06026一些目标发现-中止恢复
RMAN—06023:没有备份 复制 数据文件发现恢复
RMAN—06023:没有备份 复制 数据文件发现恢复
RMAN—06023:没有备份 复制 数据文件发现恢复
RMAN—06023:没有备份 复制 数据文件发现恢复

RMAN >

猜猜问题是由于磁盘不足,因为/家目录只有10g多,所以做个映射到/甲骨文目录,这个/甲骨文目录有200多个G的大小。

mkdir•磷/家/ oradata
自然对数/甲骨文/应用程序/ Oracle / oradata / powerdes /家/ oradata / powerdes

恢复然后继续执行恢复,恢复成功,如下所示:

RMAN >还原数据库;

开始恢复 03•12月—十五
使用信道ora_disk_1

通道ora_disk_1:启动数据文件备份恢复
通道ora_disk_1:指定数据文件(S)恢复备份
通道ora_disk_1:恢复数据文件00001 /家/ oradata / powerdes / system01.dbf
通道ora_disk_1:恢复数据文件00002 /家/ oradata / powerdes / sysaux01.dbf
通道ora_disk_1:恢复数据文件00003 /家/ oradata / powerdes / undotbs01.dbf
通道ora_disk_1:恢复数据文件00004 /家/ oradata / powerdes / users01.dbf
通道ora_disk_1:恢复数据文件00005 /家/ oradata / powerdes / powerdesk01.dbf
通道ora_disk_1:恢复数据文件00006 /家/ oradata / powerdes / plas01.dbf
通道ora_disk_1:恢复数据文件00007 /家/ oradata / powerdes / pl01.dbf
通道ora_disk_1:恢复数据文件00008 /家/ oradata / powerdes / help01.dbf
通道ora_disk_1:恢复数据文件00009 /家/ oradata / powerdes / adobelc01.dbf
通道ora_disk_1:恢复数据文件00010 /家/ oradata / powerdes / sms01.dbf
通道ora_disk_1:恢复数据文件00011 /家/ oradata / powerdes / plcrm01.dbf
通道ora_disk_1:恢复数据文件00012 /家/ oradata / powerdes / powerdesk02.dbf
通道ora_disk_1:恢复数据文件00013 /家/ oradata / powerdes / datagm01.dbf
通道ora_disk_1:阅读备份/甲骨文/二千零一十五十二02/ full_powerdes_20151202_5052.bak
通道ora_disk_1:块处理= /甲骨文/二千零一十五十二02/ full_powerdes_20151202_5052.bak标签= tag20151202t211859
通道ora_disk_1:恢复备份片
通道ora_disk_1:恢复完整,经过时间00二十五四十五
完成还原 03•12月—十五

RMAN >

11、恢复数据库

RMAN恢复数据库>;

开始恢复 03•12月—十五
使用信道ora_disk_1

启动媒体恢复

RMAN—08187:警告:媒体恢复直到SCN一百一十七亿零二百四十九万一千三百五十七完成
完成恢复 03•12月—十五

RMAN >

12、打开数据库

修改数据库打开resetlogs操作;
RMAN >修改数据库打开resetlogs操作;

数据库打开

RMAN >

13、登录验证

[甲骨文_yueworld管理] rlwrap SQLPlus美元/数据库

SQL * Plus:释放11.2.0.1.0生产在12月3日星期四21:03:53 2015

版权所有(1982),2009,甲骨文。保留所有权利。


连接到:
Oracle数据库11g发布11.2.0.1.0 - 64位生产

SQL >选择状态从V $实例;

现状
------------
打开

SQL >
作者:mchdba发表于2015 / 12 / 3 21:59:51原文链接
阅读:1525评论:0查看评论
]]>
<![CDATA[[原]ORA-12514: TNS:listener does not currently know of service requested in connect]]> http://prog3.com/sbdm/blog/mchdba/article/details/50166153 http://prog3.com/sbdm/blog/mchdba/article/details/50166153 mchdba 2015 / 12 / 3 20:57:30 1、登录报错如下:
[甲骨文“oracle_yueworld管理]美元rlwrap SQLPlus系统/ system51@ ST1

SQL*加上 释放 十一点二 生产周四 12  十六三十三二十六 二千零一十五

版权所有(丙)一千九百八十二二千零九甲骨文公司所有保留权利。

误差
奥拉一万二千五百一十四 TNS听众目前所知道的服务要求连接
描述符

2、查看下程序lsnrctl状态,看是否是程序lsnrctl监听的问题

[管理] @ oracle_yueworld Oracle程序lsnrctl美元地位

程序lsnrctl对于版本:版本十一点二010•生产 03•12月—二千零一十五 十七0307

版权(丙)一千九百九十一二千零九,甲骨文。所有保留权利。

连接(=(地址=(协议为TCP)(主持人=一百九十二点一六八12151)(港口=一千五百二十一))
现状听众
------------------------
别名听众
tnslsnr版对于版本:版本十一点二010•生产
开始日期03•12月—二千零一十五 十七02五十五
正常运行时间人力资源。分钟。十一美国证券交易委员会
跟踪水平
安全本地操作系统验证
SNMP关闭
侦听器参数文件/甲骨文/应用/甲骨文/产品/十一点二0/ dbhome_1 /网络/管理/ Listener.ORA
监听日志文件/甲骨文/应用程序/ Oracle /诊断/ tnslsnr / oracle_yueworld /监听/警告/ log.xml
听力终结点…
(=(地址=(协议为TCP)(主持人=一百九十二点一六八12151)(港口=一千五百二十一))
听者不支持任何服务
该命令已成功完成
[管理] Oracle @ oracle_yueworld美元
[管理] Oracle @ oracle_yueworld美元

从中可以看出监听正常,但是听者不支持服务这个貌似是不识别service_name啊

原博客地址:http://prog3.com/sbdm/blog/mchdba/article/details/50166153
,未经过运行,不得转载


3、去查看下参数

SQL >显示参数名;

名称价值
------------------------------------ ----------- ------------------------------
db_file_name_convert字符串/甲骨文/应用程序/ Oracle / oradata /战俘
鄂尔多斯,/甲骨文/应用程序/ Oracle /口
ATA / Oracle
db_name字符串Oracle
db_unique_name字符串stunq
global_names布尔假
instance_name字符串Oracle
lock_name_space字符串
log_file_name_convert字符串
service_names字符串stunq
SQL >

看到db_name和db_unique_name以及service_names不一样


4、解决方案

在听众。或文件里面添加sid_list_listener,如下所示:


【甲骨文@ oracle_yueworld管理]更Listener.ORA美元
# Listener.ORA网络配置文件:/甲骨文/应用程序/ Oracle /产品/ 11.2.0/dbhome_1/network/admin/listener.ora
#由Oracle配置工具。

sid_list_listener=
(sid_list =
(sid_desc =
(global_dbname = stunq)
(oracle_home = /数据库/应用程序/ Oracle /产品/ 11.2.0 / dbhome_1)
(sid_name = stunq)
)
)

听众=
(描述=
(地址=(协议为TCP)(主持人= 192.168.121.51)(端口为1521))
)

adr_base_listener= /甲骨文/应用程序/甲骨文

[管理] Oracle @ oracle_yueworld美元

再重启程序lsnrctl服务:

[管理] @ oracle_yueworld Oracle程序lsnrctl美元开始

程序lsnrctl对于版本:版本十一点二010•生产 0312二千零一十五 十八0009

版权(丙)一千九百九十一二千零九,甲骨文。所有保留权利。

开始/甲骨文/应用程序/甲骨文/产品/十一点二0/ dbhome_1 /斌/ tnslsnr:请稍等…

tnslsnr对于版本:版本十一点二010•生产
系统参数文件/甲骨文/应用/甲骨文/产品/十一点二0/ dbhome_1 /网络/管理/ Listener.ORA
写入日志消息/甲骨文/应用程序/ Oracle /诊断/ tnslsnr / oracle_yueworld /监听/警告/ log.xml
听:(描述=(地址=(协议为TCP)(主持人=一百九十二点一六八12151)(港口=一千五百二十一))

连接address=(=()=(=(TCP协议)主机192.168.121.51=(港)1521)))
状态oflistener the
的;
listener别名
tnslsnr versionforLinux的版本:11.2.01。.0生产
启动 日期                03-DEC-2015年 180009
uptime00HR。0 min0秒
色雷斯人离线
安全在线局域网操作系统认证
关闭SNMP
listener /参数/程序/文件/ Oracle的Oracle产品/11.2.0dbhome _ / 1 /网络/管理员/ listener.ora
Oracle数据库日志文件的应用程序listener / / / / / / tnslsnr Oracle Oracle诊断_ yueworld / / / log.xml listener警报
摘要听力的端点。
address=(=()=(=(TCP协议)主机192.168.121.51=(港)1521)))
服务总结……
服务“stunq”has1实例(S)。
审“stunq”现状unknown,has1 处理程序(S)for这个服务。
the command completed successfully
Oracle数据库管理员_ yueworld @ [美元]

看到the listener supports不services错误已经没有了,可以去试试登录


5、再次登录报错

[管理] yueworld Oracle的Oracle _ @ @ rlwrap SQLPLUS orclk美元/ st141118 ST1

SQL * Plus:缓释 11.2.01。.0生产在线Thu,12月3 180355 2015年

版权所有(C)1982年2009年Oracle。Rights reserved。

误差:
现在3 4Oracle:notavailable
现在27101共享存储域doesnotexist
Linux的x86 - 64 _误差:2是这样的:文件 目录
过程ID:0
session ID:0序列号:0


输入用户名称:

6、去修改服务端和客户端的配置文件

google了很多资料,大部分都说是listener.ora配置错误导致listener找不到你要请求的sid.这有两种可能,一种是client端的tnsnames.ora中配置了错误的sid,一种是server端的listener.ora中配置错了sid.仔细检查,然后开始修改服务器listener.ora listener.ora,将sid _ name修改成正确的instance _ name为orcl

Oracle数据库管理员_ yueworld @ [ ]美元listener.ora黑莓
网络配置文件# listener.ora:/ / / / Oracle的Oracle应用产品11.2.0 / / 1 / / dbhome _ listener.ora /网络管理员
# generated by Oracle配置工具。

_ _ listener SID列表=
_ =(SID列表
_ ID(SID)
(全球_北京stunq)
(Oracle的Oracle应用程序_家= / / / / / / dbhome Oracle产品11.2.0 _ 1)
(_ name = Oracle SID)
)
)
  PS:#这里面的sid _ name是oracle实例名,全球_ dbname是全局的dbname,是db _独特的_ name

listener=
=(description
(address=(=(TCP协议)主机(Port 1521 192.168.121.51 = =)))
)

_ _ ADR的基本listenerOracle的Oracle应用程序= / / /

Oracle数据库管理员_ yueworld @ [美元]

修改客户端tnsnames.ora

[ OracleOracle _ yueworld @管理员]美元八tnsnames.ora

网络配置文件# tnsnames.ora:/ / / / Oracle的Oracle应用产品11.2.0 / / 1 / / dbhome _ tnsnames.ora /网络管理员
# generated by Oracle配置工具。

= st1
(description=
(_地址列表=
(address=(协议=TCP()主机=192.168121.51()港口=1521))
)
(连接_日期=
(服务_ namestunq)=
)
)
  PS:#这里的service _ name就是可以从执行节目参数name;中显示的service _ names参数值。

7、然后验证登录,成功了,如下所示:

Oracle数据库管理员_ yueworld @ [美元]
[管理] yueworld Oracle的Oracle _ @ @ rlwrap SQLPLUS orclk美元/ st141118 ST1

SQL * Plus:缓释 11.2.01。.0生产在线Thu,12月3 194310 2015年

版权所有(C)1982年2009年Oracle。Rights reserved。


连通to:
Oracle数据库11G缓释 11.2.01。.0-64生产

SQL >
作者:mchdba发表于2015/12/30 20 57::3原文链接
阅读1393评论:0:查看评论
]]>
<![CDATA[[原]oracle11g如何将dataguard的主库数据恢复到oracle单机实例?]]> http:/ / / / / prog3.com九江mchdba/article/blog/50120583 details http:/ / / / / prog3.com九江mchdba/article/blog/50120583 details mchdba 2015年/11/23::30 30 5 需要将dataguard的主库数据恢复到oracle单机实例中,所以记录下详细过程

1,从线上重新拉一个参数文件出来,copy到测试环境

SQL >创建一个pfile中=Oracle是/是/ pfile01.orafrom集;

文件created。

SQL >

然后根据复制来的参数文件再在测试库上建立spfile

创建二是frompfile =九江/博客/ /日期pfile01.ora/;
SQL二是建立frompfile>=九江/博客/ /日期impdp /是/ pfile01.ora;

文件created。

SQL>

然后将测试库启动到nomount

nomount >启动SQL
现在00845:_ NOT SUPPORTED onthis目标存储系统
SQL >

2、恢复控制文件

恢复控制文件是需要orcstu /家/ / / / / control01.ctl日期是从impdp / C 3391761643 - 20151126 - 01

rman >恢复控制文件to / / / / control01.ctl orcstu家需要的是 fromimpdp日期/ / / C 3391761643 - 20151126 - 01                                                                                 
2>;

启动恢复美国电话电报公司 26- 11 -15
using现在_ _ 1通道驱动器

1:现在的硬盘_ _通道恢复控制文件                                                                                                                                                     
1:现在的硬盘_ _通道完全恢复,elapsed时间000001                                                                                                                                   
恢复完成美国电话电报公司 26- 11 -15

rman >

rman >恢复控制文件to Oracle的Oracle应用程序/ / / / / _闪存恢复区是_ orcstu / control02.ctl from impdp日期/ / / C 3391761643 - 20151126 - 01;

启动恢复美国电话电报公司 26- 11 -15
using现在_ _ 1通道驱动器

1:现在的硬盘_ _通道恢复控制文件                                                                                                                                                     
1:现在的硬盘_ _通道完全恢复,elapsed时间000001                                                                                                                                   
恢复完成美国电话电报公司 26- 11 -15

rman >

3、注册归档

要将db状态改成mount才行

rman山>数据库语句

数据库安装
释道: 在_驱动器1 _

rman >

在新控制文件中注册数据文件备份和归档备份

启动目录withimpdp日期/ / / / 2015-11-26;

rman>启动目录withimpdp日期/ / / / 2015-11-26;

隐crosscheck启动备份。26- 11-15                                                                                                                                               
allocated频道:现在_ _驱动器1
1:现在的硬盘_频道_希德=767装置=驱动器
crosschecked97对象
隐crosscheck完成备份。26- 11-15

隐crosscheck启动复制。26- 11-15
现在的硬盘_ _使用通道1
crosschecked2对象
隐在完成crosscheck copy26- 11-15

searching for档案在恢复区
cataloging档案……
不cataloged档案

searching forfiles that比赛模式(the日期impdp / /2015年-11-26/                                                                                                                         

列表of unknown档案tothe数据库
=====================================
文件名称:/日期impdp / /2015年-11-26rman _ /备份日志
文件名称:/日期impdp / /2015年-11-26_ /拱orcstu _ 20151126 _ 5036Bak
文件名称:/日期impdp / /2015年-11-26全_ orcstu _ 20151126 _ 5037Bak
文件名称:/日期impdp / /2015年-11-26_ /拱orcstu _ 20151126 _ 5038Bak

给你我真的很想你to目录文件是输入(the above不)可以
编目文件
编目工作

列表编目文件
=======================
文件名:/数据impdp / /二千零一十五十一二十六/ arch_orcstu_20151126_5036比克
文件名:/数据impdp / /二千零一十五十一二十六/ full_orcstu_20151126_5037比克
文件名:/数据impdp / /二千零一十五十一二十六/ arch_orcstu_20151126_5038比克

列表的文件在哪儿 编目
=======================================
文件名:/数据impdp / /二千零一十五十一二十六/ rman_backup日志
RMAN07517原因:该文件已损坏

RMAN>                

4、开始恢复整个库

因为前面恢复了整个SPFILE文件已经,所以接下来恢复所有库的话,就不用带参数,直接恢复还原数据库就可以;

RMAN >还原数据库;

开始恢复 二十六- 11—十五                                                                                                                                                                  
使用通道ora_disk_1

通道ora_disk_1:启动数据文件备份恢复
通道ora_disk_1:指定数据文件(S)恢复备份
通道ora_disk_1:恢复数据文件00001 /家/ oradata / orcstu / system01.dbf
通道ora_disk_1:恢复数据文件00002 /家/ oradata / orcstu / sysaux01.dbf
通道ora_disk_1:恢复数据文件00003 /家/ oradata / orcstu / undotbs01.dbf
通道ora_disk_1:恢复数据文件00004 /家/ oradata / orcstu / users01.dbf
通道ora_disk_1:恢复数据文件00005 /家/ oradata / orcstu / orcstuk01.dbf
通道ora_disk_1:恢复数据文件00006 /家/ oradata / orcstu / plas01.dbf
通道ora_disk_1:恢复数据文件00007 /家/ oradata / orcstu / pl01.dbf
通道ora_disk_1:恢复数据文件00008 /家/ oradata / orcstu / help01.dbf
通道ora_disk_1:恢复数据文件00009 /家/ oradata / orcstu / adobelc01.dbf
通道ora_disk_1:恢复数据文件00010 /家/ oradata / orcstu / sms01.dbf
通道ora_disk_1:恢复数据文件00011 /家/ oradata / orcstu / plcrm01.dbf
通道ora_disk_1:恢复数据文件00012 /家/ oradata / orcstu / orcstuk02.dbf
通道ora_disk_1:恢复数据文件00013 /家/ oradata / orcstu / datagm01.dbf
通道ora_disk_1:阅读备份片/数据/ IMPDP、/二千零一十五十一二十六/ full_orcstu_20151126_5037.bak
通道ora_disk_1:块处理= /数据/ IMPDP、/二千零一十五十一二十六/ full_orcstu_20151126_5037.bak标签= tag20151126t030008
通道ora_disk_1:恢复备份片
通道ora_disk_1:恢复完整,经过时间00三十二五十
完成还原 二十六- 11—十五

RMAN >

5、恢复数据库

RMAN恢复数据库>;

开始恢复 二十六- 11—十五                                                                                                                                                                  
使用通道ora_disk_1

启动媒体恢复

通道ora_disk_1:启动归档日志恢复缺省目的地
通道ora_disk_1:恢复存档日志
存档日志螺纹=序列=三万九千六百七十四
通道ora_disk_1:阅读备份片/数据/ IMPDP、/二千零一十五十一二十六/ arch_orcstu_20151126_5038.bak
通道ora_disk_1:块处理= /数据/ IMPDP、/二千零一十五十一二十六/ arch_orcstu_20151126_5038.bak标签= tag20151126t032346
通道ora_disk_1:恢复备份片
通道ora_disk_1:恢复完整,经过时间000003
存档日志 文件名称= /数据库/应用程序/ Oracle / flash_recovery_area / archivelog1_39674_821708334.dbf线程=序列=三万九千六百七十四                                                                          
不能查找存档日志                                                                                                                                                                    
存档日志螺纹=序列=三万九千六百七十五
RMAN—00571:===========================================================
RMAN—00569错误信息如下:===============栈===============
RMAN—00571:===========================================================
RMAN—03002:失败恢复命令  十一/二十六/二千零一十五 二十一四十八十三
RMAN—06054:媒体恢复请求未知存档日志 对于螺纹 随着序列三万九千六百七十五 起始SCN 一百一十六亿八千八百万九千四百八十二

RMAN >

后台警报日志:
 十一十二十三
完成:恢复数据库文件列表
 十一十二十三
改变数据库恢复如果需要
开始直到 取消 使用备份控制文件
媒体恢复启动
开始logmerger过程
并行媒体恢复启动随着 奴隶
奥拉—二百七十九在:更改数据库恢复如果需要
开始直到 取消 使用备份控制文件
…
恢复数据库的日志文件“/甲骨文/应用程序/ Oracle / flash_recovery_area / archivelog1_39674_821708334 DBF”。
介质恢复日志/数据库/应用程序/ Oracle / flash_recovery_area / archivelog1_39674_821708334.dbf
奥拉—二百七十九表示在:恢复数据库日志文件“/甲骨文/应用程序/ Oracle / flash_recovery_area / archivelog1_39674_821708334 DBF”。…
周四11二十六 二十一四十八十三 二千零一十五
改变数据库恢复取消
媒体恢复取消
完成:更改数据库恢复取消

可见,出先此错误的原因是恢复需要的归档日志记录在控制文件或恢复目录中找不到。解决方法分两种情况:
1。如果相关的日志存在且可用的话,就将此日志记录添加到控制文件或恢复目录中。
2。如果相关的日志已经被删除了或不可用了,那么就按照错误的提示SCN将数据库恢复到此SCN,这里是11688009482。也就是说此时数据库只能进行不完全恢复了,在打开数据库时得使用RESETLOGS打开。

这里就只恢复到11688009482这个SCN点为止:

恢复数据库直到SCN一百一十六亿八千八百万九千四百八十二;
RMAN恢复数据库>直到SCN一百一十六亿八千八百万九千四百八十二;

开始恢复 二十六- 11—十五                                                                                                                                                                  
使用信道ora_disk_1

启动媒体恢复
媒体恢复完成,过去了时间000001                                                                                                                                                

完成恢复 二十六- 11—十五                                                                                                                                                                  

RMAN >

6、打开数据库

RMAN > AlterDatabaseOpenResetlogs;

数据库打开

RMAN >

修改密码

SQL >修改用户orcstuk所确定的“pd141287l118”;

用户更改。

SQL >退出

7、远程连接报错

三:\用户\管理员> tnsping test2_180.60

TNS坪为32位Windows效用:版本11.2.0.1.0 -生产26-nov-2
015 21:59:33

版权所有(1997),2010,甲骨文。保留所有权利。

使用参数文件:
三维:应用程序\管理员\产品\ 11.2.0\客户_2网络\管理员\ SQLNET。口


使用dns适配器解决别名
试图联系(=(address_list =(地址=(协议为TCP)
(主持人= 12.18.10.6)(端口为1521)))(connect_data =(SID = orcstu)))
tns-12535:TNS:操作超时

三:\用户\管理员>

解决方案:关闭Oracle数据库的防火墙。


8、取消DG设置成单机Oracle

看到后台不停的报错日志:

错误12154接收到备用日志记录
在文件/数据库/应用程序/ Oracle /诊断/数据库/ pdunq / orcstu /跟踪/ orcstu_arc2_13889.trc错误:
ora-12154:TNS:不能解决连接标识符指定
平[ arc2 ]:心跳未能连接到备用的pd_dg”。误差为12154。
11月26日星期四22:48:02 2015
错误12154接收到备用日志记录
在文件/数据库/应用程序/ Oracle /诊断/数据库/ pdunq / orcstu /跟踪/ orcstu_arc2_13889.trc错误:
ora-12154:TNS:不能解决连接标识符指定
平[ arc2 ]:心跳未能连接到备用的pd_dg”。误差为12154。

经过分析,是因为我的RMAN备份是从DG环境中的初级上获取的,备份的时候自然而然就带上了DG传输归档日志到待机的功能,所以将RMAN备份恢复到这台单机的时候,就会在DG归档日志传输的时候报错了,因为单机嘛。解决办法,关闭归档的日志传输,如下所示:

警告:改变系统log_archive_dest_state_2 =“推迟”;

系统改变。

SQL >

这样就停止了Oracle DG归档日志传输,后台不会再报错了。

到此,迁移工作顺利圆满结束了。

作者:mchdba发表于2015 / 11 / 30 23:05:30原文链接
阅读:1520评论:0查看评论
]]>
<![CDATA[[原]ORA-00845: MEMORY_TARGET not supported on this system问题处理]]> http://prog3.com/sbdm/blog/mchdba/article/details/50063693 http://prog3.com/sbdm/blog/mchdba/article/details/50063693 mchdba 2015 / 11 / 27 0:01:31 1、Oracle11g设置归档重新登录启动报错
已启动;
奥拉—00845:memory_target支持  系统                                                                                                                                          
SQL >

2、看Oracle的官方解释是:

从Oracle数据库11g,自动内存管理特性需要更多的共享内存(/dev/shm)和文件描述符。共享内存的大小至少应为更大的memory_max_target和memory_target每个Oracle实例的计算机上。如果memory_max_target或memory_target设置为非零值,和一个不正确的大小分配给共享内存,这将导致在启动一ora-00845误差。

就是说memory_max_target的设置不能超过/dev/shm的大小,在Oracle11g中新增的内存自动管理的参数memory_target,它能自动调整SGA和PGA,这个特性需要用到/dev/shm共享文件系统,而且要求/dev/shm必须大于memory_target,如果/dev/shm比memory_target小就会报错。

PS:原博客地址:http://prog3.com/sbdm/blog/mchdba/article/details/47847579,未经过原CSDN博主mchdba允许,不得转载。

3、解决方案

2个修改地方:
在/etc/fstab里面,一是互换后面修改成违约,大小为11g,二是tmpfs后面修改成违约,大小为11g,修改完,如下所示

[根@ testoracle1 Oracle ] # vim /etc/fstab


#
# /etc/fstab
#由在8月18日星期二16:46:25 2015巨蟒
#
#访问文件系统,通过引用、保持/ dev /盘下”
#看到man fstab(5),findfs(8)、安装(8)和/或blkid(8)更多信息
#
/dev/mapper/ vg_testoracle1-lv_root / ext4默认 
e10af7be-cb8b UUID =—四千四百五十四九百六十五三维—c2275fe75b9 /引导ext4默认 
/dev/mapper/ vg_testoracle1-lv_swap掉期掉期违约,大小=十一G 
tmpfs /dev/shm tmpfs默认大小为十一G 
devpts / dev /分devpts GID =,模式=六百二十   
sysfs /sys sysfs的默认值 
程序/子程序的默认值 
~

修改完后,需要重新挂载一下,才能生效:

[根“testoracle1甲骨文]#山- O上,大小为11g /dev/shm
[根“testoracle1甲骨文]#

3、再次启动数据库,就不会报错了,正常启动:

SQL>启动;
实例开始                                                                                                                                                                       

全系统全球地区1.1358e + 10 字节
固定尺寸二百二十一万六千七百四十四 字节
变量大小八十九亿二千五百四十八万二千二百 字节
数据库缓冲区二十四亿一千五百九十一万九千一百零四 字节
重做缓冲区一千三百九十四万六千八百八十 字节
数据库安装                                                                                                                                                                              
数据库打开                                                                                                                                                                               
SQL>  

4,标准的禁止归档模式:

SQL >修改系统设置log_archive_start =假范围= SPFILE;#禁用自归档

警告:立即关闭;
警告:安装启动;#重启数据库到山模式
SQL数据库#修改为非归档模式NOARCHIVELOG >;
警告:打开数据库;#打数据文件
SQL >归档日志列表;#再次查看前归档模式

SQL数据库NOARCHIVELOG >;
更改数据库NOARCHIVELOG
*
线路1错误:
ora-38774:不能禁用媒体恢复启用闪回数据库

SQL >

去查看闪回是否已经开启:

SQL >选择闪回_on V $数据库;

flashback_on
------------------
可以

SQL >

去关闭闪回功能:

闪回数据库使用SQL >关闭;

数据库更改。

SQL >

闪回数据库使用SQL >关闭;

数据库更改。

再关闭归档。

SQL数据库NOARCHIVELOG >;

数据库更改。

SQL >档案日志 列表;
数据库日志模式无存档模式
自动存档禁用
归档目的地/甲骨文/应用程序/ Oracle / flash_recovery_area /归档
网上最古老的日志序列三百三十七
电流日志序列三百三十九
SQL >
作者:mchdba发表于2015 / 11 / 27 0:01:31原文链接
阅读:1647评论:0查看评论
]]>
<![CDATA[[原]准备割肉打新去也]]> http://prog3.com/sbdm/blog/mchdba/article/details/50062455 http://prog3.com/sbdm/blog/mchdba/article/details/50062455 mchdba 2015 / 11 / 26 22:33:30 1、全信股份

30分钟线,没有站稳5mA,不过尾盘往上攻,曾经放量突破5mA,明天趋势看多。
60分钟线,下探5mA并没有站稳在5mA线上,后续3日行情不太明朗,面临回调
日K线,KDJ往上突破50达到75 +,表示属于上涨行情,看多,但是今天缩量上涨,表示上方120的压力位蛮大的,面临抛压比较多。
操作思路:持股观望,由于我就100股,无法做T,所以持股观望。

2、智慧能源

30分钟线,往上站接近5mA,处于横盘阶段,明天行情不明朗。
60分钟线,下探守住5mA,三天内行情稳定,看空几率。
日K线,KDJ继续下探下探破25,技术上趋势看空,但是今天相对于昨天,缩量下跌没有站稳5mA,谨慎持股观望。
操作思路:明天看多,可以低吸做T.

3、汉缆股份

30分钟线,K线持续下探,尾盘下探60mA,明天行情看空。
60分钟线,尾盘破了5mA守住30mA,3日内行情看空,准备打新就减仓留底仓。
日K线,下破5mA,缩量下跌,但是KDJ下探没有破50,技术面上有杀跌趋势洗盘嫌疑,技术上趋势不明朗,但是今天相对于昨天,缩量下跌1.5个点,所以心里分析上稳定,属于横盘回调吸筹,综合日线,明天如果不站稳5mA,减仓去打新。
Operation idea: do not stand 5MA, lighten up the new play, carefully holding wait-and-see

4, Changchun gas

30 minutes break line, 5MA, a 30MA, bearish market.
60 minutes break line, 5MA, a 30MA, bearish market.
Day K line, a firm 5mA, today amplitude is very small, turnover rate is very low, sideways, KDJ Sicha above 50 in, sideways, the future trend of adjustment.
Operation idea: flat open opened on the buy, buy low and sell high T. High holding wait.

5, in the bus

Line 30 minutes late, Sicha lying on the floor upside after stand 5MA, tomorrow will continue to rise trend.
60 minutes late line high Sicha, lighten up tomorrow
K-line, KDJ MACD to break 75 +, the volume a little bit of Red Cross, suspected shipment without sealing plate, see this wave of new energy automobile market will not persist for more than 3 days, tomorrow to lighten up.
PS:2015-12-10 investment calendar: details, EXPO AUTO eighth 2015 International Auto Industry Fair, now in ambush, the follow-up will be a wave of market.
Operation method: Jiancang hold profits, the market cross, the new energy of this wave of market will not exceed 3 days.

6, to help friends to see and then rising technology

In 30 minutes, trading volume upside, KDJ to break 50, the trend has continued to rise tomorrow
In 60 minutes, trading volume rose, KDJ in 25+, see
K, no amount of sideways, it was the third day of treatment showed a net outflow of flush 1147W, stability shipment suspected. Tomorrow if the market sideways, 603601 continued sideways, profit Jiancang, quilt holding wait-and-see.

Summary: to prepare to do the new play.

Author: mchdba published in 22:33:30 2015/11/26Text link
Read: 1778 comments: 2View comments
]]>
<![CDATA[[原]客车封板的分析]]> Http://prog3.com/sbdm/blog/mchdba/article/details/50042973 Http://prog3.com/sbdm/blog/mchdba/article/details/50042973 Mchdba 21:43:06 2015/11/25 1, all shares

30 minutes line, not a firm 5MA, there is the possibility of a callback tomorrow.
In 60 minutes, dropping 5MA and stand on the 5MA line, the subsequent 3 days the market is not very clear
K, KDJ break up 50, that belongs to a rising market, bullish, bullish expectations.
Operation idea: about 5 point margin amount callback.

2, wisdom energy

30 minutes to stand on line, close to 5MA, tomorrow the market bullish.
In 60 minutes, dropping hold 5MA, within three days of market stability, bearish probability.
K-line, KDJ dropping breaking 50, bearish trend in technology, but today compared with yesterday, volume up the nearly two points, buy trend, so analysis of the heart on the bullish, comprehensive daily, carefully holding wait-and-see.
Operation idea: tomorrow to see, can do T bargain hunting.

3, Hanlan shares

Line 30 minutes late tomorrow, the firm 5MA, market stability.
Line 60 minutes late, the firm 5MA, within 3 days of market stability, holding wait-and-see.
K-line, dropping 5mA, stabilized, but the KDJ dropping did not break 50, but rebound trend, technology trend of uncertainty, but today compared with yesterday, shrinking down 1.5 points, so heart analysis on stability, belonging to the callback Xichou sideways, comprehensive daily, carefully holding watching.
Operation ideas: cautious holdings wait and see

4, Changchun gas

In 30 minutes, the Red Star Trading Firm 5MA, see tomorrow.
In 60 minutes, stand upside 5MA tomorrow, bullish trend
Day K line, a firm 5mA, today amplitude is very small, turnover rate is very low, sideways, KDJ Sicha above 50 in, sideways, the future trend of adjustment.
Operation idea: flat open opened on the buy, buy low and sell high T. High holding wait.

5, in the bus

30 minutes line, closed limit
60 minutes line, closed limit
K-line, KDJ MACD upwards, a firm 5mA, volume rose, tomorrow will rise some, but if more than 25, to lighten up. New energy vehicles on the wave of market.
PS: today following limit is for new energy automobile sales report good news closed limit, follow-up: 2015-12-10 calendar: details of the "Auto Expo 2015 the eighth session of the international auto industry exhibition, now into an ambush, the follow-up will have a wave of market.
Operation idea: low margin, high Jiancang, flat open holding wait-and-see.

Author: mchdba published in 21:43:06 2015/11/25Text link
Read: 1486 comments: 0View comments
]]>
<![CDATA[[原]nginx中location中关于proxy_pass和rewrite的应用]]> Http://prog3.com/sbdm/blog/mchdba/article/details/50042387 Http://prog3.com/sbdm/blog/mchdba/article/details/50042387 Mchdba 20:53:39 2015/11/25 1, problem description
 UpstreamDatacollectbackend{
      #ip_hash;
      Server 10.234.1.211:6100_ max =失败5_超时=失败30S服务器 10.234.1.26:7100_ max =失败5_超时=失败30S;
}



      位置 * ^ /网站/ _ _ dataco OCC×美元。{
           包括deny.conf;

           _通代理 http://datacollectbackend包括proxy.conf;

           误差_日志_ error.log日志/ datacollection误差接入_日志_日志/ datacollection access.log主;
}

现在就是觉得occ _ dataco _ web名字太长了,想换成dt,但是工程还没有上线,需要先做个测试,就是让www.ds.com / dt possystem去调用occ _ dataco _ web工程里面去。

也就是说以前用www.ds.com /网站/ possystem访问OCC _ dataco _,现在改成www.ds.com / dt possystem访问.但是线上工程还是occ _ dataco _网站,但是现在dt工程还没有做完,处于过渡期要等新的dt完善后在移除occ _ dataco _ web换成dt

原blog地址:http:/ / / / / prog3.com九江mchdba/article/category博客/ 5981097未经过原csdn博主mchdba允许不得转载,,。

2、用location的proxy _ pass做跳转

直接将dt的跳转到和OCC _ dataco _ web一样的proxy _通,如下所示

位置~ * * / ^ {美元/ DT。
           包括deny.conf;

_通HTTP代理datacollectbackend /;
           包括proxy.conf;

误差_日志日志/ dt _ error.log误差;
接入_日志日志/ dt _ _ access.log主;
}

然后重启nginx,通过www.ds.com / DT / possystem访问,结果报错如下:

对不起,找不到该页面

您使用的URL可能拼写有误,该页可能已经移动,或者它可能只是临时脱机。
重新键入正确网址,或者返回首页

3、用rewrite来取代location

位置* ^ ~/ dt*。美元{
Rewrite / DT / /(*)Web _ _ dataco OCC/1美元 霹雳;

}
然后重启nginx,使用www.ds.com / DT / possystem访问,已经生效了,成功了。

4、总结

rewrite功能就是,使用nginx提供的全局变量或自己设置的变量,结合正则表达式和标志位实现url重写以及重定向.rewrite只能放在server { },{ } { } if位置,中,并且只能对域名后边的除去传递的参数外的字符串起作用,例如http:/ / / / /我们seanlook.com index.php?ID = 1和U=str我们只对/ / / index.php重写.语法rewrite正则置换[旗];

如果相对域名或参数字符串起作用,可以使用全局变量匹配,也可以使用proxy _ pass反向代理。
表明看rewrite和location功能有点像,都能实现跳转,主要区别在于rewrite是在同一域名内更改获取资源的路径,而location是对一类路径做控制访问或反向代理,可以proxy _ pass到其他机器.很多情况下rewrite也会写在location里,它们的执行顺序是:

执行server块的rewrite指令
执行location匹配
执行选定的location中的rewrite指令
如果其中某步uri被重写,则重新循环执行1 - 3,直到找到真实存在的文件;循环超过10次,则返回500 error错误内部服务器。

本次实践中,是需要将dt的工程访问都指向occ _ dataco _ web工程里面去,所以需要仅仅location加proxy _ pass是不够的,需要rewrite的。

作者:mchdba发表于2015/11/25 20:53:39原文链接
阅读1498评论:0:查看评论
]]>
<![CDATA[[原]nginx.conf减肥记]]> http:/ / / / / prog3.com九江mchdba/article/blog/50021533 details http:/ / / / / prog3.com九江mchdba/article/blog/50021533 details mchdba 2015年:24/11/23 41:15 问题,nginx.conf文件过长过大不方便维护所以想拆分出来,,,,这样好阅读也好维护.

1,将nginx里面关于weixin的配置全部剥离出来

如下,这是nginx.conf配置文件中的微信配置记录,以后会越来越多的。

位置_威信~ * * / ^ { G1美元。
           包括deny.conf;

_通HTTP代理Web _ 9600 / _威信;
           包括proxy.conf;

误差_日志/日志_威信_ G1 error.log误差;
接入_日志/日志_ G1 access.log主_威信;

           包括gzip.conf;
}

位置_威信~ * * / ^ { G2美元。
           包括deny.conf;

_通HTTP代理Web _ 9600 / _威信;
           包括proxy.conf;

误差_日志/日志_威信_ G2 error.log误差;
接入_日志/日志_ G2 access.log主_威信;

           包括gzip.conf;
}

位置~ * ^ / weixin_g3。* $ {
           包括deny.conf;

proxy_pass HTTP:/ / weixin_web_9600;
           包括proxy.conf;

error_log日志/ weixin_g3_error.log误差;
access_log日志/ weixin_g3_access.log主要;

           包括gzip.conf;
}

位置~ * ^ / weixin_g4。* $ {
           包括deny.conf;

proxy_pass HTTP:/ / weixin_web_9600;
           包括proxy.conf;

error_log日志/ weixin_g4_error.log误差;
access_log日志/ weixin_g4_access.log主要;

           包括gzip.conf;
}

2、将关于威信的配置重新生成一个文件weixin.conf

Vim nginx.conf
然后进入:编辑行,输入312363威信。conf,然后回车,就会生成新的文件,如下所示:

[根@ nginx_service ~ ]# Vim /甲氧苄啶/ nginx.conf

   
   # Nginx Nginx用户;
  worker_processes二十四 
   # error_log error.log日志/;
..........
 三十六       服务器 10。XX1211八千max_fails =fail_timeout =三十的;
 三十七       服务器 10。XX1212六千一百max_fails =fail_timeout =三十的;
 三十八       服务器 10。XX1215七千一百max_fails =fail_timeout =三十的;
 三十九       服务器 10。XX1216七千max_fails =fail_timeout =三十的;
 四十}
:三百一十二三百六十三W1。conf

PS:原博客地址:http://prog3.com/sbdm/blog/mchdba/article/category/910030未经过原CSDN博主mchdba允许,谢绝转载。


3、删除原来的微信配置段落,导入新的weixin.conf

删除旧的微信段落,在Vim里面

三百一十二三百六十三D
#表示从第312行到第行记录全部删除掉如下所示363:
三百三十 
三百三十一proxy_pass HTTP:/ / occ_map_web;
三百三十二            包括proxy.conf;
:三百一十二三百六十三D

回车键执行,就会提示删除成功,如下所示:

三百三十一位置,位置parkingweb / /*美元{
三百三十二            包括deny.conf;
少了五十二

之后在原来的后面添加上导入conf的配置威信。

    #威信的配置
    包括weixin.conf;

4、重启nginx的,让新的配置生效

【Nginx“nginx_service]美元使用nginx的重装
重新加载nginx
【Nginx“nginx_service]美元

5、附带一些Vim快捷命令

VI中的多行删除与复制
法一:
单行删除,:(待删除行)D
多行删除,:D
法二:
光标所在行,DD
光标所在行以下的n行,NDD
方法:
光标放到第行,
输入:YY
光标放到第行,
输入:P
此方法适合复制少量行文本的情况,复制第行(包括)下面的行数据,放到第行下面。
方法:
命令行模式下输入
有限公司十二
复制第行到第行之间的内容到第十二行后面。
方法:
有时候不想费劲看多少行或复制大量行时,可以使用标签来替代
光标移到起始行,输入马
光标移到结束行,输入MB
光标移到粘贴行,输入MC
然后“一,”B有限公司C把有限改成M就成剪切了
要删除多行的话,可以用:5,9

Vim常用命令
常用命令

1)光标命令
K,J,H,L,上下左右光标移动命令,虽然可以在Linux中使用键盘右边的四个光标键,但是记住这四个命令还有非常有用的,也就是右手在键盘上放置的位置部分
NG——N为行数,该命令立即使光标跳到指定行。
按Ctrl + G -----光标所在位置的行数和列数报告
W、B ------使光标向前或向后跳过一个单词
2)编辑命令
我,一个,R -------在光标的前,后,上方插入字符命令(我=插入,a追加,R =代替)
CW,DW ------改变(置换)/删除光标所在处的单词的命令(C =改变,a删除)
X,D,DD -----删除一个字符,光标所在处到行尾的所有字符,和整行的命令
3)查找命令
/字符串?字符串-----从光标所在处向后/向前查找相应的字符串的命令
4)拷贝复制命令
YY,P -----拷贝一行到剪贴板/取出剪贴板中内容的命令

常见问题及应用技巧
1)在一个新文件中读/etc/passwd中的内容,取出用户名部分
六文件
:R /etc/passwd在打开的文件中光标所在处读入/etc/passwd文件
:%s /:* / / g删除/etc/passwd中用户名后面的从冒号开始直到行尾的所有部分
:3r /etc/passwd这是在指定的行号后面读入文件内容
另外一种方法删掉文件中所有的空行及以#开始的注释行
#猫squid.conf.default | grep - v^美元| grep -v“^ #” 

) when you open a file editing after the user login to the file write right, cannot save
File VI
: W/tmp/OneUnable to save, do not want to give up all the changes made, the first temporary storage to /tmp/One 
:Twenty,Fifty-nine/tmp/ wOneOr just put a thirdTwentyreachFifty-nineThe line between the contents of disk file /tmp/One
ThreeUse)VIEdit a file, but need to delete the contents of a large segment
File VI
Ctrl+GPress ctrl+ to move the cursor to the line that needs to be deleted.GTo display line numbers, according to the endCtrl+G.
:Twenty-three,One thousand and forty-fiveD assumes that the two line isTwenty-threeandOne thousand and forty-five, then the contents of the several all deleted

Can also be used in the start and end of the two row with the MB, Ma command:'a, 'BDDelete.
Four) throughout the document or a few lines at the beginning or end of a line with some string
File VI
:Three,$s/ ^String /some /Insert the some string file at the beginning of the first to the last line of the former
:%s/$/Some string/g in the entire file each at the end of the line to add some string

%s/string1/string2/gReplace string1 in the entire file into string2
:Three,SevenS/string1/string2/ only replace files in the third to seven rows in the string2 into string1

Note:S for substitute,% of all lines, G said global

FiveWhile editing two files, copy and paste the text in two files
File1 File2 VI
YY at the same time open the two files in the fileOneWhere the cursor is located
: nSwitch to fileTwo(n=Next)
P in fileTwoPaste the copy of the line where the cursor is located.
: NSwitch back to fileOne
SixReplace the path in the file

:%s#/usr/bin#/bin#g the file in all the path /usr/bin replaced by /bin
Or use
%s//usr/bin//bin/gstay'Before using the symbol pointed out'Is really a single character'
SevenVI multi line comment
If you want to give a multi line program notes, a stupid way is to insert#, then use J to jump to the next line. Repeat the last command command. If you want to comment a few hundred lines, this method is probably too stupid. A clever way to be:
:+.Four hundred and ninety-nineS/^/#/g
If you need the full text insert the following commands available
:%s/^/#/g
Author: mchdba published in 23:41:15 2015/11/24Text link
Read: 1773 comments: 1View comments
]]>