记录关于Devops运维,虚拟化容器云计算,数据库,网络安全等各方面问题。
oracle时间函数to_date to_char 做模糊查询时,我们经常使用的时间函数: select * from student where birth > to_date( '2011-3-4' , 'yyyy-mm-dd hh24:mi:ss')//根据前面的年月日判断select * from student where birth > to_date( '2011-4-15 22:19:45' , 'yyyy-mm-dd hh24:mi:ss') //根据准确的时间去判断select t.vehicle_id from gps_vehicle t where t.install_date < to_date(20140801, 'yyyy-mm-dd hh24:mi:ss') and t.install_date > to_date(20131231, 'yyyy-mm-dd hh24:mi:ss') 对于初学者来说,日期处理那快一向是问题的集中地.今天刚刚看了个案例,将的就是ORACLE日期处理中的错误,其关键原因,就是TO_CHAR 和TO_DATE的用法不清晰,,事实上,这两个东西也特别容易混淆,为此,把他们的区别再介绍下.to char 是把日期或数字转换为字符串 to date 是把字符串转换为数据库中得日期类型 转换函数 TO_CHAR 使用TO_CHAR函数处理数字 TO_CHAR(number, '格式') TO_CHAR(salary,’$99,999.99’); 使用TO_CHAR函数处理日期 TO_CHAR(date,’格式’); TO_NUMBER 使用TO_NUMBER函数...
先获取大量表的名称GPS_HT_%,要导入的数据内容格式一样。再用过程导入数据,'insert into '||c.tname||' select * from gps_ht_0';create or replace procedure p_insert_gps_ht(a in number,b in number) is t_sql varchar2(2000);begin for c in (select tname from (select rownum sq, tname from tab where tname like 'GPS_HT_%' order by tname) where sq >= a and sq <= b) loop t_sql:='in...
RHEL7中防火墙firewalld的配置 在RHEL7里有几种防火墙共存:firewalld、iptables、ebtables,默认使用firewalld来管理netfilter子系统,不过底层调用的命令仍然是iptables等。因为这几个daemon是冲突的建议禁用其他的几种服务: systemctl mask iptables(ip6tables,ebtables) 在firewalld中使用了区域(zone)的概念,默认已经定义了几个zone: zone的解释: 数据包要进入到内核必须要通过这些zone中的一个,而不同的zone里定义的规则不一样(即信任度不一样,过滤的强度也不一样)。可以根据网卡所连接的网络的安全性来判断,这张网卡的流量到底使用哪个zone,比如上图来自eth0的流量全部使用zone1的过滤规则,eth1的流量使用zone3。一张网卡同时只能绑定到一个zone。大家就可以把这些zone想象成进入火车站(地铁)的安检,不同的入口检测的严格度不一样。 默认的几个zone(由firewalld 提供的区域按照从不信任到信任的顺序排序):drop 任何流入网络的包都被丢弃,不作出任何响应,只允许流...
UNDO表空间不足解决方法 确认UNDO表空间名称select name from v$tablespace; 检查数据库UNDO表空间占用空间情况以及数据文件存放位置;select file_name,bytes/1024/1024 from dba_data_files where tablespace_name like 'UNDOTBS1'; UNDO表空间不够用,有两种处理方法,1,扩大表空间大小;2,创建新的UNDO表空间,删除原来的 一、扩大UNDO表空间alter database UNDOTBS1 datafile '/opt/oracle/oradata/inms/undotbs02.dbf' resize 4000M; 二、创建新的UNDO表空间,删除原来的1、创建新的UNDO表空间,并设置自动扩展参数;create undo tablespace undotbs2 datafile '/oradata/oradata/ddptest/UNDOTBS1.dbf' size 2 1000m reuse autoextend on next 800m maxsize unlimited; 2、动态更改spfile配置文件;alter system set undo_tablespace=undotbs2 scope=both; 3、删除原有的UNDO表空间;drop tablespace undotbs1 including contents; 4、确认删除是否成功;select name from v$tablespace; 5、确定$ORACLE_HOME/dbs/spfileoinms.ora内容是否发生变更:&...
select file_name,bytes/1024/1024 from dba_data_files where autoextensible='YES'; 一般自动扩展最容易变得很大的就是untotbs /oradata/rmdb/undotbs01.dbf 32G 处理过程: (1) 生成autoextend off语句 select 'alter database datafile '''||file_name||''' AUTOEXTEND OFF;' from dba_data_files where autoextensible='YES'; (2) 新建一个undotbs create undo tablespace undotbs1 datafile '/opt/oracle/oradata/ora11g/undotbs01.dbf' size 500m; (3) 切换undotbs,并记录到spfile alter system set undo_tablespace=UNDOTBS2 scope=both; (4) 过几天再把undotbs1干掉 drop tablespace undotbs1 including contents and datafiles cascad...
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使用例子在编写触发器表达式中...
最新评论