zoukankan      html  css  js  c++  java
  • RAC常用开启关闭命令 – SRVCTL用法

    上周又做了一次ASM+RAC的实验,这次体验了srvctl这个强大的工具来管理RAC,对srvctl命令使用总结了一下:

    SRVCTL是ORACLE RAC集群配置管理的工具

    SRVM   server management:

    1. 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 文件名

    Eg:

    $srvctl  add database -d RAC -o /u01/oracle/product/10.2.0/db_1 -p +RAC_DISK/rac/spfilerac.ora

    $srvctl  add  instance  -d RAC  -i rac1  -n node1

    $srvctl  add  instance  -d RAC  -i rac2  -n node2

    2.SRVCTL Config命令

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

    srvctl config database

    显示数据库配置列表

    srvctl config database -d database_name

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

    nodename1 instancename1 oraclehome

    nodename2 instancename2 oraclehome

    Eg:

    $ srvctl config database

    RAC

    $srvctl config database -d rac

    node1 rac1 /u01/oracle/product/10.2.0/db_1

    node2 rac2 /u01/oracle/product/10.2.0/db_1

    3.SRVCTL Modify命令

    修改实例的节点配置信息,这些修改会在程序下次重新启动后生效,修改后的信息将永久保存。

    srvctl modify instance -d database_name -i instance_name -n node_name

    Eg:

    $srvctl modify instance -d rac -n new_node

    4.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 rac

    $srvctl remove instance -d rac -i rac1

    $srvctl remove instance -d rac -i rac2

    5.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

    ##############################################################

    $srvctl start listener -n node1

    $srvctl stop listener -n node2

    $ srvctl stop listener -n node [-l listenername]

    今天发现一个SRVCTL命令的小bug。(http://yangtingkun.itpub.net/post/468/275571

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

    ##############################################################

    6.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

    7.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

    8.使用SRVCONFIG导入和导出RAW设备配置信息

    你可使用SRVCONFIG导入和导出RAW设备配置信息,不管配置文件是在集群文件系统上还是在RAW设备上。你可以使用这种方法来备份与恢复SRVM配置信息。

    Eg:

    下面的命令用来导出配置信息的内容到你指定文件名的文本文件中。

    $srvconfig -exp file_name

    下面的命令用来从指定文本文件中导入配置信息到到你运行命令的RAC环境配置信息库。

    $srvconfig -imp file_name

    9.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

    10.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

    11.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

    Updated @ 11-12-09 11:43

    Example:In windows, the correct startup/shutdown steps is:

    STARTUP:

    node1$srvctl start nodeapps -n rac1

    node1$srvctl start nodeapps -n rac2

    node1$srvctl start asm -n rac1

    node1$srvctl start asm -n rac2

    node1$srvctl start database -d rac

    node1$srvctl start service -d rac

    node1$crs_stat -t

    SHUTDOWN:

    node1$srvctl stop service -d rac

    node1$srvctl stop database -d rac

    node1$srvctl stop asm -n rac2

    node1$srvctl stop asm -n rac1

    node1$srvctl stop nodeapps -n rac2

    node1$srvctl stop nodeapps -n rac1

    node1$crs_stat -t

    -The End-

  • 相关阅读:
    上班5个月总结
    使用余弦定理计算两篇文章的相似性
    9月10日 小结
    软件测试
    《增长黑客》笔记
    统计学术语
    数据分析师:数据分析工作常见七种错误及其规避技巧(转自经管之家)
    输入一个日期,计算这个日期与 2018-03-12差多少天;
    求输入数字的阶乘 及加和 #s=1!+2!+3!+…..+n!
    列表去重
  • 原文地址:https://www.cnblogs.com/sopost/p/2190111.html
Copyright © 2011-2022 走看看