Archive for category 数据库应用
SQLServer的聚合索引问题
有台SqlServer2000的主机,主要是用来纪录日志的。系统配置属于双核+2G,不算很高,目前数据文件大约在2G左右。高峰时每分钟100次写入左右。
这些天,系统在部分时间(不一定是高峰期),会出现大量的堵塞。堵塞每次持续时间最多5分钟,之后要么自己恢复,要么系统IO吃光。已经排除了病毒或者网络的问题。
Read the rest of this entry »
将Apache日志实时写入mysql
貌似 站长Litrin已经很久没有关注过LAMP的东西了。
作为网站运行来说,日志分析是一个很重要的工作。当一个网站的日志到了一定程度,或者一个网站同时有多台服务器的时候,传统的文本日志分析总会遇到瓶颈。
这个时候我就会想起强大的sql语句。看了网上很多人的帖子,都是将日志转成sql语句再导入的,搞得有点复杂。本方案不需要任何多余的软件和操作,一切全是实时、自动,供各位参考。
Ubuntu下安装oracle11G up2
oracle的11G总算到了up2,这次的升级个人感觉最大的改善就是将clustter包成了标准包的一部分,看起来今后oracle数据库要越发的使用更多的机器了。目前官方只提供了Solaris和Linux的安装包,Win以及其他操作系统看起来还是要等。
oracle官方建议的linux仅限于Redhat, Suse, Asianux以及oracle自家的linux。但作为测试的一部分,我选择了ubuntu的新版本910 AMD64 server作为平台。不过理论上使用ubuntu Desktop或者Xubuntu更省力一点。系统内存为8G,根据建议(如下),设置了8G的swap。
| Between 0 MB and 256 MB | 3 times the size of RAM |
| Between 256 MB and 512 MB | 2 times the size of RAM |
| Between 512 MB and 2 GB | 1.5 times the size of RAM |
| Between 2 GB and 16 GB | Equal to the size of RAM |
| More than 16 GB | 16 GB |
配置Ubuntu的php支持OCI8
PHP的OCI模块支持Oracle总是比较让人头痛。这趟弄个ubuntu的安装文档。
通过ubuntu-server安装盘安装LAMP。当然,正常情况下,建议安装好openssh服务器,免得麻烦。
虽然ubuntu的server支持root直接登录,既然是ubutu,还是遵循它的sudo吧。
安装结束后,启动server。
首先,经典的更新
#sudo apt-get update; sudo apt-get upgrade
FreeBSD+apache+PHP+OCI支持Oracle
由于FreeBSD的Port中自带了oracle-client可用,但仅支持i386的平台,故此文仅针对于i386,AMD64无法实现oci的连接库。
首先,确定你已经安装好apache + php,没有安装的可以参考这里或者文学化的这里
安装php5-oci8
cd /usr/ports/database/php5-oci8
make install clean
安装到这里,Php的OCI8库已经安装成功,但需要对oracle-client进行设置,否则无法使用。
将tnsnames.ora拷贝到/usr/local/oracle8-client/network/admin/ 目录下
内容大致如下: Read the rest of this entry »
搭建oracle双机热备系统
-
系统环境:
-
安装相同版本的Oracle软件,企业版而非标准版。
-
SUN V245 x 2; Solaris Sparc 10 up 5; Oracle 10G up 2 。
-
建议在之前建立两台机器间Oralce用户的ssh互信认证机制。
-
Oralce官方建议使用交换机连接两台主机,原因是“网卡直连容易因为网卡故障出现问题”。个人认为一根超5类或者干脆6类线直连两台主机的可以避免交换机的使用,省钱的同时也会提升传输速度。由于原本服务器还有空闲的网口,这里采用了双机直连的方式做心跳。
-
Mysql的几个设置值
mysql数据库的优化——老声长谈的话题,总是有那么多的话题好谈。闲来无事,谈谈几个关键优化参数的设置问题。注意的是,本文主要针对于MyISAM引擎,其他的,日后再吧。
在此之前,如果对mysql的命令和配置不很熟的情况下,phpmysql是必要的。
首先,到状态选项栏,拉一个系统状态表下来,或者执行mysqladmin variables extended-status –u root –p ,同时计算下系统的uptime.
配置文件一般保存在/etc/my.cnf中,直接修改其中的内容即可。
此外,我的设置中还有如下内容:
skip-networking #不使用网络连接
skip-innodb #不使用innodb引擎
thread_concurrency = 4 #这个数值等于cpu核心数x2
Solaris下安装Oracle 10 up 2
环境配置:SUN V245server,安装有最新版本的Solaris10update4 for SPARC,从www.oracle.com下载了最新版本的Oracle 10G update 2 — Linux 和windows已经可以下载到
首先,在/etc/system的末尾添加,否则,在安装的过程中将会提示“out of memory”之类的错误:
set semsys:seminfo_semmni=100
set semsys:seminfo_semmns=1024
set semsys:seminfo_semmsl=256
set semsys:seminfo_semvmx=32767
set shmsys:shminfo_shmmax=4294967295
set shmsys:shminfo_shmmin=1
set shmsys:shminfo_shmmni=100
set shmsys:shminfo_shmseg=10
解压oracle:
gzcat 10gr2_db_sol.cpio.gz | cpio -icvd
添加dba组和属于dba组的oracle用户,并创建相关的权限的目录:/opt/oracle/ 10.2.0/Db_1, /oracdata
修改oracle用户目录下的.profile文件,添加如下内容:
umask 022
TEMP=/tmp;export TEMP
TMPDIR=/tmp;export TMPDIR
ORACLE_HOME=/opt/oracle/ 10.2.0/Db_1;export ORACLE_HOME
ORACLE_BASE=/opt/oracle;export ORACLE_BASE
PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/ucb:/etc:/usr/openwin/bin:/usr/ccs/bin
ORACLE_SID=HSDB;export ORACLE_SID #注HSDB是我设置的数据库SID,可以根据需要设定相对应的SID
启动X界面(我的机器没有显卡,只能用Xmanger)启动安装程序:
Su oralce
mysql的“降级”移植
开发了一个项目,在部署时遇到了一点问题。
开发环境原本是mysql5.1,可实际部署的时候才发现服务器端的环境是mysql4.0。可mysqldump出来的数据无法直接倒入4.0,直接拷贝出来的数据,mysql4.0根本无法识别。
研究了一下mysqldump的文档,找到了一个选项“–compatible=name” 问题迎刃而解。而且这个选项竟然支持在多个环境中的平移。 选项支持mysql323, mysql40, postgresql, oracle, mssql, db2, maxdb,格式的SQL语句。
Oracle的101个漏洞
Oracle这次补丁升级一共修复了惊人的101个漏洞,覆盖范围包括数据库、企业应用、开发工具和中间设备,属于Oracle季度升级的一部分。
同时Oracle还提供了其他信息,例如判定一个漏洞是否能被用于远程攻击,这个系统有利于系统管理员发现危急问题。
最严重的是“base score”漏洞,被判定为7.0级,它会影响Oracle Application Express,而主要产品数据库被修复22处,大多数危险等级在4.2左右。这个分级是依照通用弱点评价体系来判定的,思科也使用了这个标准。
虽然规模较大,不过这次修补还没有涉及到Oracle数据库9.2.0.6和10.1.0.5版,他们的补丁要到这个月末出台。运行于Linux之上的Oracle 10.2.0.1和Windows下的Oracle 10.2.0.2也要到十月底才能得到修补。


近期评论