Oracle 12cR1 Grid Infrastructure 安装指南之二(官方直译)

6.1Oracle Grid Infrastructure创建组用户和路径

登录为root然后使用以下说明为Oracle Grid Infrastructure查找或创建Oracle Inventory组和软件所有者.

6.1.1 确定Oracle InventoryOracle Inventory组是否存在

当您首次在系统上安装Oracle软件时, OUI将创建该oraInst.loc文件.该文件标识Oracle Inventory组的名称(默认情况下oinstall以及Oracle central Inventory目录的路径.一个oraInst.loc 文件的内容类似于以下内容:

inventory_loc = central_inventory_location

inst_group = group

在前面的示例中central_inventory_locationOracle central inventory的位置group是有权写入中央清单(OINSTALL系统特权的组的名称.

对于Oracle Grid Infrastructure安装, Oracle central Inventory必须位于节点上的本地存储上.

如果您有现有的Oracle central Inventory, 请确保您为所有Oracle软件安装使用相同的Oracle central Inventory 并确保您打算用于安装的所有Oracle软件用户都有权写入此目录.

要确定您的系统上是否有Oracle central Inventory (oraInventory) :

输入以下命令:

#more /etc/oraInst.loc

如果该oraInst.loc文件存在则此命令的输出与以下内容类似:

inventory_loc=/u01/app/oracle/oraInventory

inst_group=oinstall

在之前的输出示例中:

  • inventory_loc组显示Oracle Inventory的位置.
  • inst_group参数显示Oracle Inventory组的名称(在本例中oinstall) .

使用该命令grep groupname /etc/group确认指定为Oracle Inventory组的组仍然存在于系统中.例如:

$ grep oinstall /etc/group

oinstall:x:1000:grid,oracle

6.1.2创建Oracle Inventory组如果Oracle Inventory不存在

如果该oraInst.loc文件不存在则通过输入类似于以下内容的命令来创建Oracle Inventory:

#/usr/sbin/groupadd -g 54321 oinstall

上述命令将创建oinstallID编号为54321oraInventory.oraInventory组的成员被授予写入Oracle central Inventory (oraInventory的权限以及Oracle安装所有者用户的其他系统权限.

默认情况下如果oraInventory组不存在则安装程序会将Cluster软件的Oracle Grid Infrastructure的安装所有者的主要组列为oraInventory.确保该组可用作所有计划的Oracle软件安装所有者的主要组.

组和用户ID在群集中的所有节点上必须相同.请检查以确保您要使用的组和用户标识在每个Cluster成员节点上可用并确认群集安装所有者的每个Oracle Grid Infrastructure的主组具有相同的名称和组标识.

6.1.3创建Oracle Grid Infrastructure用户

在以下情况下您必须为Oracle Grid Infrastructure创建软件所有者:

  • 如果Oracle软件所有者用户不存在; 例如, 如果这是系统上第一次安装Oracle软件.
  • 如果存在Oracle软件所有者用户, 但希望使用具有不同组成员身份的其他操作系统用户, 则可以将Oracle Grid Infrastructure管理权限与Oracle数据库管理权限分开.

Oracle文档中创建为仅拥有Oracle Grid Infrastructure软件安装的grid用户称为用户.被创建为拥有所有Oracle安装或仅Oracle数据库安装的oracle用户称为用户.

6.1.3.1了解Oracle软件安装所有者的限制

查看为拥有Oracle软件而创建的用户的以下限制:

  • 如果你打算使用 Oracle建议您为Oracle Grid Infrastructure软件(Oracle Clusterware和Oracle ASM) 创建单独的软件所有者, 并使用该所有者运行Oracle Grid Infrastructure安装.
  • 安装期间, 必须在Cluster成员节点之间设置SSH.SSH可以由Oracle Universal Installer(安装程序) 自动设置.要自动设置SSH, 请创建Oracle安装所有者, 而不stty在其配置文件中包含任何命令, 并删除在生成向终端生成消息的登录期间触发的其他安全措施.这些消息, 邮件检查和其他显示会阻止Oracle软件安装所有者帐户使用内置于安装程序中的SSH配置脚本.如果它们未被禁用, 则必须在运行安装之前手动配置SSH.
  • 如果您计划安装Oracle数据库或Oracle RAC, 则Oracle建议您为Oracle Grid Infrastructure和Oracle Database安装创建单独的用户.如果您使用一个安装所有者, 那么当您想要执行管理任务时, 您必须更改$ORACLE_HOME要管理的实例的值(Oracle ASM, Oracle Grid Infrastructure home或Oracle主目录中的数据库) , 使用命令语法(如以下示例) , 其中/u01/app/12.1.0/grid是Oracle Grid Infrastructure home:

$ ORACLE_HOME=/u01/app/12.1.0/grid; export ORACLE_HOME

  • 如果您尝试在环境变量设置为不同的Oracle主目录或Grid主目录路径时使用sqlpluslsnrctlasmcmd命令来管理Oracle主目录或Grid主目录实例$ORACLE_HOME, 则会遇到错误.例如, 从数据库 home启动SRVCTL时, $ORACLE_HOME应将其设置为该数据库的主目录, 否则SRVCTL将失败.当您在Oracle Grid Infrastructure home中使用SRVCTL时是个例外.在这种情况下, 会$ORACLE_HOME被忽略, 并且Oracle主环境变量不会影响SRVCTL命令.在所有其他情况下, 您必须更改$ORACLE_HOME为您要管理的实例.
  • 要为不同的Oracle软件安装创建单独的Oracle软件所有者和单独的操作系统权限组, 请注意这些用户中的每一个都必须拥有Oracle中央清单组(oraInventory组) 作为其主要组.该组的成员被授予OINSTALL系统权限以写入Oracle中央 Inventory(oraInventory) 目录, 并且还授予各种Oracle Clusterware资源, OCR密钥, DBA需要写入访问的Oracle Clusterware主目录中的其他权限以及其他权限必要的特权.此组的成员还被授予执行权限以启动和停止Clusterware基础结构资源和数据库.在Oracle文档中, 该组oinstall以代码示例表示.
  • 每个Oracle软件所有者必须是同一中央 InventoryoraInventory组的成员, 并且他们必须将此组作为其主组, 以便所有Oracle软件安装所有者共享相同的OINSTALL系统特权.Oracle建议您没有多个用于Oracle安装的中央清单.如果Oracle软件所有者拥有不同的中央 Inventory组, 则可能会损坏中央 Inventory.

6.1.3.2确定Oracle软件所有者用户是否存在

要确定Oracle软件所有者用户是否已命名oraclegrid存在请输入类似于以下内容的命令(在此情况下确定是否oracle存在) :

#id oracle

如果用户存在则此命令的输出与以下内容类似:

uid = 1101(oracle) gid = 1000(oinstall) groups = 1200(dba) , 1104(oper)

确定您是要使用现有用户还是创建其他用户.您打算创建Cluster成员节点的每个节点上的用户和组ID号码必须相同.

如果您正在使用Oracle Preinstallation RPM调配您的Linux操作系统以进行Oracle Grid InfrastructureOracle Database安装那么它已经为您配置了Oracle数据库安装所有者(oracleOracle Inventory(oinstall) .和一个Oracle管理权限组(dba) .

要将现有用户用作此安装的安装所有者请确保用户的主要组是Oracle Inventory(oinstall) .

6.1.3.3创建或修改Oracle软件拥有者用户 针对Oracle Grid Infrastructure

如果Oracle软件所有者(oraclegrid用户不存在或者需要新的Oracle软件所有者用户则创建它.如果您要使用现有的用户帐户请对其进行修改以确保每个群集成员节点上的用户ID(UID) 和组ID(GID) 相同.

Oracle建议您不要在每个节点上使用默认User IDGroup ID因为默认情况下分配的UIDGID在每个节点上可能不同.相反在创建或修改组和用户之前确定具体命名和编号的UIDGID, 并确认它们在任何节点上都未使用.Oracle强烈建议您在开始安装之前确认您在打算创建Cluster成员节点的每个节点上具有相同的用户配置并且不需要更改UIDGID.如果您需要更改Oracle软件用户和组的UIDGID, 则必须重新安装软件.

Oracle不支持更改以前用于安装和配置Oracle RACOracle Grid Infrastructure的用户帐户的UIDGID或组成员资格.Oracle不支持将现有Oracle数据库主目录的所有权从一个Oracle用户更改为另一个用户.

如果先前安装Oracle Grid Infrastructure后必须修改现有Grid安装所有者(例如如果要在安装Oracle RAC之前修改现有Oracle数据库用户帐户以区分Oracle Grid Infrastructure所有者和Oracle RAC Oracle数据库所有者用户帐户) , 则必须在每个节点上(以滚动方式停止并启动Oracle Clusterware, 以获取对拥有Oracle Grid Infrastructure的用户帐户所做的更改.

以下过程grid用作Oracle软件所有者的名称并将asmadmin用作OSASM组名.要创建单独的系统特权组以分离管理特权请在创建用户之前完成组创建6.1.7关于作业角色分离操作系统特权组和用户中所述.

  1. 要创建具有现有系统特权组的Grid安装所有者帐户(在本例中为dba) , 其成员要授予SYSASM特权以管理Oracle ASM实例, 请输入与以下内容类似的命令:

2.  #/usr/sbin/useradd -u 54322 -g oinstall -G dba grid

在前面的命令中:

o    -u选项指定用户标识.使用此命令标志是可选的因为您可以让系统为您提供自动生成的用户标识号.但是, Oracle建议您指定一个数字.您必须记下为Oracle Grid Infrastructure创建的用户的用户标识号因为您需要在 Preinstallation 的过程中稍后使用它.您必须在群集的所有节点上为此用户使用相同的用户ID.

o    -g选项指定主组它必须是Oracle Inventory.例如oinstall.

o    -G选项指定了辅助组在本例中为dba.

辅助组必须包含OSASM其成员被授予管理Oracle ASM实例的SYSASM特权.您可以为SYSASM系统特权指定一个独特的组与数据库管理员组分开或者可以将一个组指定为OSASMOSDBA以便该组的成员被授予SYSASMSYSDBA特权以授予系统特权来管理Oracle ASM实例和Oracle数据库实例.在代码示例中这个组是asmadmin.

如果要创建此用户以拥有Oracle Grid InfrastructureOracle数据库安装则该用户必须将OSDBA作为ASM组作为辅助组.在代码示例中这个组名是asmdba.OSDBAASM组成员可以访问Oracle ASM存储.如果您计划使多个数据库访问Oracle ASM存储或者必须为所有数据库使用与OSDBA相同的组并为OSDM使用ASM则必须为ASM组创建OSDBA.安装期间还会提示您为其他几个Oracle数据库系统管理权限分配操作系统组.

使用该usermod命令更改现有的用户ID号和组.

例如:

#id oracle

uid = 1101(oracle) gid = 1000(oinstall) groups = 1200(dba)

#/usr/sbin/usermod -u 54321 -g 54321 -G 54322, 54327 oracle

#id oracle

uid = 54321(oracle) gid = 54321(oinstall) groups = 54321(oinstall) , 54322(dba) , 54327(asmdba)

  1. 设置将拥有Oracle Grid Infrastructure的用户的密码.例如:

#passwd grid

  1. 在群集中的所有其他节点上重复此过程.

6.1.4关于Grid用户的Oracle基本目录

Oracle Grid Infrastructure安装的Oracle基本目录是存储诊断和管理日志以及与Oracle ASMOracle Clusterware相关的其他日志的位置.对于群集的Oracle Grid Infrastructure以外的Oracle安装它也是放置Oracle主目录的位置.

但是对于Oracle Grid Infrastructure安装您必须创建不同的路径以便Oracle基本路径可用于其他Oracle安装.

为了OUI识别Oracle基本路径它必须采用u [ 00-99 ] [00-99]/app的形式并且它必须可由oraInventory(oinstall组的任何成员写入.Oracle基础的OFA路径是u [00-99] [00-99] /app/user其中user是软件安装所有者的名称.例如:

/u01/app/grid

6.1.5关于Oracle Grid Infrastructure软件的Oracle主目录

Oracle Grid Infrastructure软件(Grid home) Oracle主目录应位于与任何其他Oracle软件的Oracle主目录路径不同的路径中.Grid HomeOptimal Flexible Architecture指南是创建一个pm/v/u形式的路径其中/ p是一个字符串常量,/m是一个唯一的静态长度密钥(通常是两位数字) , /v是该软件的版本,/uOracle Grid Infrastructure软件(Grid用户的安装所有者.在用于Cluster安装的Oracle Grid Infrastructure期间, Grid主目录的路径将更改为root 用户因此任何其他用户都无法读取写入或执行该路径中的命令.

例如要以标准装载点路径格式u [00-99] [00-99]/app/release/grid 创建Grid主目录其中releaseOracle Grid Infrastructure软件的版本号请创建以下路径:

/u01/app/12.1.0/grid

在安装过程中, Grid主目录的整个路径的所有权更改为root.(/u01/u01/app/u01/app/12.1.0/u01/app/12.1.0/grid) .如果您没有创建Grid主站的唯一路径则在安装Grid您可能会遇到其他安装的权限错误包括同一路径下的任何现有安装.

为避免将应用程序目录置于以root身份拥有的装入点中可以为Grid主目录创建并选择以下路径:

/u01/12.1.0/grid

6.1.6创建Oracle HomeOracle基本目录

Oracle建议您手动创建Oracle Grid Infrastructure Grid homeOracle base home系列尤其是在您为ClusterOracle数据库软件所有者单独使用Oracle Grid Infrastructure以便您可以单独将Oracle Grid Infrastructure安装所有者的日志文件分开Oracle base, 并防止在Oracle base路径下意外放置Grid home.

例如:

mkdir -p /u01/app/12.1.0/grid

mkdir -p /u01/app/grid

mkdir -p /u01/app/oracle

chown -R grid:oinstall /u01

chown oracle:oinstall /u01/app/oracle

chmod -R 775 /u01/

6.1.7关于作业角色分离操作系统权限组和用户

Oracle数据库和Oracle ASM的作业角色分离配置是一种配置其中组和用户为操作系统身份验证提供单独的组.

通过Oracle数据库作业角色分离每个Oracle数据库安装都具有单独的操作系统组以便为该Oracle数据库上的系统特权提供身份验证因此可以在群集上安装多个数据库而无需共享系统权限的操作系统身份验证.此外每个Oracle软件安装都由单独的安装所有者拥有以提供操作系统用户身份验证以修改Oracle数据库二进制文件.请注意任何Oracle软件所有者都可以启动和停止所有数据库并共享Oracle Grid Infrastructure资源例如Oracle ASM或虚拟IP(VIP) .作业角色分离配置启用数据库安全性并且不限制用户角色启动和停止各种Clusterware资源.

借助Oracle Grid Infrastructure作业角色分离功能, Oracle ASM具有单独的操作系统组可为存储层管理的Oracle ASM系统特权提供操作系统身份验证.此操作系统身份验证与Oracle数据库操作系统身份验证分开.另外, Oracle Grid Infrastructure安装所有者提供操作系统用户身份验证以修改Oracle Grid Infrastructure二进制文件.

Oracle数据库安装期间, Oracle Universal Installer(OUI) 会提示您指定OSDBA, OSOPER, OSBACKUPDBA, OSDGDBAOSKMDBA组的名称.这些组的成员被授予对每组授权的数据库系统权限集的操作系统身份验证.Oracle建议您为每组系统权限创建不同的操作系统组.

您可以选择创建一个管理用户和一个用于存储层和数据库层的所有系统权限的操作系统身份验证组.

例如您可以指定oracle用户为所有Oracle软件的安装所有者并指定oinstall为其成员被授予Oracle Clusterware所有系统特权的组; Oracle ASM的所有系统权限服务器上所有Oracle数据库的所有系统特权以及安装所有者的所有OINSTALL系统权限.该组还必须是Oracle Inventory.

如果您不想使用角色分配组Oracle强烈建议您至少使用两组:

  • 系统特权组, 其成员被授予管理系统特权, 包括OSDBA, OSASM和其他系统特权组.
  • 安装所有者组(oraInventory组) , 其成员被授予Oracle安装所有者系统特权(OINSTALL系统特权) .

为了简化群集验证实用程序等Oracle工具的默认设置如果确实选择使用单个操作系统组来授予所有系统特权并且有权写入oraInventory, 那么该组名称应该是oinstall.

6.1.8作业角色分离组和用户的描述

本节包含以下主题:

6.1.8.1每个Oracle软件产品的Oracle软件所有者

Oracle建议您创建一个软件所有者以拥有每个Oracle软件产品(通常oracle为数据库软件所有者用户和grid Oracle Grid Infrastructure) .

首次在系统上安装Oracle软件时您必须创建至少一个软件所有者.此用户拥有Oracle Grid Infrastructure软件的Oracle二进制文件您也可以让此用户成为Oracle数据库或Oracle RAC二进制文件的所有者.

Oracle软件所有者必须将Oracle Inventory组作为其主组以便每个Oracle软件安装所有者都可以写入中央清单(oraInventory) , 以便正确设置OCROracle Clusterware资源权限.数据库软件所有者还必须将OSDBA组和(如果您创建它们) OSOPER, OSBACKUPDBA, OSDGDBAOSKMDBA组作为辅助组.Oracle文档中当引用Oracle软件所有者用户时他们被称为oracle用户.

Oracle建议您创建单独的软件所有者用户以拥有每个Oracle软件安装.Oracle特别建议如果您打算在系统上安装多个数据库请执行此操作.

Oracle文档中创建拥有Oracle Grid Infrastructure二进制文件的grid用户称为用户.该用户拥有Oracle ClusterwareOracle自动存储管理二进制文件.

6.1.8.2用于工作角色分离的标准Oracle数据库组

以下是标准Oracle数据库组的列表.这些组为数据库管理系统权限提供操作系统身份验证:

  • OSDBA(通常dba)

首次在系统上安装Oracle数据库软件时您必须创建此组.该组标识具有数据库管理权限的操作系统用户帐户(SYSDBA权限) .如果您没有为Oracle ASM实例创建单独的OSDBA, OSOPEROSASM则具有SYSOPERSYSASM权限的操作系统用户帐户必须是该组的成员.Oracle代码示例中用于该组的名称是dba.如果您没有将单独的组指定为OSASM则您定义的OSDBA组也默认为OSASM.

要指定默认dba组以外的组名您必须选择高级安装类型来安装软件或者以不属于该组成员的用户身份启动Oracle Universal Installer(OUI) .如果您使用不是所调用组的成员的用户启动OUI dbaOUI会提示您指定OSDBA组的名称.

以前, OSDBA组的成员被授予Oracle ASM实例的SYSASM特权包括挂载和卸载磁盘组.如果将不同的操作系统组指定为OSDBAOSASM则使用Oracle Grid Infrastructure 11g2​​(11.2) 删除此特权授予.如果同一组用于OSDBAOSASM, 则保留特权.

  • 用于Oracle数据库的OSOPER(通常为oper)

如果您希望单独的一组操作系统用户拥有有限的数据库管理权限以启动和关闭数据库(SYSOPER权限) , 则可以选择创建此组.

6.1.8.3用于工作角色分离的扩展Oracle数据库组

Oracle Database 12 c Release 1(12.1) 开始除了启动和关闭数据库的OSOPER权限外还可以创建新的管理权限这些权限比OSDBA/SYSDBA系统权限更具特定任务和权限支持日常数据库操作所需的特定管理权限任务授予这些系统权限的用户也可以通过操作系统组成员资格进行身份验

您不必创建这些特定的组名但在安装过程中会提示您提供操作系统组其成员有权访问这些系统特权.您可以分配相同的组来为这些权限提供身份验证Oracle建议您提供一个唯一的组来指定每个权限.

OSDBA子集作业角色分离特权和组由以下部分组成:

  • Oracle数据库的OSBACKUPDBA(通常为backupdba)

如果您希望单独的一组操作系统用户拥有一组有限的数据库备份和恢复相关管理权限(SYSBACKUP特权) , 请创建此组.

  • 用于Oracle Data GuardOSDGDBA(通常dgdba)

如果希望单独的一组操作系统用户拥有一组有限的特权来管理和监视Oracle Data Guard(SYSDG特权) , 请创建此组.

  • 用于加密密钥管理的OSKMDBA(通常kmdba)

如果希望单独的一组操作系统用户拥有一组有限的加密密钥管理权限(Oracle Wallet Manager管理(SYSKM权限) ) , 请创建此组.

6.1.8.4 用于工作角色分离的Oracle ASM

用于ASMSYSASM, SYSOPER和用于ASM系统特权的SYSDBA可以将Oracle ASM存储管理权限与SYSDBA分离.您指定的操作系统成员被授予这些角色的系统特权.选择不同的操作系统组作为Oracle ASM特权的操作系统认证组.

在启动OUI之前Oracle ASM创建以下操作系统组和用户其成员被授予相应的SYS权限:

  • OSASM Group for Oracle ASM管理(通常asmadmin)

如果要为Oracle ASMOracle数据库管理员分别设置管理权限组请将该组作为单独的组创建.该组的成员被授予SYSASM系统特权来管理Oracle ASM.Oracle文档中其成员被授予权限的操作系统组称为OSASM在代码示例中如果有专门为创建此权限而创建的组则称为OSASMasmadmin.

Oracle ASM可以支持多个数据库.如果您的系统上有多个数据库并且使用多个OSDBA以便可以为每个数据库提供单独的SYSDBA权限则应创建一个组其成员被授予OSASM/SYSASM管理权限并创建一个Grid基础结构用户grid不拥有数据库安装以便将Oracle Grid Infrastructure SYSASM管理权限与数据库管理权限组分开.

OSASM组的成员可以使用SQL通过操作系统身份验证以SYSASM身份连接到Oracle ASM实例.SYSASM权限允许装入和卸除磁盘组以及其他存储管理任务.SYSASM权限不提供RDBMS实例的访问权限.

  • 通常, OSDBA用于ASM数据库管理员组asmdba)

ASM数据库管理员组(OSDBA for ASM) 的成员被授予对由Oracle ASM管理的文件的读写访问权限.Oracle Grid Infrastructure安装所有者和所有Oracle数据库软件所有者必须是该组的成员并且具有访问由Oracle ASM管理的文件的数据库的OSDBA成员身份的所有用户都必须是ASMOSDBA组的成员.

  • 用于ASM操作员的ASM组的 OSOPER(通常用于ASM的OSOPER asmoper)

这是一个可选组.如果希望单独的一组操作系统用户拥有有限的一组Oracle ASM实例管理权限(SYSOPER for ASM权限) , 包括启动和停止Oracle ASM实例请创建此组.默认情况下, OSASM组的成员也具有SYSOPER for ASM特权授予的所有特权.

要使用Oracle ASM Operator组创建比默认asmadmin组的权限更少的Oracle ASM管理员组则必须选择高级安装类型来安装软件.在这种情况下, OUI会提示您指定该组的名称.在代码示例中这个组是asmoper.

6.1.9创建作业角色分离操作系统特权组和用户

以下各节介绍如何为Oracle Grid InfrastructureOracle Database创建所需的操作系统用户和组:

6.1.9.1创建OSDBA组以准备数据库安装

如果您打算安装Oracle数据库以与Oracle Grid Infrastructure安装配合使用则必须在下列情况下创建OSDBA:

  • 一个OSDBA组不存在; 例如, 如果这是系统上第一次安装Oracle数据库软件
  • OSDBA组存在, 但您希望为新的Oracle数据库安装提供不同组的操作系统用户数据库管理权限

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值