Oracle 数据库云服务器命令参考

第 2 部分:命令类别、配置和基本命令

作者:Arup Nanda


了解各种不同的命令类别以及在全新数据库云服务器开机之后要进行哪些工作。

> 返回系列目录

(本指南用于培训:旨在推动从 DBA 到 DMA 的转变,为培训 DMA 提供快速参考。它无意替代 Oracle 提供的官方手册或其他文档。本指南中的信息未经 Oracle 验证,不受 Oracle 支持,您在使用时只能风险自负。)

第 1 部分,您了解了数据库云服务器的组成及其各种组件。图 1 再次显示这些不同组件,以及在每个组件中使用的命令类型。

exadata-commands-p2f1
图 1 命令类别

  • Linux 命令 — 先介绍最底层的组件:单元磁盘。在上一部分中您已了解到,单元磁盘是物理磁盘。必须对它进行分区才能用于 ASM 和常规文件系统。在这里可应用常规的磁盘管理命令,如 fdisk。存储单元是 Linux 服务器;因此可以在这里执行所有常规 Unix 服务器管理任务(如 shutdown、ps 等)。(若要温习 Linux 命令,可查看我的有关高级 Linux 命令的共五部分的系列文章。)
  • CellCLI — 让我们转向软件的下一层级:Exadata Storage Server。为管理这一层级,Oracle 提供了一个命令行工具:CellCLI (Cell Command Line Interpreter)所有与单元有关的命令都通过 CellCLI 输入执行。
  • DCLI — CellCLI 命令的作用范围是其运行所在的单元,不包括其他单元。有时您可能需要从一个命令提示符对多个单元执行命令,例如关闭多个节点。为此提供了另一个命令行工具:DCLI。
  • SQL — 当单元磁盘可用于数据库节点之后,其余的工作就与一般 Oracle RAC 数据库中的情况类似了,可以使用您每天都在使用的语言:SQL。SQL*Plus 是许多 DBA 使用的接口。您还可以使用其他接口,如 Oracle SQL Developer。如果您有 Grid Control,那么许多命令您甚至都不需要记,它们全是基于 GUI 的。
  • ASMCMD — ASMCMD 是用来管理 ASM 资源(如磁盘组、备份等)的命令行接口。
  • SRVCTL — SRVTCL 是用于管理 Oracle Database 11.2 RAC 集群的命令行接口。在数据库级别,大多数与集群有关的命令(如启动/停止集群资源、检查状态等)都可以通过此接口来执行。
  • CRSCTL — CRSCTL 是另一个用于管理集群的工具。从 11.2 开始,对此工具的使用需求已逐渐萎缩至接近于零。但是此类别中至少有一个命令。


以上是命令的基本类别。其中只有 CellCLI 和 DCLI 是数据库云服务器所特有的。对于其他命令,尤其是 SQL,DBA 应该非常熟悉。

了解到这些命令范围多么有限之后,您是不是会感到轻松一些?以下各节将介绍如何使用这些命令。(注意:由于 CellCLI 和 DCLI 是数据库云服务器特有的命令,大多数要从 DBA 转变为 DMA 的人们可能不了解它们。本系列的下一部分 — 第 3 部分,将专门介绍这两个命令类别。)

配置

首先是最激动人心的时刻:崭新炫亮的数据库云服务器摆在那儿,刚刚开箱,安装在地板上,连好电源。现在怎么办?

幸运的是,机器已经通过映像预装了所有必需的操作系统、软件和驱动程序。根本无需在软件安装上费神。实际上,不只是不需要,还比较危险,因为自行安装软件可能会使担保失效。您根本就不应在存储单元上安装任何软件,只需在数据库服务器本身上安装以下软件:

  • Grid Control Agent(通过 Grid Control 进行管理时需要此软件,在第 4 部分对此进行了说明)
  • RMAN Media Management Library(用于备份到磁带)
  • Security Agent(如果需要)

您是不是有点迫不急待想按下按钮?等一等;开始配置之前,您需要准备以下信息:

  • 网络 — 您应确定服务器的名称,确定 IP 地址,将这些配置于 DNS 中,等等。
  • SMTP 和 SNMP 信息 — 用于发送邮件、警报等。
  • 符合您的特定要求的存储布局 — 例如您想要常规冗余还是高冗余配置、想要多少个磁盘组、想要如何为其命名等等。

完成所有这些工作后,下面的步骤就有点难度了:

  1. 配置存储
  2. 配置操作系统
  3. 在 Linux 或 Oracle Solaris 中创建 userid
  4. 配置 ASM
  5. 安装集群件
  6. 创建数据库

我们来探讨这些步骤。请注意几个模型、容量类别和硬件类型,不可能提供所有可能组合的详细信息。您的具体环境也可能很独特。

下面是一个示例配置,它只是示意性的。为了简单起见,此处涉及的操作系统是 Oracle Linux。

配置工作表

Oracle 提供了详细的配置工作表,您可以在其中输入您的实现的特定详细信息,确定准确的配置。此工作表位于 Exadata Storage Server 的以下目录中:

opt/oracle/cell/doc/doc

要打开的确切文件是 e16099.pdf,其中包含指导您如何进行配置的所有工作表。下面是该工作表的节选:

exadata-commands-p2f2
图 2 工作表节选


配置工作表在目录 /opt/oracle.SupportTools/onecommand 中创建以下文件。以下是该目录的文件清单:

# ls
all_group           cell_group     config.dat    patches
all_ib_group        cell_ib_group  dbs_group     priv_ib_group
all_nodelist_group  checkip.sh     dbs_ib_group  tmp


这些文件非常重要。以下是对每个文件的简要说明:

文件名

说明

all_group

此数据库云服务器中数据库节点和存储单元的列表。节选如下:


proldb01
proldb02
proldb03
proldb04


这些是数据库服务器节点。

all_ib_group

单元服务器和数据库节点的专用互连的所有主机名。下面是该文件的节选:


proldb01-priv
proldb02-priv
proldb03-priv
proldb04-priv
proldb05-priv

all_nodelist_group

存储和数据库节点的所有主机名(公共、主机、专用互连)。下面是该文件的节选:


proldb07
proldb08
prolcel01
prolcel02
prolcel03

cell_group

所有单元服务器的主机名。下面是该文件的节选:


prolcel01
prolcel02
prolcel03
prolcel04
prolcel05

cell_ib_group

所有单元服务器的专用互连主机名。下面是该文件的节选:


prolcel01-priv
prolcel02-priv
prolcel03-priv
prolcel04-priv
prolcel05-priv

config.dat

该数据文件是从配置工作表创建的,用于创建各种脚本。下面是该文件的节选:


customername=AcmeBank
dbmprefix=prol
cnbase=db
cellbase=cel
machinemodel=X2-2 Full rack
dbnodecount=8
cellnodecount=14

dbs_group

数据库节点的主机名,类似于单元服务器。下面是该文件的节选:


proldb01
proldb02
proldb03
proldb04

dbs_ib_group

数据库节点专用互连的主机名,类似于单元服务器。下面是该文件的节选:


proldb01-priv
proldb02-priv
proldb03-priv
proldb04-priv

priv_ib_group

该文件中列出了所有专用互连主机名及其对应的 IP 地址。这用于填充 /etc/hosts 文件。下面是该文件的节选:


### Compute Node Private Interface details
172.32.128.1    proldb01-priv.test.prol proldb01-priv
172.32.128.2    proldb02-priv.test.prol proldb02-priv
172.32.128.3    proldb03-priv.test.prol proldb03-priv
172.32.128.4    proldb04-priv.test.prol proldb04-priv

checkip.sh

这是用于验证网络配置准确性的 shell 脚本。它是最重要的文件之一。checkip 脚本在多个位置使用不同参数进行调用以便在多个位置执行验证,您将会看到这一点。


硬件配置文件

下一步是检查硬件配置文件。Oracle 为此提供了一个工具。您应使用以下命令:

 

# /opt/oracle.SupportTools/CheckHWnFWProfile

 

输出应为:

[SUCCESS] The hardware and firmware profile matches one of the supported profiles

如果您看到的内容与此不同,消息本身不需加以说明。此时您应当致电数据库云服务器安装支持,因为出现了某些非预期的硬件/软件组合。

物理磁盘

下一步,应检查磁盘以确保磁盘已加电并已联机。联机并不意味着磁盘对 ASM 可用;只是表示磁盘对服务器可见。要检查磁盘是否可见和联机,请使用以下命令:

# /opt/MegaRAID/MegaCli/MegaCli64 Pdlist -aAll |grep "Slot \|Firmware"

以下是截取的部分输出:

Slot Number: 0
Firmware state: Online, Spun Up
Slot Number: 1
Firmware state: Online, Spun Up
… Output truncated …
Slot Number: 11
Firmware state: Online, Spun Up

如果磁盘未联机,可能需要更换磁盘或者至少了解一下原因。

闪存磁盘

检查完物理磁盘后,应检查闪存磁盘。执行此操作的 Linux 命令是 lsscsi,如下所示。


# lsscsi |grep -i marvel
[1:0:0:0]    disk    ATA      MARVELL SD88SA02 D20Y  /dev/sdm
[1:0:1:0]    disk    ATA      MARVELL SD88SA02 D20Y  /dev/sdn
[1:0:2:0]    disk    ATA      MARVELL SD88SA02 D20Y  /dev/sdo
[1:0:3:0]    disk    ATA      MARVELL SD88SA02 D20Y  /dev/sdp
[2:0:0:0]    disk    ATA      MARVELL SD88SA02 D20Y  /dev/sdq
[2:0:1:0]    disk    ATA      MARVELL SD88SA02 D20Y  /dev/sdr
[2:0:2:0]    disk    ATA      MARVELL SD88SA02 D20Y  /dev/sds
[2:0:3:0]    disk    ATA      MARVELL SD88SA02 D20Y  /dev/sdt
[3:0:0:0]    disk    ATA      MARVELL SD88SA02 D20Y  /dev/sdu
[3:0:1:0]    disk    ATA      MARVELL SD88SA02 D20Y  /dev/sdv
[3:0:2:0]    disk    ATA      MARVELL SD88SA02 D20Y  /dev/sdw
[3:0:3:0]    disk    ATA      MARVELL SD88SA02 D20Y  /dev/sdx
[4:0:0:0]    disk    ATA      MARVELL SD88SA02 D20Y  /dev/sdy
[4:0:1:0]    disk    ATA      MARVELL SD88SA02 D20Y  /dev/sdz
[4:0:2:0]    disk    ATA      MARVELL SD88SA02 D20Y  /dev/sdaa
[4:0:3:0]    disk    ATA      MARVELL SD88SA02 D20Y  /dev/sdab

顺便提一下,还可以通过 CellCLI 工具检查闪存磁盘。本系列文章中的下一部分将介绍此 CellCLI 工具。

#cellcli

CellCLI: Release 11.2.2.2.0 - Production on Sun Mar 13 12:57:24 EDT 2011

Copyright (c) 2007, 2009, Oracle.  All rights reserved.
Cell Efficiency Ratio: 627M

CellCLI> list lun where disktype=flashdisk
         1_0     1_0     normal
         1_1     1_1     normal
         1_2     1_2     normal
         1_3     1_3     normal
         2_0     2_0     normal
         2_1     2_1     normal
         2_2     2_2     normal
         2_3     2_3     normal
         4_0     4_0     normal
         4_1     4_1     normal
         4_2     4_2     normal
         4_3     4_3     normal
         5_0     5_0     normal
         5_1     5_1     normal
         5_2     5_2     normal
         5_3     5_3     normal

为确保闪存磁盘的编号是正确的,请使用 CellCLI 中的以下命令。请注意,第一行后面有一个连字符(“-”),这是因为该命令太长,一行放不下,“-”是续行符。

CellCLI> list physicaldisk attributes name, id, slotnumber -
> where disktype="flashdisk" and status != "not present"

         [1:0:0:0]       5080020000f21a2FMOD0    "PCI Slot: 4; FDOM: 0"
         [1:0:1:0]       5080020000f21a2FMOD1    "PCI Slot: 4; FDOM: 1"
         [1:0:2:0]       5080020000f21a2FMOD2    "PCI Slot: 4; FDOM: 2"
         [1:0:3:0]       5080020000f21a2FMOD3    "PCI Slot: 4; FDOM: 3"
         [2:0:0:0]       5080020000f131aFMOD0    "PCI Slot: 1; FDOM: 0"
         [2:0:1:0]       5080020000f131aFMOD1    "PCI Slot: 1; FDOM: 1"
         [2:0:2:0]       5080020000f131aFMOD2    "PCI Slot: 1; FDOM: 2"
         [2:0:3:0]       5080020000f131aFMOD3    "PCI Slot: 1; FDOM: 3"
         [3:0:0:0]       5080020000f3ec2FMOD0    "PCI Slot: 5; FDOM: 0"
         [3:0:1:0]       5080020000f3ec2FMOD1    "PCI Slot: 5; FDOM: 1"
         [3:0:2:0]       5080020000f3ec2FMOD2    "PCI Slot: 5; FDOM: 2"
         [3:0:3:0]       5080020000f3ec2FMOD3    "PCI Slot: 5; FDOM: 3"
         [4:0:0:0]       5080020000f3e16FMOD0    "PCI Slot: 2; FDOM: 0"
         [4:0:1:0]       5080020000f3e16FMOD1    "PCI Slot: 2; FDOM: 1"
         [4:0:2:0]       5080020000f3e16FMOD2    "PCI Slot: 2; FDOM: 2"
         [4:0:3:0]       5080020000f3e16FMOD3    "PCI Slot: 2; FDOM: 3"

自动配置

虽然可以手动配置数据库云服务器,但您不必这样做。实际上,您可能根本就不想这样做。Oracle 在目录 opt/oracle.SupportTools/onecommand 下提供了三个用于自动配置的 shell 脚本:

  • check_ip.sh — 用于检查各阶段的配置
  • applyconfig.sh — 用于更改配置
  • deploy112.sh — 用于最终部署


首先,应该检查配置的有效性。为此请执行:

# check_ip.sh -m pre_applyconfig

Exadata Database Machine Network Verification version 1.9

Network verification mode pre_applyconfig starting ...

Saving output file from previous run as dbm.out_17739

Using name server xx.xxx.59.21 found in dbm.dat for all DNS lookups

Processing section DOMAIN  : SUCCESS
Processing section NAME    : SUCCESS
Processing section NTP     : SUCCESS
Processing section GATEWAY : SUCCESS
Processing section SCAN    : ERROR - see dbm.out for details
Processing section COMPUTE : ERROR - see dbm.out for details
Processing section CELL    : ERROR - see dbm.out for details
Processing section ILOM    : ERROR - see dbm.out for details
Processing section SWITCH  : ERROR - see dbm.out for details
Processing section VIP     : ERROR - see dbm.out for details
Processing section SMTP    : SMTP "Email Server Settings" standardrelay.acmehotels.com 25:0
SUCCESS

One or more checks report ERROR. Review dbm.out for details

如果查看文件 dbm.out,可以看到确切的错误消息。

Running in mode pre_applyconfig
Using name server xx.xxx.59.21 found in dbm.dat for all DNS lookups

Processing section DOMAIN
test.prol

Processing section NAME
GOOD : xx.xxx.59.21 responds to resolve request for proldb01.test.prol
GOOD : xx.xxx.59.22 responds to resolve request for proldb01.test.prol

Processing section NTP
GOOD : xx.xxx.192.1 responds to time server query (/usr/sbin/ntpdate -q)

Processing section GATEWAY
GOOD : xx.xxx.192.1 pings successfully
GOOD : xx.xxx.18.1 pings successfully

Processing section SCAN
GOOD : prol-scan.test.prol resolves to 3 IP addresses
GOOD : prol-scan.test.prol forward resolves to xx.xxx.18.32
GOOD : xx.xxx.18.32 reverse resolves to prol-scan.test.prol.
ERROR : xx.xxx.18.32 pings
GOOD : prol-scan.test.prol forward resolves to xx.xxx.18.33
GOOD : xx.xxx.18.33 reverse resolves to prol-scan.test.prol.
ERROR : xx.xxx.18.33 pings
GOOD : prol-scan.test.prol forward resolves to xx.xxx.18.34
GOOD : xx.xxx.18.34 reverse resolves to prol-scan.test.prol.
ERROR : xx.xxx.18.34 pings

Processing section COMPUTE
GOOD : proldb01.test.prol forward resolves to xx.xxx.192.16
GOOD : xx.xxx.192.16 reverse resolves to proldb01.test.prol.
ERROR : xx.xxx.192.16 pings
GOOD : proldb02.test.prol forward resolves to xx.xxx.192.17
GOOD : xx.xxx.192.17 reverse resolves to proldb02.test.prol.
ERROR : xx.xxx.192.17 pings
GOOD : proldb03.test.prol forward resolves to xx.xxx.192.18
GOOD : xx.xxx.192.18 reverse resolves to proldb03.test.prol.
ERROR : xx.xxx.192.18 pings
… output truncated …

该文件将报告所有必须解决的问题。解决所有问题后,执行实际配置:

# applyconfig.sh

完成之后,将数据库云服务器连接到网络并检查有效性:

# check_ip.sh -m post_applyconfig

该脚本将按照与 pre_applyconfig 参数相同的方式报告输出,并将报告所有存在的问题。修复问题之后,运行部署脚本。该脚本实际执行其内部的多个步骤 — 共有 29 个。最明智的作法是先列出所有步骤,以便熟悉这些步骤。选项 -l(是字母“l”,不是数字“1”)将列出所有步骤。

# deploy112.sh –l

要运行所有步骤,您应执行以下命令



# deploy112.sh –i

 

如果您愿意,可以逐个运行步骤,也可以一次运行一组步骤。要运行步骤 1 至 3,执行以下命令:

# deploy112.sh –i -r 1-3

或者,只运行步骤 1:

# deploy112.sh -i -s 1

下面列出各步骤。(请注意:这些步骤可能改变,恕不通知。在数据库云服务器包的版本说明中,总是可以找到最新的列表。)

步骤

说明

0

验证此服务器安装

1

root 用户的安装 SSH。

2

验证所有节点。

3

解压缩文件。

4

更新 /etc/hosts 目录。

5

创建 cellip.ora 和 cellinit.ora 文件

6

验证硬件。

7

验证 InfiniBand 网络。

8

验证单元。

9

使用 ping 命令检查 RDS。

10

运行 CALIBRATE 命令。

11

验证时间和日期。

12

更新配置。

13

为 celladmin 和 cellmonitor 创建用户帐户。

14

为用户帐户设置 SSH。

15

创建 Oracle 主目录。

16

创建网格磁盘。

17

安装网格软件。

18

运行网格 root 脚本。

19

安装 Oracle Database 软件。

20

创建监听器。

21

运行 Oracle ASM Configuration Assistant 配置 Oracle ASM。

22

解除对 Oracle Grid Infrastructure 主目录的锁定。

23

重新链接可靠数据套接字 (RDS) 协议。

24

锁定 Oracle Grid Infrastructure。

25

为数据库云服务器单元设置电子邮件警报。

26

运行 Oracle Database Configuration Assistant。

27

设置 Oracle Enterprise Manager Grid Control。

28

应用所有安全补丁。

29

保护 Oracle 数据库云服务器。


以下是该脚本的输出(为节省空间有大量删节):



# ./deploy112.sh -i

 

Script started, file is /opt/oracle.SupportTools/onecommand/tmp/STEP-0-proldb01-20110331154414.log
=========== 0 ValidateThisNodeSetup Begin ===============
Validating first boot...
This step will validate DNS, NTS, params.sh, dbmachine.params, and all the
files generated by the DB Machine Configurator
In Check and Fix Hosts...

INFO: This nslookup could take upto ten seconds to resolve if the host isn't in DNS, please wait..
INFO: Running /usr/bin/nslookup prol-scan...
INFO: Running /usr/bin/nslookup proldb02...
SUCCESS: SCAN and VIP found in DNS...
Looking up nodes in dbmachine.params and dbs_group...
SUCCESS: proldb01 has ip address of xx.xxx.192.16..A_OK
SUCCESS: proldb02 has ip address of xx.xxx.192.17..A_OK
… output truncated …
SUCCESS: proldb08 has ip address of xx.xxx.192.23..A_OK
SUCCESS: prol01-vip has ip address of xx.xxx.18.24..A_OK
SUCCESS: Found IP Address xx.xxx.18.24 for prol01-vip using ping...
SUCCESS: Based on bondeth0:xx.xxx.18.16 and NetMask:255.255.255.0 we picked bondeth0 as the appropriate VIP interface
SUCCESS: prol02-vip has ip address of xx.xxx.18.25..A_OK
SUCCESS: Found IP Address xx.xxx.18.24 for prol01-vip using ping...
SUCCESS: Based on bondeth0:xx.xxx.18.16 and NetMask:255.255.255.0 we picked bondeth0 as the appropriate VIP interface
… output truncated …
SUCCESS: prol08-vip has ip address of xx.xxx.18.31..A_OK
SUCCESS: Found IP Address xx.xxx.18.24 for prol01-vip using ping...
SUCCESS: Based on bondeth0:xx.xxx.18.16 and NetMask:255.255.255.0 we picked bondeth0 as the appropriate VIP interface
Checking blocksizes...
SUCCESS: DB blocksize is 16384 checks out
checking patches
checking patches and version = 11202
SUCCESS: Located patch# 10252487 in /opt/oracle.SupportTools/onecommand/patches...
INFO: Checking zip files
INFO: Validating zip file /opt/oracle.SupportTools/onecommand/p10098816_112020_Linux-x86-64_1of7.zip...
Archive:  /opt/oracle.SupportTools/onecommand/p10098816_112020_Linux-x86-64_1of7.zip
  Length     Date   Time    Name
 --------    ----   ----    ----
        0  11-16-10 03:10   database/
        0  11-16-10 03:03   database/install/
      182  11-16-10 03:03   database/install/detachHome.sh
… output truncated …
    41092  11-16-10 03:03   database/doc/install.112/e17212/concepts.htm
     1892  11-16-10 03:03   database/doc/install.112/e17212/contents.js
    44576  11-16-10 03:03   database/doc/install.112/e17212/crsunix.htm
ERROR: /usr/bin/unzip -l /opt/oracle.SupportTools/onecommand/p10098816_112020_Linux-x86-64_1of7.zip did not complete successfully: Return Status: 80 Step# 1
Exiting...
Time spent in step 1  = 1 seconds
INFO: Going to run /opt/oracle.cellos/ipconf /opt/oracle.SupportTools/onecommand/preconf-11-2-1-2-2.csv -verify -ignoremismatch -verbose to validate first boot...
INFO: Running /opt/oracle.cellos/ipconf -verify -ignoremismatch -verbose on this node...
Verifying of configuration for /opt/oracle.cellos/cell.conf
Config file exists                                                : PASSED
Load configuration                                                : PASSED
Config version defined                                            : PASSED
Config version 11.2.2.1.1 has valid value                         : PASSED
Nameserver xx.xxx.59.21 has valid IP address syntax               : PASSED
Nameserver xx.xxx.59.22 has valid IP address syntax               : PASSED
Canonical hostname defined                                        : PASSED
Canonical hostname has valid syntax                               : PASSED
Node type defined                                                 : PASSED
Node type db is valid                                             : PASSED
This node type is db                                              : PASSED
Timezone defined                                                  : PASSED
Timezone found in /usr/share/zoneinfo                             : PASSED
NTP server xx.xxx.192.1 has valid syntax                          : PASSED
NTP drift file defined                                            : PASSED
Network eth0 interface defined                                    : PASSED
IP address defined for eth0                                       : PASSED
IP address has valid syntax for eth0                              : PASSED
Netmask defined for eth0                                          : PASSED
Netmask has valid syntax for eth0                                 : PASSED
Gateway has valid syntax for eth0                                 : PASSED
Gateway is inside network for eth0                                : PASSED
Network type defined for eth0                                     : PASSED
Network type has proper value for eth0                            : PASSED
Hostname defined for eth0                                         : PASSED
Hostname for eth0 has valid syntax                                : PASSED
Network bondeth0 interface defined                                : PASSED
IP address defined for bondeth0                                   : PASSED
IP address has valid syntax for bondeth0                          : PASSED
Netmask defined for bondeth0                                      : PASSED
Netmask has valid syntax for bondeth0                             : PASSED
Gateway has valid syntax for bondeth0                             : PASSED
Gateway is inside network for bondeth0                            : PASSED
Network type defined for bondeth0                                 : PASSED
Network type has proper value for bondeth0                        : PASSED
Hostname defined for bondeth0                                     : PASSED
Hostname for bondeth0 has valid syntax                            : PASSED
Slave interfaces for bondeth0 defined                             : PASSED
Two slave interfaces for bondeth0 defined                         : PASSED
Master interface ib0 defined                                      : PASSED
Master interface ib1 defined                                      : PASSED
Network bondib0 interface defined                                 : PASSED
IP address defined for bondib0                                    : PASSED
IP address has valid syntax for bondib0                           : PASSED
Netmask defined for bondib0                                       : PASSED
Netmask has valid syntax for bondib0                              : PASSED
Network type defined for bondib0                                  : PASSED
Network type has proper value for bondib0                         : PASSED
Hostname defined for bondib0                                      : PASSED
Hostname for bondib0 has valid syntax                             : PASSED
Slave interfaces for bondib0 defined                              : PASSED
Two slave interfaces for bondib0 defined                          : PASSED
At least 1 configured Eth or bond over Eth interface(s) defined   : PASSED
2 configured Infiniband interfaces defined                        : PASSED
1 configured bond over ib interface(s) defined                    : PASSED
ILOM hostname defined                                             : PASSED
ILOM hostname has valid syntax                                    : PASSED
ILOM short hostname defined                                       : PASSED
ILOM DNS search defined                                           : PASSED
ILOM full hostname matches short hostname and DNS search          : PASSED
ILOM IP address defined                                           : PASSED
ILOM IP address has valid syntax                                  : PASSED
ILOM Netmask defined                                              : PASSED
ILOM Netmask has valid syntax                                     : PASSED
ILOM Gateway has valid syntax                                     : PASSED
ILOM Gateway is inside network                                    : PASSED
ILOM nameserver has valid IP address syntax                       : PASSED
ILOM use NTP servers defined                                      : PASSED
ILOM use NTP has valid syntax                                     : PASSED
ILOM first NTP server has non-empty value                         : PASSED
ILOM first NTP server has valid syntax                            : PASSED
ILOM timezone defined                                             : PASSED
Done. Config OK
INFO: Printing group files....
######################################################
This is the list of Database nodes...
proldb01
… output truncated …
proldb08
This is the list of Cell nodes...
prolcel01
… output truncated …
prolcel14

This is the list of Database Private node names...
proldb01-priv
… output truncated …
proldb08-priv

This is the list of Cell Private node names...
prolcel01-priv
… output truncated …
prolcel14-priv

This is the list all node names...
proldb01
… output truncated …
prolcel14

This is the list all private node names...
proldb01-priv
… output truncated …
prolcel14-priv

This is the template /etc/hosts file for private nodes...
### Compute Node Private Interface details
172.32.128.1    proldb01-priv.test.prol proldb01-priv
… output truncated …
172.32.128.8    proldb08-priv.test.prol proldb08-priv

### CELL Node Private Interface details
172.32.128.9    prolcel01-priv.test.prol        prolcel01-priv
… output truncated …
172.32.128.22   prolcel14-priv.test.prol        prolcel14-priv

### Switch details
# The following 5 IP addresses are for reference only. You may
# not be able to reach these IP addresses from this machine
# xx.xxx.192.60 prolsw-kvm.test.prol    prolsw-kvm
# xx.xxx.192.61 prolsw-ip.test.prol     prolsw-ip
# xx.xxx.192.62 prolsw-ib1.test.prol    prolsw-ib1
# xx.xxx.192.63 prolsw-ib2.test.prol    prolsw-ib2
# xx.xxx.192.64 prolsw-ib3.test.prol    prolsw-ib3
Creating work directories and validating  required files
ERROR: Please review and fix all ERROR's, we appear to have 1 errors...
Exiting...
Time spent in step 0 ValidateThisNodeSetup = 1 seconds
Script done, file is /opt/oracle.SupportTools/onecommand/tmp/STEP-0-proldb01-20110331154414.log

Check post-deployment configuration for IP addresses.
# ./checkip.sh -m post_deploy112

Exadata Database Machine Network Verification version 1.9

 

Network verification mode post_deploy112 starting ...

Saving output file from previous run as dbm.out_772

Using name server xx.xxx.59.21 found in dbm.dat for all DNS lookups

Processing section DOMAIN  : SUCCESS
Processing section NAME    : SUCCESS
Processing section NTP     : SUCCESS
Processing section GATEWAY : SUCCESS
Processing section SCAN    : SUCCESS
Processing section COMPUTE : SUCCESS
Processing section CELL    : SUCCESS
Processing section ILOM    : SUCCESS
Processing section SWITCH  : SUCCESS
Processing section VIP     : SUCCESS
Processing section SMTP    : SMTP "Email Server Settings" standardrelay.acmehotels.com 25:0
SUCCESS

如果一切反馈正常,说明安装和配置成功。

基本命令

电源

首先了解一些您最需要的命令:打开和关闭电源。该命令为 IPMITOOL。要打开单元或数据库服务器电源,请从另一台服务器上执行以下命令:


#  ipmitool -H prolcel01-ilom -U root chassis power on

IPMI — 智能平台管理接口的缩写,它是一种接口标准,允许从一台服务器通过标准化接口远程管理另一台服务器。数据库云服务器中的服务器也遵循这一标准。它不是数据库云服务器命令,而是一般的 Linux 命令。要获取所有可用选项,执行以下命令:

# ipmitool –h

要停止服务器,请使用 shutdown 命令。要立即停止并保持关闭状态(即,不重新启动),请执行以下命令:

# shutdown -h -y now

要在 10 分钟之后关闭(用户将收到警告消息)

# shutdown -h -y 10

要重新启动服务器(“-r”选项用于重新启动)

# shutdown –r –y now

或者只使用以下命令:

# reboot

有时您可能要关闭多台服务器。DCLI 命令此时就可以派上用场了。要关闭所有单元,请执行以下命令:

# dcli -l root -g all_cells shutdown -h -y now

–g 选项允许您提供一个文件名,该文件中包含所有单元服务器。例如文件 all_cells,如下所示:

# cat all_cells
prolcel01
prolcel02
prolcel03
prolcel04
prolcel05
prolcel06
prolcel07
prolcel08

您可以对所有数据库服务器使用一个类似的文件,并将其命名为 all_nodes。要关闭所有数据库服务器:

# dcli -l root -g all_nodes shutdown -h -y now

在下一部分,您将详细了解 DCLI 命令。

维护

您需要不时维护服务器。(记住,您现在是 DMA,不是 DBA。)最常见的任务之一是安装新的软件映像。我们来看一些相关命令。

要了解安装了哪些软件映像,请使用以下命令:

# imageinfo

Kernel version: 2.6.18-194.3.1.0.3.el5 #1 SMP Tue Aug 31 22:41:13 EDT 2010 x86_64
Cell version: OSS_11.2.0.3.0_LINUX.X64_101206.2
Cell rpm version: cell-11.2.2.2.0_LINUX.X64_101206.2-1

Active image version: 11.2.2.2.0.101206.2
Active image activated: 2011-01-21 14:09:21 -0800
Active image status: success
Active system partition on device: /dev/md5
Active software partition on device: /dev/md7

In partition rollback: Impossible

Cell boot usb partition: /dev/sdac1
Cell boot usb version: 11.2.2.2.0.101206.2

Inactive image version: undefined
Rollback to the inactive partitions: Impossible

您可以从以上输出中收集一些重要信息。注意 Active image version: 11.2.2.2.0.101206.2 这一行,这指明了具体的 Exadata Storage Server 版本。它还显示软件映像的激活日期和时间,这可用于故障诊断。如果看到问题是从某个特定日期和时间开始发生的,就可以进行相应的关联分析。

接着下一个合乎逻辑的问题可能是,如果已安装(激活)新映像,那么这之前是什么版本。要了解所有映像更改的历史记录,可以使用 imagehistory 命令。

# imagehistory
Version                              : 11.2.2.2.0.101206.2
Image activation date                : 2011-01-21 14:09:21 -0800
Imaging mode                         : fresh
Imaging status                       : success

这是全新安装,因此看不到多少历史记录。

管理 InfiniBand

对于 DMA 新手来说,最难以驾驭的恐怕就是网络命令。就像突然让一个一直开自动档的驾驶员去开手动档的车一样。

作为 DBA,除了 ifconfig 和 netstat,您可能不需要执行任何其他网络命令。这两个命令仍然适用,因此不要忘了。现在看看如何将这点知识扩展到 InfiniBand。

状态

要获取 InfiniBand 服务的状态,首先要检查 InfiniBand 设备的状态,请使用 ibstatus 命令。

# ibstatus
Infiniband device 'mlx4_0' port 1 status:
        default gid:     fe80:0000:0000:0000:0021:2800:01a0:fd45
        base lid:        0x1a
        sm lid:          0xc
        state:           4: ACTIVE
        phys state:      5: LinkUp
        rate:            40 Gb/sec (4X QDR)

Infiniband device 'mlx4_0' port 2 status:
        default gid:     fe80:0000:0000:0000:0021:2800:01a0:fd46
        base lid:        0x1c
        sm lid:          0xc
        state:           4: ACTIVE
        phys state:      5: LinkUp
        rate:            40 Gb/sec (4X QDR)
… output truncated …

如果结果正常,下一步是检查 InfiniBand 链接的状态,请使用 iblinkinfo。为节省空间,以下是截取的部分输出。

# iblinkinfo
Switch 0x0021286cd6ffa0a0 Sun DCS 36 QDR switch prolsw-ib1.test.prol:
           1    1[  ] ==( 4X 2.5 Gbps   Down/Disabled)==>             [  ] "" ( )
           1    2[  ] ==( 4X 2.5 Gbps   Down/Disabled)==>             [  ] "" ( )
… output truncated …
           1   17[  ] ==( 4X 2.5 Gbps   Down/Disabled)==>             [  ] "" ( )
           1   18[  ] ==( 4X 2.5 Gbps   Down/Disabled)==>             [  ] "" ( )
           1   19[  ] ==( 4X xx.0 Gbps Active/  LinkUp)==>      12   32[  ] "Sun DCS 36 QDR switch localhost" ( )
           1   20[  ] ==( 4X 2.5 Gbps   Down/Disabled)==>             [  ] "" ( )
           1   21[  ] ==( 4X xx.0 Gbps Active/  LinkUp)==>      11   32[  ] "Sun DCS 36 QDR switch prolsw-ib2.test.prol" ( )
… output truncated …
           1   36[  ] ==( 4X 2.5 Gbps   Down/Disabled)==>             [  ] "" ( )
Switch 0x0021286cd6eba0a0 Sun DCS 36 QDR switch localhost:
          12    1[  ] ==( 4X xx.0 Gbps Active/  LinkUp)==>      43    2[  ] "prolcel02 C 172.32.128.10 HCA-1" ( )
… output truncated …
          12   11[  ] ==( 4X 2.5 Gbps   Down/Disabled)==>             [  ] "" ( )
          12   12[  ] ==( 4X xx.0 Gbps Active/  LinkUp)==>      17    2[  ] "proldb04 S 172.32.128.4 HCA-1" ( )
… output truncated …
          12   18[  ] ==( 4X xx.0 Gbps Active/  LinkUp)==>      11   17[  ] "Sun DCS 36 QDR switch prolsw-ib2.test.prol" ( )
          12   19[  ] ==( 4X xx.0 Gbps Active/  LinkUp)==>      20    1[  ] "prolcel13 C 172.32.128.21 HCA-1" ( )
… output truncated …
          12   29[  ] ==( 4X 2.5 Gbps   Down/Disabled)==>             [  ] "" ( )
          12   30[  ] ==( 4X xx.0 Gbps Active/  LinkUp)==>       6    1[  ] "proldb05 S 172.32.128.5 HCA-1" ( )
          12   31[  ] ==( 4X xx.0 Gbps Active/  LinkUp)==>      11   31[  ] "Sun DCS 36 QDR switch prolsw-ib2.test.prol" ( )
          12   32[  ] ==( 4X xx.0 Gbps Active/  LinkUp)==>       1   19[  ] "Sun DCS 36 QDR switch prolsw-ib1.test.prol" ( )
          12   33[  ] ==( 4X 2.5 Gbps   Down/Disabled)==>             [  ] "" ( )
… output truncated …
          12   36[  ] ==( 4X 2.5 Gbps   Down/Disabled)==>             [  ] "" ( )
Switch 0x0021286ccc72a0a0 Sun DCS 36 QDR switch prolsw-ib2.test.prol:
          11    1[  ] ==( 4X xx.0 Gbps Active/  LinkUp)==>      42    1[  ] "prolcel02 C 172.32.128.10 HCA-1" ( )
… output truncated …
          11   10[  ] ==( 4X xx.0 Gbps Active/  LinkUp)==>      14    1[  ] "proldb02 S 172.32.128.2 HCA-1" ( )
          11   11[  ] ==( 4X 2.5 Gbps   Down/Disabled)==>             [  ] "" ( )
… output truncated …
          11   28[  ] ==( 4X xx.0 Gbps Active/  LinkUp)==>       3    2[  ] "proldb07 S 172.32.128.7 HCA-1" ( )
          11   29[  ] ==( 4X 2.5 Gbps   Down/Disabled)==>             [  ] "" ( )
          11   30[  ] ==( 4X xx.0 Gbps Active/  LinkUp)==>       7    2[  ] "proldb05 S 172.32.128.5 HCA-1" ( )
          11   31[  ] ==( 4X xx.0 Gbps Active/  LinkUp)==>      12   31[  ] "Sun DCS 36 QDR switch localhost" ( )
          11   32[  ] ==( 4X xx.0 Gbps Active/  LinkUp)==>       1   21[  ] "Sun DCS 36 QDR switch prolsw-ib1.test.prol" ( )
          11   33[  ] ==( 4X 2.5 Gbps   Down/Disabled)==>             [  ] "" ( )
          11   34[  ] ==( 4X 2.5 Gbps   Down/Disabled)==>             [  ] "" ( )
          11   35[  ] ==( 4X 2.5 Gbps   Down/Disabled)==>             [  ] "" ( )
          11   36[  ] ==( 4X 2.5 Gbps   Down/Disabled)==>             [  ] "" ( )

拓扑

要获取数据库云服务器内部 InfiniBand 网络的拓朴结构,请使用 Oracle 提供的 verify-topology 工具,该工具在 /opt/oracle.SupportTools/ibdiagtools 目录下

        [ DB Machine Infiniband Cabling Topology Verification Tool ]
                [Version 11.2.1.3.b]

Looking at 1 rack(s).....
Spine switch check: Are any Exadata nodes connected ..............[SUCCESS]
Spine switch check: Any inter spine switch connections............[SUCCESS]
Spine switch check: Correct number of spine-leaf links............[SUCCESS]
Leaf switch check: Inter-leaf link check..........................[SUCCESS]
Leaf switch check: Correct number of leaf-spine connections.......[SUCCESS]
Check if all hosts have 2 CAs to different switches...............[SUCCESS]
Leaf switch check: cardinality and even distribution..............[SUCCESS]

集群操作

要管理 Oracle Clusterware,可使用与传统 Oracle 11g 第 2 版 RAC 数据库集群中一样的命令。这些命令是:

  • CRSCTL — 为数不多的几个与集群有关的命令
  • SRVCTL — 大多数与集群有关的命令


CRSCTL 用得不太多,但某些场合需要它,主要是关闭集群和启动(如果没有在计算机启动过程中自动启动的话)。记住,您只能以 root 身份执行此命令。然而,root 用户的路径中可能没有此工具的位置。因此,在执行此命令时应使用其完全限定路径。以下是在所有节点上停止集群的命令:

# <OracleGridInfrastructureHome>/bin/crsctl stop cluster –all

您不必在所有节点上关闭集群;有时您只需要在一个节点上关闭集群。要单独在一个节点上关闭集群,请使用:

# <OracleGridInfrastructureHome>/bin/crsctl stop cluster –n <HostName>

类似地,在最初停止集群的那个节点上启动集群:

# <OracleGridInfrastructureHome>/bin/crsctl start cluster –n <HostName>

最后,您可能想确认所有集群资源都在运行。为此可以使用以下命令。status 命令的执行不需要 root 身份。

# <OracleGridInfrastructureHome>/bin/crsctl status resource –t
--------------------------------------------------------------------------------
NAME           TARGET  STATE        SERVER                   STATE_DETAILS      
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DBFS_DG.dg
               ONLINE  ONLINE       proldb01                                    
               ONLINE  ONLINE       proldb02                                    
               ONLINE  ONLINE       proldb03                                    
               ONLINE  ONLINE       proldb04                                    
               ONLINE  ONLINE       proldb05                                    
               ONLINE  ONLINE       proldb06                                    
               ONLINE  ONLINE       proldb07                                    
               ONLINE  ONLINE       proldb08                                    
ora.PRODATA.dg
               ONLINE  ONLINE       proldb01                                    
               ONLINE  ONLINE       proldb02                                    
               ONLINE  ONLINE       proldb03                                    
               ONLINE  ONLINE       proldb04                                    
               ONLINE  ONLINE       proldb05                                    
               ONLINE  ONLINE       proldb06                                    
               ONLINE  ONLINE       proldb07                                    
               ONLINE  ONLINE       proldb08                                    
ora.PRORECO.dg
               ONLINE  ONLINE       proldb01                                    
               ONLINE  ONLINE       proldb02                                    
               ONLINE  ONLINE       proldb03                                    
               ONLINE  ONLINE       proldb04                                    
               ONLINE  ONLINE       proldb05                                    
               ONLINE  ONLINE       proldb06                                    
               ONLINE  ONLINE       proldb07                                    
               ONLINE  ONLINE       proldb08                                    
ora.LISTENER.lsnr
               ONLINE  ONLINE       proldb01                                    
               ONLINE  ONLINE       proldb02                                    
               ONLINE  ONLINE       proldb03                                    
               ONLINE  ONLINE       proldb04                                    
               ONLINE  ONLINE       proldb05                                    
               ONLINE  ONLINE       proldb06                                    
               ONLINE  ONLINE       proldb07                                    
               ONLINE  ONLINE       proldb08                                    
ora.asm
               ONLINE  ONLINE       proldb01                 Started            
               ONLINE  ONLINE       proldb02                 Started            
               ONLINE  ONLINE       proldb03                 Started            
               ONLINE  ONLINE       proldb04                 Started            
               ONLINE  ONLINE       proldb05                 Started            
               ONLINE  ONLINE       proldb06                 Started            
               ONLINE  ONLINE       proldb07                 Started            
               ONLINE  ONLINE       proldb08                                    
ora.gsd
               OFFLINE OFFLINE      proldb01                                    
               OFFLINE OFFLINE      proldb02                                    
               OFFLINE OFFLINE      proldb03                                    
               OFFLINE OFFLINE      proldb04                                    
               OFFLINE OFFLINE      proldb05                                    
               OFFLINE OFFLINE      proldb06                                    
               OFFLINE OFFLINE      proldb07                                    
               OFFLINE OFFLINE      proldb08                                    
ora.net1.network
               ONLINE  ONLINE       proldb01                                    
               ONLINE  ONLINE       proldb02                                    
               ONLINE  ONLINE       proldb03                                    
               ONLINE  ONLINE       proldb04                                    
               ONLINE  ONLINE       proldb05                                    
               ONLINE  ONLINE       proldb06                                     
               ONLINE  ONLINE       proldb07                                    
               ONLINE  ONLINE       proldb08                                    
ora.ons
               ONLINE  ONLINE       proldb01                                    
               ONLINE  ONLINE       proldb02                                    
               ONLINE  ONLINE       proldb03                                    
               ONLINE  ONLINE       proldb04                                     
               ONLINE  ONLINE       proldb05                                    
               ONLINE  ONLINE       proldb06                                    
               ONLINE  ONLINE       proldb07                                     
               ONLINE  ONLINE       proldb08                                    
ora.registry.acfs
               ONLINE  ONLINE       proldb01                                    
               ONLINE  ONLINE       proldb02                                     
               ONLINE  ONLINE       proldb03                                    
               ONLINE  ONLINE       proldb04                                    
               ONLINE  ONLINE       proldb05                                    
               ONLINE  ONLINE       proldb06                                    
               ONLINE  ONLINE       proldb07                                    
               ONLINE  ONLINE       proldb08                                     
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       proldb07                                    
ora.LISTENER_SCAN2.lsnr
      1        ONLINE  ONLINE       proldb02                                    
ora.LISTENER_SCAN3.lsnr
      1        ONLINE  ONLINE       proldb05                                     
ora.cvu
      1        ONLINE  ONLINE       proldb02                                    
ora.proldb01.vip
      1        ONLINE  ONLINE       proldb01                                    
ora.proldb02.vip
      1        ONLINE  ONLINE       proldb02                                    
ora.proldb03.vip
      1        ONLINE  ONLINE       proldb03                                    
ora.proldb04.vip
      1        ONLINE  ONLINE       proldb04                                     
ora.proldb05.vip
      1        ONLINE  ONLINE       proldb05                                    
ora.proldb06.vip
      1        ONLINE  ONLINE       proldb06                                    
ora.proldb07.vip
      1        ONLINE  ONLINE       proldb07                                    
ora.proldb08.vip
      1        ONLINE  ONLINE       proldb08                                    
ora.prolrd.db
      1        ONLINE  ONLINE       proldb01                 Open                
      2        ONLINE  ONLINE       proldb02                 Open               
      3        ONLINE  ONLINE       proldb03                 Open               
      4        ONLINE  ONLINE       proldb04                 Open               
      5        ONLINE  ONLINE       proldb05                 Open               
      6        ONLINE  ONLINE       proldb06                 Open               
      7        ONLINE  ONLINE       proldb07                 Open               
      8        ONLINE  ONLINE       proldb08                 Open               
ora.oc4j
      1        ONLINE  ONLINE       proldb01                                    
ora.scan1.vip
      1        ONLINE  ONLINE       proldb07                                    
ora.scan2.vip
      1        ONLINE  ONLINE       proldb02                                    
ora.scan3.vip
      1        ONLINE  ONLINE       proldb05 

                    
此输出清楚显示了各种资源的状态。这里不可能提供 CRSCTL 所有选项的完整说明。以下是选项缩略列表。要了解每个资源所需的确切参数,只需用“-h”选项来调用。例如,要了解 backup 选项,请执行

# crsctl backup -h
Usage:
  crsctl backup css votedisk
     Backup the voting disk.


以下是 CRSCTL 的选项列表:

       crsctl add        - add a resource, type or other entity
       crsctl backup    - back up voting disk for CSS
       crsctl check     - check a service, resource or other entity
       crsctl config    - output autostart configuration
       crsctl debug     - obtain or modify debug state
       crsctl delete    - delete a resource, type or other entity
       crsctl disable   - disable autostart
       crsctl discover  - discover DHCP server
       crsctl enable    - enable autostart
       crsctl get       - get an entity value
       crsctl getperm   - get entity permissions
       crsctl lsmodules - list debug modules
       crsctl modify    - modify a resource, type or other entity
       crsctl query     - query service state
       crsctl pin       - Pin the nodes in the nodelist
       crsctl relocate  - relocate a resource, server or other entity
       crsctl replace   - replaces the location of voting files
       crsctl release   - release a DHCP lease
       crsctl request   - request a DHCP lease
       crsctl setperm   - set entity permissions
       crsctl set       - set an entity value
       crsctl start     - start a resource, server or other entity
       crsctl status    - get status of a resource or other entity
       crsctl stop      - stop a resource, server or other entity
       crsctl unpin     - unpin the nodes in the nodelist
       crsctl unset     - unset a entity value, restoring its default

另一个命令 SRVCTL 执行大多数基于服务器的操作,包括资源(如服务)重定位。这与传统 Oracle RAC 11g 第 2 版集群中的工具没有什么不同。要了解有关此工具中选项的更多信息,请执行以下命令:

# srvctl -h
Usage: srvctl [-V]
Usage: srvctl add database -d <db_unique_name> -o <oracle_home> [-c {RACONENODE | RAC | SINGLE}
[-e <server_list>] [-i <instname>] [-w <timeout>]] [-m <domain_name>] [-p <spfile>] [-r {PRIMARY | PHYSICAL_STANDBY | LOGICAL_STANDBY | SNAPSHOT_STANDBY}]
[-s <start_options>] [-t <stop_options>] [-n <db_name>] [-y {AUTOMATIC | MANUAL}] [-g "<serverpool_list>"] [-x <node_name>] [-a "<diskgroup_list>"]
[-j "<acfs_path_list>"]
Usage: srvctl config database [-d <db_unique_name> [-a] ] [-v]
Usage: srvctl start database -d <db_unique_name> [-o <start_options>] [-n <node>]
Usage: srvctl stop database -d <db_unique_name> [-o <stop_options>] [-f]
Usage: srvctl status database -d <db_unique_name> [-f] [-v]
… output truncated …

IPMI 工具

本文前面提到过 IPMI 工具。当时我们用它来打开服务器电源。但是该工具不只是可以完成这一任务,它还有许多其他选项。如果您想知道可以使用哪些选项,请不带任何参数执行此命令。

# ipmitool
No command provided!
Commands:
        raw           Send a RAW IPMI request and print response
        i2c           Send an I2C Master Write-Read command and print response
        spd           Print SPD info from remote I2C device
        lan           Configure LAN Channels
        chassis       Get chassis status and set power state
        power         Shortcut to chassis power commands
        event         Send pre-defined events to MC
        mc            Management Controller status and global enables
        sdr           Print Sensor Data Repository entries and readings
        sensor        Print detailed sensor information
        fru           Print built-in FRU and scan SDR for FRU locators
        sel           Print System Event Log (SEL)
        pef           Configure Platform Event Filtering (PEF)
        sol           Configure and connect IPMIv2.0 Serial-over-LAN
        tsol          Configure and connect with Tyan IPMIv1.5 Serial-over-LAN
        isol          Configure IPMIv1.5 Serial-over-LAN
        user          Configure Management Controller users
        channel       Configure Management Controller channels
        session       Print session information
        sunoem        OEM Commands for Sun servers
        kontronoem    OEM Commands for Kontron devices
        picmg         Run a PICMG/ATCA extended cmd
        fwum          Update IPMC using Kontron OEM Firmware Update Manager
        firewall      Configure Firmware Firewall
        shell         Launch interactive IPMI shell
        exec          Run list of commands from file
        set           Set runtime variable for shell and exec
        hpm           Update HPM components using PICMG HPM.1 file

我们不可能在此说明每个选项。我们来看看其中一个最常用的。选项 sel 显示系统事件日志,这是您需要使用的一个重要命令。

# ipmitool sel
SEL Information
Version          : 2.0 (v1.5, v2 compliant)
Entries          : 96
Free Space       : 14634 bytes
Percent Used     : 9%
Last Add Time    : 02/27/2011 20:23:44
Last Del Time    : Not Available
Overflow         : false
Supported Cmds   : 'Reserve' 'Get Alloc Info'
# of Alloc Units : 909
Alloc Unit Size  : 18
# Free Units     : 813
Largest Free Blk : 813
Max Record Size  : 18

此输出只是摘要。要了解事件日志的详细信息,可以加一个参数:list.

# ipmitool sel list
   1 | 01/21/2011 | 07:05:39 | System ACPI Power State #0x26 | S5/G2: soft-off | Asserted
   2 | 01/21/2011 | 08:59:43 | System Boot Initiated | System Restart | Asserted
   3 | 01/21/2011 | 08:59:44 | Entity Presence #0x54 | Device Present
   4 | 01/21/2011 | 08:59:44 | System Boot Initiated | Initiated by hard reset | Asserted
   5 | 01/21/2011 | 08:59:44 | System Firmware Progress | Memory initialization | Asserted
   6 | 01/21/2011 | 08:59:44 | System Firmware Progress | Primary CPU initialization | Asserted
   7 | 01/21/2011 | 08:59:49 | Entity Presence #0x58 | Device Present
   8 | 01/21/2011 | 08:59:52 | Entity Presence #0x57 | Device Present
   9 | 01/21/2011 | 08:59:53 | System Boot Initiated | Initiated by warm reset | Asserted
   a | 01/21/2011 | 08:59:53 | System Firmware Progress | Memory initialization | Asserted
   b | 01/21/2011 | 08:59:53 | System Firmware Progress | Primary CPU initialization | Asserted
   c | 01/21/2011 | 08:59:54 | System Boot Initiated | Initiated by warm reset | Asserted
   d | 01/21/2011 | 08:59:55 | System Firmware Progress | Memory initialization | Asserted
   e | 01/21/2011 | 08:59:55 | System Firmware Progress | Primary CPU initialization | Asserted
   f | 01/21/2011 | 09:00:01 | Entity Presence #0x55 | Device Present
... truncated ...

为节省空间,仅显示部分输出。这是您应了解的重要命令之一。进行故障诊断时,您应检查系统事件日志以确保组件未发生故障。当然,如果确实发生故障,则必须将其替换再进一步操作。如果从 IPMITOOL 获得的运行状况清单显示一切正常,则应进一步检查确保集群、RAC 数据库等都没有问题。

ASMCMD 工具

您可以通过三种不同方式管理 ASM 实例:

  • SQL — 传统 SQL 命令足以满足 ASM 的需要,但对于脚本和快速检查(如检查可用空间)就不一定是最好的选择了
  • ASMCMD — 用于 ASM 操作的命令行工具。此工具对用户非常友好,尤其是对于系统管理员转变成的 DMA,因为它不需要 SQL 的知识
  • ASMCA — ASM Configuration Assistant,提供有限的功能

在以上工具中,ASMCMD 的使用最为广泛。我们来看一下其工作原理。在 linux 命令提示符下执行 asmcmd 来调用此工具。

$ asmcmd –p

-p 参数只是在提示符中显示当前目录。您可以在 ASMCMD 提示符下输入命令。要了解磁盘组中的可用空间,请执行 lsdg 命令。

ASMCMD [+PRORECO] > lsdg
State    Type    Rebal  Sector  Block       AU  Total_MB   Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
MOUNTED  NORMAL  N         512   4096  4194304   4175360   4172528           379578         1896475              0             N  DBFS_DG/
MOUNTED  NORMAL  N         512   4096  4194304  67436544  64932284          6130594        29400845              0             N  PRODATA/
MOUNTED  HIGH    N         512   4096  4194304  23374656  21800824          4249936         5850296              0             Y  PRORECO/

lscd 等命令和它们在 Linux 世界中的作用一样。

ASMCMD [+] > ls
DBFS_DG/
PRODATA/
PRORECO/
ASMCMD [+] > cd PRORECO


要了解每个文件所使用的空间,请执行 ls –ls 命令。

ASMCMD [+PRORECO/PROLRD/ONLINELOG] > ls -ls
Type       Redund  Striped  Time             Sys  Block_Size   Blocks       Bytes        Space  Name
ONLINELOG  HIGH    COARSE   MAR 31 19:00:00  Y           512  8388609  4294967808  12910067712  group_1.257.744724579
ONLINELOG  HIGH    COARSE   MAR 31 19:00:00  Y           512  8388609  4294967808  12910067712  group_xx.277.744725199
ONLINELOG  HIGH    COARSE   MAR 31 19:00:00  Y           512  8388609  4294967808  12910067712  group_11.278.744725207
ONLINELOG  HIGH    COARSE   MAR 31 19:00:00  Y           512  8388609  4294967808  12910067712  group_12.279.744725215
ONLINELOG  HIGH    COARSE   MAR 31 19:00:00  Y           512  8388609  4294967808  12910067712  group_13.270.744725161
ONLINELOG  HIGH    COARSE   MAR 31 19:00:00  Y           512  8388609  4294967808  12910067712  group_14.272.744725169
… output truncated …

要获取所有 ASMCMD 命令的完整清单,请使用 help

ASMCMD [+] > help
       commands:
        --------

        md_backup, md_restore

        lsattr, setattr

        cd, cp, du, find, help, ls, lsct, lsdg, lsof, mkalias
        mkdir, pwd, rm, rmalias

        chdg, chkdg, dropdg, iostat, lsdsk, lsod, mkdg, mount
        offline, online, rebal, remap, umount

        dsget, dsset, lsop, shutdown, spbackup, spcopy, spget
        spmove, spset, startup

        chtmpl, lstmpl, mktmpl, rmtmpl

        chgrp, chmod, chown, groups, grpmod, lsgrp, lspwusr, lsusr
        mkgrp, mkusr, orapwusr, passwd, rmgrp, rmusr

        volcreate, voldelete, voldisable, volenable, volinfo
        volresize, volset, volstat

要获取有关特定命令的帮助,请使用 help <Command> ASMCMD [+] > help chkdg

        chkdg

        Checks or repairs the metadata of a disk group.

        chkdg [--repair] diskgroup

        The options for the chkdg command are described below.
        --repair        - Repairs the disk group.
        diskgroup       - Name of disk group to check or repair.

        chkdg checks the metadata of a disk group for errors and optionally
        repairs the errors.

        The following is an example of the chkdg command used to check and
        repair the DATA disk group.

        ASMCMD [+] > chkdg --repair data

 

任务

命令类别

管理操作系统和服务器(节点和单元)

Linux 命令,如 shutdown、fdisk 等

关闭电源和检查组件状态

IPMITOOL(Linux 工具)

用于管理 Exadata Storage Server,执行与单元有关的命令

CellCLI 工具

一次管理多个单元

DCLI

管理 ASM 资源,如磁盘组

SQL 命令(可以是 SQL*Plus)或 ASMCMD

管理 Clusterware

CRSCTL

管理集群组件

SRVCTL

管理数据库

SQL 命令(可以是 SQL*Plus)


后续步骤

了解了各种不同的命令类别之后,接下来您应了解各个具体命令。在下一部分,将专门介绍这两个类别的命令以助您升迁为 DMA。

> 返回系列目录

 


Arup Nanda (arup@proligence.com) 担任 Oracle DBA 已逾 14 载,处理过各方面的数据库管理工作,从性能优化到安全性和灾难恢复,无所不及。他是 Oracle ACE 总监并曾在 2003 年荣获 Oracle Magazine 的 DBA 称号。