到OpenSSL官方网站下载OpenSSL源代码包
以OpenSSL 1.0.0g版本为例
1、下载 openssl-1.0.0g.tar.gz
2、安装 ActivePerl, 这里使用最新ActivePerl 5.14.2.1402 版本因为初始化的时候, 需要用到 perl 解释器。
3、使用 VS2010 下的 Visual Studio 2010 Command Prompt 进入控制台模式 (这个模式会自动设置各种环境变量,根据编译32位、64位、Itanium自己选择)。
4、解压缩 openssl 源代码包,进入 openssl 的根目录, 如 E:\openssl-1.0.0g。
5、perl configure VC-WIN32
必须在 c:\openssl-1.0.0g 目录下执行该命令, 否则找不到 Configure 文件, 这时就必须指定完整的 Configure 文件路径。
64编译的话 Win64/x64 执行 perl Configure VC-WIN64A;Win64/IA64 执行 perl Configure VC-WIN64I。
6、ms\do_ms
在 c:\openssl-1.0.0g 目录下执行 ms\do_ms 命令
64位编译的话 Win64/x64 执行 ms\do_win64a ;Win64/IA64 执行 ms\do_win64i。
7、在正式编译之前
(1). 找到 c:\openssl-1.0.0g\ms\ntdll.mak 文件, 用记事本打开, 搜索 “/MD” 字符串, 替换成 “/MT”, 这将导致静态链接 C 运行, 避免了在目标机器上安装 VC 再发行包等等操作。
(2) 如果在VC6中编译,需要找到 c:\openssl-1.0.0g\e_os.h 文件, 用记事本打开, 找到
# if !defined(OPENSSL_USE_IPV6)
# if defined(AF_INET6) && !defined(OPENSSL_SYS_BEOS_BONE) && !defined(NETWARE_CLIB)
# define OPENSSL_USE_IPV6 1
# else
# define OPENSSL_USE_IPV6 0
# endif
# endif
替换成
#if !defined(_MSC_VER) || (defined(_MSC_VER) && _MSC_VER > 1200 )
# if !defined(OPENSSL_USE_IPV6)
# if defined(AF_INET6) && !defined(OPENSSL_SYS_BEOS_BONE) && !defined(NETWARE_CLIB)
# define OPENSSL_USE_IPV6 1
# else
# define OPENSSL_USE_IPV6 0
# endif
# endif
#else
# if !defined(OPENSSL_USE_IPV6)
# define OPENSSL_USE_IPV6 0
# endif
#endif
这一步的目的是,在 VC6 下编译时, 避免使用 IPv6 特性, 因为 VC6 不支持。这里我们忽略这步。
(3)找到 c:\openssl-1.0.0g\ms\ntdll.mak 文件, 用记事本打开可以根据需要修改默认安装路径(静态链接库编译版本打开nt.mak),默认路径如下:
INSTALLTOP=\usr\local\ssl
OPENSSLDIR=\usr\local\ssl
7、编译动态链接库版本: nmake -f ms\ntdll.mak
完成编译后,输出的动态链接库版本文件在 out32dll 里面,包括应用程序的可执行文件, lib 文件和 dll 文件。
8、测试动态链接库版本: nmake -f ms\ntdll.mak test
9、安装动态链接库版本: nmake -f ms\ntdll.mak install
10、编译静态链接库版本: nmake -f ms\nt.mak
完成编译后,输出的静态链接库版本文件在 out32 里面, 包括应用程序的可执行文件和 lib 文件。
11、测试静态链接库版本: nmake -f ms\nt.mak test
12、安装动态链接库版本: nmake -f ms\nt.mak install
不知道为什么更新Firefox后变成英文界面,找了一下可以通过以下方法解决:
通过下面地址
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/你使用的版本/linux-i686/xpi/
找 zh-CN.xpi 下载可以,用火狐浏览文件 会提示你安装,然后安装一下就行了
也可以在http://ftp.mozilla.org/pub/mozilla.org/firefox/路径下开始找
按提示重启 Firefox 就行了!
Oracle Instant Client的安装和使用
根据自己需求到Oracle网站(http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html)下载相应的Instant Client版本软件包,各软件包的描述如下:
|
Instant
Client Package
|
Description
|
Notes
|
|
Basic
|
All files required to run OCI, OCCI, and
JDBC-OCI applications
|
OCI
OCCI
JDBC
|
|
Basic Lite
|
Smaller version of the Basic, with only
English error messages and Unicode, ASCII, and Western European character set
support (10.2 only)
|
OCI
OCCI
JDBC
|
|
JDBC Supplement*
|
Additional(附加的) support for XA, Internationalization, and RowSet operations
under JDBC
|
JDBC
|
|
SQL*Plus*
|
Additional libraries and executable(可执行的) for running SQL*Plus with
Instant Client
|
SQL*Plus
10.2
SQL*Plus
11.2
|
|
ODBC Supplement*
|
Additional(附加的) libraries for enabling ODBC applications with Instant Client
(Not all platforms)
|
ODBC
|
|
SDK*
|
Additional header files and an example
makefile for developing Oracle applications with Instant Client
|
|
|
ODAC*
|
Includes ODP.NET, Oracle Services for
MTS, Oracle Providers for ASP.NET, Oracle Provider for OLE DB, and OO4O with
Oracle Instant Client
|
|
标*的为可选软件包。
1、以11.2.0.2.0版本为例,下载Basic软件包(要支持中文只能下载Basic软件包)
2、解压缩必须包到C:\Oracle\instantclient_11_2
3、设置环境变量:
NLS_lANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
TNS_ADMIN=C:\Oracle\instantclient_11_2
Path=C:\Oracle\instantclient_11_2;%Path%
为避免访问数据库时出现中文乱码,NLS_lANG的设置很重要;TNS_ADMIN如不设置,tnsnames.ora默认寻址为Instant Client目录下的network\ADMIN目录;%Path%为原有Path变量。
4、参照下面内容编写tnsnames.ora,并保存到安装目录:C:\Oracle\instantclient_11_2
# TNSNAMES.ORA Network Configuration File:
C:\oracle\ora90\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
#sample
#DATABASENAME =
#
(DESCRIPTION =
#
(ADDRESS_LIST =
#
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
#
)
#
(CONNECT_DATA =
#
(SERVICE_NAME = servicename)
#
)
# )
如果有要连接多个Oracle实例,请继续往该文件中加入其它实例的配置。
5、测试:
C:\Oracle\instantclient_11_2>sqlplus
/nolog
SQL*Plus: Release 11.2.0.2.0
Production on Fri Sep 9 09:42:06 2011
Copyright (c) 1982, 2010, Oracle. All rights reserved.
SQL> conn username/password @ <连接字符串>
至此,安装已经完成。PLSQL
Developer等工具,以及应用软件都可以正常使用了。
附录:Linux下环境变量设置
如解压到了/usr/local/oracle目录,配置好TNS_ADMIN、LD_LIBRARY_PATH等,复制到.bashrc文件部分内容如下:
export ORACLE_HOME=/usr/local/oracle
export TNS_ADMIN=$ORACLE_HOME/NETWORK/ADMIN
export LD_LIBRARY_PATH=$ORACLE_HOME
export SQLPATH=$ORACLE_HOME
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
PATH=$PATH:$ORACLE_HOME
export PATH
第一种方法(较简单,看的比较吃力):
EXEC Sp_msforeachtable "EXEC Sp_spaceused '?'"
第二种方法(较复杂,但看的比较清楚,原作者不详):
IF NOT EXISTS (SELECT *
FROM dbo.sysobjects
WHERE id = Object_id(N'[dbo].[tablespaceinfo]')
AND Objectproperty(id, N'IsUserTable') = 1)
CREATE TABLE tablespaceinfo --创建结果存储表
(
nameinfo VARCHAR(50),
rowsinfo INT,
reserved VARCHAR(20),
datainfo VARCHAR(20),
index_size VARCHAR(20),
unused VARCHAR(20)
)
DELETE FROM tablespaceinfo --清空数据表
DECLARE @tablename VARCHAR(255) --表名称
DECLARE @cmdsql VARCHAR(500)
DECLARE Info_cursor CURSOR FOR
SELECT o.name
FROM dbo.sysobjects o
WHERE Objectproperty(o.id, N'IsTable') = 1
AND o.name NOT LIKE N'#%%'
ORDER BY o.name
OPEN Info_cursor
FETCH NEXT FROM Info_cursor INTO @tablename
WHILE @@FETCH_STATUS = 0
BEGIN
IF EXISTS (SELECT *
FROM dbo.sysobjects
WHERE id = Object_id(@tablename)
AND Objectproperty(id, N'IsUserTable') = 1)
EXECUTE Sp_executesql
N'insert into tablespaceinfo exec sp_spaceused @tbname',
N'@tbname varchar(255)',
@tbname = @tablename
FETCH NEXT FROM Info_cursor INTO @tablename
END
CLOSE Info_cursor
DEALLOCATE Info_cursor
GO
--itlearner注:显示数据库信息
Sp_spaceused @updateusage = 'TRUE'
--itlearner注:显示表信息
SELECT *
FROM tablespaceinfo
ORDER BY Cast(LEFT(Ltrim(Rtrim(reserved)), Len(Ltrim(Rtrim(reserved))) - 2) AS INT) DESC
第三种方法:
SELECT Object_name(id) tablename,
8 * reserved / 1024 reserved_,
Rtrim(8 * dpages / 1024) + 'Mb' used,
8 * ( reserved - dpages ) / 1024 unused,
8 * dpages / 1024 - rows / 1024 * minlen / 1024 free,
rows,
*
FROM sysindexes
WHERE indid = 1
ORDER BY reserved_ DESC
参考:http://msdn.microsoft.com/zh-cn/library/ms188776.aspx
摘要: 查询索引的碎裂状态T-SQL语法(适用于SQL Server 2005以上):SELECT OBJECT_NAME(dt.object_id) , si.name , dt.avg_fragmentation_in_percent, dt.avg_page_space_used_in_percentFROM (SELECT object_id , index_id , avg_fragmentation_in_percent, avg_page_space_used_in_percent FROM sys.dm_db_index_physical_stats (DB_ID(), NULL, N
阅读全文
摘要: 解决方法:在服务器上单击开始,运行,键入tlntadmn,单击OK. 键入5停止服务; 键入3; 键入7; 键入y并修改此值为0,禁用NTLM,使用明文密码; 连续键入0返回到顶级菜单; 键入4重新启动服务; 退出Telnet服务器管理程序。 在客户端登录。
阅读全文
摘要: 1.最小化安装FreeBSD 7.12.设置IP地址、网关、DNS等信息方法一(临时性):# ifconfig le0 192.168.0.173 /网卡le0可以通过ifconfig -a得到,不同机器名字不一定相同# route add default 192.168.0.254# ee /etc/resolv.conf 添加1行 nameserver 192.168.0.254 /也可使用OpenDNS提供的DNS地址:208.67.222.222、 208.67.220.220方法二(永久性):# ee /etc/rc.conf 添加2行 ifconfig_le0="inet
阅读全文
摘要: 1./etc/ntp.conf 文件是Linux NTP的主要配置文件,你可以设置NTP服务器的ip地址。2.有些时候除非取消notrust、nomodify、notrap配置,client段的ntp服务才能有效工作。我的ntp.conf内容: Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 driftfile /var/lib/ntp/ntp.drift statistics loopstats peerstats clockstats filegen loopstats file loopstats type
阅读全文
摘要: 打开终端,终端窗口打开之后,立即在提示符后面输入下列命令:gconftool --recursive-unset /apps/panel(注意:每个斜杠 “/” 后面没有空格)接下来输入下列命令:rm -rf ~/.gconf/apps/panel最后还需要执行:pkill gnome-panel接下来,Ubuntu 默认的上下两栏面板就会恢复默认值,出现顶部+底部各一面板的默认布局
阅读全文