原文地址:http://www.oracle.com/technetwork/cn/tutorials/229106-zhs.htm#t1
目的
本教程将介绍如何为独立服务器安装 Grid Infrastructur、配置 Oracle Restart、将 ASM 实例的 SPFILE 移入 ASM 磁盘组中。
大约 1 个小时
本教程包括下列主题:
概述 | ||
情景 | ||
前提条件 | ||
准备安装 Grid Infrastructure | ||
总结 | ||
相关信息 |
查看屏幕截图
将光标置于此图标上以加载和查看本教程的所有屏幕截图。(警告:因为此操作会同时加载所有屏幕截图,所以网速较慢时,响应时间可能会比较长。)
注:此外,您还可以在下列步骤中将光标放在每个单独的图标上,从而仅加载和查看与该步骤相关的屏幕截图。
本教程介绍如何为独立服务器安装 Oracle Grid Infrastructure。在 Oracle 11g 第 2 版中,Grid Infrastructure 是使用 Automatic Storage Management (ASM) 和 Oracle Restart 所必需的。
本教程包括:
所需的安装前任务,
使用 Oracle Universal Installer (OUI) 进行安装,
将 Grid Infrastructure 与预先存在的数据库安装集成起来的安装后任务
实施 Oracle Restart
将 ASM 实例的 SPFILE 移入 ASM 磁盘组中。
注: 最佳做法的是在安装数据库之前安装 Grid Infrastructure。安装 Grid Infrastructure 之后,创建数据库和监听器时已经自动将它们注册到 Oracle Restart 中。
情景
本教程的编写是为了在 VM 环境中运行,因此已经安装了 Oracle 数据库 11g 第 2 版。为了使单独的服务器可以利用 ASM、ASM 集群文件系统 (ACFS) 和 Oracle Restart,必须安装 Grid Infrastructure。可以在未格式化的磁盘分区上创建 ASM。可以在一个单独的服务器或集群上使用 ACFS 作为通用文件系统。Oracle Restart 管理数据库、ASM 和监听器之间的相关性,以便在这些资源发生故障时重启它们;在重新启动时 Oracle Restart 也会启动这些资源。
开始学习本教程之前,您应该了解以下内容:
1. | OS 用户 oracle 是安装 Oracle 数据库软件的用户,oracle 用户有一个主要组 oinstall,还有一个辅助组 dba。 | |
2. | 如果您要将 Oracle VM 模板用于 Oracle 数据库 11gR2 OBE,则软件临时存放在 /stage/clusterware/ 中。您将使用位于 /stage/clusterware/Disk1/runInstaller 中的 Oracle Universal Installer。 注: 集群件目录的名称将随着 11gR2 的生产版改为 grid。 如果您没有将 Oracle VM 模板用于 Oracle 数据库 11gR2 OBE,则需要从您的软件目录访问 runInstaller。 | |
3. | 存在未格式化的磁盘分区,可以将其标记为 ASM 磁盘并组成 ASM 磁盘组。 本教程使用 4 个 500 MB 的驱动器。(这个大小会限制 ASM 上可存放的文件数量,例如,该大小妨碍了数据库向 ASM 的迁移。)在本教程中,这些驱动器分别命名为 /dev/sdc、/dev/sdd、dev/sde 和 /dev/sdf。 | |
4. | 已经安装了适用于您的 linux 版本的 asmlib rpm。参见位于 http://www.oracle.com/technetwork/cn/server-storage/linux/downloads/default-150441-zhs.html Oracle 技术网站的说明,下载并安装您的 Linux 版本对应的 rpm 版本。 | |
5. | 将 gi_inst.zip 文件(包含执行该教程示例所需文件)下载并解压缩到工作目录中。 |
Oracle 数据库 11g 第 2 版引进了新的 Grid Infrastructure Oracle 主目录,其中包括 Oracle Restart 和 Oracle Automatic Storage Management(ASM)。为实施 ASM,必须安装 Grid Infrastructure。ASM 需要将未格式化的分区用作 ASM 磁盘并将其组成 ASM 磁盘组。
在本主题中,对 ASM 要使用的磁盘进行分区,然后使用 oracleasm 对 ASM 识别的磁盘进行标识。
对磁盘进行分区 | ||
使用 oracleasm 对 ASM 磁盘进行标识 |
要对磁盘进行分区,执行以下步骤:
1. | 打开一个终端窗口,更改为 root OS 用户。使用 su - root 命令
|
2. | 作为 root 用户,确定可用分区。以下命令显示该 OS 能识别的所有分区。 cat /proc/partitions |
3. | 确定要对哪些设备进行分区。对 /dev/sdc、/dev/sdd、/dev/sde、/dev/sdf 中的每个磁盘使用 fdisk <设备名> 命令,并按屏幕截图所示指定值 |
4. | 检查是否存在期望的分区。应该存在名为 /dev/sdc1、/dev/sdd1、/dev/sde1 和 /dev/sdf1 的分区。使用以下命令进行检查 cat /proc/partitions |
要对 ASM 使用的磁盘进行标识,执行以下步骤:
1. | 作为 root 用户,使用以下命令配置 oracleasm oracleasm configure -i 按照屏幕截图所示来回答系统提示。
|
2. | 使用 oracleasm init 命令对 asmlib 进行初始化。该命令加载 oracleasm 模块并挂载 oracleasm 文件系统。
|
3. | 使用 oracleasm createdisk <磁盘名> <设备名> 命令为每个磁盘创建 ASM 磁盘标签。 在本教程中,将磁盘分别命名为 DATA1、DATA2、DATA3 和 DATA4,如屏幕截图所示。
|
4. | 使用 oracleasm listdisks 命令检查是否可以看到这些磁盘。
|
5. | 使用以下命令检查这些磁盘是否已经挂载到 oracleasm 文件系统中 ls -l /dev/oracleasm/disks
|
在本主题中,您将 Grid Infrastructure 安装到一个单独的主目录中。这个单独的主目录是 Grid Infrastructure 所要求的。您将从临时存放集群件软件的目录中使用 Oracle Universal Installer。
配置 EM Database Control 以管理 ASM |
要为单个服务器安装 Grid Infrastructure,执行以下步骤:
1. | 以名为 oracle 的 OS 用户身份打开一个终端窗口。这是一个将拥有 Grid Infrastructure 安装的用户。将目录修改为临时存放集群件软件的位置。 cd /stage/clusterware/Disk1
|
2. | 使用以下命令启动安装程序 ./runInstaller
|
3. | 在安装程序的第一个屏幕中,选择 Install and Configure Grid Infrastructure for a Standalone Server。单击 Next。
|
4. | 在 Select Product Languages 屏幕中,选择该安装中应支持的语言。对本教程,单击 Move All 按钮以选择所有可用的语言。单击 Next。
|
5. | 在 CreateASMDiskGroup 屏幕中,
|
6. | 在 Specify ASM Password 页面中,
|
7. | 在 Privileged Operating System Groups 页面中,将每个组都设置为 dba。
注:这些组不考虑工作角色区分。对本教程,假定数据库 DBA 和 ASM 的管理员是同一个人,或者具有完全相同的权限。将显示一个警告屏幕。单击 Yes。
|
8. | 在 Specify Installation Location 页面中,将显示数据库主目录的位置
注:必须将 Grid Infrastructure 安装在单独的主目录中,与数据库分开
|
9. | 显示 Perform Prerequisite Check 页面,完成这些检查。
可能会收到一个失败的 RunLevel。这没有问题。选中 Ignore All 复选框,然后单击 Next。
在 Summary 页面中,显示了所有安装设置。单击 Finish 完成安装。
|
10. | Setup 页面显示安装进度。
|
11. | 将显示 Finish 页面,其中包含消息“The installation of Oracle Grid Infrastructure for single Server was successful”,单击 Close
|
要配置 EM Database Control 使其管理 ASM,执行以下步骤:
1. | 要在 Enterprise Manager Database Control 中管理 ASM 实例,必须将 ASM 实例配置为目标。配置 ASM 目标时,必须为 ASM 监听器提供端口。默认情况下,Grid Infrastructure 会在 1521 端口上安装一个监听器,并对 ASM 实例进行配置使其使用该监听器。在本教程中,已经安装了数据库,1521 端口上已经有一个监听器,因此,Grid Infrastructure 将监听器安装在 1522 端口,并且 ASM 实例被注册到该网格监听器上。 在一个终端窗口中,作为 oracle OS 用户,通过以下命令启动 EM Database Control。如果控制台已经运行,该命令将返回“An instance of Oracle Enterprise Manager 11g Database Control is already running.” emctl start dbconsole
|
2. | 查看 EM Database Control 主页。调用浏览器并输入下面的 URL https://host01.example.com:1158/em 登录页面显示后,请输入:
显示数据库实例主页:您会看到最左边一列的 Listener 下面预期的位置中缺少 ASM 目标。
|
3.. | 在 EM Database Control 中配置 ASM 目标。
|
4 | 在 Migrate Database to ASM :ASM Instance 页面中,将 ASM 实例配置为一个目标。
|
5. | 在 Migrate Database to ASM :Migration Options 页面中,单击 Cancel。
|
6. | 在 ASM 实例的 DATA 磁盘组中创建名为 test 的表空间,它含有名为 test01.dbf 的数据文件。 1. 在 Server 页面的 Storage 部分中,单击 Tablespaces
2. 在 Tablespaces 页面中,单击 Create。
3. 在 Create Tablespace 页面中,
4. 在 Add Datafile 页面中
5. 在 Create Tablespace 页面中,单击 OK。
6. 在 Tablespaces 页面中,确认已经创建了 TEST 表空间。在搜索域中输入 TEST,然后单击 Go。
7. 该表空间已创建,显示在列表中。
|
7. | 在一个终端窗口中,作为 oracle OS 用户,分别使用以下命令停止和重新启动 EM Database Control。 emctl stop dbconsole emctl start dbconsole
|
8. | 使用以下 URL 查看 EM 数据库实例主页 https:host01.example.com:1158/em 确认该 ASM 实例现在作为目标列出。
关闭浏览器。 |
在本主题中,您会启用一些网格基础架构特性。执行以下任务:
启用 Oracle Restart | ||
将 ASM spfile 移至 ASM 存储 |
要启用 Oracle Restart,执行以下步骤:
1. | 使用以下命令停止 EM Database Control emctl stop dbconsole
|
2. | 确定哪些组件正在运行。使用 pgrep -lf <string> 命令完成此操作。
|
3. | 使用以下命令关闭数据库实例 sqlplus / as sysdba SQL> shutdown immediate SQL> exit
|
4. | 使用以下命令停止监听器 lsnrctl stop
|
5. | 在终端窗口中,以 oracle 用户身份使用 . oraenv 将环境设置为使用 ASM 主目录,当系统提示时,输入 ORACLE_SID +ASM。
|
6. | 在同一个终端窗口中,关闭 ASM 实例 sqlplus / as sysasm SQL> shutdown immediate SQL> exit
|
7. | 在同一个终端窗口中,使用以下命令停止为 ASM 实例配置的监听器: lsnrctl stop
|
8. | 标准 OBE 环境会通过 dbora 服务自动启动数据库。如果您曾经下载过该 OBE 并且配置了您自己的环境,可能不存在 dbora 服务。作为 root 用户,使用以下命令删除 dbora 服务: su - root chkconfig --del dbora 使用 --list 选项确定是否已经配置 dbora 服务 chkconfig --list dbora
|
9. | 现在,所有 Oracle 相关的进程均已停止,重启计算机 在终端窗口中,作为 root 用户使用 reboot 命令 reboot
|
10. | 连接到该计算机并登录 作为 oracle 用户,可以运行任何 Oracle 相关进程。使用 pgrep -lf 命令进行检查。从数据库主目录启动的监听器是唯一一个正在运行的 Oracle 相关进程 pgrep -lf orcl pgrep -lf ASM pgrep -lf tns
|
11. | 使用 crsctl 命令启用 Oracle Restart 以便自动启动注册的组件。必须从网格的 ORACLE_HOME 目录(与 ASM 主目录相同)运行该命令。您可以像下面显示的那样运行 oraenv 来进行这一设置,并将 ORACLE_SID 设置为 +ASM。 . oraenv crsctl enable has
|
12. | 尝试使用 crsctl 实用工具启动 Oracle Restart。该操作失败,因为 ohasd 进程已经运行。在 Grid Infrastructure 安装期间,已将该进程配置为启动时自动重启。 crsctl start has
|
13. | 使用以下命令从 Oracle Restart 配置中删除网格基础架构监听器:
|
14. | 更改网格基础架构监听器的名称。如果两个监听器都将在 Oracle Restart 中进行注册,默认监听器的名称 LISTENER 不能与数据库监听器的名称相同。
|
15. | 使用以下命令将网格基础架构监听器添加到 Oracle Restart 配置中:
|
16. | 在 Oracle Restart 中重新配置 asm 数据库,使其对 LISTENERASM 有依赖关系。使用下面所列的命令。检查当前配置,使用配置中显示的值修改 asm 数据库。确保使用您的 spfilename。
|
17. | 启动 oracle 网格组件:监听器和 asm,然后检查 +ASM 实例和 LISTENERASM 是否正在运行。因为它们都是在 Oracle Restart 中配置的,所以使用一个命令
|
18. | 启动 oracle 数据库组件:监听器、数据库实例和 EM Database Control。
|
19. | 针对 orcl 数据库实例启用 Oracle Restart
|
20. | 将数据库监听器注册到 Oracle Restart 中。
|
21. | 在终端窗口中,作为 oracle OS 用户,使用以下命令启动数据库 srvctl start database -d orcl |
22. | 作为 root 用户,使用以下命令重新启动计算机 su - root reboot |
23. | 使用 pgrep 命令观察自动启动的 oracle 组件:
使用以下命令检查 EM Database Control 的状态
因为 EM 数据库未包括在 Oracle Restart 中,因此必须手动启动。 |
1. | 只要 ASM 实例处于活动状态,始终都要使用它的 SPFILE。实例处于活动状态的同时,可以使用 spcopy 命令复制 SPFILE。spcopy 命令不会更改目前所使用的 SPFILE 副本。spmove 命令会更改 Oracle Restart 的配置,因此下次启动时将使用目标 SPFILE 并且尝试删除源 SPFILE。要移动 SPIFLE,必须停止 ASM 实例,这意味着必须停止使用该 ASM 磁盘组的所有实例。 使用 srvctl 命令停止数据库和 asm 磁盘组;
|
2. | 使用以下命令检查 asm 实例的配置,确定 SPFILE 的当前位置
|
3. | 将 ASM 实例的 SPFILE 从 ASM 文件中移出。默认情况下,安装 Grid Infrastructure 时会在 ASM 磁盘组中创建 ASM 的 SPFILE。要将 SPFILE 移出磁盘组并移入文件系统中,使用 ASMCMD 命令 spmove。ASMCMD 实用工具要求设置 ASM 环境。 . oraenv
asmcmd ASMCMD> spmove +DATA/spfile.ora /u01/app/grid/product/11.2.0/grid/dbs/spfile+ASM.ora
|
4. | 为了使用新位置的 SPFILE,需要停止和重启 ASM 实例。使用 ASMCMD 命令 shutdown 和 startup。 ASMCMD> shutdown ASMCMD> startup
ASMCMD> mount DATA
|
5. | 使用 spget 命令检索在 Oracle Restart 中注册的 SPFILE 的位置。 ASMCMD> spget ASMCMD> exit
|
6. | 使用 SQL*Plus 命令查找 SPFILE 的当前位置。连接到 ASM 实例“as SYSASM” sqlplus / as SYSASM SQL> select sys_context('sys_cluster_properties','asm_spfile') from dual;
|
7. | 使用以下 SQL*Plus 命令将 SPFILE 移入 ASM 磁盘组中 SQL> create SPFILE = '+DATA/spfile.ora' from memory;
|
8. | 重新启动 ASM 实例以使用新的 SPFILE。 SQL> shutdown immediate SQL> startup SQL> select sys_context('sys_cluster_properties','asm_spfile') from dual; SQL> exit
|
9. | 重新启动 orcl 实例,并使用以下命恢复其状态 srvctl start database -d orcl |
至此,Grid Infrastructure 已经进行了相应的配置,可以开始学习管理 ASM 集群文件系统 (ACFS) 教程了。请转至对应的教程,完成后再返回这里进行环境清理。
要使 OBE 环境回到与本练习开始时相同的状态,执行以下步骤:
1. | 在终端窗口中,以 oracle 用户身份在设置 orcl 实例的环境中停止 EM Database Control,并使用以下命令取消配置 /home/oracle/wkdir/gi_inst/deconfigem.sh
|
2. | 从数据库实例 orcl 中删除 ASM 中存储的对象。 /home/oracle/wkdir/gi_inst/rmasmobj.sh
|
3. | 运行 deinstall_gi.sh 脚本,从 Oracle Restart 配置中删除数据库和数据库监听器。 /home/oracle/wkdir/gi_inst/deinstall_gi.sh 您将收到 4 个提示。 第一个提示是“Specify all Oracle Restart enabled listeners that are to be de-configured [LISTENERASM]:”输入回车。 第二个提示是:“De-configuring ASM will drop all the diskgroups and it's contents at cleanup time.This will affect all of the databases and ACFS that use this ASM instance(s). 第三个提示是:“Do you want to continue (y - yes, n - no)?[n]:”输入 y。 系统将提示您以 root 用户身份运行一个或多个脚本以完成卸载。出现提示后,打开一个终端,使用 su - root 命令更改为 root。在卸载脚本窗口中,剪切命令并粘贴到 root 窗口,然后执行命令。 |
4. | 以 root 用户身份运行以下脚本 su - root /home/oracle/wkdir/gi_inst/cleanup_root.sh exit
|
5. | 以 oracle OS 用户身份,使用以下命令重新配置 EM Database Control: /home/oracle/wkdir/gi_inst/reconfigem.sh
|
在本教程中,您学习了如何:
为 Grid Infrastructure 安装准备存储设备 | ||
安装 Grid Infrastructure | ||
启用 Oracle Restart |
要了解有关 Grid 安装和 ASM 的更多信息,可以参考:
OTN Web 站点上的其他 OBE。 |
将光标置于该图标上可以隐藏所有的屏幕截图。