重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
OCFS2 是 Oracle 开发的一个通用集群文件系统,与 Enterprise Linux 内核集成在一起。它允许所有节点在集群文件系统上同时共享文件,因而消除了管理原始设备的需求。这里,您将在 OCFS2 文件系统中寄宿 OCR 和表决磁盘。您可以从OCFS2 用户指南获取有关 OCFS2 的其他信息。
创新互联建站专注于定兴网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供定兴营销型网站建设,定兴网站制作、定兴网页设计、定兴网站官网定制、小程序制作服务,打造定兴网络公司原创品牌,更为您提供定兴网站排名全网营销落地服务。
在 Enterprise Linux 安装期间,您应该已经安装了 OCFS2 RPM。验证 RPM 是否已经安装在两个节点上。
rac1- rpm -qa | grep ocfs
ocfs2-tools-1.2.2-2
ocfs2console-1.2.2-2
ocfs2-2.6.9-42.0.0.0.1.ELsmp-1.2.3-2
创建 OCFS2 配置文件。在 rac1 上,以 root 用户身份执行
# ocfs2console
1. OCFS2 控制台:选择Cluster,然后选择Configure Nodes。
2. “集群堆栈已经启动”:单击Close。
3. 节点配置:单击Add。
4. 新增节点:添加以下节点,然后单击Apply。
名称:rac1
IP 地址: 192.168.2.131
IP 端口: 7777
名称:rac2
IP 地址: 192.168.2.132
IP 端口: 7777
5. 验证生成的配置文件。
# more /etc/ocfs2/cluster.conf
node:
ip_port = 7777
ip_address = 192.168.2.131
number = 0
name = rac1
cluster = ocfs2
node:
ip_port = 7777
ip_address = 192.168.2.132
number = 1
name = rac2
cluster = ocfs2
cluster:
node_count = 2
name = ocfs2
6. 将配置文件传播到 rac2。您可以在 rac2 上重新运行上述步骤以生成配置文件,或者在 rac1 的 OCFS2 控制台上选
择Cluster 和 Propagate Configuration 以将配置文件传播到 rac2。
配置 O2CB 驱动程序。O2CB 是一组集群服务,负责管理节点与集群文件系统之间的通信。下面是对各个服务的说明:
● NM:用于跟踪 cluster.conf 中的所有节点的节点管理器
● HB:当节点加入或离开集群时向上/向下发出通知的心跳服务
● TCP:处理节点之间的通信
● DLM:用于跟踪所有锁、这些锁的所有者以及状态的分布式锁管理器
● CONFIGFS:在 /config 中挂载的用户空间驱动的配置文件系统
● DLMFS:用户空间与内核空间 DLM 的接口
在两个节点上执行下面的过程,将 O2CB 配置为在引导时启动。
当系统提示您指定心跳死亡阈值时,您必须指定一个大于 7 的值,以防止节点由于较慢的 IDE 磁盘驱动器而崩溃。心跳死
亡阈值是一个用于计算隔离时间的变量。
Fence time (seconds) = (heartbeat dead threshold -1) * 2
在我们的环境中,120 秒的隔离时间很合适。两个节点上的心跳死亡阈值应该完全相同。
以 root 用户身份执行
# /etc/init.d/o2cb unload
Stopping O2CB cluster ocfs2: OK
Unmounting ocfs2_dlmfs filesystem: OK
Unloading module "ocfs2_dlmfs": OK
Unmounting configfs filesystem: OK
Unloading module "configfs": OK
# /etc/init.d/o2cb configure
Configuring the O2CB driver.
This will configure the on-boot properties of the O2CB driver.
The following questions will determine whether the driver is loaded on
boot. The current values will be shown in brackets ('[]'). Hitting
without typing an answer will keep that current value. Ctrl-C
will abort.
Load O2CB driver on boot (y/n) [y]: y
Cluster to start on boot (Enter "none" to clear) [ocfs2]:
Specify heartbeat dead threshold (=7) [7]: 61
Writing O2CB configuration: OK
Loading module "configfs": OK
Mounting configfs filesystem at /config: OK
Loading module "ocfs2_nodemanager": OK
Loading module "ocfs2_dlm": OK
Loading module "ocfs2_dlmfs": OK
Mounting ocfs2_dlmfs filesystem at /dlm: OK
Starting O2CB cluster ocfs2: OK
格式化文件系统。在格式化和挂载文件系统之前,应验证 O2CB 在两个节点上均联机;O2CB 心跳当前没有活动,因为文
件系统未挂载。
# /etc/init.d/o2cb status
Module "configfs": Loaded
Filesystem "configfs": Mounted
Module "ocfs2_nodemanager": Loaded
Module "ocfs2_dlm": Loaded
Module "ocfs2_dlmfs": Loaded
Filesystem "ocfs2_dlmfs": Mounted
Checking O2CB cluster ocfs2: Online
Checking O2CB heartbeat: Not active
您只需在一个节点上格式化文件系统。在 rac1 上,以 root 用户身份执行
# ocfs2console
1. OCFS2 控制台:选择Tasks、Format。
2. 格式:
可用设备:/dev/sdb1
卷标:oracle
集群大小:Auto
节点插槽数量: 4
块大小:Auto
3. OCFS2 控制台:按 CTRL-Q 退出。
挂载文件系统。要挂载文件系统,在两个节点上执行以下命令。
# mount -t ocfs2 -o datavolume,nointr /dev/sdb1 /ocfs
要在引导时挂载文件系统,在两个节点的 /etc/fstab 中添加以下行。
/etc/fstab
/dev/sdb1 /ocfs ocfs2 _netdev,datavolume,nointr 0 0
创建 Oracle 集群件目录。在 OCR 和表决磁盘将驻留的 OCFS2 文件系统中创建目录。
在 rac1 上执行
# mkdir /ocfs/clusterware
# chown -R oracle:dba /ocfs
现在,您已经完成了 OCFS2 的设置。验证您可以在两个节点的共享集群文件系统上读写文件。
本文描述了远程消息传递和远程支持集群环境的搭建配置过程。这个集群环境由三个集群组成,具体的拓扑结构是:
应用程序集群,不但为应用程序提供工作负载管理以及URL和EJB 请求故障转移功能,而且还部署了BPC和HTM 容器,提供了对长业务流程和人工业务流程的应用程序的支持。
远程消息集群,运行WPS默认提供的四个总线(SCA应用,SCA系统,BPC和CEI)提供独立的高效的消息引擎。
远程支持集群,部署通用事件体系结构和业务规则管理等其他应用程序,提供异步的事件查询。
这三个集群配置在两台机器的不同的节点上,即三个集群的成员水平部署在两台机器上。在一个集群中的两个成员是该集群中完全相同的副本。消息传递引擎、业务支持和业务流程应用程序分别位于不同的集群上,所以可以根据实际业务负载和硬件环境,灵活调配所需的资源。这种模式,也称为黄金拓扑,是 WPS 中最复杂的拓扑结构,是大多数企业集成应用用户的首选,具有如下优点:
可靠性。将所有的应用、消息引擎和通用事件部署在三个集群上面,方便管理和使用。
可扩展性。因为系统中的消息引擎处于的关键地位,可能存在之后的访问需求增长等扩展需要,单独创建消息引擎集群可以很方便实行这一点。
对于系统运行时可能遇到的处理量非常大和可伸缩性等问题,通过将通用事件基础架构(CEI)和应用程序分离,可以确保这两个组件不会争用相同的资源(内存和CPU)。此拓扑还能帮助创建集中的事件服务器以处理来自多个源的事件。
所有的应用服务器由 Deployment Manager 统一管理,降低了系统管理的复杂度。
安装前的注意事项
在集群环境的安装过程中,需要同步两台主机的信息,确保它们之间能够良好的通信。主要同步的信息包括两台主机的系统时间、时区设置,并确保两台机器的时间差在5分钟之内,如果时间差超过5分钟,联合操作将失败。
更新两台主机的hosts 文件(默认目录为/etc/hosts ),确保每台机器均包含对方的host name 和对应的IP 地址,以便主机间的相互访问。
在使用向导安装和配置概要时,请按照从上到下的顺序输入配置参数,对于WPS V6.12 ,输入顺序的改变有可能导致未知错误。
集群环境的搭建步骤
Informix 数据库规划
WPS的集群环境需要后台数据库的支持。为了提高集群在实际运行中的效率,建议根据功能的不同,创建不同的数据库。数据库的详细信息如下表所示:
数据库名称 说明
WPRCSDB 公共数据库
EVENT 通用事件体系结构数据库
CEIDB 通用事件体系结构消息传递引擎数据库
SCASYSDB 服务组件系统消息传递引擎数据库
SCAAPPDB 服务组件应用程序消息传递引擎数据库
BPCDB 业务流程编排器数据库
BPCME 业务流程编排器消息传递引擎数据库
OBSVRDB 业务流程编排器事件收集器数据库
注意:本文选择英文语言的数据库安装。如果要安装中文语言的数据库,请参考本文的:在数据源定制属性中添加数据库语言。
安装WPS的步骤
首先使用图形化安装向导在两台主机上分别安装WPS v6.1.2 产品,。在安装产品和搭建集群过程中,步骤如下:
1.选择“Typical installation”安装类型。典型安装也称为完全安装,提供了环境的初始化定义,包括通过概要管理工具创建特定了类型的概要文件。
图2 选择安装类型
2.在选择概要类型界面提供了四种可选择的概要类型(图3)。我们选择“None”,即不创建任何类型的概要,以便在以后的步骤中手动创建概要。
使用Profile Management Tool(PMT) 创建Deployment Manager 概要
Deployment Manager(DM)是管理控制节点,它对集群环境下的所有节点提供了图形化的管理功能。一个集群环境中一般只需要一个管理概要。下面我们将向您讲述创建DM 概要的主要步骤:
1. 在WPS_HOME/bin/ProfileManagement/ 下执行命令pmt.sh ,弹出安装界面。在各种类型的环境选项中选择 WPS,进入下一步。
2. 在概要类型中提供了三种典型的概要类型,选择 Deployment manager profile,搭建DM 概要。
3. 在创建方式界面中,默认选项为创建典型的概要文件,在此需要选择 Advanced profile creation,以便我们在后续步骤中通过管理控制台手动进行集群配置,以满足特定环境的需求。
4. 填写要创建的Deployment manager profile的名称和安装目录。
5. 填写概要的Node Name和Cell name ,指定 Host Name。
6. 在管理安全选项中,如果选中 Enable administrative security 选项,请记住 WPS v 6.1.2
用户名称和密码。这里建议取消 Enable administrative security 选项,不设置安全管理。在后续步骤中可以根据需要手动启动安全管理选项,设定用户名密码。
7. 配置服务器的端口。
8. 进行数据库的配置。首先从 Choose a database product 选择 Informix Dynamic Server 作为公共数据库类型,并选择 Use an existing database。另外,需要指定 Database name,本例中使用先前创建的数据库 WPRCSDB。不选择“Deplay execution of database scripts for new or existing database”选项,因为概要文件的安装过程中会自动创建数据库 WPRCSDB 中的表。注意:如果创建的数据库为中文字符集,则需要选择 “Deplay execution of database scripts for new or existing database“选项,在概要创建完成后,手动执行创建数据库表(请参考本节内容中的步骤 11)。
9. 在数据库配置的第2步,需要对 Common DB 参数进行配置。如果是远程数据库,则在填写 Database server host name时,要确保远程数据库的host name 已经添加到本地主机(参考本文的第三部分内容“安装前的注意事项”);也可以直接在该项填写远程数据库的IP 地址。换句话说,在点击下一步之前,请确认数据库的参数信息,否则将在点击下一步后,会收到不能连接数据库的错误提示。
10. 完成以上步骤后,系统会显示概要的创建信息。如果发现参数需要调整可以后退向导重新进行输入。DM 创建成功后,可取消选择 Launch the First steps console和Create another profile,点击完成。至此,Deployment Manager 创建完成。如果创建DM 失败,请查看 WPS_HOME/logs/manageprofile 目录下的日志文件进行分析。
11. 另外,如果需要手工创建Common DB(WPRCSDB) 相关的表,可执行DM 概要创建生成的数据库脚本,默认目录为:
WPS_HOME/profiles/Dmgr01/dbscripts/CommonDB/Informix/WPRCSDB 。
请将这些脚本复制到 Informix 数据库所在机器,并设置如下环境变量:
INFORMIXSERVER=IFX_INSTANCENAME
INFORMIXDIR=IFX_INSTALL_HOME
之后执行如下命令:
dbaccess – createDatabase_CommonDB.sql
如果WPRCSDB已经创建,可以忽略。
dbaccess WPRCSDB createTable_AppScheduler.sql
dbaccess WPRCSDB createTable_CommonDB.sql
dbaccess WPRCSDB createTable_customization.sql
dbaccess WPRCSDB createTable_lockmanager.sql
dbaccess WPRCSDB createTable_mediation.sql
dbaccess WPRCSDB createTable_Recovery.sql
dbaccess WPRCSDB createTable_RelationshipMetadataTable.sql
dbaccess WPRCSDB createTable_EsbLoggerMediation.sql
dbaccess WPRCSDB insertTable_CommonDB.sql
使用PMT 创建自定义概要
接下来,我们手动进行自定义概要的创建。这样,能够在创建概要过程中,根据客户特定的使用需求和环境特点,选择适合于自己的数据库,并进行端口、用户名、密码等信息的设置。
在创建自定义概要(Custom profile)之前启动 DeploymentManager(DM)概要,在目录WPS_HOME/profiles/Dmgr01/bin 下,运行startManager.sh 命令。节点概要的创建与 DM 概要的创建类似,在目录WPS_HOME/bin/ProfileManagment 下执行命令pmt.sh,随即获得安装界面,主要步骤如下。
1.选择 Create 即创建一个新的概要文件。
2.在环境选项中,选择 WPS,进入下一步。
3.在创建概要的类型中,选择 Custom Profile,创建一个自定义节点概要。
4.在安装类型选项中,选择 Advanced profile creation,以便在后续步骤中通过手动配置相关参数,定制特定的节点概要。
5.输入节点所对应的DM 概要的主机名称和端口,默认端口为8879。如果在创建DM时启动了管理安全性,则需要输入用户名和密码。Federate this node later 选项的选择取决于是否要在创建节点的同时将其联合到指定的DM 概要中。这里,我们不选择该选项,节点会自动与 DM 概要联合,需要注意的是,要确保 DM 概要此时为启动状态。
若选择创建节点之后手动联合到 DM 概要中,则需要在创建节点完成后使用WPS_HOME/Custom01/bin 目录下的addNode.sh 命令进行节点与 DM的手动联合,具体命令如下:
addNode.sh dmgr_hostname –username username –password password
6.输入DM的信息后,进入端口设置页面,可以自行修改端口号。
7.在数据库选项中选择 Informix Dynamic Server 作为数据库类型,并为Informix JDBC driver 指定正确的路径。该路径指向节点所在的本地机器上 ifxjdbc.jar和ifxjdbcx.jar的存储位置。
8.浏览汇总信息无误后,点击 Create 开始创建自定义概要。
9.创建成功后,重复以上步骤为另一台机器创建自定义概要。
命令行方式创建Deployment Manager 实例和托管节点实例
创建DM profile 和Custom profile时,除了使用pmt.sh 命令外,还可以选择命令行方式,即执行WPS_HOME /bin/manageprofiles.sh 命令创建概要。创建Deployment manager 概要的命令和脚本如下:
./manageprofiles.sh –create -dbServerPort 8002
–templatePath WPS_HOME/profileTemplates/dmgr.wbiserver
–profileName Dmgr01
-dbDelayConfig true –dbCommonForME false
–dbType INFORMIX –dbHostName aix235.cn.ibm.com
–dbInstance IFXTest –hostName aix235.cn.ibm.com
–enableAdminSecurity false –dbName wprcsdb
–dbPassword informix –ndtopology false
-cellName aix235Cell01 –nodeName aix235CellManager01
–dbJDBCClasspath /opt/jdbc/lib –dbUserId Informix
–dbCreateNew false –profilePath WPS_HOME/profiles/Dmgr01
创建自定义节点的命令和脚本如下:
./manageprofiles.sh –create –dmgrHost 9.186.111.234
–profileName Custom01 –templatePath WPS_HOME/profileTemplates/managed.wbiserver
–dbType INFORMIX –ndtopology false
–cellName aix234Node01Cell –hostName aix234.cn.ibm.com
–nodeName aix234Node01 –dbJDBCClasspath /home/jdbc/lib
–dmgrPort 8879 –profilePath WPS_HOME/profiles/Custom01
VirtualBox远程显示使得虚拟机的访问更加随意和简单,但是该功能的初始安装就完全是另一种情况。
Oracle VM VirtualBox是免费的开源桌面虚拟化和服务器虚拟化软件。通过VirtualBox,可以支持三种虚拟机访问模式:通过VirtualBox软件自带界面;通过任意支持子虚拟机终端对话模式的界面(如VNC-Virtual Network Computing,RDS-Remote Desktop Service或任何其它协议)进行;通过远程显示系统进行。
远程显示系统是一个内置功能,功能强大但安装复杂。VirtualBox远程显示借助微软的RDP协议连接虚拟机,不仅Windows虚机,还包括所有安装了VirtualBox扩展包的子操作系统。让人沮丧的原因是在VirtualBox远程显示可以正常工作之前,需要经历一个异常繁琐的安装过程。
一旦它开始工作,您几乎可以在任何地方访问VirtualBox子虚拟机,而不受控制界面安装所在位置的限制。下面是关于如何安装Oracle VM VirtualBox远程访问的步骤:
增加VirtualBox远程显示扩展
首先,您需要安装可以启用VirtualBox远程显示系统的扩展包VirtualBox download页面中,可以找到Oracle VM VirtualBox Extension Pack,可以增加一系列的功能支持:USB2.0设备、因特尔网卡的PXE启动和VirtualBox远程显示系统。如果VirtualBox软件已经安装,所需的就是下载对应版本的扩展包。用于4.1.12和4.0.16版本的扩展包完全不同,所以您需要做出正确选择。
VirtualBox设置中显示的扩展包列表。在右侧位置可看到Add Package标签
在安装扩展包之前,需要关闭--注意不是挂起--所有运行中的虚拟机,并关闭整个VirtualBox系统。在Windows中,您只需双击扩展包或手动在File Preferences Extensions中点击Add Package图标找到正确的安装包列表。如果您是通过命令行操作的,通过VBoxManager extpack命令添加VirtualBox远程显示扩展包。
安装完成后,重启宿主机。简单地停止和重启VirtualBox软件是不可行的,但是VirtualBox并不会提示您重启。
设置虚拟机端口
现在您已经开始进入VirtualBox远程访问模式,但是还需要通过RDP单独地配置每台您需要访问的虚拟机端口。这一步需要注意:要为每台将建立RDP连接的子虚拟机分配端口号,但是连接所使用的是宿主机的IP地址,而不是子机。每台子机的端口号要不同以避免冲突。
为每台子虚拟机选择端口号。每台虚拟机必须拥有唯一的RDP访问端口
例如,我在VirtualBox中有两台虚拟机希望通过RDP访问--一台运行Windows而另一台运行测试版Haiku OS.Windows
VM分配5001端口,而Haiku分配5002端口。两台机器都通过宿主机IP地址加上子虚拟机的端口访问:输入192.168.0.30:5001访问Windows,192.168.0.30:5002访问Haiku.
要设置指定虚拟机的端口,登录到Settings页面,选择Display Remote Display.Check Enable
Server,选择服务器端口。您可以在虚拟机运行或停止状态时进行操作(暂停时不可以),而且不需要重启虚拟机启用配置。我不建议使用Windows
OS默认分配的3389端口,因为或许会跟已经在宿主机上的某台RDP服务器冲突。
接下来,在Authentication
Method下拉菜单中可以选择三种远程客户端连接VM的认证模式。Null模式如同字面理解:不需要认证,也就是任何知道该端口号的人都可以访问。External模式通过VirtualBox软件内置的证书库进行验证,防止用户使用宿主机或虚拟机XML设置文件中的证书登录。Guest模式是一种全新的模式,通过Guest
Addition可以防止子OS用户,这种模式没有测试过。
如果选择Null模式,您可以在任何时间连接到目标系统--即使它正在启动中。而且您不仅仅连接到运行OS的宿主机,同时连接到某台虚拟机。因此,首先要对连接模式的选择加以小心管理。
管理VirtualBox远程显示连接
最后,通过VirtualBox远程显示系统连接到虚拟机就变得简单了。需要做的就是通过一台支持微软RDP的终端访问,例如Windows的Remote
Desktop Connection终端,或Linux的rdesktop或krdc.
通过VirtualBox RDP访问一台Windows
7子机的实例。该显示大小经过了调整
通过远程设备连接所需的详细配置参数可能会差别很大。例如,在Windows Remote Desktop
Connection终端中,需要提前配置的是性能优化,可以在终端Experience页中的Options菜单配置。根据您使用的LAN或WAN环境,对参数进行修改。
如果您用的是VirtualBox Guest
Additions,显示画面会根据指定的RDP连接分辨率自动进行调整。但是如果您希望选择的分辨率跟虚拟机正在运行的不一致,那么VirtualBox远程显示的这个功能可能就无法实现。
最后一点,不是所有通过RDP连接的虚拟机表现都一样。采用了VirtualBox 子系统扩展包的OS可能在鼠标跟踪等方面要比其它终端更精确一些。
VirtualBox远程显示提供了单一的、统一机制的虚拟机远程访问模式。它开启了一种完全不同于本地控制台的管理方法。
通过RAC实现。只是共享存储。各台机器有自己的共享内存。并非每台机器的内存共享累加起来组成一个数据库的共享内存。 RAC的好处是所有机器组成一个集群。 ORACLE RAC工作原理 在一个应用环境当中,所有的服务器使用和管理同一个数据库,目的是为了分散每一台服务器的工作量,硬件上至少需要两台以上的服务器,而且还需要一个共享存储设备。同时还需要两类软件,一个是集群软件,另外一个就是Oracle数据库中的RAC组件。同时所有服务器上的OS都应该是同一类OS,根据负载均衡的配置策略,当一个客户端发送请求到某一台服务的listener后,这台服务器根据我们的负载均衡策略,会把请求发送给本机的RAC组件处理也可能会发送给另外一台服务器的RAC组件处理,处理完请求后,RAC会通过集群软件来访问我们的共享存储设备。 逻辑结构上看,每一个参加集群的节点有一个独立的instance,这些instance访问同一个数据库。节点之间通过集群软件的通讯层(communication layer)来进行通讯。同时为了减少IO的消耗,存在了一个全局缓存服务,因此每一个数据库的instance,都保留了一份相同的数据库cache。 RAC中的特点是:每一个节点的instance都有自己的SGA 每一个节点的instance都有自己的background process 每一个节点的instance都有自己的redo logs 每一个节点的instance都有自己的undo表空间所有节点都共享一份datafiles和controlfiles Oracle还提出了一个缓存融合的技术(Cache fusion) 目的有两个 1.保证缓存的一致性IXPUB技术博客 2.减少共享磁盘IO的消耗IXPUB技术博客因此在RAC环境中多个节点保留了同一份的DB CACHE 缓存融合(Cache fusion)工作原理: 1.其中一个节点会从共享数据库中读取一个block到db cache中 2.这个节点会在所有的节点进行交叉db block copy 3.当任何一个节点缓存被修改的时候,就会在节点之间进行缓存修改 4.为了达到存储的一致最终修改的结果也会写到磁盘上 ClusterWare组件 有四种Service Crsd - 集群资源服务 Cssd - 集群同步服务 Evmd - 事件管理服务 oprocd - 节点检测监控有三类Resource VIP - 虚拟IP地址(Virtual IP) OCR - Oracle Cluster Registry(集群注册文件),记录每个节点的相关信息 Voting Disk - Establishes quorum (表决磁盘),仲裁机制用于仲裁多个节点向共享节点同时写的行为,这样做是为了避免发生冲突。 RAC的组件 提供过了额外的进程,用来维护数据库 LMS - Gobal Cache Service Process 全局缓存服务进程 LMD - Global Enqueue Service Daemon 全局查询服务守护进程 LMON - Global Enqueue Service Monitor全局查询服务监视进程 LCK0 - Instance Enqueue Process 实例查询进程
1、1、调整数据结构的设计。这一部分在开发信息系统之前完成,程序员需要考虑是否使用ORACLE数据库的分区功能,对于经常访问的数据库表是否需要建立索引等。
2、2、调整应用程序结构设计。这一部分也是在开发信息系统之前完成,程序员在这一步需要考虑应用程序使用什么样的体系结构,是使用传统的Client/Server两层体系结构,还是使用Browser/Web/Database的三层体系结构。不同的应用程序体系结构要求的数据库资源是不同的。
3、3、调整数据库SQL语句。应用程序的执行最终将归结为数据库中的SQL语句执行,因此SQL语句的执行效率最终决定了ORACLE数据库的性能。ORACLE公司推荐使用ORACLE语句优化器(Oracle Optimizer)和行锁管理器(row-level manager)来调整优化SQL语句。
4、4、调整服务器内存分配。内存分配是在信息系统运行过程中优化配置的,数据库管理员可以根据数据库运行状况调整数据库系统全局区(SGA区)的数据缓冲区、日志缓冲区和共享池的大小;还可以调整程序全局区(PGA区)的大小。需要注意的是,SGA区不是越大越好,SGA区过大会占用操作系统使用的内存而引起虚拟内存的页面交换,这样反而会降低系统。
5、5、调整硬盘I/O,这一步是在信息系统开发之前完成的。数据库管理员可以将组成同一个表空间的数据文件放在不同的硬盘上,做到硬盘之间I/O负载均衡。
6、6、调整操作系统参数,例如:运行在UNIX操作系统上的ORACLE数据库,可以调整UNIX数据缓冲池的大小,每个进程所能使用的内存大小等参数。
实际上,上述数据库优化措施之间是相互联系的。ORACLE数据库性能恶化表现基本上都是用户响应时间比较长,需要用户长时间的等待。但性能恶化的原因却是多种多样的,有时是多个因素共同造成了性能恶化的结果,这就需要数据库管理员有比较全面的计算机知识,能够敏感地察觉到影响数据库性能的主要原因所在。另外,良好的数据库管理工具对于优化数据库性能也是很重要的。