服务器的种类有哪些
摘要:服务器是指具有固定的地址,并为网络用户提供服务的节点,它能提高访问速度,也可以起到防火墙的作用。市面上的服务器可按照体系架构进行分类,也可按照应用层次进行分类。服务器的组成结构与普通电脑非常相似,主要包括中央处理器、内存、芯片组、I/O总线、I/O设备、电源、机箱等等部分,接下来就和小编一起来看看吧。服务器的种类有哪些
一、按照体系架构分类
1、非x86服务器
非x86服务器包括大型机、小型机和UNIX服务器,它们是使用RISC(精简指令集)或EPIC(并行指令代码)处理器,并且主要采用UNIX和其它专用操作系统的服务器。这种服务器价格昂贵,体系封闭,但是稳定性好,性能强,主要用在金融、电信等大型企业的核心系统中。
2、x86服务器
x86服务器又称CISC(复杂指令集)架构服务器,即通常所讲的PC服务器,它是基于PC机体系结构,使用Intel或其它兼容x86指令集的处理器芯片和Windows操作系统的服务器。价格便宜、兼容性好、稳定性较差、安全性不算太高,主要用在中小企业和非关键业务中。
二、按照应用层次分类
1、入门级服务器
这类服务器是最基础的一类服务器,也是最低档的服务器。入门级服务器主要采用Windows或者NetWare网络操作系统,可以充分满足办公室型的中小型网络用户的文件共享、数据处理、Internet接入及简单数据库应用的需求。随着PC技术的日益提高,许多入门级服务器与PC机的配置差不多,所以也有部分人认为入门级服务器与“PC服务器”等同。
2、工作组服务器
工作组服务器是一个比入门级高一个层次的服务器,但仍属于低档服务器之类。从这个名字也可以看出,它只能连接一个工作组(50台左右)那么多用户,网络规模较小,服务器的稳定性也不像下面我们要讲的企业级服务器那样高的应用环境,当然在其它性能方面的要求也相应要低一些。
工作组服务器较入门级服务器来说性能有所提高,功能有所增强,有一定的可扩展性,但容错和冗余性能仍不完善、也不能满足大型数据库系统的应用,但价格也比前者贵许多,一般相当于2~3台高性能的PC品牌机总价。
3、部门级服务器
这类服务器是属于中档服务器之列,一般都是支持双CPU以上的对称处理器结构,具备比较完全的硬件配置,如磁盘阵列、存储托架等。部门级服务器的最大特点就是,除了具有工作组服务器全部服务器特点外,还集成了大量的监测及管理电路,具有全面的服务器管理能力,可监测如温度、电压、风扇、机箱等状态参数,结合标准服务器管理软件,使管理人员及时了解服务器的工作状况。
大多数部门级服务器具有优良的系统扩展性,能够满足用户在业务量迅速增大时能够及时在线升级系统,充分保护了用户的投资。它是企业网络中分散的各基层数据采集单位与最高层的数据中心保持顺利连通的必要环节,一般为中型企业的首选,也可用于金融、邮电等行业。
4、企业级服务器
企业级服务器是属于高档服务器行列,正因如此,能生产这种服务器的企业也不是很多。企业级服务器最起码是采用4个以上CPU的对称处理器结构,有的高达几十个。另外一般还具有独立的双PCI通道和内存扩展板设计,具有高内存带宽、大容量热插拔硬盘和热插拔电源、超强的数据处理能力和群集性能等。企业级服务器适合运行在需要处理大量数据、高处理速度和对可靠性要求极高的金融、证券、交通、邮电、通信或大型企业。
服务器的组成结构是什么
服务器系统的硬件构成与我们平常所接触的电脑有众多的相似之处,主要的硬件构成仍然包含中央处理器、内存、芯片组、I/O总线、I/O设备、电源、机箱和相关软件这几个主要部分,这也成了我们选购一台服务器时所主要关注的指标。
在信息系统中,服务器主要应用于数据库和Web服务,而PC主要应用于桌面计算和网络终端,设计根本出发点的差异决定了服务器应该具备比PC更可靠的持续运行能力、更强大的存储能力和网络通信能力、更快捷的故障恢复功能和更广阔的扩展空间,同时,对数据相当敏感的应用还要求服务器提供数据备份功能。而PC机在设计上则更加重视人机接口的易用性、图像和3D处理能力及其他多媒体性能。
服务器有什么作用
1、提高访问速度。因为客户要求的数据存于代理服务器的硬盘中,因此下次这个客户或其它客户再要求相同目的站点的数据时,就会直接从代理服务器的硬盘中读取,代理服务器起到了缓存的作用,对热门站点有很多客户访问时,代理服务器的优势更为明显。
2、服务器可以起到防火墙的作用。因为所有使用服务器的用户都必须通过服务器访问远程站点,因此在服务器上就可以设置相应的限制,以过滤或屏蔽掉某些信息。这是局域网网管对局域网用户访问范围限制最常用的办法,也是局域网用户为什么不能浏览某些网站的原因。拨号用户如果使用服务器,同样必须服从服务器的访问限制,除非你不使用这个服务器。
3、通过服务器访问一些不能直接访问的网站。互联网上有许多开放的服务器,客户在访问权限受到限制时,而这些服务器的访问权限是不受限制的,刚好服务器在客户的访问范围之内,那么客户通过服务器访问目标网站就成为可能。国内的高校多使用教育网,不能出国,但通过服务器,就能实现访问因特网,这就是高校内服务器热的原因所在。
4、安全性得到提高。无论是上聊天室还是浏览网站,目的网站只能知道你来自于代理服务器,而你的真实IP就无法测知,这就使得使用者的安全性得以提高。
此时只能通过下面的途径访问IIS7:
1、单击“计算机管理”
2、单击左侧菜单的“服务和应用程序”的图标,将其展开。此时显示“Internet信息服务(IIS)管理器”、“服务”、“WMI控件”、“SQL配置管理器”。
3、单击“Internet信息服务(IIS)管理器”,右侧展示IIS7。可以正常使用。
不知道是不是IIS7和IIS6不能共存在Windows7中。
Oracle GoldenGate 用于在各种企业系统间以亚秒级速度复制和集成事务数据,是同类最佳的、易于部署的产品。Oracle GoldenGate 可以灵活地在同类和异类系统(包括不同版本的 Oracle Database、不同的硬件平台)之间以及 Oracle 数据库和非 Oracle 数据库(包括 Microsoft SQL Server、用于开放系统和 z/OS 的 IBM DB2、Sybase 等等)之间移动数据。
本文演示如何安装、设置和配置此产品以轻松实现 Oracle Database 10g 和 11g 之间数据的无缝复制,还介绍了此产品的加速能力。
Oracle 于 2009 年收购了 GoldenGate,我们可以看到在全球各行业超过 4,000 个解决方案中实施了 Oracle GoldenGate。该软件执行实时的、基于日志的更改数据捕获 (CDC),能够在异构数据库间以极低的延迟和很小的空间移动大量事务数据。
通常,您部署 GoldenGate 捕获、数据泵和交付进程,并且可将这些进程部署在许多不同的操作系统和数据库上。可根据目标数据库的需要,复制所有数据或部分数据。当 Oracle GoldenGate 用于 Oracle 数据库时,可以复制数据操作语言 (DML) 和数据定义语言 (DDL) 操作。(目前只能在同类(不能在异类的)Oracle 版本间复制 DDL 操作。)Oracle GoldenGate 官方支持 Oracle9i 第 2 版到 Oracle Database 11g 第 2 版,并且对所有这些版本提供 DML/DDL 支持。该产品可用于 Oracle Database 的企业版和标准版。
如上所述,可以在所支持的同类或异类 Oracle Database 版本间移动数据,也可以在 Oracle 数据库和非 Oracle 数据库间移动数据。大多数情况下,可对数据进行筛选、映射和转换。注意,如果启用了 DDL 支持(换言之,如果使用 GoldenGate 进行同类 Oracle Database 版本之间的 DDL 复制),则不支持数据筛选、映射和转换。
Oracle GoldenGate 是以 DBA 为中心的,因此 DBA 很容易学会如何使用它。其实现时间也是最少的 — 一些站点只用一个月的时间就完全付诸实现。
可获得什么
Oracle GoldenGate 产品系列包括:
Oracle GoldenGate
Management Pack for Oracle GoldenGate(也称为 Oracle GoldenGate Director)Oracle GoldenGate Veridata
Oracle GoldenGate Application Adapters
Oracle GoldenGate for Mainframe
为使增值服务造福客户,Oracle GoldenGate 核心许可包括 Oracle Active Data Guard 的全权使用许可和 Oracle Database 中 XStream 的全权使用许可。XStream 是与 Oracle Streams 接口的 API。Oracle Active Data Guard 支持主动打开备用数据库以提供报表服务,甚至在应用重做数据的同时也如此。这个特性非常棒,可将生产报表和查询工作分流到备用数据库上。
一直以来,Oracle Streams 只用于在 Oracle 数据库间复制数据。Oracle GoldenGate 还可以在非 Oracle 数据库间复制数据,并且这种复制易于建立。
我们应注意到,已发布的 Oracle — GoldenGate 发展方向声明中指出,“由于 Oracle GoldenGate 的战略性,将继续支持 Oracle Streams,但不会对其进行主动增强。而是对 Oracle Streams 中最好的内容行评估以确定是否将其并入 Oracle GoldenGate 中。”
此演示的目的
为了进行此次演示,您应在一台 Microsoft Windows 服务器上有三个数据库。这三个数据库是 HRPRD1、HRPRD2 和 HRPRD3。其数据库版本分别为 Oracle Database 11g、Oracle Database 10g 和 Oracle Database 10g。
这三个数据库的 SYS 和 SYSTEM 口令已设置为 hrpassword1,用于测试目的。稍后可更改此口令。
此演示的目的是在 HRPRD2 和 HRPRD3 这两个 Oracle 10g 数据库的 HREMPLOYEES 表之间建立单向复制。对第一个数据库中此表的 DML 更改应传给第二个数据库。然后,我们将对这一复制进行增强,可以将更改同时复制到 Oracle 11g 数据库 HRPRD1 中。其结果是,对 HRPRD2 中该表的任何更新、插入和删除不仅将会成功更新 HRPRD3,也会成功更新 HRPRD1。
这种从 Oracle Database 10g 到 Oracle Database 10g 然后再到 Oracle Database 11g 的复制策略常用于升级情况,进行升级时,需要先复制数据,然后方可切换到升级后的数据库版本。Oracle GoldenGate 提供了简单的解决方案。
注意,针对 Oracle 数据库时,您不 需要使用 Microsoft ODBC 数据源管理器为这些数据库创建数据源名称 (DSN)。Oracle GoldenGate 复制将使用监听器直接连接到 Oracle 数据库。
需要下载的内容
首先,对于 Windows 系统,需要从 Microsoft 下载中心下载 Microsoft Visual C ++ 2005 SP1 Redistributable Package,然后进行安装。如果计算机上未安装 Visual C++,这用于安装运行本应用程序时所需的 Visual C++ 库的运行时组件。
接下来,需要从 Oracle 技术网下载 Oracle GoldenGate 软件。截至本文撰写时,OTN 只支持 Windows 平台 64 位版本:适用于 Windows 2000、XP 和 2003(64 位)上的 Oracle 10g 的 Oracle GoldenGate 1040x 版 (8 MB)。要下载 32 位 Windows 版本,您必须使用 Oracle E-Delivery 网站。(请注意,E-Delivery 下载有一个为期 30 天的试用产品许可,而非 OTN 开发人员许可。)登录此网站后,搜索适用于 Microsoft Windows(32 位)平台的“Oracle Fusion Middleware Product Pack”(因为 Oracle GoldenGate 被视作一个 Oracle 融合中间件产品,而非 Oracle Database 产品),然后单击 Go。
此时会出现介质包列表。在此列表中,先选择 Oracle GoldenGate on Oracle Media Pack for Microsoft Windows (32-bit)。
此介质包中包含:
适用于 Windows 2000、XP 和 2003 上的 Oracle 10g 的 Oracle GoldenGate 1040x 版V18162-01
大小:84 MB
适用于 Windows 2000、XP 和 2003 上的 Oracle 11g 的 Oracle GoldenGate 1040x 版V18164-01
大小:84 MB
Oracle GoldenGate 文档
V18423-01
大小:20 MB
下载这三个 zip 文件,因为您需要适用于 Oracle 10g 和 Oracle 11g 的 Oracle GoldenGate。
然后,返回到 Oracle 融合中间件的介质包列表,从中选择 Management Pack for Oracle GoldenGate (v2002) Media Pack for Microsoft Windows。
该管理包介质包中包含:
适用于 Windows 的 Oracle GoldenGate Director V200x ServerV18127-01
大小:228 MB
适用于 Windows 的 Oracle GoldenGate Director V200x ClientV18128-01
大小:55 MB
Oracle GoldenGate Director 文档
V18129-01
大小:952 KB
如果您想安装管理包,下载所有这些文件。该管理包是一个安装您 Windows 服务器上的独立产品,。该产品原名为 Oracle GoldenGate Director,它包含一个多层的客户端-服务器应用程序,使组织可以轻松监视和管理其 Oracle GoldenGate 部署。
使用 Oracle GoldenGate Director 的 GUI 界面,可以集中设计和配置 Oracle GoldenGate,还可以管理和监视为了在公司各服务器间复制数据而建立的各种 Oracle GoldenGate 进程。
介质包的主列表中还有其他一些介质包,如 Oracle GoldenGate Veridata Media Pack for Microsoft Windows。
Oracle GoldenGate Veridata 软件作为服务器进行安装,在不同平台上具有代理,它负责将一组数据与另一组数据进行对比以识别不同步的数据,对比时无需停机。此对比可全天候进行,可与大流量的复制同时进行。还可在不同平台间进行数据对比。
除了上述主要介质包外,列表中还显示了其他 Oracle GoldenGate 包。这些软件包适用于非 Oracle 数据库,如 Sybase、SQL Server、IBM DB2、Teradata,还有 JMS 和平面文件,这反映了 Oracle GoldenGate 支持异构的性质。
安装步骤
您下载的 Oracle GoldenGate 文档 zip 文件 (V18423-01zip)中包含 Oracle GoldenGate Oracle Installation and Setup Guide Version 104 (gg_ora_inst_v104pdf),其中描述了适用于 Linux、UNIX 和 Windows 上的 Oracle 数据库的 Oracle GoldenGate 的安装步骤。
注意,还有其他一些安装文档,它们针对适用于 Sybase、SQL Server、DB2、MySQL、Teradata 等的 Oracle GoldenGate。
首先,将 Oracle GoldenGate for Oracle 10g (V18162-01zip) 解压缩到一个新的 Oracle GoldenGate 软件目录中,目录名中不含任何空格。例如,您可以使用 C:\OGG10G 作为 Oracle GoldenGate 目录。此目录中的软件代码将用于建立第一个和第二个 Oracle 10g 数据库之间的复制。
由于您的第三个数据库是 Oracle Database 11g 版,您还需要解压缩 Oracle GoldenGate for Oracle 11g (V18164-01zip)。对于此版本的 Oracle GoldenGate,您需要使用一个单独的目录,C:\OGG11G。此目录中的软件代码将用于控制到第三个 Oracle Database 11g 数据库的复制。
如果您有 Oracle9i 数据库并且想从其复制数据或向其复制数据,需要另一个适用于 Oracle9i 的 Oracle GoldenGate 软件。不过,您不能通过 Oracle 网站下载 Oracle GoldenGate 的 Oracle9i 版本。如果您需要此版本,可能需要通过 My Oracle Support 发出一个系统请求 (SR)。
在命令提示符处输入以下命令:
mkdir C:\OGG10G
cd C:\OGG10G
unzip c:\V18162-01zip
mkdir C:\OGG11G
cd C:\OGG11G
unzip C:\V18164-01zip
# start the 10g databases if not already startednet start OracleServiceHRPRD2
net start OracleServiceHRPRD3
# start the 11g database if not already startednet start OracleServiceHRPRD1
设置环境变量
现在,您可以打开两个命令窗口(开始运行Cmd),针对 Oracle Database 10g 和 Oracle Database 11g 将相应的环境变量(如 ORACLE_HOME、ORACLE_SID、LD_LIBRARY_PATH 等)设置为相应的值。
为了在两个 Oracle 10g 数据库间建立复制,将这些变量进行如下设置:
set ORACLE_HOME=C:\Oracle\product\1020\db_1set ORACLE_SID=HRPRD2
set PATH=%ORACLE_HOME%\bin;%PATH%
set LD_LIBRARY_PATH=C:\OGG10G; %ORACLE_HOME%\LIB;%ORACLE_HOME%\jdbc\lib
set CLASSPATH=;C:\Program
Files\Java\jre6\lib\ext\QTJavazip;%ORACLE_HOME%\jdbc\libORACLE_SID 可设置为 HRPRD2 或 HRPRD3,两者都是 Oracle 10g 数据库。请注意 PATH、LD_LIBRARY_PATH 和 CLASSPATH 的值。
另一种方法是用系统变量进行这些设置,为此您可以在 Windows XP Professional 中使用:我的电脑属性高级环境变量系统变量。在这里添加新的系统变量并按如上所述更改路径。
在此例中,在一台服务器上运行两个数据库版本的缺点是,每次启动 Oracle GoldenGate for Oracle 10g 或 Oracle GoldenGate for Oracle 11g 的 Manager 服务时,都必须更改系统变量。您可能要添加与 Oracle Database 11g 有关的系统变量,然后启动 Oracle GoldenGate for Oracle 11g Manager 服务。这之后,您可能要更改这些系统变量,使其适合于 Oracle Database 10g,然后启动 Oracle GoldenGate for Oracle 10g Manager 服务。由于这是一个测试系统,这么做可能没有问题。但在生产环境下,您需要采取一种更自动化的方法(如采用脚本化的方法)在脚本中设置这些变量并启动 Manager 服务。
GGSCI 命令解释程序
在命令窗口或“我的电脑”级别设置环境变量之后,转到 Oracle GoldenGate 的文件夹下,通过命令行(见图 1)或 Windows 资源管理器运行 Oracle GoldenGate Command Interpreter for Oracle (GGSCI) 程序。
图 1 Oracle GoldenGate Command Interpreter现在,您可在 GGSCI 中执行 CREATE SUBDIRS 命令来创建 Oracle GoldenGate 的工作子目录。参见图 2,其中列出了所创建的重要目录。
图 2 创建工作子目录
将 Oracle GoldenGate Manager 作为本地程序运行您可以将 Oracle GoldenGate Manager 当作一个本地程序在命令窗口中运行,也可以将它作为一个 Windows 服务安装以便在 Windows 启动时自动启动。我们建议使用后面这种方法。
如果您希望将其作为一个本地命令运行,只需调用目录中的 Manager 执行文件(调用时带着一个参数文件)即可。命令语法为:
C:\OGG10G>mgr
Usage: MGR PARAMFILE [REPORTFILE ]
[PID ] [PORT ]
[USESUBDIRS] [NOUSESUBDIRS]
[PAUSEATEND] [NOPAUSEATEND]
[CD ]
PARAMFILE 是必需的参数。因此,您必须在 GGSCI 中创建一个参数文件:
GGSCI (HaviPori) 1> edit params mgr
此命令将在 C:\OGG10G\dirprm 目录中创建一个新的 mgrprm 文件。在该文件中键入将用于运行 manager 进程的端口号,然后保存该文件。
PORT 7809
默认端口号为 7809。无论您选择哪个端口号,请确保该端口号未被任何其他程序所使用并且没有任何防火墙限制。因为 PORT 是 Manager 唯一需要的参数,所以必须指定该参数。GGSCI 使用该端口将请求发送给 Manager 以启动进程,并且 Extract 进程也使用该端口进行各种操作。
创建该参数文件之后,就可以在 Windows 命令提示符下启动 Manager 了,如下所示:
C:\OGG10G>mgr paramfile c:\OGG10G\dirprm\mgrprm该命令启动 Manager,并且显示图 3 所示的消息:
图 3 在 Windows 命令提示符处启动 Manager
必须保持此窗口为打开状态,以保持 Manager 运行。如果您注销,该窗口将关闭,Manager 将停止运行。
将 Manager 作为 Windows 服务进行安装
上文描述了手动启动 Manager 的方法,还有一种启动方法,那就是将 Manager 作为自动启动的 Windows 服务来安装。
在 Windows 集群环境下必须使用后面这种方法,因为出现故障时只有服务可以自动切换到备用服务器上。在非集群系统中,将 Manager 作为服务来安装是可选的方法但也是强烈建议的方法。
在 Windows 中作为服务创建 Manager 进程时,该服务的默认名称为 GGSMGR。您可以为此服务指定自定义的名称。如果您在同一台服务器上需要不止一个 Oracle GoldenGate Manager 服务,比如一个针对 Oracle GoldenGate for Oracle 10g 的服务和另一个针对 Oracle GoldenGate for Oracle 11g 的服务,则指定名称是很重要的。如果您打算运行 Oracle GoldenGate Veridata,还需要一个 Manager 服务。
用以下方法为 Manager 服务指定一个不同的名称。在 GGSCI 命令提示符处执行以下命令:
EDIT PARAMS /GLOBALS
在出现的记事本编辑器中,选择新建一个文件(如果是首次这么做),然后输入以下代码并保存该 GLOBALS 文件:
MGRSERVNAME OracleGGSMGR1
根据 Windows 上的 Oracle 服务一般带有 Oracle 前缀(如 OracleDBConsole、OracleJobScheduler 服务)的惯例,使用名称 OracleGGSMGR1。
通过 C:\OGG10G 目录中的 Install 程序可轻松创建 Manager 服务。使用 install addservice 命令,如图 4 所示:
图 4 创建 Manager 服务
新服务在 Windows 服务列表中显示为一个自动启动的服务(见图 5):
图 5 Manager 服务属性
Manager 服务以本地系统帐户运行,也可配置为以特定帐户(使用用户名和口令选项)运行,该用户名和口令可由 addservice 命令指定。现在可通过以下命令启动该服务:
GGSCI (HaviPori) 1> start manager
Starting Manager as service ('OracleGGSMGR1')
Service started
安装 Windows 事件消息
还可使用 Install 程序将事件消息安装到 Windows 注册表中,这样它们可通过 Windows Event Manager 显示。使用以下命令可完成此操作:
C:\OGG10G>install addevents
Oracle GoldenGate messages installed successfully
Install program terminated normally
还可将 categorydll 和 ggsmsgdll 文件从 C:\OGG10G 目录复制到 C:\WINDOWS\system32 目录,从而生成具体的而不是一般性的错误。
建立复制 — 在 HRPRD2 上建立 Extract 进程Oracle GoldenGate Manager 进程已启动并运行。下一步要建立数据库之间的复制。
为此,您至少需要创建和配置一个 Extract 和 Replicat 组。在这些组中指定您想捕获和复制的数据。
Extract 进程捕获发生的数据更改并将这些更改发送给目标服务器上的一个“线索”。在目标服务器上启动 Replicat 进程,该进程负责进行实际的复制,它从线索中获取数据更改,然后将这些更改应用到目标数据库中。
您还需要为 Oracle GoldenGate Replication 准备数据库:在数据库级打开追加日志 功能。为此,在以 SYSDBA 身份登录到数据库后使用以下命令:
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;Database altered
SQL> alter system switch logfile;
System altered
现在可以添加 Extract 组了。
GGSCI (HaviPori) 1> ADD EXTRACT emp_ext, TRANLOG, BEGIN NOWEXTRACT added
您在这里指定了 TRANLOG,这意味着事务(重做)日志成为数据源。BEGIN 后面可以是该日志中的一个时间戳以便从该时刻开始进行处理,也可以是 NOW 以便立即开始处理。
通俗的讲,Web服务器传送(serves)页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序可以调用(call)的方法 (methods)。确切一点,你可以说:Web服务器专门处理HTTP请求(request),但是应用程序服务器是通过很多协议来为应用程序提供 (serves)商业逻辑(business logic)。
下面让我们来细细道来:
Web服务器(Web Server)
Web服务器可以解析(handles)HTTP协议。当Web服务器接收到一个HTTP请求(request),会返回一个HTTP响应 (response),例如送回一个HTML页面。为了处理一个请求(request),Web服务器可以响应(response)一个静态页面或,进行页面跳转(redirect),或者把动态响应(dynamic response)的产生委托(delegate)给一些其它的程序例如CGI脚本,JSP(JavaServer Pages)脚本,servlets,ASP(Active Server Pages)脚本,服务器端(server-side)JavaScript,或者一些其它的服务器端(server-side)技术。无论它们(译者注:脚本)的目的如何,这些服务器端(server-side)的程序通常产生一个HTML的响应(response)来让浏览器可以浏览。
要知道,Web服务器的代理模型(delegation model)非常简单。当一个请求(request)被送到Web服务器里来时,它只单纯的把请求(request)传递给可以很好的处理请求 (request)的程序(译者注:服务器端脚本)。Web服务器仅仅提供一个可以执行服务器端(server-side)程序和返回(程序所产生的)响应(response)的环境,而不会超出职能范围。服务器端(server-side)程序通常具有事务处理(transaction processing),数据库连接(database connectivity)和消息(messaging)等功能。
虽然Web服务器不支持事务处理或数据库连接池,但它可以配置(employ)各种策略(strategies)来实现容错性(fault tolerance)和可扩展性(scalability),例如负载平衡(load balancing),缓冲(caching)。集群特征(clustering—features)经常被误认为仅仅是应用程序服务器专有的特征。
应用程序服务器(The Application Server)
根据我们的定义,作为应用程序服务器,它通过各种协议,可以包括HTTP,把商业逻辑暴露给(expose)客户端应用程序。Web服务器主要是处理向浏览器发送HTML以供浏览,而应用程序服务器提供访问商业逻辑的途径以供客户端应用程序使用。应用程序使用此商业逻辑就象你调用对象的一个方法(或过程语言中的一个函数)一样。
应用程序服务器的客户端(包含有图形用户界面(GUI)的)可能会运行在一台PC、一个Web服务器或者甚至是其它的应用程序服务器上。在应用程序服务器与其客户端之间来回穿梭(traveling)的信息不仅仅局限于简单的显示标记。相反,这种信息就是程序逻辑(program logic)。正是由于这种逻辑取得了(takes)数据和方法调用(calls)的形式而不是静态HTML,所以客户端才可以随心所欲的使用这种被暴露的商业逻辑。
在大多数情形下,应用程序服务器是通过组件(component)的应用程序接口(API)把商业逻辑暴露(expose)(给客户端应用程序)的,例如基于J2EE(Java 2 Platform, Enterprise Edition)应用程序服务器的EJB(Enterprise JavaBean)组件模型。此外,应用程序服务器可以管理自己的资源,例如看大门的工作(gate-keeping duties)包括安全(security),事务处理(transaction processing),资源池(resource pooling),和消息(messaging)。就象Web服务器一样,应用程序服务器配置了多种可扩展(scalability)和容错(fault tolerance)技术。
一个例子
例如,设想一个在线商店(网站)提供实时定价(real-time pricing)和有效性(availability)信息。这个站点(site)很可能会提供一个表单(form)让你来选择产品。当你提交查询 (query)后,网站会进行查找(lookup)并把结果内嵌在HTML页面中返回。网站可以有很多种方式来实现这种功能。我要介绍一个不使用应用程序服务器的情景和一个使用应用程序服务器的情景。观察一下这两中情景的不同会有助于你了解应用程序服务器的功能。
情景1:不带应用程序服务器的Web服务器
在此种情景下,一个Web服务器独立提供在线商店的功能。Web服务器获得你的请求(request),然后发送给服务器端(server-side)可以处理请求(request)的程序。此程序从数据库或文本文件(flat file,译者注:flat file是指没有特殊格式的非二进制的文件,如properties和XML文件等)中查找定价信息。一旦找到,服务器端(server-side)程序把结果信息表示成(formulate)HTML形式,最后Web服务器把会它发送到你的Web浏览器。
简而言之,Web服务器只是简单的通过响应(response)HTML页面来处理HTTP请求(request)。
情景2:带应用程序服务器的Web服务器
情景2和情景1相同的是Web服务器还是把响应(response)的产生委托(delegates)给脚本(译者注:服务器端(server- side)程序)。然而,你可以把查找定价的商业逻辑(business logic)放到应用程序服务器上。由于这种变化,此脚本只是简单的调用应用程序服务器的查找服务(lookup service),而不是已经知道如何查找数据然后表示为(formulate)一个响应(response)。这时当该脚本程序产生HTML响应(response)时就可以使用该服务的返回结果了。
在此情景中,应用程序服务器提供(serves)了用于查询产品的定价信息的商业逻辑。(服务器的)这种功能(functionality)没有指出有关显示和客户端如何使用此信息的细节,相反客户端和应用程序服务器只是来回传送数据。当有客户端调用应用程序服务器的查找服务(lookup service)时,此服务只是简单的查找并返回结果给客户端。
通过从响应产生(response-generating)HTML的代码中分离出来,在应用程序之中该定价(查找)逻辑的可重用性更强了。其他的客户端,例如收款机,也可以调用同样的服务(service)来作为一个店员给客户结帐。相反,在情景1中的定价查找服务是不可重用的因为信息内嵌在HTML 页中了。
总而言之,在情景2的模型中,在Web服务器通过回应HTML页面来处理HTTP请求(request),而应用程序服务器则是通过处理定价和有效性(availability)请求(request)来提供应用程序逻辑的。
警告(Caveats)
现在,XML Web Services已经使应用程序服务器和Web服务器的界线混淆了。通过传送一个XML有效载荷(payload)给服务器,Web服务器现在可以处理数据和响应(response)的能力与以前的应用程序服务器同样多了。
另外,现在大多数应用程序服务器也包含了Web服务器,这就意味着可以把Web服务器当作是应用程序服务器的一个子集(subset)。虽然应用程序服务器包含了Web服务器的功能,但是开发者很少把应用程序服务器部署(deploy)成这种功能(capacity)(译者注:这种功能是指既有应用程序服务器的功能又有Web服务器的功能)。相反,如果需要,他们通常会把Web服务器独立配置,和应用程序服务器一前一后。这种功能的分离有助于提高性能(简单的Web请求(request)就不会影响应用程序服务器了),分开配置(专门的Web服务器,集群(clustering)等等),而且给最佳产品的选取留有余地。
恢复过程
以数据库恢复模式设为FULL为例:
恢复过程的第一步是执行尾日志备份,(BACKUP LOG Student TO DISK='E:\stulogdmp' ) 。
在恢复一个数据库之前,为保证上次备份之后发生改变的记录都包含在恢复过程之中,需要执行这种类型的备份。
下一步,查找数据库备份文件在机器或网络中的存储位置。
如果要在另一台服务器上恢复数据库,最好是把这些文件复制到目标服务器中。在备份文件所在的位置,找出最后一个完整的数据库备份(这些文件通常使用bak为扩展名);恢复这个完整的备份。
下面的脚本将完整的备份文件应用于NewDatabase数据库:
RESTORE DATABASE NewDatabaseFROM DISK = 'D: BackupFilesTestDatabaseFullBackupbak'
WITH
MOVE 'PreviousDatabase' TO 'D:DataFiles TestDatabasemdf',
MOVE 'PreviousDatabase_log' TO 'D:DataFiles TestDatabase_Logldf',
NORECOVERY
这段脚本指出完整备份文件位于服务器的D盘中,你正在使用备份文件恢复NewDatabase这个数据库。
脚本中的语句将数据文件和日志文件从完整备份文件转移到TestDatabase数据库的新文件中。脚本中的最后一个语句——NORECOVERY——非常重要。
NORECOVERY模式有三种选项,如下所示:
NORECOVERY:告诉SQL Server你没有完成恢复数据库的过程,随后会出现恢复文件。当数据库处于这种状态时,数据库还不能使用,因而不允许建立连接。
RECOVERY:告诉SQL Server你已经完成数据库恢复过程,数据库即将准备就绪。这是默认选项,也是最常用的选项。
STANDBY:告诉SQL Server当前数据库还未为完成恢复做好准备,随后可以使用日志文件进行恢复。如果必要,你可以使用这个选项为恢复数据库建立连接。但是,如果当前不存在连接,将来的事务日志只能应用于数据库。
一旦你使用NORECOVERY选项恢复了完整备份,你可以开始应用事务日志备份或差异备份。
差异备份
差异备份是指对上次完整数据库备份后数据库发生的任何改变进行备份。如果有几个差异备份,只需要恢复最后一个备份文件。在这种情况下,并不存在差异备份,因此可以直接转向事务日志备份。
事务日志备份
事务日志备份保留上次事务日志备份后发生的所有事务的痕迹;它还允许把数据库恢复到数据库发生错误之前的一个时间点。事务日志备份按顺序发生,从而建立一个备份链。在把一连串事务日志备份恢复到一个时间点时,事务日志文件也必须按顺序恢复。
当使用一个数据库维护计划来建立事务日志备份时,事务日志文件名中往往包含一个时间指示器。
下面的脚本使用NORECOVERY选项应用三个事务日志备份,最后一个语句把数据库恢复到最后一个事务日志文件的结束点。
RESTORE LOG NewDatabaseFROM DISK = ''D: BackupFilesTestDatabase_TransactionLogBackup1trn'
WITH NORECOVERY
RESTORE LOG NewDatabase
FROM DISK = ''D: BackupFiles TestDatabase_TransactionLogBackup2trn'
WITH NORECOVERY
RESTORE LOG NewDatabase
FROM DISK = ''D: BackupFiles TestDatabase_TransactionLogBackup3trn'
WITH NORECOVERY
RESTORE LOG NewDatabase
FROM DISK = ''D: BackupFiles TestDatabase_TransactionLogBackup4trn'
WITH RECOVERY
恢复到一个时间点
在上面的例子中,把数据库恢复到最后一个事务日志的结束点。
如果想把数据库恢复到事务日志结束前的某个特定的时间点,必须使用STOPAT选项。
下面的脚本把日志序列中的第四个事务日志恢复到4:01 AM——正好在数据库出错之前。
RESTORE LOG NewDatabaseFROM DISK = ''D: BackupFiles TestDatabase_TransactionLogBackup4trn'
WITH STOPAT = N'6/28/2007 4:01:45 PM', RECOVERY
0条评论