RHEL 6.10 + Oracle 11.2.0.4 RAC 高可用集群部署指南

关闭透明大页(Transparent Huge Pages)

echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled

cat >> /etc/rc.local <<EOF

禁用透明大页

echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled exit 0 EOF

chmod +x /etc/rc.local


##### 2.5.14 验证安装目录及权限
```bash
ls -l /u01/
chown oracle:oinstall /soft
chmod 775 /soft

通过上述步骤,我们完成了Oracle Grid Infrastructure和数据库的环境准备。接下来需要进行Grid Infrastructure的软件安装与配置。

Oracle Grid Infrastructure 安装

准备安装包及环境变量设置

将Grid Infrastructure相关的安装文件上传到 /soft 目录中,并解压安装包:

su - oracle
unzip /soft/11.2.0.4_grid.zip -d /u01/app/oracle/downloads
chown -R grid:oinstall /u01/app/oracle/downloads/11.2.0/grid

# 切换到grid用户,设置环境变量并解压软件包
su - grid
export ORACLE_BASE=/u01/app/grid
export SOFTWARE_DIR=/u01/app/oracle/downloads/11.2.0/grid
cd $SOFTWARE_DIR
unzip /soft/11.2.0.4_grid.zip

执行Grid Infrastructure安装脚本

# 安装Oracle Grid Infrastructure,开始图形化界面或文本模式的配置
./grid/runInstaller -silent -responseFile /u01/app/grid/response/grid_install.rsp

# 在执行安装过程中遇到任何问题可以参考以下命令:
/u01/app/oraInventory/orainstRoot.sh
/u01/app/11.2.0/grid/root.sh

配置Oracle ASM和RAC网络服务

# 为ASM实例配置监听器
$ORACLE_HOME/bin/netca /silent /responseFile $SOFTWARE_DIR/config/domains/response/netca_typical.rsp

# 创建集群数据库监听器及连接描述符
$ORACLE_HOME/bin/crsctl start has

Oracle RAC 安装与配置

准备安装包

将Oracle Database Software上传到 /soft 目录,并解压:

su - oracle
unzip /soft/11.2.0.4_db.zip -d /u01/app/oracle/downloads
chown -R grid:oinstall /u01/app/oracle/downloads/database

# 切换到oracle用户,设置环境变量并解压软件包
su - oracle
export ORACLE_BASE=/u01/app/oracle
export SOFTWARE_DIR=/u01/app/oracle/downloads/database
cd $SOFTWARE_DIR
unzip /soft/11.2.0.4_db.zip

执行数据库安装脚本

# 安装Oracle Database,开始图形化界面或文本模式的配置
./database/runInstaller -silent -responseFile /u01/app/oracle/response/db_install.rsp

# 在执行安装过程中遇到任何问题可以参考以下命令:
/u01/app/oracle/product/11.2.0/dbhome_1/root.sh

网络配置与服务启动

确保所有网络配置正确且所有服务正常运行。使用以下命令检查服务状态:

# 检查CRS服务状态
crsctl stat res -t

# 启动Oracle ASM实例和数据库实例
$ORACLE_HOME/bin/asmca -silent -sysdba -local
$ORACLE_HOME/bin/dbca -silent -responseFile /u01/app/oracle/response/dbca.rsp

总结与验证

完成上述配置后,可以通过以下方式检查环境是否正确设置:

  • 使用 crsctl stat res 命令查看CRS服务状态。
  • 登录ASM实例并验证数据文件的创建和挂载情况。
  • 连接至数据库并执行简单的查询以确保一切正常。

通过以上步骤,我们已经完成了Oracle Grid Infrastructure和RAC环境的基本配置。后续可以进行更详细的测试、性能调优等工作,以满足生产环境中实际需求。

临时关闭 Transparent Huge Pages (THP)

可以通过以下命令临时禁用 THP 功能:

echo never &amp;gt; /sys/kernel/mm/transparent_hugepage/enabled
echo never &amp;gt; /sys/kernel/mm/transparent_hugepage/defrag

通过上述配置,系统将不会自动启用或尝试分配透明大页。这有助于提高数据库性能和稳定性。

永久关闭 Transparent Huge Pages (THP)

要使 THP 选项在每次启动时都失效,需要修改 GRUB 引导加载程序的配置文件。具体操作如下:

sed -i 's/^GRUB_CMDLINE_LINUX_DEFAULT=""/GRUB_CMDLINE_LINUX_DEFAULT="transparent_hugepage=never"/' /etc/default/grub

grub2-mkconfig -o /boot/grub2/grub.cfg

以上命令会将 transparent_hugepage=never 参数添加到 GRUB 的默认启动选项中,从而确保在系统启动时自动禁用 THP。

开机自启配置

为了进一步保证每次重启都能自动关闭 THP,可以将其命令写入开机脚本。具体操作如下:

chmod +x /etc/rc.d/rc.local
echo "echo never &amp;gt; /sys/kernel/mm/transparent_hugepage/enabled" &amp;gt;&amp;gt; /etc/rc.d/rc.local
echo "echo never &amp;gt; /sys/kernel/mm/transparent_hugepage/defrag" &amp;gt;&amp;gt; /etc/rc.d/rc.local

通过这种方法,THP 禁用命令会在每次系统启动时自动执行。

集群管理与维护命令

在集群环境下,管理员需要使用一系列核心命令来管理和维护 Oracle Real Application Clusters (RAC)。以下是一些常见的操作及其对应命令:

启动和停止数据库及集群资源

为了有效地控制 RAC 环境中的数据库实例和服务,需要使用 srvctlcrsctl 命令集。

  • 启动整个集群:

      crsctl start crs
  • 停止整个集群:

      crsctl stop crs
  • 启动数据库实例:

      srvctl start database -d &amp;lt;database_name&amp;gt;
  • 停止数据库实例:

      srvctl stop database -d &amp;lt;database_name&amp;gt;

查看集群资源状态

使用 crsctl 命令可以检查 RAC 环境中的所有资源配置和服务状态。

crsctl stat res -t

此命令输出详细的状态信息,包括资源名称、类型以及它们的当前状态和角色分配情况。

集群维护技巧

在集群管理中,有一些实用技巧可以帮助管理员更有效地执行日常任务:

  • 关闭顺序: 为了安全地关闭 RAC 环境中的数据库和服务,首先需要停止数据库实例,然后停止整个集群。具体命令如下:

      srvctl stop database -d &amp;lt;database_name&amp;gt;
      crsctl stop crs
  • 启动顺序: 当重新启动集群时,应先启动整个集群,随后由集群管理工具自动启动所有服务和数据库实例。

      crsctl start crs

核心日志路径

在 RAC 环境中查找关键的日志文件对于诊断问题非常有用。常见的日志位置包括:

  • Grid 日志:

      $ORACLE_HOME/log/&amp;lt;hostname&amp;gt;/
  • 数据库告警日志:

      $ORACLE_BASE/diag/rdbms/orcl/&amp;lt;instance_name&amp;gt;/trace/alert_&amp;lt;instance_name&amp;gt;.log

通过查阅这些日志文件,可以获取有关集群状态和潜在问题的详细信息。这有助于快速定位并解决系统异常情况。

RAC 参数修改

在需要更改 RAC 环境中的配置参数时,请使用以下命令确保所有数据库实例均生效:


ALTER SYSTEM SET parameter=value SID='*' SCOPE=SPFILE;
``

此语句将持久化指定的参数设置并在下次启动时应用。使用 SCOPE=SPFILE` 选项可以确保更改在重启后仍然有效,而不会影响当前会话或实例。

通过上述步骤和命令,您可以有效地管理 Oracle RAC 环境中的资源和服务,并优化集群性能。