搜索""的结果
Delete/Truncate删除,释放表空间、降低高水位线、resize释放磁盘空间相关优化汇总 阅读前注意:磁盘空间 表的数据库空间 表空间的数据库空间不同之处。 硬盘空间不足,打算删除数据库中的多余数据,但删除数据后,硬盘硬盘空间不能释放。【delete后用:alter table table_name move truncate后用:alter table table_name deallocate unused 均不可解决】解决方法:--delete/truncate删除,释放表空间、降低高水位线、resize释放磁盘空间相关优化汇总--查询DBF文件、数据库空间、高水位线占用情况select /*+ ordered use_hash(a,b,c) */ a.file_id, a.file_name, a.tablespace_name, a.filesize, b.freesize, (a.filesize - b.freesize) usedsize,--使用空间 c.hwmsize, c.hwmsize - (a.filesize - b.freesize) unsedsize_belowhwm,--未使用空间 a.filesize - c.hwmsize canshrinksize--文件大小 from (select tablespace_name,file_id, file_name, round(...
一客户机房新装的UPS不太稳定,好几次意外断电,第3次意外断电之后问题终于来了,数据库起不来了……数据库的硬件环境是一台IBM DS5020存储,2台IBM X3850 X5软件环境是Linux与Oracle 10g RAC数据库2个节点的asm都能正常启动,但数据库实例启动到mount状态后就停下没有反应了,等很久也不能前进到open状态。节点1上的alert日志有如下错误信息:ORA-1013 signalled during: ALTER DATABASE OPEN…………ORA-1089 signalled during: alter database open节点2上的alert日志有如下错误信息:Thu Dec 29 15:32:46 2011Errors in file /opt/oracle/admin/racdb/bdump/racdb2_p015_11496.trc:ORA-27090: Message 27090 not found; product=RDBMS; facility=ORALinux-x86_64 Error: 4: Interrupted system callAdditional information: 3Additional information: 128Additional information: 65536进一步查看/opt/oracle/admin/racdb/bdump/racdb2_p015_11496.trc,有如下信息:ORA-27090: Message 27090 not found; product=RDBMS; facility=ORALinux-x86_64 Error: 4: Interrupted system callAdditional information: 3Additional information: 128Additional information: 65536...
Oracle转移表和索引所在的表空间如果你将创建表和索引创建在USERS表空间下了,(注:在USERS表空间中是合理的),那么在以后的维护中将会出现很多麻烦。 如果是系统无法删除重建,所以必须考虑在不影响使用的情况下做该项工作。 1、表空间移动命令: alter table table_name move tablespacetablespace_name; 得到表空间移动语句: select ’alter table ’ || table_name || ’ move tablespacetablespace_name;’ fromuser_tables where tablespace_name = ’USERS’ 得到该连接用户下所有创建在USERS表空间下的表名。 2、执行所得到的语句,至此将表转移到新表空间中。3、重建索引 命令:alter index index_name rebuildtablespace tablespace_name; 得到重建索引语句 SELECT ’alter index ’||index_name||’ rebuild tablespacetablespace_name;’ FROMUSER_INDEXES T where t.table_owner=’’USER_NAME’’ andt.tablespace_name=’USERS’&n...
网站被ddos攻击,遂写了个脚本来抵抗一下,实现方式:1. 攻击特征,不同ip不断POST网站首页,造成资源消耗过度2. 分析nginx访问日志,判断POST特征取得客户端访问ip3. 将连接数大于50的攻击ip封杀4. 记录攻击ip到文档5. 每次取得的攻击ip与已有攻击ip比较查看源代码:#!/bin/bash WEBSITES=( example.com) minute_now=`date +%M`max_connections=50banips="/wwwdata/jobs/banips.txt" for site in ${WEBSITES[*]}do access_log_file="/wwwdata/logs/${site}.access.log" if [ -f "${access_log_file}" ] then cat ${access_log_file} | grep POST | awk '{print $1}' | sort |uniq -c| sort -nr > /wwwdata/jobs/ip_records.txt lines=`wc -l /wwwdata/jobs/ip_records.txt | awk '{print $1}'` echo "Lines: $lines" i=1 while [ ${i} -le ${lines} ] do ip_record=`head -${i} /wwwdata/jobs/ip_records.txt | tail -1 | sed 's/^[ \t]*//g'` ip_count=`echo ${ip_record} | awk '{print $1}'` ip_address=`echo ${ip_record} | awk '{print $2}'` echo "${ip_count} ${ip_addres...
zabbix单位符号Unit symbols(32) 概述在zabbix里面,我们不需要使用大数字来,例如我们可以不使用86400来表示一天,这个数字又不容易理解也容易出错。用什么办法来解决大数字问题呢?我们可以使用单位来简化,例如简化zabbix触发器表达式或者item key。所以,我们可以使用1d来渠道86400,‘d’就是单位后缀,表示天。时间单位后缀* s - 秒(一般来说来说不写s,就表示s了)* m - 分* h - 小时* d - 天* w - 周时间单位后缀支持如下使用场景:* 触发器表达式* zabbix internal item参数,如 zabbix[queue,<from>,<to>]* last parameter of aggregate checks单位符号Zabbix server和zabbix后台都支持使用这些单位显示,触发器表达式也可以使用这些单位。K - kiloM - megaG - gigaT - tera 如果item值的单位不是B、Bps,那么1000为基数,1000将会别显示成1k,2000显示为2k。如果单位是B或者Bps,那么基数就是1024了,item值为1024将会被展示成1k。所以在单位上面,大家一定要切记。例如流量别忘记单位改为B,访问量/次数不填写单位除了以上单位,zabbix还支持如下单位(单位很大,基本很少用到)P - petaE - exaZ - zettaY - yotta使用例子在编写触发器表达式中...
zabbix执行远程命令(41) 概述监控,有的人只把他当做报警使用,出现问题之后打开跑回家打开电脑,巴拉巴拉的处理掉,大多数时候都是一些小问题,为何不让zabbix帮你把这些事情处理掉呢?和朋友具体,收到xx硬盘空间慢了、xx服务器高负载等问题,你要回家处理?多扫兴瞧瞧zabbix远程执行命令可以做些什么吧:重启应用(Apache、nginx、MySQL等等)使用IPMI接口重启服务器自动释放磁盘空间(删除老文件,清除/tmp目录等等)CPU过载时讲一个虚拟机迁移到另外一台物理服务器云环境下,一台服务器CPU\硬盘\内存\其他硬件资源不足的情况下,可以自动添加过去创建一个报警,记得使用邮件报警吗?呵呵,实际上,我们把发送邮件的操作改成执行远程命令就行了备注:zabbix代理不支持远程命令远程命令最大长度为255字符,同时支持多个远程命令,如需要执行多条命令,只需要另起一行写命令即可,还有,远程命令可以使用宏变量。接下来我将一步一步告诉大家如何设置远程命令配置首先我们需要在zabbix客户配置文件开启对远程命令的支持,编辑zabbix_agentd.conf,修改EnableRemoteCommands = 11EnableRemoteCommands = 1重启客户端备注:Aive zabbix不支持远程命令然后配置action,Configura...
报警信息将会使用系统自带的sendmail发送,配置比较简单配置媒介EmailAdministration→Media types->Click on Create media typemedia_email 选项描述 Name 媒介名称,看着起名 Type 选择Email SMTP serverSMTP服务器 SMTP heloSMTP helo值, 通常情况下是顶级域名 SMTP email这个邮件地址会显示到收件人的From里可用邮箱地址:zabbix@company.com (只包含邮箱地址,不需要尖括号括起来)Zabbix HQ <zabbix@company.com> (显示名和邮箱地址,邮箱地址使用尖括号)∑Ω-monitoring <zabbix@company.com> (显示名称为UTF8格式)不可用的邮箱地址Zabbix HQ zabbix@company.com (需要尖括号)"Zabbix\@\<H(comment)Q\>" <zabbix@company.com>不支持转义使用媒介定义好了媒介之后,我们需要把这媒介指定给用户。Administration->Users->打开用户配置->media type里面添加刚增加的媒介email参数说明选项描述Type选择媒介名称,此处选EmailSend to 发邮件给谁,例如support@ttlsa.com,也可以使用显示名When active发送时间,只有在这个时间段内才会发邮件Use if severity发送邮件的触发器级别St...
老板抠门不给买SMS短信猫,投错胎导致没有美国/加拿大手机号码,根本搞不清楚jabber是个什么玩意儿,sendmail又不靠谱,那都不是事,想要轻轻松松报警,那么用上自定义脚本媒介。zabbix会将信息传递给脚本,接下来你在脚本里面随意处理,一共会传递三个参数,按顺序接受也就是$1,$2,$3了,为了方便记忆,一般分别给他们赋值到To\Subject\body.配置AlertScriptsPath在server的配置文件中配置,这是用来定义脚本目录,这样一来zabbix就能找到脚本了# cat /usr/local/zabbix-2.2.1/etc/zabbix_server.conf | grep AlertScriptsPath ### Option: AlertScriptsPath AlertScriptsPath=/usr/local/zabbix-2.2.1/alertscripts# mkdir /usr/local/zabbix-2.2.1/alertscripts1234# cat /usr/local/zabbix-2.2.1/etc/zabbix_server.conf | grep AlertScriptsPath ### Option: AlertScriptsPath AlertScriptsPath=/usr/local/zabbix-2.2.1/alertscripts# mkdir /usr/local/zabbix-2.2.1/alertscripts 创建发邮件脚本# cat /usr/local/zabbix-2.2.1/alertscripts/mail.sh#!/bin/shto=$1subject=$2body=$3/usr/local/bin/sendEmail -f support@ttlsa.com -t "$to"...
zabbix自定义用户key与参数User parameters 为什么要自定义KEY有时候我们想让被监控端执行一个zabbix没有预定义的检测,zabbix的用户自定义参数功能提供了这个方法。我们可以在客户端配置文件zabbix_angentd.conf里面配置UserParameter.语法如下:UserParameter=key,command1UserParameter=key,command用户自定义参数包含一个key和一个命令,key必须整个系统唯一,配置好之后,重启客户端。然后配置item,在key的位置填上我们自定义的key即可。用户自定义参数里指定的脚本由zabbix agent来执行,最大可以返回512KB的数据.用户自定义key实例简单点的命令示例:UserParameter=ping,echo 1如果调用ping这个key,将会收到返回值1.更复杂的命令示例:UserParameter=mysql.ping,mysqladmin -uroot ping|grep -c alive如果返回1表示MySQL运行中,如果返回0表示MySQL挂了灵活的自定义key:如下为灵活的用户自定义参数UserParameter=key[*],command1UserParameter=key[*],command 参数描述Key唯一. [*]表示里面可以传递多个参数Command需要执行的脚本,key的[]里面的参数一一对应$1到$9,一共9个参数。$0表示脚本命令.注意事项1. 如果需要使用命令行里面出现$2这种变量,那么你要使...
zabbix如何选择适合的监控类型 zabbix提供十几种监控类型,包括:Zabbix agent, Simple checks, SNMP, Zabbix internal, IPMI, JMX monitoring等等,那我们应该如何选择呢?凉白开在此给大家一一作一个说明zabbix监控类型zabbix agentzabbix自带的客户端程序(被动模式),zabbix server主动向它收集监控数据。agent提供丰富的key,包括不限于cpu、内存、网络、磁盘、web等等。如果你不介意或者系统支持安装此程序,那么他是首选的。需要注意的是,server检索数据有超时限制,最大超时时间30秒,如果检索数据经常超过30秒,那么,不建议你使用主动模式的agent,可以使用如下类型agent activezabbix agent(active)也需要安装agent(主动模式),和上一个相同。但是数据由zabbix agent主动提交至zabbix server参考文章:simple check基本的检测,可以检测网络、端口、fping这些,功能很少并且无需安装客户端。snmp checksnmp v1 check、snmp v2 check、snmp v3 check的功能都是一样的。推荐如下场景:客户基于安全考虑,不同意安装agent路由器、打印机等等设备无法安装,但是支持snmp协议不喜欢频繁对agent升级zabbix internalzabbix系统内部用,比如趋势数据记录数了、历史记...
最新评论