一、查询
1.RAC信息查询
1.1、查看集群版本信息
- 查看集群运行版本
[grid@jydb1 ~]$ crsctl query crs activeversion
Oracle Clusterware active version on the cluster is [12.2.0.1.0]
- 查看集群发行版本
[grid@jydb1 ~]$ crsctl query crs releaseversion
Oracle High Availability Services release version on the local node is [12.2.0.1.0]
- 查看集群安装版本
[grid@jydb1 ~]$ crsctl query crs softwareversion
Oracle Clusterware version on node [jydb1] is [12.2.0.1.0]
1.2查看集群及节点信息
- 查看集群名称
[grid@jydb1 ~]$ cemutlo -n
jydb-cluster
- 查看节点名称
[grid@jydb1 ~]$ olsnodes
jydb1
jydb2
[grid@jydb1 ~]$ olsnodes -n
jydb1 1
jydb2 2
[grid@jydb1 ~]$ olsnodes -n -i
jydb1 1 jydb1-vip
jydb2 2 jydb2-vip
[grid@jydb1 ~]$ olsnodes -n -i -s
jydb1 1 jydb1-vip Active
jydb2 2 jydb2-vip Active
- 节点应用程序状态
[grid@jydb1 ~]$ srvctl status nodeapps
VIP 192.168.12.97 已启用
VIP 192.168.12.97 正在节点上运行: jydb1
VIP 192.168.12.98 已启用
VIP 192.168.12.98 正在节点上运行: jydb2
网络已启用
网络正在节点上运行: jydb1
网络正在节点上运行: jydb2
ONS 已启用
ONS 守护程序正在节点上运行:jydb1
ONS 守护程序正在节点上运行:jydb2
1.3 查看集群服务状态
- 集群CRS状态
[grid@jydb1 ~]$ crsctl check cluster
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
- 本地节点CRS状态
[grid@jydb1 ~]$ crsctl check crs
CRS-4638: Oracle High Availability Services is online
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
1.4检查集群中资源的状态
两个命令都可以
crsctl stat res -t
crs_stat -t (crs_*命令oracle官方已经不建议使用了)
crsctl stat res命令不再显示如ora.cssd、ora.ctssd、ora.diskmon等基础资源的信息。但是查看这些基础资源的状态信息对于系统状态检查很有意义的。如果想要了解这些resource状态需要加上-init选项。
[grid@jydb1 ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr
ONLINE ONLINE jydb1 STABLE
ONLINE ONLINE jydb2 STABLE
ora.DATA.dg
ONLINE ONLINE jydb1 STABLE
ONLINE ONLINE jydb2 STABLE
ora.FRA.dg
ONLINE ONLINE jydb1 STABLE
ONLINE ONLINE jydb2 STABLE
ora.LISTENER.lsnr
ONLINE ONLINE jydb1 STABLE
ONLINE ONLINE jydb2 STABLE
ora.MGMT.dg
ONLINE ONLINE jydb1 STABLE
ONLINE ONLINE jydb2 STABLE
ora.OCR.dg
ONLINE ONLINE jydb1 STABLE
ONLINE ONLINE jydb2 STABLE
ora.chad
ONLINE ONLINE jydb1 STABLE
ONLINE ONLINE jydb2 STABLE
ora.net1.network
ONLINE ONLINE jydb1 STABLE
ONLINE ONLINE jydb2 STABLE
ora.ons
ONLINE ONLINE jydb1 STABLE
ONLINE ONLINE jydb2 STABLE
ora.proxy_advm
OFFLINE OFFLINE jydb1 STABLE
OFFLINE OFFLINE jydb2 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE jydb1 STABLE
ora.MGMTLSNR
1 ONLINE ONLINE jydb1 169.254.189.116 10.0
.0.5,STABLE
ora.asm
1 ONLINE ONLINE jydb1 Started,STABLE
2 ONLINE ONLINE jydb2 Started,STABLE
3 OFFLINE OFFLINE STABLE
ora.cvu
1 ONLINE ONLINE jydb1 STABLE
ora.jydb1.vip
1 ONLINE ONLINE jydb1 STABLE
ora.jydb2.vip
1 ONLINE ONLINE jydb2 STABLE
ora.mgmtdb
1 ONLINE ONLINE jydb1 Open,STABLE
ora.orcl.db
1 ONLINE ONLINE jydb1 Open,HOME=/u01/app/o
racle/product/12.2.0
/db_1,STABLE
2 ONLINE ONLINE jydb2 Open,HOME=/u01/app/o
racle/product/12.2.0
/db_1,STABLE
ora.qosmserver
1 ONLINE ONLINE jydb1 STABLE
ora.scan1.vip
1 ONLINE ONLINE jydb1 STABLE
--------------------------------------------------------------------------------
[grid@jydb1 ~]$ crsctl stat res -init -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.asm
1 ONLINE ONLINE jydb1 STABLE
ora.cluster_interconnect.haip
1 ONLINE ONLINE jydb1 STABLE
ora.crf
1 ONLINE ONLINE jydb1 STABLE
ora.crsd
1 ONLINE ONLINE jydb1 STABLE
ora.cssd
1 ONLINE ONLINE jydb1 STABLE
ora.cssdmonitor
1 ONLINE ONLINE jydb1 STABLE
ora.ctssd
1 ONLINE ONLINE jydb1 OBSERVER,STABLE
ora.diskmon
1 OFFLINE OFFLINE STABLE
ora.driver.afd
1 ONLINE ONLINE jydb1 STABLE
ora.drivers.acfs
1 ONLINE ONLINE jydb1 STABLE
ora.evmd
1 ONLINE ONLINE jydb1 STABLE
ora.gipcd
1 ONLINE ONLINE jydb1 STABLE
ora.gpnpd
1 ONLINE ONLINE jydb1 STABLE
ora.mdnsd
1 ONLINE ONLINE jydb1 STABLE
ora.storage
1 ONLINE ONLINE jydb1 STABLE
--------------------------------------------------------------------------------
1.5查看集群OCR 文件信息
[grid@jydb1 ~]$ ocrcheck
Status of Oracle Cluster Registry is as follows :
Version : 4
Total space (kbytes) : 409568
Used space (kbytes) : 2128
Available space (kbytes) : 407440
ID : 337735257
Device/File Name : +OCR
Device/File integrity check succeeded
Device/File not configured
Device/File not configured
Device/File not configured
Device/File not configured
Cluster registry integrity check succeeded
Logical corruption check bypassed due to non-privileged user
grid用户权限不足,用root用户
[grid@jydb1 ~]$ exit
logout
[root@jydb1 rlwrap-0.37]# cd /u01/app/
12.2.0/ grid/ oracle/ oraInventory/
[root@jydb1 rlwrap-0.37]# cd /u01/app/12.2.0/grid/bin
[root@jydb1 bin]# ./ocr
ocrcheck ocrcheck.bin ocrconfig ocrconfig.bin ocrdump ocrdump.bin ocrpatch
[root@jydb1 bin]# ./ocrcheck
Status of Oracle Cluster Registry is as follows :
Version : 4
Total space (kbytes) : 409568
Used space (kbytes) : 2128
Available space (kbytes) : 407440
ID : 337735257
Device/File Name : +OCR
Device/File integrity check succeeded
Device/File not configured
Device/File not configured
Device/File not configured
Device/File not configured
Cluster registry integrity check succeeded
Logical corruption check succeeded
1.6查看集群软件OCR备份信息 (存放很多重要信息,类似于win的注册表,4小时自动备份,保留前一天最后一次备份、前一周最后一次按备份)
[grid@jydb1 ~]$ ocrconfig -showbackup
jydb1 2018/07/11 11:35:19 +MGMT:/jydb-cluster/OCRBACKUP/backup00.ocr.286.981200111 0
jydb1 2018/07/11 07:35:08 +MGMT:/jydb-cluster/OCRBACKUP/backup01.ocr.288.981185701 0
jydb1 2018/07/11 03:34:59 +MGMT:/jydb-cluster/OCRBACKUP/backup02.ocr.281.981171291 0
jydb1 2018/07/10 07:34:12 +MGMT:/jydb-cluster/OCRBACKUP/day.ocr.282.981099253 0
jydb1 2018/07/04 21:40:30 +MGMT:/jydb-cluster/OCRBACKUP/week.ocr.283.980631633 0
PROT-25: Manual backups for the Oracle Cluster Registry are not available
2、ASM查询
大部分状态查看都可以通过-h 命令去查看
[grid@jydb1 ~]$ srvctl status -h
SRVCTL status 命令显示对象的当前状态。
用法: srvctl status database {-db <db_unique_name> {[-serverpool <serverpool_name>] | [-sid] [-home]} | -serverpool <serverpool_name> | -thisversion | -thishome} [-force] [-detail] [-verbose]
用法: srvctl status instance -db <db_unique_name> {-node <node_list> | -instance <inst_name_list>} [-force] [-detail] [-verbose]
用法: srvctl status service {-db <db_unique_name> [-service "<service_name_list>" | -pdb <pluggable_database>] | -serverpool <serverpool_name> [-db <db_unique_name>]} [-force] [-verbose]
用法: srvctl status nodeapps [-node <node_name>]
用法: srvctl status vip {-node <node_name> | -vip <vip_name>} [-verbose]
用法: srvctl status listener [-listener <lsnr_name>] [-node <node_name>] [-verbose]
用法: srvctl status asm [-proxy] [-node <node_name>] [-detail] [-verbose]
用法: srvctl status ioserver [-node <node_name>] [-detail] [-verbose]
用法: srvctl status scan [[-netnum <network_number>] [-scannumber <scan_ordinal_number>] | -all] [-verbose]
用法: srvctl status scan_listener [[-netnum <network_number>] [-scannumber <scan_ordinal_number>] | -all] [-verbose]
用法: srvctl status srvpool [-serverpool <pool_name>] [-detail]
用法: srvctl status server -servers "<server_list>" [-detail]
用法: srvctl status qosmserver [-node <node_name>] [-verbose]
用法: srvctl status rhpserver
用法: srvctl status rhpclient
用法: srvctl status home -oraclehome <oracle_home> -statefile <state_file> -node <node_name>
用法: srvctl status filesystem [-device <volume_device> | -volume <volume_name> -diskgroup <dg_name>] [-verbose]
用法: srvctl status volume [-device <volume_device>] [-volume <volume_name>] [-diskgroup <group_name>] [-node "<node_list>" | -all]
用法: srvctl status diskgroup -diskgroup <dg_name> [-node "<node_list>"] [-detail] [-verbose]
用法: srvctl status cvu [-node <node_name>]
用法: srvctl status gns [-node <node_name>] [-verbose]
用法: srvctl status mgmtdb [-verbose]
用法: srvctl status mgmtlsnr [-verbose]
用法: srvctl status exportfs [-name <expfs_name> |-id <havip_id>]
用法: srvctl status havip [-id <id>]
用法: srvctl status cha [-node <node_name>]
用法: srvctl status mountfs -name <mountfs_name>
用法: srvctl status vm -name <unique_name> [-vm <name_or_id> | -node <node_name>]
用法: srvctl status ccmb
用法: srvctl status oraclehome -name <home_name>
有关各个命令和对象的详细帮助, 请使用:
srvctl <command> <object> -help [-compatible]
2.1查看状态
[grid@jydb1 ~]$ srvctl status asm
ASM 正在 jydb1,jydb2 上运行
详情
[grid@jydb1 ~]$ srvctl status asm -a
ASM 正在 jydb1,jydb2 上运行
ASM 已启用。
ASM 实例 +ASM1 正在节点 jydb1 上运行
连接的客户机数: 2
客户机名称: jydb1:_OCR:jydb-cluster racdb11:orcl:jydb-cluster
ASM 实例 +ASM2 正在节点 jydb2 上运行
连接的客户机数: 3
客户机名称: -MGMTDB:_mgmtdb:jydb-cluster jydb2:_OCR:jydb-cluster racdb12:orcl:jydb-cluste
2.2、查看asm配置
[grid@jydb1 ~]$ srvctl config asm -a
ASM 主目录: <CRS home>
口令文件: +OCR/orapwASM
Backup of Password file:
ASM 监听程序: LISTENER
ASM 已启用。
ASM 已在以下节点上分别启用:
ASM 已在以下节点上分别禁用:
ASM 实例计数: 3
集群 ASM 监听程序: ASMNET1LSNR_ASM
3、查看listener
3.1、查看监听状态
[grid@jydb1 ~]$ srvctl status listener
监听程序 LISTENER 已启用
监听程序 LISTENER 正在节点上运行: jydb1,jydb2
3.2、查看监听配置
本地
[grid@jydb1 ~]$ srvctl config listener
名称: LISTENER
类型: Database Listener
网络: 1, 所有者: grid
主目录: <CRS home>
端点: TCP:1521
监听程序已启用。
监听程序已在以下节点上分别启用:
监听程序已在以下节点上分别禁用:
集群
[grid@jydb1 ~]$ srvctl config listener -a
名称: LISTENER
类型: Database Listener
网络: 1, 所有者: grid
主目录: <CRS home>
节点 jydb2,jydb1 上的 /u01/app/12.2.0/grid
端点: TCP:1521
监听程序已启用。
监听程序已在以下节点上分别启用:
监听程序已在以下节点上分别禁用:
4、查看scan监听器
4.1 查看状态
[grid@jydb1 ~]$ srvctl status scan_listener
SCAN 监听程序 LISTENER_SCAN1 已启用
SCAN 监听程序 LISTENER_SCAN1 正在节点 jydb2 上运行
[grid@jydb1 ~]$ srvctl status scan
SCAN VIP scan1 已启用
SCAN VIP scan1 正在节点 jydb2 上运行
4.2 查看scan IP 信息
[grid@jydb1 ~]$ srvctl config scan
SCAN 名称: jydb-cluster-scan, 网络: 1
子网 IPv4: 192.168.12.0/255.255.255.0/eth0, static
子网 IPv6:
SCAN 1 IPv4 VIP: 192.168.12.90
SCAN VIP 已启用。
SCAN VIP 已在以下节点上分别启用:
SCAN VIP 已在以下节点上分别禁用:
5、VIP、instance、service等
srvctl status -h 查看用法
6、数据库查看
6.1数据库名查询
[grid@jydb1 ~]$ srvctl config database
orcl
6.2查看状态
[grid@jydb1 ~]$ srvctl status database -d orcl
实例 racdb11 正在节点 jydb1 上运行
实例 racdb12 正在节点 jydb2 上运行
[grid@jydb1 ~]$ srvctl status database -d orcl -v
实例 racdb11 正在节点 jydb1 上运行。实例状态: open。
实例 racdb12 正在节点 jydb2 上运行。实例状态: open。
6.3 查看数据库配置
[grid@jydb1 ~]$ srvctl config database -d orcl -a
数据库唯一名称: orcl
数据库名: orcl
Oracle 主目录: /u01/app/oracle/product/12.2.0/db_1
Oracle 用户: oracle
Spfile: +DATA/ORCL/PARAMETERFILE/spfile.272.980687129
口令文件: +DATA/ORCL/PASSWORD/pwdorcl.256.980678575
域:
启动选项: open
停止选项: immediate
数据库角色: PRIMARY
管理策略: AUTOMATIC
服务器池:
磁盘组: DATA,FRA
装载点路径:
服务:
类型: RAC
启动并行:
停止并行:
数据库已启用
数据库已在以下节点上分别启用:
数据库已在以下节点上分别禁用:
OSDBA 组: dba
OSOPER 组: oper
数据库实例: racdb11,racdb12
已配置的节点: jydb1,jydb2
CSS 关键型: no
CPU 计数: 0
内存目标: 0
最大内存: 0
数据库服务的默认网络编号:
数据库是管理员管理的
二、管理
1、ORACLE数据库管理命令
1.1、通过SRVCTL命令来start/stop/check所有的实例:
srvctl start|stop|status database -d db_name
- 查看
[grid@jydb1 ~]$ srvctl status database -d orcl
实例 racdb11 正在节点 jydb1 上运行
实例 racdb12 正在节点 jydb2 上运行
- 关闭
[grid@jydb1 ~]$ srvctl stop database -d orcl
- 启动
[grid@jydb1 ~]$ srvctl start database -d orcl
1.2、通过SRVCTL命令来start/stop/check管理指定实例:
srvctl start|stop|status instance -d -i
[grid@jydb1 ~]$ srvctl status instance -d orcl -i racdb11
实例 racdb11 正在节点 jydb1 上运行
启动关闭指定实例参考以上语句。
2、RAC管理命令
2.1查看
[grid@jydb1 ~]$ crsctl stat res -t
或者
[grid@jydb1 ~]$ crsctl stat res -t -init
或者
[grid@jydb1 ~]$ crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora....SM.lsnr ora....er.type ONLINE ONLINE jydb1
ora.DATA.dg ora....up.type ONLINE ONLINE jydb1
ora.FRA.dg ora....up.type ONLINE ONLINE jydb1
ora....ER.lsnr ora....er.type ONLINE ONLINE jydb1
ora....AF.lsnr ora....er.type OFFLINE OFFLINE
ora....N1.lsnr ora....er.type ONLINE ONLINE jydb2
ora.MGMT.dg ora....up.type ONLINE ONLINE jydb1
ora.MGMTLSNR ora....nr.type ONLINE ONLINE jydb2
ora.OCR.dg ora....up.type ONLINE ONLINE jydb1
ora.asm ora.asm.type ONLINE ONLINE jydb1
ora.chad ora.chad.type ONLINE ONLINE jydb1
ora.cvu ora.cvu.type ONLINE ONLINE jydb2
ora....B1.lsnr application ONLINE ONLINE jydb1
ora.jydb1.ons application ONLINE ONLINE jydb1
ora.jydb1.vip ora....t1.type ONLINE ONLINE jydb1
ora....B2.lsnr application ONLINE ONLINE jydb2
ora.jydb2.ons application ONLINE ONLINE jydb2
ora.jydb2.vip ora....t1.type ONLINE ONLINE jydb2
ora.mgmtdb ora....db.type ONLINE ONLINE jydb2
ora....network ora....rk.type ONLINE ONLINE jydb1
ora.ons ora.ons.type ONLINE ONLINE jydb1
ora.orcl.db ora....se.type ONLINE ONLINE jydb2
ora.proxy_advm ora....vm.type OFFLINE OFFLINE
ora.qosmserver ora....er.type ONLINE ONLINE jydb2
ora.scan1.vip ora....ip.type ONLINE ONLINE jydb2
2.2启动和关闭
[grid@jydb1 ~]$ crsctl stop cluster -h
Usage:
crsctl stop cluster [[-all] | [-n <server>[...]] | -hub | -leaf | -w <filter>] [-f]
Stop CRS stack
where
Default Stop local server
-all Stop all servers
-n Stop named servers
server [...] One or more blank-separated server names
-hub Stop hub nodes
-leaf Stop leaf nodes
-w Stop only servers that match a filter (e.g., "ACTIVE_CSS_ROLE = hub")
-f Force option
---停止所有节点集群服务
crsctl stop cluster -all
停止本节点集群服务
crsctl stop cluster
启动命令 crsctl start cluster
从OCR中删除已有的数据库:
srvctl remove database -d orcl
向OCR中添加一个数据库的实例:
srvctl add instance -d -i -n
srvctl add instance -d -i -n
另外通过srvctl 命令可以管理一个节点的rac
srvctl start|stop|status nodeapps -n rac_node
[grid@jydb1 ~]$ srvctl -h |grep nodeapps
用法: srvctl add nodeapps { { -node <node_name> -address {<vip_name>|<ip>}/<netmask>[/if1[|if2...]] [-skip]} | { -subnet <subnet>/<netmask>[/if1[|if2...]] } } [-emport <em_port>] [-onslocalport <ons_local_port>] [-onsremoteport <ons_remote_port>] [-remoteservers <host>[:<port>][,<host>[:<port>]...]] [-clientdata <file>] [-pingtarget "<pingtarget_list>"] [-verbose]
用法: srvctl config nodeapps [-viponly] [-onsonly]
用法: srvctl modify nodeapps {[-node <node_name> -address {<vip_name>|<ip>}/<netmask>[/if1[|if2...]] [-skip]] | [-subnet <subnet>/<netmask>[/if1[|if2|...]]]} [-nettype {STATIC|DHCP|AUTOCONFIG|MIXED}] [-emport <em_port>] [ -onslocalport <ons_local_port> ] [-onsremoteport <ons_remote_port> ] [-remoteservers <host>[:<port>][,<host>[:<port>]...]] [-clientdata <file>] [-pingtarget "<pingtarget_list>"] [-verbose]
用法: srvctl start nodeapps [-node <node_name>] [-adminhelper | -onsonly] [-verbose]
用法: srvctl stop nodeapps [-node <node_name>] [-adminhelper | -onsonly | -relocate] [-force] [-verbose]
用法: srvctl status nodeapps [-node <node_name>]
用法: srvctl enable nodeapps [-adminhelper] [-verbose]
用法: srvctl disable nodeapps [-adminhelper] [-verbose]
用法: srvctl remove nodeapps [-force] [-noprompt] [-verbose]
用法: srvctl getenv nodeapps [-viponly] [-onsonly] [-envs "<name>[,...]"]
用法: srvctl setenv nodeapps {-envs "<name>=<val>[,...]" | -env "<name>=<val>"} [-viponly | -onsonly] [-verbose]
用法: srvctl unsetenv nodeapps -envs "<name>[,...]" [-viponly | -onsonly] [-verbose]
[grid@jydb1 ~]$ srvctl status nodeapps -n jydb1
VIP 192.168.12.97 已启用
VIP 192.168.12.97 正在节点上运行: jydb1
网络已启用
网络正在节点上运行: jydb1
ONS 已启用
ONS 守护程序正在节点上运行:jydb1
RAC重启参考下一篇。