Archive for category 数据库应用

SQLServer的聚合索引问题

 有台SqlServer2000的主机,主要是用来纪录日志的。系统配置属于双核+2G,不算很高,目前数据文件大约在2G左右。高峰时每分钟100次写入左右。

这些天,系统在部分时间(不一定是高峰期),会出现大量的堵塞。堵塞每次持续时间最多5分钟,之后要么自己恢复,要么系统IO吃光。已经排除了病毒或者网络的问题。
Read the rest of this entry »

, ,

2 Comments

将Apache日志实时写入mysql

貌似 站长Litrin已经很久没有关注过LAMP的东西了。

作为网站运行来说,日志分析是一个很重要的工作。当一个网站的日志到了一定程度,或者一个网站同时有多台服务器的时候,传统的文本日志分析总会遇到瓶颈。

这个时候我就会想起强大的sql语句。看了网上很多人的帖子,都是将日志转成sql语句再导入的,搞得有点复杂。本方案不需要任何多余的软件和操作,一切全是实时、自动,供各位参考。

Read the rest of this entry »

, ,

No Comments

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。

之前还有一篇solaris下10up2的安装可以参考

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

Read the rest of this entry »

, ,

No Comments

配置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

Read the rest of this entry »

, , , ,

No Comments

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 »

, ,

1 Comment

搭建oracle双机热备系统

  1. 系统环境:

    1. 安装相同版本的Oracle软件,企业版而非标准版。

    2. SUN V245 x 2; Solaris Sparc 10 up 5; Oracle 10G up 2

    3. 建议在之前建立两台机器间Oralce用户的ssh互信认证机制。

    4. Oralce官方建议使用交换机连接两台主机,原因是“网卡直连容易因为网卡故障出现问题”。个人认为一根超5类或者干脆6类线直连两台主机的可以避免交换机的使用,省钱的同时也会提升传输速度。由于原本服务器还有空闲的网口,这里采用了双机直连的方式做心跳。

  2. Read the rest of this entry »

,

No Comments

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

Read the rest of this entry »

No Comments

Solaris下安装Oracle 10 up 2

环境配置:SUN V245server,安装有最新版本的Solaris10update4 for SPARC,从www.oracle.com下载了最新版本的Oracle 10G update 2 — Linux windows已经可以下载到

11G,可不知道为什么作为“oralce的最佳平台”的solaris只有10up2

 

首先,在/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

,

1 Comment

mysql的“降级”移植

开发了一个项目,在部署时遇到了一点问题。

开发环境原本是mysql5.1,可实际部署的时候才发现服务器端的环境是mysql4.0。可mysqldump出来的数据无法直接倒入4.0,直接拷贝出来的数据,mysql4.0根本无法识别。

研究了一下mysqldump的文档,找到了一个选项“–compatible=name” 问题迎刃而解。而且这个选项竟然支持在多个环境中的平移。 选项支持mysql323, mysql40, postgresql, oracle, mssql, db2, maxdb,格式的SQL语句。

No Comments

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也要到十月底才能得到修补。

详细漏洞列表在这里

No Comments