月度归档:2013年09月

Facebook 是如何管理代码的

facebook-logo

我对facebook的运转着迷。这是一个很独特的环境,不容易被复制(他们的体系并不适合所有的公司,即使他们努力尝试过)。下面是我和facebook的朋友们关于他们如何开发和管理项目的记录。

现在距离我收集的这些信息又过去6个月了,我相信facebook肯定又对他们的项目开发实践进行了改进。所以这些记录可能会有点过时。同时facebook的工程师驱动文化也越来越为大众所知。非常感谢那些帮助我整理这篇文章的facebook的朋友们。
继续阅读

CentOS PHP 5.2.x 链接Oracle数据库

1、下载Oracle即时客户端程序包 — Basic: 运行 OCI、OCCI 和 JDBC-OCI 应用程序所需的所有文件

①、打开以下网址(本文以32位版为例):
http://www.oracle.com/technetwork/topics/linuxsoft-082809.html

②、下载以下几个文件:
oracle-instantclient11.2-basic-11.2.0.2.0.i386.rpm
oracle-instantclient11.2-devel-11.2.0.2.0.i386.rpm
oracle-instantclient11.2-sqlplus-11.2.0.2.0.i386.rpm

2、安装Oracle即时客户端程序包

rpm -ivh oracle-instantclient11.2-basic-11.2.0.2.0.i386.rpm oracle-instantclient11.2-devel-11.2.0.2.0.i386.rpm oracle-instantclient11.2-sqlplus-11.2.0.2.0.i386.rpm
echo "/usr/lib/oracle/11.1/client/lib/" > /etc/ld.so.conf.d/oracle_client.conf
/sbin/ldconfig

3、安装OCI8 PHP扩展(使用PHP自带的OCI8,假设PHP程序安装在/usr/local/webserver/php/)

yum install libaio
wget http://pecl.php.net/get/oci8-1.4.4.tgz
cd oci8-1.4.4/
/usr/local/webserver/php/bin/phpize CFLAGS="-I/usr/include/oracle/11.2/client/" CXXFLAGS="-I/usr/include/oracle/11.2/client/"
./configure --with-php-config=/usr/local/webserver/php/bin/php-config --with-oci8=/usr/lib/oracle/11.2/client/
make
make install

make oci8出错的话,用这个编译试试

./configure --with-php-config=/usr/local/webserver/php/bin/php-config --with-oci8=instantclient,/usr/lib/oracle/11.2/client/lib/

4、修改PHP配置文件(/usr/local/webserver/php/etc/php.ini)
在extension_dir = “/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20060613/”后增加一行:

extension = "oci8.so"

5、重启PHP

6、创建一个phpinfo.php文件(内容如下)并通过Web访问,如果有“oci8”这一项,则表明安装成功。

<?php
phpinfo();
?>

MsSQL 64位配置方法

新搭建一台R710,CPU XEON 5520再搭配16G内存,使用起来应该还蛮爽的说~~~以为装起来应该很顺利,但发现每次系统总是N多东西需要配置。

1、安装WINDOWS2003 64位 + SP
2、安装MsSQL 2005 64位 + SP
3、配置环境:
1)新建SqlServer用户;
2)使用SqlServer运行SqlServer以及SqlAgent服务;
3)至此,以为系统就已经配置成功了,但SqlAgent老是无法启动,提示错误如下:

SQLServerAgent could not be started (reason: SQLServerAgent 必须能够以 SysAdmin 身份连接到 SQLServer,但“(未知)”不是 SysAdmin 角色的成员)。
SQL Server 阻止了对组件 ‘Agent XPs’ 的 过程’dbo.sp_sqlagent_get_startup_info’ 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 ‘Agent XPs’。有关启用 ‘Agent XPs’ 的详细信息,请参阅 SQL Server 联机丛书中的 “外围应用配置器”。
原来漏掉了内存分配权限,如图:
mssql-x64

MsSQL 2005 数据库镜像的搭建与维护

数据库镜像大大提高了可用性,并为故障转移群集或日志传送提供了一种易于管理的替代方案或补充方案。同步数据库镜像会话时,数据库镜像提供了热备用服务器,可支持在已提交事务不丢失数据的情况下进行快速故障转移。在一般的镜像会话期间,如果生产服务器出现故障,客户端应用程序可以通过重新连接到备用服务器来快速进行恢复。

继续阅读

MsSQL备份文件还原后引起的孤立用户解决方法

很多用户使用的是远程的SQL服务器,数据库备份后都备份在远程服务器中,如果要将数据转存到本地SQL服务器的话,就会使用到强制还原。这样就会产生孤立用户,对于SQL SERVER2000中需要在数据库中执行以下查询,就可以删除。

exec sp_change_users_login 'update_one','没有登陆名的数据库用户', '新的登陆名'

但由于SQL SERVER 2005采用了架构,所以在删除用户是会出现一些错误,因此在这里把我在强制还原后的一些处理方法介绍给大家以作参照。
* 适用于远程服务器数据库备份后,下载到本地并在本地SQL服务器上还原引的狐立用户问题;
* 仅适用于SQLSERVER 2005 或以上版本;

MsSQL 收缩数据库日志

SQL2005

USE [master]
DUMP TRANSACTION [DB_Samples] WITH NO_LOG
BACKUP LOG [DB_Samples] WITH NO_LOG
DBCC SHRINKDATABASE([DB_Samples])

SQL2008

USE [master]
GO
ALTER DATABASE [DB_Samples] SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE [DB_Samples] SET RECOVERY SIMPLE
GO

USE [DB_Samples]
GO
DBCC SHRINKFILE (N 'DB_Samples_log' , 0, TRUNCATEONLY)
GO

USE [master]
GO
ALTER DATABASE [DB_Samples] SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE [DB_Samples] SET RECOVERY FULL
GO