Oracle Clusterware 工具集(2)——应用层!

1、crs_stat 这个命令用于查看CRS维护的所有资源的运行状态。

[grid@racnode1 ~]$ crs_stat -help
此命令已废弃并替换为 'crsctl status resource'
保留此命令只是为了向后兼容

Usage:  crs_stat [resource_name [...]] [-v] [-l] [-q] [-c cluster_member]
        crs_stat [resource_name [...]] -t [-v] [-q] [-c cluster_member]
        crs_stat -p [resource_name [...]] [-q]
        crs_stat [-a] application -g
        crs_stat [-a] application -r [-c cluster_member]
        crs_stat -f [resource_name [...]] [-q] [-c cluster_member]
        crs_stat -ls [resource_name [...]] [-q]

[grid@racnode1 ~]$ crs_stat -t
名称           类型           目标      状态      主机        
------------------------------------------------------------
ora.BG.dg      ora....up.type OFFLINE   OFFLINE               
ora.DG.dg      ora....up.type OFFLINE   OFFLINE               
ora....ER.lsnr ora....er.type OFFLINE   OFFLINE               
ora....N1.lsnr ora....er.type OFFLINE   OFFLINE               
ora....N2.lsnr ora....er.type OFFLINE   OFFLINE               
ora....N3.lsnr ora....er.type OFFLINE   OFFLINE               
ora....VOTE.dg ora....up.type ONLINE    ONLINE    racnode1    
ora.asm        ora.asm.type   ONLINE    ONLINE    racnode1    
ora.eons       ora.eons.type  ONLINE    ONLINE    racnode1    
ora.gsd        ora.gsd.type   OFFLINE   OFFLINE               
ora....network ora....rk.type ONLINE    ONLINE    racnode1    
ora.oc4j       ora.oc4j.type  OFFLINE   OFFLINE               
ora.ons        ora.ons.type   ONLINE    ONLINE    racnode1    
ora.orcl.db    ora....se.type OFFLINE   OFFLINE               
ora....SM1.asm application    ONLINE    ONLINE    racnode1    
ora....E1.lsnr application    OFFLINE   OFFLINE               
ora....de1.gsd application    OFFLINE   OFFLINE               
ora....de1.ons application    ONLINE    ONLINE    racnode1    
ora....de1.vip ora....t1.type OFFLINE   OFFLINE               
ora....SM2.asm application    ONLINE    ONLINE    racnode2    
ora....E2.lsnr application    OFFLINE   OFFLINE               
ora....de2.gsd application    OFFLINE   OFFLINE               
ora....de2.ons application    ONLINE    ONLINE    racnode2    
ora....de2.vip ora....t1.type OFFLINE   OFFLINE               
ora....ry.acfs ora....fs.type ONLINE    ONLINE    racnode1    
ora.scan1.vip  ora....ip.type OFFLINE   OFFLINE               
ora.scan2.vip  ora....ip.type OFFLINE   OFFLINE               
ora.scan3.vip  ora....ip.type OFFLINE   OFFLINE

2、onsctl 这个命令用于管理配置ONS。当服务端发生某些事件时,服务器会主动的通知客户端这种变化,这样客户端就能尽早得知服务器端变化。而这种机制就是依赖ONS实现的。
[grid@racnode1 ~]$ onsctl -help
onsctl: unknown command: -help

usage: onsctl <command> [<options>]

Permitted <command>/<options> combinations are:

command   options
-------   ---------
start                       - Start ons
shutdown                    - Shutdown ons
reload                      - Trigger ons to reread its configuration file
debug     [<attr>=<val> ..] - Display ons server debug information
set       [<attr>=<val> ..] - Set ons log parameters
query     [<attr>=<val>]    - Query ons log parameters
ping      [<max-retry>]     - Ping local ons
help                        - Print brief usage description (this)
usage     [<command>]       - Print detailed usage description

3、srvctl 命令是RAC维护中最常用的命令,也是最复杂的命令。

srvctl 的命令格式如下:srvctl <command> <object> [<options>]

[grid@racnode1 ~]$ srvctl -help
用法: srvctl <command> <object> [<options>]
    命令: enable|disable|start|stop|relocate|status|add|remove|modify|getenv|setenv|unsetenv|config
    对象: database|instance|service|nodeapps|vip|asm|diskgroup|listener|srvpool|server|scan|scan_listener|oc4j|home|filesystem|gns
有关各个命令和对象的详细帮助, 请使用:
  srvctl <command> -h 或
  srvctl <command> <object> -h
[grid@racnode1 ~]$ srvctl status -h

SRVCTL status 命令显示对象的当前状态。

用法: srvctl status database -d <db_unique_name> [-f] [-v]
用法: srvctl status instance -d <db_unique_name> {-n <node_name> | -i <inst_name_list>} [-f] [-v]
用法: srvctl status service -d <db_unique_name> [-s "<service_name_list>"] [-f] [-v]
用法: srvctl status nodeapps
用法: srvctl status vip { -n <node_name> | -i <vip_name> }
用法: srvctl status listener [-l <lsnr_name>] [-n <node_name>]
用法: srvctl status asm [-n <node_name>] [-a]
用法: srvctl status scan [-i <ordinal_number>]
用法: srvctl status scan_listener [-i <ordinal_number>]
用法: srvctl status srvpool [-g <pool_name>] [-a]
用法: srvctl status server -n "<server_list>" [-a]
用法: srvctl status oc4j [-n <node_name>]
用法: srvctl status home -o <oracle_home> -s <state_file> -n <node_name>
用法: srvctl status filesystem -d <volume_device>
用法: srvctl status diskgroup -g <dg_name> [-n "<node_list>"] [-a]
用法: srvctl status gns -n <node_name>
有关各个命令和对象的详细帮助, 请使用:
  srvctl <command> <object> -h
[grid@racnode1 ~]$ srvctl status instance -h

显示数据库实例的当前状态。

用法: srvctl status instance -d <db_unique_name> {-n <node_name> | -i <inst_name_list>} [-f] [-v]
    -d <db_unique_name>      数据库的唯一名称
    -n <node_name>           节点名
    -i "<inst,...>"          逗号分隔的实例名
    -f                       包含禁用的应用程序
    -v                       详细输出
    -h                       输出用法
[grid@racnode1 ~]$ srvctl -h
用法: srvctl [-V]
用法: srvctl add database -d <db_unique_name> -o <oracle_home> [-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>"]
用法: srvctl config database [-d <db_unique_name> [-a] ]
用法: srvctl start database -d <db_unique_name> [-o <start_options>]
用法: srvctl stop database -d <db_unique_name> [-o <stop_options>] [-f]
用法: srvctl status database -d <db_unique_name> [-f] [-v]
用法: srvctl enable database -d <db_unique_name> [-n <node_name>]
用法: srvctl disable database -d <db_unique_name> [-n <node_name>]
用法: srvctl modify database -d <db_unique_name> [-n <db_name>] [-o <oracle_home>] [-u <oracle_user>] [-m <domain>] [-p <spfile>] [-r {PRIMARY | PHYSICAL_STANDBY | LOGICAL_STANDBY | SNAPSHOT_STANDBY}] [-s <start_options>] [-t <stop_options>] [-y {AUTOMATIC | MANUAL}] [-g "<serverpool_list>" [-x <node_name>]] [-a "<diskgroup_list>"|-z]
用法: srvctl remove database -d <db_unique_name> [-f] [-y]
用法: srvctl getenv database -d <db_unique_name> [-t "<name_list>"]
用法: srvctl setenv database -d <db_unique_name> {-t <name>=<val>[,<name>=<val>,...] | -T <name>=<val>}
用法: srvctl unsetenv database -d <db_unique_name> -t "<name_list>"
用法: srvctl add instance -d <db_unique_name> -i <inst_name> -n <node_name> [-f]
用法: srvctl start instance -d <db_unique_name> {-n <node_name> [-i <inst_name>] | -i <inst_name_list>} [-o <start_options>]
用法: srvctl stop instance -d <db_unique_name> {-n <node_name> | -i <inst_name_list>}  [-o <stop_options>] [-f]
用法: srvctl status instance -d <db_unique_name> {-n <node_name> | -i <inst_name_list>} [-f] [-v]
用法: srvctl enable instance -d <db_unique_name> -i "<inst_name_list>"
用法: srvctl disable instance -d <db_unique_name> -i "<inst_name_list>"
用法: srvctl modify instance -d <db_unique_name> -i <inst_name> { -n <node_name> | -z }
用法: srvctl remove instance -d <db_unique_name> [-i <inst_name>] [-f] [-y]
用法: srvctl add service -d <db_unique_name> -s <service_name> {-r "<preferred_list>" [-a "<available_list>"] [-P {BASIC | NONE | PRECONNECT}] | -g <server_pool> [-c {UNIFORM | SINGLETON}] } [-k   <net_num>] [-l [PRIMARY][,PHYSICAL_STANDBY][,LOGICAL_STANDBY][,SNAPSHOT_STANDBY]] [-y {AUTOMATIC | MANUAL}] [-q {TRUE|FALSE}] [-x {TRUE|FALSE}] [-j {SHORT|LONG}] [-B {NONE|SERVICE_TIME|THROUGHPUT}] [-e {NONE|SESSION|SELECT}] [-m {NONE|BASIC}] [-z <failover_retries>] [-w <failover_delay>]
用法: srvctl add service -d <db_unique_name> -s <service_name> -u {-r "<new_pref_inst>" | -a "<new_avail_inst>"}
用法: srvctl config service -d <db_unique_name> [-s <service_name>] [-a]
用法: srvctl enable service -d <db_unique_name> -s "<service_name_list>" [-i <inst_name> | -n <node_name>]
用法: srvctl disable service -d <db_unique_name> -s "<service_name_list>" [-i <inst_name> | -n <node_name>]
用法: srvctl status service -d <db_unique_name> [-s "<service_name_list>"] [-f] [-v]
用法: srvctl modify service -d <db_unique_name> -s <service_name> -i <old_inst_name> -t <new_inst_name> [-f]
用法: srvctl modify service -d <db_unique_name> -s <service_name> -i <avail_inst_name> -r [-f]
用法: srvctl modify service -d <db_unique_name> -s <service_name> -n -i "<preferred_list>" [-a "<available_list>"] [-f]
用法: srvctl modify service -d <db_unique_name> -s <service_name> [-c {UNIFORM | SINGLETON}] [-P {BASIC|PRECONNECT|NONE}] [-l [PRIMARY][,PHYSICAL_STANDBY][,LOGICAL_STANDBY][,SNAPSHOT_STANDBY]] [-y {AUTOMATIC | MANUAL}][-q {true|false}] [-x {true|false}] [-j {SHORT|LONG}] [-B {NONE|SERVICE_TIME|THROUGHPUT}] [-e {NONE|SESSION|SELECT}] [-m {NONE|BASIC}] [-z <integer>] [-w <integer>]
用法: srvctl relocate service -d <db_unique_name> -s <service_name> {-i <old_inst_name> -t <new_inst_name> | -c <current_node> -n <target_node>} [-f]
       为管理员管理的数据库指定实例, 或者为策略管理的数据库指定节点
用法: srvctl remove service -d <db_unique_name> -s <service_name> [-i <inst_name>] [-f]
用法: srvctl start service -d <db_unique_name> [-s "<service_name_list>" [-n <node_name> | -i <inst_name>] ] [-o <start_options>]
用法: srvctl stop service -d <db_unique_name> [-s "<service_name_list>" [-n <node_name> | -i <inst_name>] ] [-f]
用法: srvctl add nodeapps { { -n <node_name> -A <name|ip>/<netmask>/[if1[|if2...]] } | { -S <subnet>/<netmask>/[if1[|if2...]] } } [-p <portnum>] [-m <multicast-ip-address>] [-e <eons-listen-port>] [-l <ons-local-port>]  [-r <ons-remote-port>] [-t <host>[:<port>][,<host>[:<port>]...]] [-v]
用法: srvctl config nodeapps [-a] [-g] [-s] [-e]
用法: srvctl modify nodeapps {[-n <node_name> -A <new_vip_address>/<netmask>[/if1[|if2|...]]] | [-S <subnet>/<netmask>[/if1[|if2|...]]]} [-m <multicast-ip-address>] [-p <multicast-portnum>] [-e <eons-listen-port>] [ -l <ons-local-port> ] [-r <ons-remote-port> ] [-t <host>[:<port>][,<host>[:<port>]...]] [-v]
用法: srvctl start nodeapps [-n <node_name>] [-v]
用法: srvctl stop nodeapps [-n <node_name>] [-f] [-r] [-v]
用法: srvctl status nodeapps
用法: srvctl enable nodeapps [-v]
用法: srvctl disable nodeapps [-v]
用法: srvctl remove nodeapps [-f] [-y] [-v]
用法: srvctl getenv nodeapps [-a] [-g] [-s] [-e] [-t "<name_list>"]
用法: srvctl setenv nodeapps {-t "<name>=<val>[,<name>=<val>,...]" | -T "<name>=<val>"}
用法: srvctl unsetenv nodeapps -t "<name_list>" [-v]
用法: srvctl add vip -n <node_name> -k <network_number> -A <name|ip>/<netmask>/[if1[|if2...]] [-v]
用法: srvctl config vip { -n <node_name> | -i <vip_name> }
用法: srvctl disable vip -i <vip_name> [-v]
用法: srvctl enable vip -i <vip_name> [-v]
用法: srvctl remove vip -i "<vip_name_list>" [-f] [-y] [-v]
用法: srvctl getenv vip -i <vip_name> [-t "<name_list>"]
用法: srvctl start vip { -n <node_name> | -i <vip_name> } [-v]
用法: srvctl stop vip { -n <node_name>  | -i <vip_name> } [-f] [-r] [-v]
用法: srvctl status vip { -n <node_name> | -i <vip_name> }
用法: srvctl setenv vip -i <vip_name> {-t "<name>=<val>[,<name>=<val>,...]" | -T "<name>=<val>"}
用法: srvctl unsetenv vip -i <vip_name> -t "<name_list>" [-v]
用法: srvctl add asm [-l <lsnr_name>]
用法: srvctl start asm [-n <node_name>] [-o <start_options>]
用法: srvctl stop asm [-n <node_name>] [-o <stop_options>] [-f]
用法: srvctl config asm [-a]
用法: srvctl status asm [-n <node_name>] [-a]
用法: srvctl enable asm [-n <node_name>]
用法: srvctl disable asm [-n <node_name>]
用法: srvctl modify asm [-l <lsnr_name>] 
用法: srvctl remove asm [-f]
用法: srvctl getenv asm [-t <name>[, ...]]
用法: srvctl setenv asm -t "<name>=<val> [,...]" | -T "<name>=<value>"
用法: srvctl unsetenv asm -t "<name>[, ...]"
用法: srvctl start diskgroup -g <dg_name> [-n "<node_list>"]
用法: srvctl stop diskgroup -g <dg_name> [-n "<node_list>"] [-f]
用法: srvctl status diskgroup -g <dg_name> [-n "<node_list>"] [-a]
用法: srvctl enable diskgroup -g <dg_name> [-n "<node_list>"]
用法: srvctl disable diskgroup -g <dg_name> [-n "<node_list>"]
用法: srvctl remove diskgroup -g <dg_name> [-f]
用法: srvctl add listener [-l <lsnr_name>] [-s] [-p "[TCP:]<port>[, ...][/IPC:<key>][/NMP:<pipe_name>][/TCPS:<s_port>] [/SDP:<port>]"] [-o <oracle_home>] [-k <net_num>]
用法: srvctl config listener [-l <lsnr_name>] [-a]
用法: srvctl start listener [-l <lsnr_name>] [-n <node_name>]
用法: srvctl stop listener [-l <lsnr_name>] [-n <node_name>] [-f]
用法: srvctl status listener [-l <lsnr_name>] [-n <node_name>]
用法: srvctl enable listener [-l <lsnr_name>] [-n <node_name>]
用法: srvctl disable listener [-l <lsnr_name>] [-n <node_name>]
用法: srvctl modify listener [-l <lsnr_name>] [-o <oracle_home>] [-p "[TCP:]<port>[, ...][/IPC:<key>][/NMP:<pipe_name>][/TCPS:<s_port>] [/SDP:<port>]"] [-u <oracle_user>] [-k <net_num>]
用法: srvctl remove listener [-l <lsnr_name> | -a] [-f]
用法: srvctl getenv listener [-l <lsnr_name>] [-t <name>[, ...]]
用法: srvctl setenv listener [-l <lsnr_name>] -t "<name>=<val> [,...]" | -T "<name>=<value>"
用法: srvctl unsetenv listener [-l <lsnr_name>] -t "<name>[, ...]"
用法: srvctl add scan -n <scan_name> [-k <network_number> [-S <subnet>/<netmask>[/if1[|if2|...]]]]
用法: srvctl config scan [-i <ordinal_number>]
用法: srvctl start scan [-i <ordinal_number>] [-n <node_name>]
用法: srvctl stop scan [-i <ordinal_number>] [-f]
用法: srvctl relocate scan -i <ordinal_number> [-n <node_name>]
用法: srvctl status scan [-i <ordinal_number>]
用法: srvctl enable scan [-i <ordinal_number>]
用法: srvctl disable scan [-i <ordinal_number>]
用法: srvctl modify scan -n <scan_name>
用法: srvctl remove scan [-f] [-y]
用法: srvctl add scan_listener [-l <lsnr_name_prefix>] [-s] [-p [TCP:]<port>[/IPC:<key>][/NMP:<pipe_name>][/TCPS:<s_port>] [/SDP:<port>]] 
用法: srvctl config scan_listener [-i <ordinal_number>]
用法: srvctl start scan_listener [-n <node_name>] [-i <ordinal_number>]
用法: srvctl stop scan_listener [-i <ordinal_number>] [-f]
用法: srvctl relocate scan_listener -i <ordinal_number> [-n <node_name>]
用法: srvctl status scan_listener [-i <ordinal_number>]
用法: srvctl enable scan_listener [-i <ordinal_number>]
用法: srvctl disable scan_listener [-i <ordinal_number>]
用法: srvctl modify scan_listener {-u|-p [TCP:]<port>[/IPC:<key>][/NMP:<pipe_name>][/TCPS:<s_port>] [/SDP:<port>]} 
用法: srvctl remove scan_listener [-f] [-y]
用法: srvctl add srvpool -g <pool_name> [-l <min>] [-u <max>] [-i <importance>] [-n "<server_list>"]
用法: srvctl config srvpool [-g <pool_name>]
用法: srvctl status srvpool [-g <pool_name>] [-a]
用法: srvctl status server -n "<server_list>" [-a]
用法: srvctl relocate server -n "<server_list>" -g <pool_name> [-f]
用法: srvctl modify srvpool -g <pool_name> [-l <min>] [-u <max>] [-i <importance>] [-n "<server_list>"]
用法: srvctl remove srvpool -g <pool_name>
用法: srvctl add oc4j [-v]
用法: srvctl config oc4j
用法: srvctl start oc4j [-v]
用法: srvctl stop oc4j [-f] [-v]
用法: srvctl relocate oc4j [-n <node_name>] [-v]
用法: srvctl status oc4j [-n <node_name>]
用法: srvctl enable oc4j [-n <node_name>] [-v]
用法: srvctl disable oc4j [-n <node_name>] [-v]
用法: srvctl modify oc4j -p <oc4j_rmi_port> [-v]
用法: srvctl remove oc4j [-f] [-v]
用法: srvctl start home -o <oracle_home> -s <state_file> -n <node_name>
用法: srvctl stop home -o <oracle_home> -s <state_file> -n <node_name> [-t <stop_options>] [-f]
用法: srvctl status home -o <oracle_home> -s <state_file> -n <node_name>
用法: srvctl add filesystem -d <volume_device> -v <volume_name> -g <dg_name> [-m <mountpoint_path>] [-u <user>]
用法: srvctl config filesystem -d <volume_device>
用法: srvctl start filesystem -d <volume_device> [-n <node_name>]
用法: srvctl stop filesystem -d <volume_device> [-n <node_name>] [-f]
用法: srvctl status filesystem -d <volume_device>
用法: srvctl enable filesystem -d <volume_device>
用法: srvctl disable filesystem -d <volume_device>
用法: srvctl modify filesystem -d <volume_device> -u <user>
用法: srvctl remove filesystem -d <volume_device> [-f]
用法: srvctl start gns [-v] [-l <log_level>] [-n <node_name>]
用法: srvctl stop gns [-v] [-n <node_name>] [-f]
用法: srvctl config gns [-v] [-a] [-d] [-k] [-m] [-n <node_name>] [-p] [-s] [-V]
用法: srvctl status gns -n <node_name>
用法: srvctl enable gns [-v] [-n <node_name>]
用法: srvctl disable gns [-v] [-n <node_name>]
用法: srvctl relocate gns [-v] [-n <node_name>] [-f]
用法: srvctl add gns [-v] -d <domain> -i <vip_name|ip> [-k <network_number> [-S <subnet>/<netmask>[/<interface>]]]
srvctl modify gns [-v] [-f] [-l <log_level>] [-d <domain>] [-i <ip_address>] [-N <name> -A <address>] [-D <name> -A <address>] [-c <name> -a <alias>] [-u <alias>] [-r <address>] [-V <name>] [-F <forwarded_domains>] [-R <refused_domains>] [-X <excluded_interfaces>]
用法: srvctl remove gns [-f] [-d <domain_name>]

(1)用config查看配置

[grid@racnode1 ~]$ srvctl config database             --显示在OCR中注册的所有数据库
orcl
[grid@racnode1 ~]$ srvctl config database -d orcl     --查看某个数据库配置
数据库唯一名称: orcl
数据库名: orcl
Oracle 主目录: /u01/app/oracle
Oracle 用户: oracle
Spfile: +DG/orcl/spfileorcl.ora
域: 
启动选项: open
停止选项: immediate
数据库角色: PRIMARY
管理策略: AUTOMATIC
服务器池: orcl
数据库实例: orcl1,orcl2
磁盘组: DG,BG
服务: 
数据库是管理员管理的
[grid@racnode1 ~]$ srvctl config nodeapps
VIP 已存在。:racnode1
VIP 已存在。: /racnode1-vip/10.10.10.20/255.255.255.0/eth0
VIP 已存在。:racnode2
VIP 已存在。: /racnode2-vip/10.10.10.21/255.255.255.0/eth0
GSD 已存在。
ONS 守护程序已存在。本地端口 6100, 远程端口 6200
eONS 守护程序已存在。多点传送端口 15303, 多点传送 IP 地址 234.73.183.171, 监听端口 2016
[grid@racnode1 ~]$ srvctl config listener
名称: LISTENER
网络: 1, 所有者: grid
主目录: <CRS home>
端点: TCP:1521
[grid@racnode1 ~]$ srvctl config asm
ASM 主目录: /u01/grid
ASM 监听程序: LISTENER

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值