SRVCTL详解

SRVCTL详解1.SRVCTL概述SRVCTL是ORACLERAC集群配置管理的工具,可以管理Database、Instance、ASM、Service、Listener和NodeApplication,N

大家好,又见面了,我是你们的朋友全栈君。

1. SRVCTL概述

SRVCTL是ORACLE RAC集群配置管理的工具,可以管理Database、Instance、ASM、Service、Listener和Node Application,Node Application包括GSD,ONS,VIP。srvctl的命令格式为

srvctl <command> <target> [options]

 

2. SRVCTL  Add命令 

添加数据库或实例的配置信息。在增加实例中,与-i一起指定的名字应该与INSTANCE_NAME 和 ORACLE_SID参数匹配。
srvctl add database -d <database name> [-m domain_name] -o <ORACLE_HOME path> -p <spfile location and name>
srvctl add instance -d <database name> -i <instance 1 name> -n <node 1 name >
srvctl add instance -d <database name> -i <instance 2 name> -n <node 2 name > 
命令参数:
-m   数据库域名 格式如”us.oracle.com”
指定的数据库域名必须匹配数据库INIT.ORA或者SPFILE中DB_DOMAIN 和DB_NAME参数。在增加数据库时,-d指定的数据库名必须与DB_NAME参数匹配
-n   实例节点名
-o   $ORACLE_HOME(用来确定lsnrctl和Oracle等命令路径)
-p   SPFILE 文件名

-S        服务名

-r         首选实例名

-a        备选实例名

-P        TAF策略

$srvctl  add database -d PROD -o /u01/oracle/product/10.2.0/db_1 -p +DATA/PROD/spfilerac.ora
$srvctl  add  instance  -d PROD -i PROD1 -n node1 -o $ORACLE_HOME
$srvctl add service -d PROD -s Service2 -r “PROD1,PROD2” -a “PROD3,PROD4” -P basic 

 

3. SRVCTL enable/disable命令 

缺省情况下数据库、实例、服务、ASM都是随着CRS的启动而自动启动的,有时由于维护需要,可以先关闭这个特性

$srvctl enable database -d PROD

$srvctl disable database -d PROD

$srvctl enable database -d PROD -i PROD1
$srvctl disable database -d PROD -i PROD1 -s PRODSERVICE
 

4. SRVCTL Modify命令 

  修改实例的节点配置信息,这些修改会在程序下次重新启动后生效,修改后的信息将永久保存。
  srvctl modify instance -d database_name -i instance_name -n node_name 
  Eg:
  $srvctl modify instance -d PROD -n new_node 

5. SRVCTL Remove命令 
  这是用来删除SRVM库中配置信息的命令,对象相关的环境设置也同样删除,如果你未使用强制标志(-f),ORACLE将提示你确认是否删除。
  使用强制选项(-f),删除操作将不进行提示
  srvctl remove database -d database_name [-f]
  srvctl remove instance -d database_name -i instance_name [-f] 
  命令参数:
  -f 强制删除应用时不进行确认提示
  Eg:
  $srvctl remove database -d PROD
  $srvctl remove instance -d PROD -i PROD1
  $srvctl remove instance -d PROD -i PROD2

 

6. SRVCTL Config命令

显示保存在SRVM配置文件中的配置信息

srvctl config database

显示数据库配置列表

srvctl config database -d database_name

数据库配置信息显示的格式:

nodename1 instancename1 oraclehome

nodename2 instancename2 oraclehome

Eg:

$ srvctl config database PROD 

$srvctl config database -d PROD 

node1 PROD1 /u01/oracle/product/10.2.0/db_1

node2 PROD2 /u01/oracle/product/10.2.0/db_1

 

7. SRVCTL Getenv命令

getenv操作用来从SRVM配置文件中获取与显示环境变量

srvctl getenv database -d database_name [-t name[,name,……]]

srvctl getenv instance -d database_name -i instance_name [-t name[,name,……]]

Eg:

$srvctl getenv database -d rac

8. SRVCTL Setenv命令

设置SRVM配置文件中的环境变量值。

srvctl setenv database -d database_name -t [,name=value,……]

srvctl setenv instance -d database_name [-i instance_name] -t [,name=value,……]

Eg:

$srvctl setenv database -d rac -t LANG=en

9. SRVCTL Unsetenv命令

取消SRVM配置文件中环境变量定义值

srvctl unsetenv database -d database_name-t name[,name,……]

srvctl unsetenv instance -d database_name[-i instance_name] -t name[,name,……]

Eg:

$srvctl unsetenv database -d rac -t CLASSPATH

 

10. SRVCTL Start命令 
  启动数据库,所有实例或指定的实例,及启动所有相关未启动的监听。
  注:对于start命令和其它一些可以使用连接字符串的操作,如果你不提供连接字符串,那么ORACLE会使用”/ as sysdba”在实例上执行相关的操作。另外,要执行类似的操作,你必须是OSDBA组的成员。
  srvctl start database -d database_name [-o start_options] [-c connect_string]
  srvctl start instance -d database_name -i instance_name [,instance_name-list] [-o start_options][-c connect_string] 
  命令参数:
  -o   在SQL*Plus直接传递的startup命令选项,可以包括PFILE
  -c   使用SQL*Plus连接数据库实例的连接字符串
  Eg:
  $srvctl start database -d rac
  $ srvctl stop database -d rac -c “SYS/SYS_password as SYSDBA”
  $srvctl start instance -d rac -i rac1,rac2

11. 启停监听

  $ srvctl stop listener -n node [-l listenername]
  $srvctl start listener -n node1
  $srvctl stop listener -n node2 

如果用srvctl关闭监听后,再用lsnrctl start打开监听。这时srvctl仍然认为监听已经关闭。因此,再次使用srvctl关闭监听,似乎srvctl根本没有去执行。如果希望srvctl可以关闭监听,那么需要先用srvctl启动监听,然后再关闭。搜索了一下metalink,没有发现关于这个问题的说明。而且,这个问题只在关闭  监听时出现,启动监听则没有问题。svrctl显然只记录它自己的操作,而不去检查listener真正的状态。

12. SRVCTL Status命令 
  显示指定数据库的当前状态
  srvctl status database -d database_name
  srvctl status instance -d database_name -i instance_name [,instance_name-list] 
  Eg:
  $srvctl status database -d rac
  $srvctl status instance -d rac -i rac1,rac2 
  SRVCTL Stop命令 
  停止数据库所有实例可者指定实例
  srvctl stop database -d database_name [-o stop_options] [-c connect_string]
  srvctl stop instance -d database_name -i instance_name [,instance_name_list] [-o stop_options][-c connect_string] 
  命令参数:
  -c   使用SQL*Plus连接数据库实例的连接字符串
  -o   在SQL*Plus直接传递的shutdown命令选项
  Eg:
  $srvctl stop database -d rac
  $srvctl stop instance -d rac -i rac2
  $ srvctl stop service -d db_name [-s service_name_list [-i inst_name]]
  $ srvctl stop asm -n node 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/155602.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java一个汉字占几个字节(详解与原理)(转载)「建议收藏」

    Java一个汉字占几个字节(详解与原理)(转载)「建议收藏」背景:今天学习Netty做定长消息发送时,发现到UTF-8编码下的中文并非两个字节,是三个字节,omg~,遂翻了篇博客后才发现原来java中文对应的字节长度还有这么多说道,涨姿势了,咳咳~原文如下:忒长了,原文作者大大辛苦了,各位看官捡感兴趣的瞅,java新手遇到编码问题可看后面关于编码问题的说明,应该会有所收获~(啰嗦完了。。。)1、先说重点:不同的编码格式占字节数是…

    2022年4月19日
    102
  • Ubuntu下使用IntelliJ IDEA的正确姿势

    Ubuntu下使用IntelliJ IDEA的正确姿势

    2022年3月7日
    34
  • bigdecimal保留小数位数_如何保留两位小数

    bigdecimal保留小数位数_如何保留两位小数packagecom.algorithms;importjava.math.BigDecimal;importjava.util.Scanner;/***调和级数求和*@authorLYY**/publicclassTiaoHeJiShuTest{publicstaticvoidmain(String[]args){System

    2022年9月16日
    2
  • Java之Java关键字及其作用

    Java之Java关键字及其作用

    2021年7月21日
    51
  • linux 实现不同网段网络互通[通俗易懂]

    linux 实现不同网段网络互通[通俗易懂]实现:网络:10.10.100.0/24网络:172.16.100.0/24网络:192.168.10.0/24server1:10.10.100.128/24server2:172.16.100.132/24server3:192.168.10.131/24server4:10.10.100.129/24172.16.100.133/24192.168.10.132/24在linux中实现网络互通实现不通网段的网络互通需要借助net-tools所以首先在每个设备上需要安装

    2022年9月12日
    4
  • MYSQL和SQL的区别

    MYSQL和SQL的区别什么是SQL?SQL是一种用于操作数据库的语言。SQL是用于所有数据库的基本语言。不同数据库之间存在较小的语法更改,但基本的SQL语法基本保持不变。SQL是StructuredQueryLanguage的简短缩写。根据ANSI(美国国家标准协会),SQL是操作关系数据库管理系统的标准语言。SQL用于访问,更新和操作数据库中的数据。它的设计允许管理RDBMS中的数据,例如MYSQL。SQL语言还用于控制数据访问以及数据库模式的创建和修改。什么是MYSQL?MySQL是在90年代中期开发的,是

    2022年10月2日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号