09 2017 档案
摘要:#!/usr/bin/env python#-*- encoding: utf8 -*-import mysql.connectorimport get_mysql_conn_info """SHOW SLAVE STATUS命令输出内容"""class GetSlaveResult: """ ge
阅读全文
posted @ 2017-09-30 20:06
屠魔的少年
摘要:#!/usr/bin/env python#-*- encoding: utf8 -*-import timeimport osimport mysql.connector#定义一些全局变量 work_dir="/data1/dbacrontab/tmptranfiles/"mysqldump_da
阅读全文
posted @ 2017-09-26 08:56
屠魔的少年
摘要:安装依赖软件yum install perl-ExtUtils-CBuilder perl-ExtUtils-MakeMakeryum install perl-Time-HiRes perl-DBD-MySQLperl Makefile.PLmakemake install进入/usr/local
阅读全文
posted @ 2017-09-18 15:59
屠魔的少年
摘要:同步报错是遇到最多的一个问题,如果你修复后发现还没有解决,通常的方法就是在Master上重新dump出一份,然后在slave上恢复。这个方法是针对整个库不是很大的情况下使用的,那如果是较大,全部dump再倒入耗时就很长。那么就要通过特殊的方法恢复某几张表,例如有a1,b1,c1这三张表的数据跟Mas
阅读全文
posted @ 2017-09-18 15:18
屠魔的少年
摘要:错误日志报错如下: 2017-09-15 18:45:59 1660 [Note] Slave I/O thread: Failed reading log event, reconnecting to retry, log ‘mysql-bin.000958’ at postion 2584658
阅读全文
posted @ 2017-09-18 15:06
屠魔的少年
摘要:解压到/home/oracle下面 $ cp /home/oracle/rda $ perl rda.pl -cv 运行上面的命令,如果最后一行出现下面所示,说明没问题 No issues found [oracle@zhu rda]$ ls -l rda* -r-xr-xr-x 1 oracle
阅读全文
posted @ 2017-09-16 01:08
屠魔的少年
摘要:查看SELinux状态: 1、 ##如果SELinux status参数为enabled即为开启状态 /usr/sbin/sestatus -v SELinux status: enabled 2、 ##也可以用这个命令检查 getenforce 关闭SELinux: 1、临时关闭(不用重启机器):
阅读全文
posted @ 2017-09-16 00:35
屠魔的少年
摘要:一.Linux下开启/关闭防火墙命令 1) 永久性生效,重启后不会复原 开启: chkconfig iptables on 关闭: chkconfig iptables off 2) 即时生效,重启后复原 开启: /etc/init.d/iptables start 关闭: /etc/init.d/
阅读全文
posted @ 2017-09-16 00:34
屠魔的少年
摘要:长事务管理 在停止抽取进程前需要通过命令检查是否存在长交易,以防止下次启动无法找到归档日志: ggsci> info extXX, showch ….. Read Checkpoint #1 …. Recovery Checkpoint (position of oldest unprocessed
阅读全文
posted @ 2017-09-16 00:24
屠魔的少年
摘要:增加复制表 1) 对于新增表,首先要在源端对其加入supplemental log。 GGSCI > dblogin userid goldengate, password goldengate GGSCI > info trandata <schema>.<table name> 如果不是enab
阅读全文
posted @ 2017-09-16 00:24
屠魔的少年
摘要:修改复制表结构 当数据库需要复制的表结构有所改变,如增加列,改变某些列的属性等表结构改变后,可以按照下列步骤执行: 1)各进程使用lag exta验证无较大延迟(秒一级即可); 2)各进程执行info exta,showch并验证ext进程重启所需日志存在; 3)按顺序停止源和目标端进程; 4)源和
阅读全文
posted @ 2017-09-16 00:23
屠魔的少年
摘要:源端: conn sh/sh create table "学生" ("学号" number primary key,"姓名" varchar2(30)) * ORA-00957: duplicate column name 重复列名 create table "学生" ("学号" number pr
阅读全文
posted @ 2017-09-15 23:40
屠魔的少年
摘要:删除复制表 要移除某个复制表,则执行以下步骤 1)直接源端的进程参数文件中注释掉包含该表的table行 2)目标端同样在rep进程里面注释掉包含该表的map行 3)源端使用info exta,showch查看检查点并验证归档日志是否存在,然后重启ext进程 4)目标端直接重启rep进程
阅读全文
posted @ 2017-09-15 23:38
屠魔的少年
摘要:发生错误如下,源端EXTRACT进程异常中止,查看日志,发现如下错误。 2014-07-23 01:32:13 ERROR OGG-00446 Oracle GoldenGate Capture for Oracle, ext_mkt.prm: Could not find archived log
阅读全文
posted @ 2017-09-15 23:37
屠魔的少年
摘要:表的重新再同步(需时间窗口) 如果是某些表由于各种原因造成两边数据不一致,需要重新进行同步,可以参照以下步骤。 1)确认需要修改的表无数据变化 (如果有条件建议停止应用系统并锁定除去sys和goldengate以外的其它所有用户防止升级期间数据变化, 或者锁定所要再同步的表); 2)重启dpe进程(
阅读全文
posted @ 2017-09-15 23:36
屠魔的少年
摘要:表的重新再同步(无需时间窗口) 如果是某些表由于各种原因造成两边数据不一致,需要重新进行同步,但实际业务始终24小时可用,不能提供时间窗口, 则可以参照以下步骤。(因较为复杂,使用需谨慎!) 1)确认ext/dpe/rep进程均无较大延迟,否则等待追平再执行操作; 2)停止目标端的rep进程; 注意
阅读全文
posted @ 2017-09-15 23:35
屠魔的少年
摘要:异常处理一般步骤 如果GoldenGate复制出现异常,可以通过以下步骤尝试解决问题: 1) 通过ggsci>view report命令查找ERROR字样,确定错误原因并根据其信息进行排除; 2) 通过ggsci>view ggsevt查看告警日志信息; 3) 检查两端数据库是否正常运行,网络是否连
阅读全文
posted @ 2017-09-15 23:34
屠魔的少年
摘要:(仅复制DML时)源端和目标端数据库增减复制表 增加复制表 在GoldenGate的进程参数中,如果通过*来匹配所有表,因此只要符合*所匹配的条件,那么只要在源端建立了表之后GoldenGate就能自动复制,无需修改配置文件,但是需要为新增的表添加附加日志。 步骤如下: GGSCI 〉dblogin
阅读全文
posted @ 2017-09-15 23:34
屠魔的少年
摘要:从根本上讲,OGG复制性能和要复制的表是否存在主键和唯一索引有很大关系,所以从应用系统开发商对表结构的规范更为有效。OGG调优通常采用拆分进行的方式,拆分方法如下所述。 Extract拆分方法 1) 停止extract进程 2) 停止datapump、进程 GGSCI> INFO datapump_
阅读全文
posted @ 2017-09-15 23:33
屠魔的少年
摘要:1 双向复制方案简介 在双向复制(Bidirectional)方案中,可以采用以下两种部署方式: 方式一:配置源和目标数据库可以同时保持Active 状态,同时进行应用系统的事务处理, 此时需由应用系统进行控制,避免对同一记录进行处理产生的冲突。 方式二:配置源为Active,目标为Standing
阅读全文
posted @ 2017-09-15 23:32
屠魔的少年
摘要:正确启动数据库 源端启动数据库 SQL> startup 源端启动goldengate GGSCI > start mgr GGSCI > start * 目标端启动数据库 SQL> startup 目标端启动goldengate GGSCI > start mgr GGSCI > start *
阅读全文
posted @ 2017-09-15 23:32
屠魔的少年
摘要:1 事先配置好反向复制链路; 2 停止源端的应用程序; 3 确认源端Capture已捕获所有的Redo信息; GGSCI>info all GGSCI>info ext_app 4 确认源端所有queue中无积压数据 GGSCI>info all GGSCI>info ext_app GGSCI>i
阅读全文
posted @ 2017-09-15 23:31
屠魔的少年
摘要:以下对goldengate数据复制的限制情况进行说明。 不支持文件等非结构化数据复制 GoldenGate依赖对于数据库日志的解析获取数据变化,因此只能支持数据库中的数据变化复制,无法支持文件等非结构化数据的复制。 Oracle数据类型限制 GoldenGate支持Oralce常见数据类型的复制。
阅读全文
posted @ 2017-09-15 23:31
屠魔的少年
摘要:步骤描述 提前准备好切换方案;以及其他相关人员的配合 切换至容灾数据库: (1)停止前端业务,确认目标端数据已经追平 (2)数据校验,确认数据一致 (3)停止生产库OGG进程(停止后可以直接删除) (4)停止容灾库OGG进程(停止后可以直接删除) (5)重置容灾库的sequence值(如果不做序列复
阅读全文
posted @ 2017-09-15 23:30
屠魔的少年
摘要:OGG oracle goldengate 1403错误解决方法1. 错误描述WARNING OGG-01154 Oracle GoldenGate Delivery for Oracle, repyxb.prm: SQL error 1403 mapping SGPM.P_SMS_SEND to
阅读全文
posted @ 2017-09-15 23:30
屠魔的少年
摘要:1、首先配置sourcedb上的nfs服务,oggstd上挂载sourcedb的online redo和archive log的目录 oggsource上配置: vi /etc/exports /u01/app/oracle 134.178.1.182(rw,no_root_squash,no_al
阅读全文
posted @ 2017-09-15 23:30
屠魔的少年
摘要:使用HANDLECOLLISIONS的几个场景: 1、target丢失delete记录(missing delete),忽略该问题并不记录到discardfile 2、target丢失update记录(missing update) 更新的键值是主键=》 update转换成INSERT ,默认情况下
阅读全文
posted @ 2017-09-15 23:29
屠魔的少年
摘要:1. 文档综述 1.1. 文档说明 本文档规定了在实施Goldengate时,各个进程需要配置的参数. 该参数模板适合于Goldengate11.2.1.0版本; **注:本文档为Goldengate实施规范系列文档内容之一。在Goldengate的实施过程中,需要严格遵循系列实施规范。 **注:无
阅读全文
posted @ 2017-09-15 23:29
屠魔的少年
摘要:GoldenGate进程 Manager进程 Manager进程是GoldenGate的控制进程,运行在源端和目标端上。它主要作用有以下几个方面:启动、监控、重启Goldengate的其他进程,报告错误及事件,分配数据存储空间,发布阀值报告等。在目标端和源端有且只有一个manager进程,其运行状态
阅读全文
posted @ 2017-09-15 23:28
屠魔的少年
摘要:Goldengate抽取进程的合并与拆分原则 1. 文档综述 1.1. 文档说明 本文档描述了对GoldenGate的抽取进程进行拆分和合并的基本原则和详细步骤。 1.2. 读者范围 本文档主要容灾相关人员、纳入数据级容灾范围的应用系统相关人员使用,在Goldengate实施、运维的整个生命周期中,
阅读全文
posted @ 2017-09-15 23:26
屠魔的少年
摘要:安装环境说明: 源端:AIX 6.1 10.190.1.215 目标端:Linux 10.191.1.10 1:源端创建goldengate 表空间。 表空间的要求:最小500m,大点3-5G,设置自动扩展。 SQL> set pagesize 9999 col tablespace_name fo
阅读全文
posted @ 2017-09-15 23:25
屠魔的少年
摘要:set colsep , set feedback off set heading off set trimout on spool my.csv select * from emp; spool off
阅读全文
posted @ 2017-09-15 23:23
屠魔的少年
摘要:打开alert日志发现如下错误信息 Errors in file /oracle/app/oracle/admin/hncdfhq/bdump/hncdfhq_arc0_45285882.trc: ORA-19504: failed to create file "/oradata2/arch/1_
阅读全文
posted @ 2017-09-15 23:20
屠魔的少年
摘要:ORA-16009错误处理 问题描述: 主备在做Switchover切换时,在切换后的备库报如下错误: Wed Jul 22 04:49:02 2015 Errors in file /u01/app/oracle/admin/orcl/bdump/orcl_arc0_8755.trc: ORA-1
阅读全文
posted @ 2017-09-15 23:17
屠魔的少年
摘要:ORA-01665错误处理 问题描述: 在备库启动至mount状态时,报如下错误: ORA-01665: control file is not a standby control file 解决办法: 在主库备份一个控制文件 SQL> alter database create standby c
阅读全文
posted @ 2017-09-15 23:17
屠魔的少年
摘要:ORA-01153错误处理 问题描述: 主备在做Switchover切换时,在切换后的备库报如下错误: ORA-01153: an incompatible media recovery is active 解决办法: 对standby database 进行手动应用archive log SQL>
阅读全文
posted @ 2017-09-15 23:17
屠魔的少年
摘要:主库查询: SQL> select error from v$archive_dest where rownum<3; ERROR ORA-01033: ORACLE initialization or shutdown in progress DG发生这个问题,一般都是密码文件问题。 解决办法:重
阅读全文
posted @ 2017-09-15 23:16
屠魔的少年
摘要:rpm --import /etc/pki/rpm-gpg/RPM*yum install -y --skip-broken compat-libstdc++* elfutils-libelf* gcc* glibc* kernel-headers* ksh* libaio* libgcc* lib
阅读全文
posted @ 2017-09-15 22:48
屠魔的少年
摘要:readhat 安装11gr2文档 需要注意的地方:必须关掉的 1,防火墙;2,SElinux 。 root 用户运行 setup 命令可关防火墙与SElinux 修改网络配置文件,一定要重启此文件才能生效。 1. 检查内存,至少1Ggrep MemTotal /proc/meminfo 2.交换分
阅读全文
posted @ 2017-09-15 22:45
屠魔的少年
摘要:readhat 安装11gr2文档 需要注意的地方:必须关掉的 1,防火墙;2,SElinux 。 root 用户运行 setup 命令可关防火墙与SElinux 修改网络配置文件,一定要重启此文件才能生效。 linux安装oracle 10g 第三步出现sid不能使用,因为之前已经使用过这个sid
阅读全文
posted @ 2017-09-15 22:44
屠魔的少年
摘要:yum -y install libXp yum -y install libXp.i686 yum -y install libXtst.i686
阅读全文
posted @ 2017-09-15 22:43
屠魔的少年
摘要:1:查看旧临时表空间信息 set pagesize 999 set linesize 160 col PROPERTY_NAME for a26 col PROPERTY_VALUE for a18 SELECT PROPERTY_NAME, PROPERTY_VALUE FROM DATABASE
阅读全文
posted @ 2017-09-15 22:41
屠魔的少年
摘要:1. 概述 闰秒是一个一秒的调整,具体涉及到地球公转速度等天文计算。简单来讲呢,就是地球越转越慢,而世界时钟的速度恒定不变。那样会发生什么问题呢,世界时钟一天已经过完,而地球自转一周还没完成呢。所以就要把世界时钟拨慢点,等等地球自转。当然地球自转这个慢是很细微的,不会是等几十年以后就不转了。为什么标
阅读全文
posted @ 2017-09-15 22:37
屠魔的少年
摘要:设置datavg卷组在系统启动时自动被激动 # chvg -ay datavg 设置datavg卷组在系统启动时不能自动被激活 # chvg -an datavg 给一个卷组解锁 # chvg -u datavg
阅读全文
posted @ 2017-09-15 22:23
屠魔的少年
摘要:禁止hdisk1物理卷再分配新的PP。 # chpv -a n hdisk1 使hdisk1物理卷可以继续分配新的PP。 # chpv -a y hdisk1 禁止通过逻辑方式读写hdisk1物理卷上的数据(即修改物理卷的状态为不可用状态) # chpv -v r hdisk1 允许通过逻辑方式读写
阅读全文
posted @ 2017-09-15 22:23
屠魔的少年
摘要:显示系统中的卷组的卷组名 # lsvg 使用-o参数显示当前系统中处于激活状态的卷组名。 # lsvg -o 显示卷组的属性 # lsvg rootvg 显示rootvg卷组的逻辑卷信息 # lsvg -l rootvg 显示一个卷组中的所有物理卷信息,包括物理卷的名称、物理卷状态和物理分区的分配情
阅读全文
posted @ 2017-09-15 22:22
屠魔的少年
摘要:显示一个卷组中的所有逻辑卷 # lsvg -l rootvg 显示一个逻辑卷的详细属性 # lslv mylv 显示hdisk0上PP分配情况 # lslv -p hdisk0
阅读全文
posted @ 2017-09-15 22:22
屠魔的少年
摘要:卷组有两种状态,一种是激活状态,另一种是非激活状态。卷组只有处于激活状态时,才能够接受访问,处于非激活状态时,不能被使用。 datavg处于非激活状态,可使用下面的命令把它激活 # varyonvg datavg 停用datavg卷组 # varyoffvg datavg
阅读全文
posted @ 2017-09-15 22:21
屠魔的少年
摘要:1. 查看磁盘 lsdev -CHc pdiskIBM lsdev -CHc disk 显示一个物理卷的详细信息 $ lspv hdisk1 显示物理卷上分配的逻辑卷 lspv -l hdisk1 显示物理卷上物理分区的分布情况 lspv -p hdisk1 显示物理分区与逻辑分区的对应情况 lsp
阅读全文
posted @ 2017-09-15 22:21
屠魔的少年
摘要:一: #lspv 找到新增加的物理卷(逻辑驱动器,以hdisk8为例)。 #chdev –l hdisk8 –a pv=yes写入新的物理卷的pvid。 #extendvg cwdatavg hdisk8,扩展卷组的空间,将新的物理卷添加到卷组中。 #lslv fslv02检查文件系统所在的逻辑卷f
阅读全文
posted @ 2017-09-15 22:20
屠魔的少年
摘要:如何创建文件系统? 以下命令将在卷组 testvg 中创建一个大小为 10MB、安装点为 /fs1 的 jfs 文件系统: crfs -v jfs -g testvg -a size=10M -m /fs1 以下命令将在卷组 testvg 中创建一个大小为 10MB、安装点为 /fs2 并具有只读权
阅读全文
posted @ 2017-09-15 22:19
屠魔的少年
摘要:在HA或者RAC环境中配置VG 1、在A机上,mkvg,vgda信息被写到了pv和ODM库 2、在A机上,varyoffvg 3、在b机上,importvg,vgda信息被导入到ODM库 手工同步VG信息 1、在A机上建立lv,varyoffvg 2、在B机上exportvg,然后importvg
阅读全文
posted @ 2017-09-15 22:19
屠魔的少年
摘要:在到处一个卷组之前,必须先用varyoffvg命令使该卷组处于停用状态(非激活状态)。 再用exportvg命令导出卷组,该命令仅仅将卷组的定义信息从ODM数据库中删除掉,并不删除该卷组中的数据。 将datavg卷组从当前的系统中导出来 # exportvg datavg 将datavg卷组导入到目
阅读全文
posted @ 2017-09-15 22:19
屠魔的少年
摘要:创建VG smit mkvg Add a Volume Group Add a Scalable Volume Group VOLUME GROUP name [datavg] VG名字 Physical partition SIZE in megabytes 选PP大小 * PHYSICAL VO
阅读全文
posted @ 2017-09-15 22:18
屠魔的少年
摘要:一、几个基本概念 物理卷(PV):一个物理卷指一块硬盘 卷组(VG):卷组是可用物理硬盘的集合,可以逻辑地看成一块大硬盘 物理分区(PP):卷组中物理卷划分成固定大小的块(缺省为4MB) 逻辑卷(LV):逻辑卷是位于物理分区上的信息集合 逻辑分区(LP):逻辑卷由一定数量的逻辑分区组成 二、常用命令
阅读全文
posted @ 2017-09-15 22:16
屠魔的少年
摘要:1,获得AIX主机连接的光纤设备: # lsdev -Cc adapter -S a | grep fcs fcs0 Available 09-08 FC Adapter fcs1 Available 09-09 FC Adapter 其中,显示有两块光纤卡.fcs0和fcs1 2,查看光纤卡的WW
阅读全文
posted @ 2017-09-15 22:15
屠魔的少年
摘要:AIX设备四种状态: Undefined(未定义):表示系统无法识别该设备,也就是系统无法找到该设备。(驱动无法识别) Defined(定义):表示系统可以识别设备,信息保存在ODM,但是系统不能使用它。 Available(可用):表示该设备在系统中可以使用,用户也可以使用。 Stopped(停用
阅读全文
posted @ 2017-09-15 22:15
屠魔的少年
摘要:1. 查看所有适配卡 lsdev -CHc adapter 2. 物理网卡适配卡 查看到物理网卡的个数与类型 lsdev -Cc adapter|grep ent 查看物理网卡具体插槽位(AIX 5L) lsslot -c pci|grep ent 查看物理网卡详细信息 lscfg -vl ent0
阅读全文
posted @ 2017-09-15 22:14
屠魔的少年
摘要:首先创建逻辑卷smit lv ,这里没多大问题就不细述了。 输入要创建的逻辑卷名、所属卷组、分配多少个LP、创建在哪块磁盘上等,另外还可以设置镜像,默认是只有一份镜像的,即不做mirror。 到此LV创建成功。 下面添加并挂载文件系统 smit fs 因为默认情况下AIX创建的Logical Vol
阅读全文
posted @ 2017-09-15 22:12
屠魔的少年
摘要:fget_config –Av //显示lun号 lscfg –vpl fcs2 //查看fcs2 的wwn号 lvlstmajor // 查看可用major number chdev -l inet0 -a hostname=aix205 //更改主机名 rendev -l hdisk6 -n h
阅读全文
posted @ 2017-09-15 22:09
屠魔的少年
摘要:du -k /backup 152028771 /backup/hncdfmkt001 33396907 /backup/hncdfposmgr 185425737 /backup
阅读全文
posted @ 2017-09-15 22:08
屠魔的少年
摘要:vmstat看到的CPU是逻辑CPU vmstat 3 10 每隔3秒显示一次,显示10次 cpu忙不忙主要看vmstat命令里的id和r参数,r队列数最好是0,一般是小于等于cpu数量,比如有16个cpu,r队列为4,说明当前有4个进程在等待cpu,这时只需要有4个cpu空闲下来处理r队列的等待进
阅读全文
posted @ 2017-09-15 22:06
屠魔的少年
摘要:uname -p 显示系统的芯片类型。如,PowerPC uname -r 显示操作系统的版本号 uname -s 显示系统名称。例如,AIX uname -n 显示节点名称 uname -a 显示系统名称、节点名称、版本、计算机 ID uname -M 显示系统型号名称。如,IBM, 9114-2
阅读全文
posted @ 2017-09-15 22:05
屠魔的少年
摘要:生成四种类型的报告,tty 和 CPU 使用率报告、磁盘使用率报告、系统吞吐量报告和适配器吞吐量报告。 tty 和 CPU 使用率报告 由 iostat 命令生成的第一份报告是 tty 和 CPU 使用率报告。对于多处理器系统,CPU 值是所有处理器的总平均。同时,I/O 等待状态是系统级定义的,而
阅读全文
posted @ 2017-09-15 22:04
屠魔的少年
摘要:errpt –a 详细信息 errpt -a –s [TIMESTAMP] errpt –aj [IDENTIFIER] errclear 清除(后面接参数) errpt -aj BFE4C025 显示具体某个错误项的详细信息 errpt|more 加more到一屏就停住了 IDENTIFIER 为
阅读全文
posted @ 2017-09-15 22:03
屠魔的少年
摘要:1、查看某端口运行情况 如查看22端口运行情况 # lsof –i:22 # lsof –i:22 –r 每隔15秒显示22端口的监听情况。 2、查看活动的连接 如:查看ip地址为192.168.4.188的连接。 # lsof –i @192.168.4.188 3、查看所属mqm用户进程所打开的
阅读全文
posted @ 2017-09-15 22:01
屠魔的少年
摘要:.tar.Z 格式 压缩: compress filename.tar 解压: zcat filename.tar.Z tar -xvf - .tar.gz 格式 压缩:tar -cvf filename.tar gzip filename.tar 解压:gunzip filename.tar.gz
阅读全文
posted @ 2017-09-15 22:00
屠魔的少年
摘要:清/var/adm/wtmp 文件内容 用于显示登录系统和重启机器的情况 /var/adm/wtmp文件过大。 可用du -sm /var/adm/wtmp查看 cat /dev/null>/var/adm/wtmp
阅读全文
posted @ 2017-09-15 21:59
屠魔的少年
摘要:一:查看存储盘的路径 1、 查看MPIO的存储盘的路径 # lspath (适用于所有存储的MPIO路径查询) # mpio_get_config -Av (适用于DS3K/DS4K的MPIO路径查询) 2、 查看RDAC存储盘的路径 # fget_config -Av (适用于DS3K/DS4K的
阅读全文
posted @ 2017-09-15 21:56
屠魔的少年
摘要:1、 查看物理内存配置 # lsdev -Cc memory 查看配置的物理内存设备,下面为其输出示例: L2cache0 Available L2 Cache mem0 Available Memory # lsattr -El mem0 输出类似如下所示: goodsize 7936 Amoun
阅读全文
posted @ 2017-09-15 21:56
屠魔的少年
摘要:installp 软件安装和升级工具 1.查看某个已应用更可被提交或拒绝的文件集) installp -s 2. 应用更新TCP/IP软件( /usr/sys/inst.images ) installp -a -d/usr/sys/inst.images bos.net.tcp.client 4.
阅读全文
posted @ 2017-09-15 21:55
屠魔的少年
摘要:安装和维护LPP软件 installp 对包提供了如下四种主要的操作: Apply Commit Reject Remove webes.4.0.0.1 commited webes.4.0.0.2 commited 软件包在被安装后,可以处于 applied 和 committed 两种状态。 a
阅读全文
posted @ 2017-09-15 21:55
屠魔的少年
摘要:lslpp action 字段状态值: APPLY应用文件集 CLEANUP清理文件集进行 COMMIT提交文件集 REJECT拒绝指定文件集 status 字段状态值: 标识安装操作历史记录的结果状态。 字段值: BROKEN 定操作后,文件集处于中断状态 CANCELED 完成前取消指定操作 C
阅读全文
posted @ 2017-09-15 21:55
屠魔的少年
摘要:Bundle 称为:软件集 或 打包捆绑软件(软件束) Bundle就是一组包含了文件集,软件包或许可程序产品的软件,它们组合在一起为了实现一个特定的功能 快速来列出系统bundle软件 smit list_bundle App- Dev:应用程序开发所需的程序和工具 Client:在C/S环境下,
阅读全文
posted @ 2017-09-15 21:54
屠魔的少年
摘要:AIX系统版本 1. AIX 主要版本、次要版本、维护级 oslevel -r lslpp -h bos.rte 2. 确定某个特定的 AIX 级别缺少哪些文件集更新 举例,若要确定 5300-04 缺少哪些文件集更新 oslevel -rl 5300-04 3. 查看当前系统上已安装的 SP (S
阅读全文
posted @ 2017-09-15 21:53
屠魔的少年
摘要:AIX 系统补丁升级步骤 1、升级之前建议备份 rootvg (推荐) # smit mksysb 2、检查系统版本号 # oslevel -r 3、找到补丁光盘或者下载补丁,上传到服务器中 http://www-933.ibm.com/eserver/support/fixes/fixcentra
阅读全文
posted @ 2017-09-15 21:52
屠魔的少年
摘要:AIX 系统版本标准格式: 5300-06-11-0918 VR00-TL-SP-YYWW 5300-06-11-0918 ^ YYWW(2009年第18周) ^ SP ^ TL(从2006年开始,原来的ML将改称为 TL) ^ AIX release 补丁类型(Fix Type): 最终服务包 C
阅读全文
posted @ 2017-09-15 21:51
屠魔的少年
摘要:AIX installp软件包结构 1. usr部分 2. / (root)部分 3. share部分 AIX 为了实现在客户机 / 服务器环境下安装的灵活性将安装包划分为 usr 部分 、root 部分、 share 部分 。 1. usr 部分 : 这个部分包括了 /usr/lpp/lpp_na
阅读全文
posted @ 2017-09-15 21:51
屠魔的少年
摘要:机器亮黄灯告警一般是有硬件问题(单电源等可能有安全隐患的硬件配置也可能造成黄灯亮起),见到后首先进行下硬件诊断,方法如下: 诊断系统,判断是否硬件故障:1、Root用户执行diag; 2、回车后,进第2项,advanced diagnostics routines; 3、选system verifi
阅读全文
posted @ 2017-09-15 21:42
屠魔的少年
摘要:查看引导顺序 # bootlist -m normal -o hdisk0 blv=hd5 修改引导顺序 # bootlist -m normal hdisk0 cd0 cd1 说明: -m 选项来指定要修改或显示的启动方法 该选项支持的值包括normal(正常)、service(单用户维护模式)、
阅读全文
posted @ 2017-09-15 21:41
屠魔的少年
摘要:快速关机 # shutdown -F 快速重启 # shutdown -Fr 关闭小机前必须确保: 1,一定要先关闭HACMP软件再使用 shutdown -F命令关闭系统。
阅读全文
posted @ 2017-09-15 21:41
屠魔的少年
摘要:IBM小机的开机步骤 以下以 IBM P570 小机包含静态逻辑分区(LPAR) 的 Oracle9i RAC环境为例进行讨论 1. 设备(小机、存储、光交......)加电 2. 启动存储 3. 启动小机 4. 在小机 HMC 控制台上登录,选择分区,点击鼠标右键, 选择 Active 激活该分区
阅读全文
posted @ 2017-09-15 21:40
屠魔的少年
摘要:在客户一次停机维护中,发现了这个问题。 环境是ORACLE 10G RAC for AIX6,使用了HACMP管理共享磁盘。 在停机维护时间段内需要重启主机,当关闭了数据库和CLUSTER后,节点1使用reboot命令重启操作系统,等了很长时间,系统仍然没有启动的迹象,不得以到机房中检查,发现服务器
阅读全文
posted @ 2017-09-15 21:39
屠魔的少年
摘要:在 /etc/Muttrc 文件添加以下内容: set from="laughingliang@chai.com" set use_from=yes set envelope_from="yes" set realname="laughingliang" 一: /data/sql_to_mail/f
阅读全文
posted @ 2017-09-15 21:33
屠魔的少年
摘要:当需要添加swap分区时,可以使用如下方法:设置交换分区:1 以dd指令建立swapoff2 mkswap 来将swapfile 格式化为swap的档案格式。3 swapon 来启动该系统文件,使之成为swap[root@localhost ~]# dd if=/dev/zero f=/tmp/sw
阅读全文
posted @ 2017-09-15 21:32
屠魔的少年
摘要:添加本地 yum源 yum-updatesd.conf yum的主配置文件 [root@zhou ~]# cd /etc/yum.repos.d/ [root@zhou yum.repos.d]# ls rhel-debuginfo.repo rhel-debuginfo.repo 方括号里面的名字
阅读全文
posted @ 2017-09-15 21:31
屠魔的少年
摘要:当不能挂载光盘或者U盘时候,只需要把ISO文件传到某个目录中,比如/data下,即可挂载,如下所示: mount -o loop /data/rhel-server-6.3-x86_64-dvd.iso /mnt
阅读全文
posted @ 2017-09-15 21:31
屠魔的少年
摘要:使用 rpm删除软件时报错如下: [root@hostxxlidan]# rpm -qa |grep -i mysqlmysql-devel-5.0.95-5.el5_9mysql-devel-5.0.95-5.el5_9MySQL-shared-5.5.34-1.rhel5mysql-5.0.95
阅读全文
posted @ 2017-09-15 21:30
屠魔的少年
摘要:模拟日志输出: for n in `seq 14` do date -s “01/0$n/15” touch myfile_`(date+%F)`.log done date -s "01/14/15" 删除文件 find /app/logs/ -type f -mtime +7 | xargs r
阅读全文
posted @ 2017-09-15 21:29
屠魔的少年
摘要:RedHat/CentOS 5.8 默认就有sendmail,而6.4默认没有。 手动清理方法: find /var/spool/clientmqueue/ -type f|xargs rm -f 定时清理方法: echo "find /var/spool/clientmqueue/ -type f
阅读全文
posted @ 2017-09-15 21:27
屠魔的少年
摘要:(1) bash script_name 或 sh script_name 推荐使用此方法,script_name 不需要执行权限亦可执行 。或者脚本文件开头没有指定解释器时需要使用的方法。 (2) path/script_name 或 ./script_name 绝对路径或当前路径下执行此脚本,需
阅读全文
posted @ 2017-09-15 21:26
屠魔的少年
摘要:在使用rm删除大批量文件时,有可能会遭遇“参数列太长”(Argument list too long)的问题。如下所示 [oracle@DB-Server bdump]$ rm -v epps_q001_* -bash: /bin/rm: Argument list too long 查看总共有多少
阅读全文
posted @ 2017-09-15 21:25
屠魔的少年
摘要:losf 命令可以列出某个进程打开的所有文件信息。打开的文件可能是普通的文件,目录,NFS文件,块文件,字符文件,共享库,常规管道,明明管道,符号链接,Socket流,网络Socket,UNIX域Socket,以及其它更多。 1 列出系统上所有打开的文件: [root@rac1 mysql]# ls
阅读全文
posted @ 2017-09-15 21:24
屠魔的少年
摘要:[root@localhost /]# cd /etc 查看 当前目录大小 [root@localhost etc]# du -sh 92M . [root@localhost etc]# du . -sh /etc 92M . 92M /etc 查看当前目录的文件数量 [root@localhos
阅读全文
posted @ 2017-09-15 21:23
屠魔的少年
摘要:import subprocess def create_process(cmd): p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) result = p.stdout.r
阅读全文
posted @ 2017-09-14 22:14
屠魔的少年
摘要:def pickle_load(file_path): f = open(file_path,'r+') data = pickle.load(f) f.close() return data def pickle_dump(file_path,data): f = open(file_path,'
阅读全文
posted @ 2017-09-14 22:14
屠魔的少年
摘要:#!/usr/bin/env python # -*- coding:utf-8 -*- import paramiko from datetime import date,timedelta import time import os backupDate = time.strftime("%Y%
阅读全文
posted @ 2017-09-14 22:13
屠魔的少年
摘要:select (select count(distinct b.sal) from emp bwhere b.sal<=a.sal) as rnk,a.salfrom emp a;
阅读全文
posted @ 2017-09-14 22:07
屠魔的少年
摘要:使用distinct关键字可以抑制结果集中的重复:select distinct job from emp;另外,也可以使用group by抑制重复:select job from emp group by job;
阅读全文
posted @ 2017-09-14 22:07
屠魔的少年
摘要:select e.ename,e.sal,coalesce((select min(sal) from emp d where d.sal>e.sal),(select min(sal) from emp)) as forware,coalesce((select max(sal) from emp
阅读全文
posted @ 2017-09-14 22:06
屠魔的少年
摘要:select ename,salfrom(select (select count(distinct b.sal)from emp bwhere a.sal<=b.sal) as rnk,a.sal,a.enamefrom emp a)x where rnk<=5;
阅读全文
posted @ 2017-09-14 22:05
屠魔的少年
摘要:select ename from empwhere sal in ((select min(sal) from emp),(select max(sal) from emp));
阅读全文
posted @ 2017-09-14 22:05
屠魔的少年
摘要:找到满足这样条件的员工:即他的收入比紧随其后聘用的员工要少。 select ename,sal,hiredatefrom (select a.ename,a.sal,a.hiredate,(select min(hiredate) from emp bwhere b.hiredate>a.hired
阅读全文
posted @ 2017-09-14 22:05
屠魔的少年
摘要:select e.ename,d.deptno,d.dname,d.locfrom dept d left join emp e on(d.deptno = e.deptnoand (e.deptno=10 or e.deptno=20))order by 2; 另外,还可以先用emp.deptno
阅读全文
posted @ 2017-09-14 22:04
屠魔的少年
摘要:select x.enamefrom (select a.ename,(select count(*)from emp bwhere b.ename <=a.ename) as rnfrom emp a) xwhere mod(x.rn,2) =1;
阅读全文
posted @ 2017-09-14 22:03
屠魔的少年
摘要:可使用limint指定要返回的行数,使用OFFSET指定要跳过的行数。例如,按工资的顺序返回前5行:select sal from emp order by sal limit 5 offset 0;要返回下一组5行:select sal from emp order by sal limit 5
阅读全文
posted @ 2017-09-14 22:02
屠魔的少年
摘要:select y.yr.coalesce(x.cnt,0) as cntfrom (select min_year-mod(cast(min_year as int),10)+rn as yrfrom (select (select min(extract(year from hreadate))f
阅读全文
posted @ 2017-09-14 22:02
屠魔的少年
摘要:drop view v;create table v (proj_id int(2),proj_start date,proj_end date);insert into v values(1,'2005-03-01','2005-03-02');insert into v values(2,'20
阅读全文
posted @ 2017-09-14 22:02
屠魔的少年
摘要:select x.*,datediff(x.next_hd,x.hiredate) difffrom (select e.deptno,e.ename,e.hiredate,(select min(d.hiredate) from emp dwhere d.hiredate > e.hiredate
阅读全文
posted @ 2017-09-14 22:01
屠魔的少年
摘要:select deptno,ename,hiredate,sal,coalesce(cast(sal-next_sal as char(10)),'N/A') as difffrom (select e.deptno,e.ename,e.hiredate,e.sal,(select min(sal)
阅读全文
posted @ 2017-09-14 22:01
屠魔的少年
摘要:drop view v;create table v (proj_id int(2),proj_start date,proj_end date);insert into v values(1,'2005-03-01','2005-03-02');insert into v values(2,'20
阅读全文
posted @ 2017-09-14 22:01
屠魔的少年
摘要:select datediff(ward_hd,allen_hd)*24 hr, datediff(ward_hd,allen_hd)*24*60 min, datediff(ward_hd,allen_hd)*24*60*60 secfrom ( select max(case when enam
阅读全文
posted @ 2017-09-14 22:00
屠魔的少年
摘要:select date_format(date_add(cast(concat(year(current_date),'-01-01')as date),interval t500.id-1 day),'%W%) day,count(*)from t500where t500.id<=datedif
阅读全文
posted @ 2017-09-14 22:00
屠魔的少年
摘要:select mnth,mnth/12from(select (year(max_hd) - year(min_hd))*12 +(month(max_hd) - month(min_hd)) as mnthfrom (select min(hiredate) as min_hd,max(hired
阅读全文
posted @ 2017-09-14 21:59
屠魔的少年
摘要:问题:给定两个日期,求它们之间(包括这两个日期本身)有多少个”工作“日。select sum(case when date_format( date_add(jones_hd,interval t500.id - 1, 'DY'),'%a') in ('SAT', 'SUN') then 0 els
阅读全文
posted @ 2017-09-14 21:58
屠魔的少年
摘要:select datediff(ward_hd,allen_hd)from (select hiredate as ward_hdfrom empwhere ename='WARD') x,(select hiredate as allen_hdfrom empwhere ename='ALLEN'
阅读全文
posted @ 2017-09-14 21:58
屠魔的少年
摘要:select hiredate - interval 5 day as hd_minus_5D, hiredate + interval 5 day as hd_plus_5D, hiredate - interval 5 month as hd_minus_5M, hiredate + inter
阅读全文
posted @ 2017-09-14 21:57
屠魔的少年
摘要:问题:根据另一列中的值修改累计和中的值。假设一个场景,要显示信用卡账号的事务处理历史以及每次事务处理之后的当前余额。使用下面的视图:create view v (id,amt,trx)as select 1,100,'PR' from t1 union allselect 2,100,'PR' fr
阅读全文
posted @ 2017-09-14 21:56
屠魔的少年
摘要:问题:计算平均数,但希望拍出最大和最小值,以(希望能)减少数据畸偏造成的影响。select avg(sal) from empwhere sal not in ((select min(sal) from emp),(select max(sal) from emp));
阅读全文
posted @ 2017-09-14 21:56
屠魔的少年
摘要:问题:查找某个列中值的模式(数学中的模式概念就是对于给定的数据集出现最频繁的元素)。例如,查找DEPTNO 20中工资模式。例如下列工资: select sal from empwhere deptno = 20group by salhaving count(*) >=all (select co
阅读全文
posted @ 2017-09-14 21:55
屠魔的少年
摘要:问题:求特定列中的值占总和的百分比。 select (sum(case when deptno =10 then sal end)/sum(sal))*100 as pctfrom emp;
阅读全文
posted @ 2017-09-14 21:55
屠魔的少年
摘要:问题:计算一列数字值的中间值(中间值就是一组有序元素中间成员的值)。例如,查找DEPTNO 20中工资的中间数。 select avg(sal) from (select e.sal from emp e,emp dwhere e.deptno = d.deptno and e.deptno =20
阅读全文
posted @ 2017-09-14 21:55
屠魔的少年
摘要:问题:对于数字列中的值,计算其累计差。例如:计算DEPTNO 10中工资的累计差。 select a.empno,a.ename,a.sal,(select case when a.empno=min(b.empno) then sum(b.sal)else sum(-b.sal)endfrom e
阅读全文
posted @ 2017-09-14 21:54
屠魔的少年
摘要:问题:计算某个数字列的累乘积。其操作方式与”计算累计和“相似,只是使用乘法而不是加法。解决方案:作为例子,本解决方案中都计算职员工资的累乘积。虽然工资的累乘积没有多大用处,然后可以很容易地把该技巧用于其他更有用的领域。 select e.empno,e.ename,e.sal,(select exp
阅读全文
posted @ 2017-09-14 21:53
屠魔的少年
摘要:问题:计算某个列中所有值的累计和。解决方案:下面给出了一种解决方案,它展示 了如何计算所有职员工资的累计和。为了增加可读性,其结果是按SAL排序的,这样就能够很容易地观察到累计和变化的过程。 select e.ename,e.sal,(select sum(d.sal) from emp dwher
阅读全文
posted @ 2017-09-14 21:53
屠魔的少年
摘要:问题:计算一个表的行数,或计算某个列中值的个数。例如,找到职员总数以及每个部门的职员数。解决方案:如果以整个表作为一个组或一个窗口计算行数,则只需使用COUNT函数及”*“字符:select count(*) from emp; 如果要创建多个数据组或窗口,则使用COUNT函数的同时,还要使用GRO
阅读全文
posted @ 2017-09-14 21:53
屠魔的少年
摘要:问题:计算某个列中所有值的和,例如,计算所有职员的工资总额。解决方案:如果将整个表作为一个组或一个窗口求和,则只需对相应列使用SUM函数,而不要使用GROUP BY 子句:select sum(sal) from emp 如果创建了多个数据组或多个窗口,则使用SUM函数的同时,还要使用GROUP B
阅读全文
posted @ 2017-09-14 21:52
屠魔的少年
摘要:问题:计算给定列中的最大值和最小值。例如,计算所有职员的最高工资和最低工资,以及每个部门的最高工资和最低工资。 解决方案:要查所有职员的最低工资和最高工资,只需分别使用函数MIN和MAX:SELECT MAIN(SAL) AS MIN_SAL,MAX(SAL) AS MAX_SAL FROM EMP
阅读全文
posted @ 2017-09-14 21:52
屠魔的少年
摘要:问题:计算某个列的平均值,它可以包含表中的所有行,也可以只包含其中的某个子集。例如,计算所有职员的平均工资以及每个部门的平均工资。解决方法:当计算所有职员的平均工资时,只需要把AVG函数应用于工资列即可。select avg(sal) as avg_sal from emp group by dep
阅读全文
posted @ 2017-09-14 21:51
屠魔的少年
摘要:问题:将一个IP地址字段分解到列中,考虑下面列出的IP地址: 111.22.3.4 要得到如下所示的查询结果: + + + + +| a | b | c | d |+ + + + +| 111 | 22 | 3 | 4 |+ + + + + 解决方案: select substring_index(
阅读全文
posted @ 2017-09-14 21:49
屠魔的少年
摘要:问题:从字符串中提取出一个指定的、由分割符隔开的子字符串。create view v as select 'mo,larry,curly' as namefrom t1union allselect 'tina,gina,jaunita,regina,leena' as name from t1;s
阅读全文
posted @ 2017-09-14 21:45
屠魔的少年
摘要:问题:如果数值与字符混合在一起,需要删除那些字符,只返回数字。 create view v as select concat(substr(ename,1,2),replace(cast(deptno as char(4)),' ',''),substr(ename,3,2)) as mixedfr
阅读全文
posted @ 2017-09-14 21:42
屠魔的少年
摘要:问题:如下的结果集: + +| ename |+ +| ALLEN || WARD || MARTIN || BLAKE || CLARK || KING || TURNER || JAMES || MILLER |+ + 需要结果如下: + + +| ename | group_concat(c
阅读全文
posted @ 2017-09-14 21:42
屠魔的少年
摘要:要将如下的数据: + + +| deptno | ename |+ + +| 30 | ALLEN || 30 | WARD || 30 | MARTIN || 30 | BLAKE || 10 | CLARK || 10 | KING || 30 | TURNER || 30 | JAMES ||
阅读全文
posted @ 2017-09-14 21:41
屠魔的少年
摘要:问题已经有了分隔数据,想要将其转换为WHERE子句IN列表中的项目。考虑下面的字符串:7654,7698,7782,7788要将该字符串用在WHERE子句中,但是下面的SQL语句是错误的,因为EMPNO是一个数值列:select ename,sal,deptno from emp where emp
阅读全文
posted @ 2017-09-14 21:41
屠魔的少年
摘要:问题:select ename from emp ;+ +| ename |+ +| ALLEN || WARD || MARTIN || BLAKE || CLARK || KING || TURNER || JAMES || MILLER |+ +如上的记录中按照每个姓名的最后两个字符排序:se
阅读全文
posted @ 2017-09-14 21:37
屠魔的少年
摘要:问题:将全名转换为大写首字母缩写。考虑下面的名字: Stewie Griffin 要返回如下结果: S.G. 解决方案: select case when cnt=2 then trim(trailing '.' from concat_ws('.',substr(substring_index(n
阅读全文
posted @ 2017-09-14 21:36
屠魔的少年
摘要:mysqlbinlog限制 该软件利用binlog中记录了操作前的数据镜像和操作后的数据镜像。有如下限制 1)binlog_format=row 2)必须打开binlog 3)只支持insert、update、delete 4)不支持drop 、truncate、alter等ddl语句 特别说明:自
阅读全文
posted @ 2017-09-14 15:13
屠魔的少年
摘要:生成测试数据 create view v asselect ename as data from emp where deptno=10 union allselect concat(ename,', $',sal,'.00') as data from emp where deptno=20 un
阅读全文
posted @ 2017-09-14 07:16
屠魔的少年
摘要:需求:删除所有的0和元音字母。 select ename,replace(replace(replace(replace(replace(ename,'A',''),'E',''),'I',''),'O',''),'U','') as stripped1,sal,replace(sal,0,'')
阅读全文
posted @ 2017-09-14 07:15
屠魔的少年
摘要:遍历一个字符,并将其中的每个字符都作为一行返回,但是SQL没有循环操作。例如,要将表EMP中的ENAME值为“KING”的字符串显示为4行,每行都包含“KING”中的一个字符。 create table t10 (id int);insert into t10 values(1);insert in
阅读全文
posted @ 2017-09-14 07:13
屠魔的少年
摘要:select column_name,data_type,ordinal_position from information_schema.columns where table_schema='SCOTT' and table_name='EMP';
阅读全文
posted @ 2017-09-14 07:12
屠魔的少年
摘要:select table_name from information_schema.tables where table_schema='SCOTT';
阅读全文
posted @ 2017-09-14 07:11
屠魔的少年
摘要:从一个表中删除被另外一个表引用的记录。考虑下面的DEPT_ACCIDENTS表,其中每行代表生产过程中的一次事故,每行记录了发生的部门以及事故类型。create table dept_accidents(deptno integer,accident_name varchar(20));insert
阅读全文
posted @ 2017-09-14 07:10
屠魔的少年
摘要:问题:仅当另一个表中相应的行存在时,更新某表中的一些行。例如,如果表emp_bonus中存在某位员工,则要将该员工的工资增加20%(在表emp中)。解决方案:为了可以将符合条件的员工工资增加20%,可以在update语句的where子句中使用子查询,用以找出哪些员工同时存在于表emp和emp_bon
阅读全文
posted @ 2017-09-14 07:09
屠魔的少年
摘要:问题:要用一个表中的值来更新另外一个表中的行。例如,在表new_sal中保存着某个特定员工的新工资.在表new_sal中,deptno为关键字。要用表new_sal中的值更新表emp中相应员工的工资,条件是emp.deptno与new_sal.deptno相等,将匹配记录的emp.sal更新为new
阅读全文
posted @ 2017-09-14 07:09
屠魔的少年
摘要:从表中删除重复记录,考虑如下所示的表:create table dupes (id integer,name varchar(10));insert into dupes values (1,'NOPOLEON');insert into dupes values (2,'DYNAMITE');in
阅读全文
posted @ 2017-09-14 07:09
屠魔的少年
摘要:问题要修改表中某些(或全部)行的值。例如,可能想要将部门20中所有员工的工资增加10%,下面的结果集显示了该部门员工的deptno ename 和sal字段select deptno,ename,loc from emp where deptno = 20 order by 1,3 要将所有的sal
阅读全文
posted @ 2017-09-14 07:07
屠魔的少年
摘要:问题防止用户或是错误软件应用程序对某几列插入数据。例如,只允许某个程序向emp表中插入empno,ename,和job列解决方案:在表中创建一个视图,该视图只显示允许用户进行操作的列,强制所有的插入操作都通过该视图进行。例如,创建一个只显示表emp中特定3列的视图:create view new_e
阅读全文
posted @ 2017-09-14 07:06
屠魔的少年
摘要:问题:要将一个查询中返回的行插入到多个目标表中。例如,要将表dept中的一些行插入到表dept_east、dept_west、dept_mid中。这三个表与表dept有着相同的结构(相同的列和数据类型),并且这三个表都是空的。解决方案:此解决方案是要将查询的解雇插入到目标表中。现有的版本都不支持这种
阅读全文
posted @ 2017-09-14 07:04
屠魔的少年
摘要:问题:要使用查询从一个表中向另外的表中复制行。该查询可能非常复杂,也可能非常简单。但是最终是需要将该查询的结果插入到其他的表中。(同样的列名称以及数据类型)解决方案:所使用的方法就是在insert语句后面紧跟着一个用来产生所要插入的行的查询:create table dept_east(deptno
阅读全文
posted @ 2017-09-14 07:02
屠魔的少年
摘要:问题:在一个定义了默认值的列插入数据,并且需要不管该列的默认值是什么,都将该列值设为NULL。考虑一下下面的表:create table D (id interger default 0, foo varchar(10))希望插入一行, 其中id值为NULL解决方案:可以在值列表中明确地指定NULL
阅读全文
posted @ 2017-09-14 07:00
屠魔的少年
摘要:问题:定义表时可以为某些列定义默认值,现要以默认值插入一行,而无需指定各列的值。看一下下面列出的表:create table D (id interger default 0)要插入零值,而不像在insert语句的值列表中明确得为该行指定0值,这里明确的要求插入默认值,而不管默认值是什么。解决方案;
阅读全文
posted @ 2017-09-14 06:59
屠魔的少年
摘要:问题:向表中插入一条新的记录,例如,要向dept表中插入一条新的记录。其中,deptno值为50、dname的值为“PROGRAMMING” loc的值为“BALTMORE”解决方案使用带有values子句的insert语句来插入一行:insert into dept (deptno, dname,
阅读全文
posted @ 2017-09-14 06:59
屠魔的少年
摘要:问题:NULL值永远不会等于或不等于任何值,也包括NULL值自己,但是需要像计算真实值一样计算可为空列的返回值。例如,需要在表emp中查出所有比“WARD”提成(COMM)低的员工,提成为NULL(空)的员工也应当包括在其中。解决方案:使用coalesce函数将NULL值转换为一个可以用来作为标准值
阅读全文
posted @ 2017-09-14 00:06
屠魔的少年
摘要:问题:同时返回多个表中丢失的数据。要从表dept中返回emp不存在的行(所有没有员工的部门)需要做外联结。考虑下面的查询。它返回表dept中的deptno和name字段,以及每个部门中所有员工的姓名。(如果该某个部门有员工的话):select d.deptno, d.dname, e.ename f
阅读全文
posted @ 2017-09-14 00:06
屠魔的少年
摘要:修改emp_bonus表,使得在部门10中并不是每个员工都有奖金。select deptno , sum(sal) as total_sal, sum(bonus) as total_bonus from ( select e.empno, e.name, e.sal, e.deptno, e.sa
阅读全文
posted @ 2017-09-14 00:05
屠魔的少年
摘要:问题:要在包含多个表的查询中执行聚集运算,要确保表间连接不能使聚集运算发生错误.例如,要查找在部门10中所有员工的工资合计和奖金合计.由于有些员工的奖金激励不只一条,在表emp和表emp_bonus之间做连接会导致聚集函数sum算得的值错误.现在,考虑一下下面的返回的在部门10中所有员工的工资和奖金
阅读全文
posted @ 2017-09-14 00:04
屠魔的少年
摘要:问题:要返回在部门10中每个员工的姓名,以及部门的工作地点,下面的查询达到的是错误数据:select e.ename,d.loc from emp e ,dept dwhere e.deptno =10解决方案:在from子句对表进行连接来返回正确的结果集:select e.ename,d.loc
阅读全文
posted @ 2017-09-14 00:03
屠魔的少年
摘要:问题:要知道两个表或视图中是否有相同的数据(基数和值)。考虑这个视图:create view Vas select * from emp where deptno !=10 union all select * from emp where ename = 'WARD' 现要检测这个视图与表emp中
阅读全文
posted @ 2017-09-14 00:03
屠魔的少年
摘要:问题:已经有了一个查询可以返回所需要的值,还需要得到其他的信息,但当加入这些信息时,发现原始结果集中的数据有丢失。例如,要返回所有的员工信息,他们工作部门的地点及所获得的奖励。在这个问题中,表EMP_BONUS包含如下内容: select * from emp_bonus;+ + + +| empn
阅读全文
posted @ 2017-09-14 00:02
屠魔的少年
摘要:问题:对于具有相同关键字的两个表,要在一个表中查找与另外一个不匹配的行。例如,要查找没有职员的部门.要查找部门中每个员工的工作岗位需要在表需要在表deptno及emp中有一个等值联接。deptno列就是这两个表之间的公共值。但是,等值联接却不能直接显示出那个部门没有员工。这是因为在表emp和dept
阅读全文
posted @ 2017-09-14 00:02
屠魔的少年
摘要:问题:要根据某些条件逻辑来排序。例如,如果JOB是”SALESMAN”,要根据comm来排序。解决方案:在order by子句中使用case表达式select ename,sal,job,comm from emp order by case when job = 'SALESMAN' then c
阅读全文
posted @ 2017-09-14 00:01
屠魔的少年
摘要:问题:现有字母和数字混合的数据,希望按照数字或字符部分来排序。考虑这个视图: create view V as select concat(ename, ' ',deptno) from emp; mysql> select * from v;+ +| concat(ename, ' ',deptn
阅读全文
posted @ 2017-09-14 00:00
屠魔的少年
摘要:问题:在emp中根据comm排序结果。但是,这个字段可以有空值。需要指定是否将控制排在最后。解决方案:根据数据的显示方式,以及特定的rdbms排序空值的方式,可以按照升序或降序来对空值的列排序。select ename,sal,comm from emp order by 3 select enam
阅读全文
posted @ 2017-09-14 00:00
屠魔的少年
摘要:问题:显示部门10中的员工名字职位和工资,并按照工资的升序排列。解决方案:使用order by 子句:select ename ,job,sal from emp where deptno = 10 order by sal asc使用order by 子句可以对结果集进行排序。sal表示升序排列,
阅读全文
posted @ 2017-09-13 23:59
屠魔的少年
摘要:在order by 子句中使用substr函数select ename,job from emp order by substr(job,length(job)-2)
阅读全文
posted @ 2017-09-13 23:59
屠魔的少年
摘要:问题:在一些行中包含空值,需要使用非空值来替代这些控制。解决方案:使用coalesce函数用实际的值来替换空置,语句如下:select coalesce(comm,0) from emp讨论:coalesce 函数有一个或多个参数。该函数返回列表中的第一个非控制。在这个解决方案中,只要comm非控,
阅读全文
posted @ 2017-09-13 23:58
屠魔的少年
摘要:同时使用内置函数的rand函数、 limit 和order by: select * from emp order by rand() limit 2;
阅读全文
posted @ 2017-09-13 23:57
屠魔的少年
摘要:mysql> select empno,ename from emp order by empno;+ + +| empno | ename |+ + +| 7369 | SMITH || 7499 | ALLEN || 7521 | WARD || 7566 | JONES || 7654 | M
阅读全文
posted @ 2017-09-13 23:56
屠魔的少年
摘要:使用concat函数select concat(ename, ' work as A' ,job) as msqfrom emp where deptno = 10
阅读全文
posted @ 2017-09-13 23:55
屠魔的少年
摘要:问题:要在select语句中,对数值执行if-else操作。例如,要产生一个结果集,如果一个员工工资小于等于2000美金,就返回消息”underpaid”:如果大于等于4000美金:就返回消息”overpaid”,如果实在这两者之间,就返回”OK”。解决方案:select enmae,sal, ca
阅读全文
posted @ 2017-09-13 23:55
屠魔的少年
摘要:CREATE TABLE dept ( deptno INT PRIMARY KEY, dname VARCHAR(14), loc VARCHAR(13) ); INSERT INTO dept VALUES (10,'ACCOUNTING','NEW YORK'); INSERT INTO de
阅读全文
posted @ 2017-09-13 23:54
屠魔的少年
摘要:0-创建scott数据https://www.cnblogs.com/l10n/p/7518437.html 一、检索记录1.6 在WHERE子句中引用取别名的列https://www.cnblogs.com/l10n/p/12704575.html 1.7 连接列值https://www.cnbl
阅读全文
posted @ 2017-09-13 23:54
屠魔的少年
摘要:日期类型函数转换的特殊性 别的数据库,日期类型如果要必须得用函数转换,但是MySQL不需要,因为他会自动转换,只要书写是按照日期类型写的,不用日期函数转换。 desc select emp_no from salaries where emp_no =20247 and from_date='198
阅读全文
posted @ 2017-09-13 23:52
屠魔的少年
摘要:user() 表示当前的登录用户 current_user() 表示对应于mysql.user表里对应的账号。
阅读全文
posted @ 2017-09-13 23:48
屠魔的少年
摘要:now()与sysdate()两个函数都以'YYYY-MM-DD HH:MM:SS'的形式表示表示当前的时间。比如: root@rac1 21:13:10> select sysdate(); + + | sysdate() | + + | 2013-01-12 21:14:21 | + + 1 r
阅读全文
posted @ 2017-09-13 23:48
屠魔的少年
摘要:Last_Errno: 1396 Last_Error: Error 'Operation CREATE USER failed for 'usera63'@'%'' on query. Default database: 'ucenter'. Query: 'create user usera63
阅读全文
posted @ 2017-09-13 23:46
屠魔的少年
摘要:在5.7.16搭建多源复制时,出现如下错误: mysql> change master to master_host='192.168.56.156',master_user='repl',master_password='oracle',master_port=3306,MASTER_AUTO_P
阅读全文
posted @ 2017-09-13 23:46
屠魔的少年
摘要:(一):更新找不到记录 1032 Last_SQL_Errno: 1032 Last_SQL_Error: Could not execute Update_rows event on table lgj3306.t01; Can't find record in 't01', Error_code
阅读全文
posted @ 2017-09-13 23:45
屠魔的少年
摘要:主键冲突的错误 1062 模拟错误: 在主库上操作: create table test100(id int not null,name varchar(20),primary key(id)); insert into test100 (id,name) values(100,'lianggj')
阅读全文
posted @ 2017-09-13 23:44
屠魔的少年
摘要:主库上create table,从库上存在。 报错信息如下所示: Last_SQL_Errno: 1050 Last_SQL_Error: Error 'Table 'tb02' already exists' on query. Default database: 'lgj3306'. Query
阅读全文
posted @ 2017-09-13 23:43
屠魔的少年
摘要:高效的同步MySQL表之间的数据,他可以做单向和双向同步的表数据。他可以同步单个表,也可以同步整个库。它不同步表结构、索引、或任何其他模式对象。所以在修复一致性之前需要保证他们表存在。 使用范例: pt-table-sync --replicate=lgj.checksums h=127.0.0.1
阅读全文
posted @ 2017-09-13 23:38
屠魔的少年
摘要:1、pt-heartbeat的作用 pt-heartbeat measures replication lag on a MySQL or PostgreSQL server. You can use it to update a master or monitor a replica. If po
阅读全文
posted @ 2017-09-13 23:37
屠魔的少年
摘要:使用方法: pt-table-checksum [OPTIONS] [DSN] pt-table-checksum:在主<M>上通过执行校验的查询对复制的一致性进行检查,对比主从的校验值,从而产生结果。DSN指向的是主的地址,该工具的退出状态不为零,如果发现有任何差别,或者如果出现任何警告或错误,更
阅读全文
posted @ 2017-09-13 23:37
屠魔的少年
摘要:复制账号重复问题 set sql_log_bin=0; create user 'repl'@'%' identified by 'oracle'; grant all priviliges on *.* to 'repl'@'%'; set sql_log_bin=1;
阅读全文
posted @ 2017-09-13 23:35
屠魔的少年
摘要:忽略mysql库的同步,请使用: stop slave sql_thread; change replication filter replicate_ignore_db=(mysql);
阅读全文
posted @ 2017-09-13 23:35
屠魔的少年
摘要:关于复制错误跳过建议: 不建议跳过,会造成以后数据可能越来越不一致。 假设数据库经常发生不一致,然后经常使用跳过的方法修复的话,说明主从数据可能不一致了,必须赶紧校验主从数据,最好的方法是补数据。 单个复制 binlog+position stop slave sql_thread; set glo
阅读全文
posted @ 2017-09-13 23:34
屠魔的少年
摘要:多源复制开关复制命令: start slave io_thread|sql_thread for channel 'master-1563306'; stop slave io_thread|sql_thread for channel 'master-1563307'; 多源复制监控 show s
阅读全文
posted @ 2017-09-13 23:33
屠魔的少年
摘要:查看master复制状态: show mster status\G; 查看slave复制状态: show slave status\G; 开始复制: start slave; 停止复制: stop slave; 针对复制线程开启、关闭: start slave io_thread; start sl
阅读全文
posted @ 2017-09-13 23:33
屠魔的少年
摘要:xtrabackup支持的engine 1.InnoDB/XtraDB Hot backup 2.MyISAM with read-lock 3.Archive,CSV with read-lock
阅读全文
posted @ 2017-09-13 23:07
屠魔的少年
摘要:语法格式如下: SELECT [列名] FROM table [WHERE 语句] INTO OUTFILE '目标文件' [OPTION]; FIELDS TERMINATED BY '字符串':设置字符串为字段之间的分隔符,可以为单个或多个字符。默认值是“\t”。 FIELDS ENCLOSED
阅读全文
posted @ 2017-09-13 23:06
屠魔的少年
摘要:下载地址: https://www.percona.com/ 源码安装: yum install -y perl-DBI perl-DBD-MySQL perl-Time-HiRes perl-IO-Socket-SSL perl-Digest-MD5 tar -xzvf percona-xtrab
阅读全文
posted @ 2017-09-13 23:06
屠魔的少年
摘要:mysqlimport的大多数选项直接对应LOAD DATA INFILE子句。 选项: -u,--user 指定连接用户名。 -p,--password[name] 指定连接用户的密码。 -h,host=name 指定连接的主机地址。 -P,--port=# 指定连接的目标服务器的端口号,默认是3
阅读全文
posted @ 2017-09-13 23:05
屠魔的少年
摘要:我们可以通过打开general log,查看mysqldump全库备份时执行的命令来了解mysqldump背后的原理。 打开general log mysql> set global general_log=on; 其中,general log的存放路径可通过以下命令查看 mysql> show v
阅读全文
posted @ 2017-09-13 23:04
屠魔的少年
摘要:LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name' [REPLACE | IGNORE] INTO TABLE tbl_name [PARTITION (partition_name,...)] [CHARACTER SE
阅读全文
posted @ 2017-09-13 22:59
屠魔的少年
摘要:cmake软件 tar -zxvf cmake-2.8.8.tar.gz cd cmake-2.8.8 ./bootstrap make && make install 依赖包 yum install ncurses-devel -y yum install pcre pcre-devel -y y
阅读全文
posted @ 2017-09-13 22:58
屠魔的少年
摘要:安装必备的软件 yum install ncurses-devel -y yum install pcre pcre-devel -y yum install gcc* -y 解压缩 tar -zxvf mysql-5.1.72.tar.gz 创建目录 mkdir /application/mysq
阅读全文
posted @ 2017-09-13 22:57
屠魔的少年
浙公网安备 33010602011771号