• Oracle RAC中Srvctl命令详细说明


    Oracle RAC中srvctl命令详细说明(转)

    SRVCTL Add

    添加数据库或实例的配置信息。在增加实例中,与-i一起指定的名字应该与INSTANCE_NAME 和 ORACLE_SID参数匹配。

    srvctl add database -d database_name [-m domain_name] -o oracle_home [-s spfile]

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

    表- SRVCTL Add命令详细选项

    命令  选项

    -m   数据库域名 格式如"us.mydomain.com"

    -m 选项指定的数据库域名必须匹配数据库INIT.ORA或者SPFILE中DB_DOMAIN 和DB_NAME参数。在增加数据库时,-d指定的数据库名必须与DB_NAME参数匹配

    -n   实例节点名

    -o   $ORACLE_HOME(用来确定lsnrctl和Oracle等命令路径)

    -s   SPFILE 文件名

    实例:添加一个新的数据库

    srvctl add database -d mydb -o /ora/ora

    实例:向数据库添加实例

    srvctl add instance -d mydb -i mydb0 -n gm0

    srvctl add instance -d mydb -i mydb0 -n gm0

    srvctl add instance -d mydb -i mydb0 -n gm0

    SRVCTL Config

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

    srvctl config database

    显示数据库配置列表

    srvctl config database -d database_name

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

    nodename instancename oraclehome

    nodename instancename oraclehome

      实例:显示数据库配置信息

    srvctl config database -d mydb

    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,……]]

    实例:列出数据库的所有环境变量

    srvctl getenv database -d mydb

    SRVCTL Modify

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

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

    实例:修改实例到另一个节点

    srvctl modify instance -d mydb -n my_new_node

    SRVCTL Remove

    这是用来删除SRVM库中配置信息的命令。对象相关的环境设置也同样删除。如果你未使用强制标志(-f),ORACLE将提示你确认是否删除。

      
    使用强制选项(-f),删除操作将不进行提示

    srvctl remove database -d database_name [-f]

    srvctl remove instance -d database_name -i instance_name [-f]

    SRVCTL Remove命令详细选项

    -f 强制删除应用时不进行确认提示

    实例:删除数据库

    srvctl remove database -d mydb

    实例:删除数据库实例

    srvctl remove instance -d mydb -i mydb0

    srvctl remove instance -d mydb -i mydb0

    srvctl remove instance -d mydb -i mydb0

    SRVCTL Setenv

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

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

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

    实例:设置数据库环境变量

      
    srvctl setenv database -d mydb -t LANG=en

    SRVCTL Start

    启动数据库,所有实例或指定的实例,及启动所有相关未启动的监听。

    注:

    对于start命令和其它一些可以使用连接字符串的操作,如果你不提供连接字符串,那么ORACLE会使用"/ as sysdba"在实例上执行相关的操作。另外,要执行类似的操作,你必须是OSDBA组的成员。关于更多的OSDBA组权限信息,请参考ORACLEi的 安装指南。

    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]

    表- SRVCTL Start命令详细选项

    命令  选项

    -o   在SQL*Plus直接传递的startup命令选项,可以包括PFILE

    -c   使用SQL*Plus连接数据库实例的连接字符串

    实例:启动数据库及所有的实例

      
    srvctl start database -d mydb

    实例:启动指定的实例

    srvctl start instance -d mydb -i mydb,mydb

    SRVCTL Status

    显示指定数据库的当前状态

    srvctl status database -d database_name

    srvctl status instance -d database_name -i instance_name [,instance_name-list]

    实例:显示数据和所有实例状态

    srvctl status database -d mydb

    实例:显示指定实例的状态

    srvctl status instance -d mydb -i mydb,mydb

    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]

    表- SRVCTL Stop命令详细选项

    命令  选项

    -c   使用SQL*Plus连接数据库实例的连接字符串

    -o   在SQL*Plus直接传递的shutdown命令选项

    实例:停止数据库所有的实例

    srvctl stop database -d mydb

    实例:停止指定实例

    srvctl stop instance -d mydb -i mydb

    SRVCTL Unsetenv

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

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

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

    实例:取消环境变量,回到缺省值

    srvctl unsetenv database -d mydb -t CLASSPATH

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

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

    例如:

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

    srvconfig -exp file_name

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

    srvconfig -imp file_name

    核实 RAC 集群/数据库配置

    应在集群的所有节点上执行以下 RAC 核实检查!对于本指南,我将只从 linux1 中执行这些检查。

    本节提供了几个可用于验证 Oracle RAC 10g 配置的 srvctl 命令和 SQL 查询。

    有五个为 SRVCTL 定义的节点级任务:

    • 添加和删除节点级应用程序
    • 设置和取消设置节点级应用程序的环境
    • 管理节点应用程序
    • 管理 ASM 实例
    • 启动和停止一组包含虚拟 IP 地址、监听器、Oracle 通知服务和 Oracle 企业管理器代理的程序(出于维护目的)。

    所有实例和服务的状态

    $ srvctl status database -d orcl
    Instance orcl1 is running on node linux1
    Instance orcl2 is running on node linux2

    单个实例的状态

    $ srvctl status instance -d orcl -i orcl2
    Instance orcl2 is running on node linux2

    在数据库全局命名服务的状态

    $ srvctl status service -d orcl -s orcltest
    Service orcltest is running on instance(s) orcl2, orcl1

    特定节点上节点应用程序的状态

    $ srvctl status nodeapps -n linux1
    VIP is running on node:linux1
    GSD is running on node:linux1
    Listener is running on node:linux1
    ONS daemon is running on node:linux1

    ASM 实例的状态

    $ srvctl status asm -n linux1
    ASM instance +ASM1 is running on node linux1.

    列出配置的所有数据库

    $ srvctl config database
    orcl

    显示 RAC 数据库的配置

    $ srvctl config database -d orcl
    linux1 orcl1 /u01/app/oracle/product/10.1.0/db_1
    linux2 orcl2 /u01/app/oracle/product/10.1.0/db_1

    显示指定集群数据库的所有服务

    $ srvctl config service -d orcl
    orcltest PREF:orcl2 orcl1 AVAIL:

    显示节点应用程序的配置 -(VIP、GSD、ONS、监听器)

    $ srvctl config nodeapps -n linux1 -a -g -s -l
    VIP exists.:/vip-linux1/192.168.1.200/255.255.255.0/eth0:eth1
    GSD exists.
    ONS daemon exists.
    Listener exists.

    显示 ASM 实例的配置

    $ srvctl config asm -n linux1
    +ASM1 /u01/app/oracle/product/10.1.0/db_1

    集群中所有正在运行的实例

    SELECT
    inst_id
    , instance_number inst_no
    , instance_name inst_name
    , parallel
    , status
    , database_status db_status
    , active_state state
    , host_name host
    FROM gv$instance
    ORDER BY inst_id;

    INST_ID INST_NO INST_NAME PAR STATUS DB_STATUS STATE HOST
    -------- -------- ---------- --- ------- ------------ --------- -------
    1 1 orcl1 YES OPEN ACTIVE NORMAL linux1
    2 2 orcl2 YES OPEN ACTIVE NORMAL linux2

    位于磁盘组中的所有数据文件

    select name from v$datafile
    union
    select member from v$logfile
    union
    select name from v$controlfile
    union
    select name from v$tempfile;

    NAME
    -------------------------------------------
    +ORCL_DATA1/orcl/controlfile/current.256.1
    +ORCL_DATA1/orcl/datafile/indx.269.1
    +ORCL_DATA1/orcl/datafile/sysaux.261.1
    +ORCL_DATA1/orcl/datafile/system.259.1
    +ORCL_DATA1/orcl/datafile/undotbs1.260.1
    +ORCL_DATA1/orcl/datafile/undotbs1.270.1
    +ORCL_DATA1/orcl/datafile/undotbs2.263.1
    +ORCL_DATA1/orcl/datafile/undotbs2.271.1
    +ORCL_DATA1/orcl/datafile/users.264.1
    +ORCL_DATA1/orcl/datafile/users.268.1
    +ORCL_DATA1/orcl/onlinelog/group_1.257.1
    +ORCL_DATA1/orcl/onlinelog/group_2.258.1
    +ORCL_DATA1/orcl/onlinelog/group_3.265.1
    +ORCL_DATA1/orcl/onlinelog/group_4.266.1
    +ORCL_DATA1/orcl/tempfile/temp.262.1

    15 rows selected.

    属于“ORCL_DATA1”磁盘组的所有 ASM 磁盘

    SELECT path
    FROM v$asm_disk
    WHERE group_number IN (select group_number
    from v$asm_diskgroup
    where name = 'ORCL_DATA1');

    PATH
    ----------------------------------
    ORCL:VOL1
    ORCL:VOL2
    ORCL:VOL3

    26. 启动和停止集群

    此时,我们已经完全安装并配置了 Oracle RAC 10g 并拥有了一个功能完善的集群化数据库。

    至此完成所有工作后,您可能会问“那我又怎样启动和停止服务呢?”如果您遵循了本指南中的说明,则所有服务(包括 CRS、所有 Oracle 实例、企业管理器数据库控制台等)应在 Linux 节点每次重新引导时自动启动。

    但有时您可能想要关闭某个节点,然后手动重新启动它。或者,您可能发现企业管理器没有而需要启动它。本节提供了启动和停止集群环境的命令(使用 SRVCTL)。

    确保您是以 oracle UNIX 用户登录的。我们将从 linux1 运行本节中的所有命令:

    # su - oracle

    $ hostname
    linux1

    停止 Oracle RAC 10g 环境

    第一步是停止 Oracle 实例。当此实例(和相关服务)关闭后,关闭 ASM 实例。最后,关闭节点应用程序(虚拟 IP、GSD、TNS 监听器和 ONS)。

    $ export ORACLE_SID=orcl1
    $ emctl stop dbconsole
    $ srvctl stop instance -d orcl -i orcl1
    $ srvctl stop asm -n linux1
    $ srvctl stop nodeapps -n linux1

    启动 Oracle RAC 10g 环境

    第一步是启动节点应用程序(虚拟 IP、GSD、TNS 监听器和 ONS)。当成功启动节点应用程序后,启动 ASM 实例。最后,启动 Oracle 实例(和相关服务)以及企业管理器数据库控制台。

    $ export ORACLE_SID=orcl1
    $ srvctl start nodeapps -n linux1
    $ srvctl start asm -n linux1
    $ srvctl start instance -d orcl -i orcl1
    $ emctl start dbconsole

    使用 SRVCTL 启动/停止所有实例

    启动/停止所有实例及其启用的服务。我只是觉得有意思就把此步骤作为关闭所有实例的一种方法加进来了!

    $ srvctl start database -d orcl

    $ srvctl stop database -d orcl

    10G RAC: srvctl

    1. Grammar:

    srvctl <command> <object> [<options]]

    available <command>: enable/disable/start/stop/relocate/status/
    add/remove/modify/getenv/setenv/unsetenv/config

    avaliable <object>: database/instance/service/nodeapps/vip_range

    show help: srvctl <command> <object> -h

    2. Examples:

    2.1 srvctl config

    Available options: database|service|nodeapps|asm

    Usage for backward compatibility

    srvctl config: Display database name

    srvctl config -V : Display the version of srvctl

    # display the database info on the specfied node
    srvctl config -p orcl -n rac1 :

    Full usage:

    # list all registered instance of the database
    srvctl config database -d orcl
    example output:

    rac1 orcl1 /orabase/product/10.1.0/db_1
    rac2 orcl2 /orabase/product/10.1.0/db_1

    # show additional attributes
    srvctl config database -d orcl -a
    example output:

    DB_NAME: orcl
    ORACLE_HOME: /orabase/product/10.1.0/db_1
    SPFILE: /oradata/orcl/spfileorcl.ora
    DOMAIN: null
    DB_ROLE: null
    START_OPTIONS: null

    # show tns entries
    srvctl config database -d orcl -t

    Example client-side TNS entry for service orcltest:

    orcltest =
    (description=
    (address=(protocol=tcp)(host=db_vip)(port=dedicated_port))
    (connect_data=
    (service_name=orcltest)
    (failover_mode=
    (type=select)
    (method=basic)
    )
    )
    )

    # Display help
    srvctl config service -h

    # Display service's information
    srvctl config service -d orcl -s <service_name>

    # display help
    srvctl config nodeapps -h

    # display node's information
    srvctl config nodeapps -n rac1

    example output:
    rac1 orcl1 /orabase/product/10.1.0/db_1

    # display VIP configuration
    srvctl config nodeapps -n rac1 -a

    # display GSD configuration
    srvctl config nodeapps -n rac1 -g

    # display OSD configuration
    srvctl config nodeapps -n rac1 -s

    # display Listener configuration
    srvctl config nodeapps -n rac1 -l

    2.2 srvctl status

    Available options: database|instance|service|nodeapps|asm

    # Display help for database level
    srvctl status database -h

    # Display instance's running status on each node
    srvctl status database -d orcl

    example output:
    Instance orcl1 is(not) running on node rac1
    Instance orcl2 is(not) running on node rac2

    # include disabled applications
    srvctl status database -d orcl -f

    # verbos output
    srvctl status database -d orcl -v

    # Additional information for EM Console
    srvctl status database -d orcl -S EM_AGENT_DEBUG

    # Additional information for EM Console
    srvctl status database -d orcl -i orcl1 -S EM_AGENT_DEBUG

    # Display help for instance level
    srvctl status instance -h

    # display appointed instance's running status
    srvctl status instance -d orcl -i orcl1

    # Display help for node level
    srvctl status nodeapps -h

    # Display all app's status on the node xxx
    srvctl status nodeapps -n <node_name>


    Not finished, Continue...

    2.3 srvctl start

    I think maybe it's one of the most frequently used commands
    as well as 'srvctl stop'.

    Available options: database|instance|service|nodeapps|asm

    # Start database
    srvctl start database -d orcl -o nomount
    srvctl start database -d orcl -o
     mount
    srvctl start database -d orcl -o open

    # Grammar for start instance
    srvctl start instance -d [db_name] -i [instance_name]
    -o [start_option] -c [connect_str] -q

    # Start all instances on the all nodes
    srvctl start instance -d orcl -i orcl1,orcl2,...

    # Start ASM instance
    srvctl start ASM -n [node_name] -i asm1 -o open

    # Start all apps in one node
    srvctl start nodeapps -n [node_name]

    2.4 srvctl stop

    I think maybe it's also one of the most frequently used
    commands as well as 'srvctl start'.

    Available options: database|instance|service|nodeapps|asm

    # Stop database
    srvctl stop database -d orcl -o normal
    srvctl stop database -d orcl -o immediate
    srvctl stop database -d orcl -o abort


    # Grammar for stop instance
    srvctl stop instance -d [db_name] -i [instance_name]
    -o [start_option] -c [connect_str] -q

    # Stop all instances on the all nodes
    srvctl stop instance -d orcl -i orcl1,orcl2,...

    # Stop ASM instance
    srvctl stop ASM -n [node_name] -i asm1 -o [option]

    # Stop all apps in one node
    srvctl stop nodeapps -n [node_name]

    2.5 srvctl add

    Available options: database|instance|service|nodeapps|asm

    Description:

    Add a configuration to your cluster database configuration.
    "srvctl add service" adds services to a database and
    assigns them to instances. You can use "srvctl add service"
    to configure the Transparent Application Failover (TAF)
    policy for a service.


    2.6 srvctl remove

    Available options: database|instance|service|nodeapps|asm

    Description: Removes the named object from the cluster
    environment.

    SRVCTL是ORACLEi RAC集群配置管理的工具。本文是对SRVCTL的所有命令进行详细说明的一篇参考文档。

    SRVCTL Add

    添加数据库或实例的配置信息。在增加实例中,与-i一起指定的名字应该与INSTANCE_NAME 和 ORACLE_SID参数匹配。

    srvctl add database -d database_name [-m domain_name] -o oracle_home [-s spfile]

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

    表- SRVCTL Add命令详细选项

    命令  选项

    -m   数据库域名 格式如"us.mydomain.com"

    -m 选项指定的数据库域名必须匹配数据库INIT.ORA或者SPFILE中DB_DOMAIN 和DB_NAME参数。在增加数据库时,-d指定的数据库名必须与DB_NAME参数匹配

    -n   实例节点名

    -o   $ORACLE_HOME(用来确定lsnrctl和Oracle等命令路径)

    -s   SPFILE 文件名

    实例:添加一个新的数据库

    srvctl add database -d mydb -o /ora/ora

    实例:向数据库添加实例

    srvctl add instance -d mydb -i mydb0 -n gm0

    srvctl add instance -d mydb -i mydb0 -n gm0

    srvctl add instance -d mydb -i mydb0 -n gm0

    SRVCTL Config

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

    srvctl config database

    显示数据库配置列表

    srvctl config database -d database_name

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

    nodename instancename oraclehome

    nodename instancename oraclehome

      实例:显示数据库配置信息

    srvctl config database -d mydb

    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,……]]

    实例:列出数据库的所有环境变量

    srvctl getenv database -d mydb

    SRVCTL Modify

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

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

    实例:修改实例到另一个节点

    srvctl modify instance -d mydb -n my_new_node

    SRVCTL Remove

    这是用来删除SRVM库中配置信息的命令。对象相关的环境设置也同样删除。如果你未使用强制标志(-f),ORACLE将提示你确认是否删除。

      
    使用强制选项(-f),删除操作将不进行提示

    srvctl remove database -d database_name [-f]

    srvctl remove instance -d database_name -i instance_name [-f]

    SRVCTL Remove命令详细选项

    -f 强制删除应用时不进行确认提示

    实例:删除数据库

    srvctl remove database -d mydb

    实例:删除数据库实例

    srvctl remove instance -d mydb -i mydb0

    srvctl remove instance -d mydb -i mydb0

    srvctl remove instance -d mydb -i mydb0

    SRVCTL Setenv

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

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

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

    实例:设置数据库环境变量

      
    srvctl setenv database -d mydb -t LANG=en

    SRVCTL Start

    启动数据库,所有实例或指定的实例,及启动所有相关未启动的监听。

    注:

    对于start命令和其它一些可以使用连接字符串的操作,如果你不提供连接字符串,那么ORACLE会使用"/ as sysdba"在实例上执行相关的操作。另外,要执行类似的操作,你必须是OSDBA组的成员。关于更多的OSDBA组权限信息,请参考ORACLEi的 安装指南。

    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]

    表- SRVCTL Start命令详细选项

    命令  选项

    -o   在SQL*Plus直接传递的startup命令选项,可以包括PFILE

    -c   使用SQL*Plus连接数据库实例的连接字符串

    实例:启动数据库及所有的实例

      
    srvctl start database -d mydb

    实例:启动指定的实例

    srvctl start instance -d mydb -i mydb,mydb

    SRVCTL Status

    显示指定数据库的当前状态

    srvctl status database -d database_name

    srvctl status instance -d database_name -i instance_name [,instance_name-list]

    实例:显示数据和所有实例状态

    srvctl status database -d mydb

    实例:显示指定实例的状态

    srvctl status instance -d mydb -i mydb,mydb

    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]

    表- SRVCTL Stop命令详细选项

    命令  选项

    -c   使用SQL*Plus连接数据库实例的连接字符串

    -o   在SQL*Plus直接传递的shutdown命令选项

    实例:停止数据库所有的实例

    srvctl stop database -d mydb

    实例:停止指定实例

    srvctl stop instance -d mydb -i mydb

    SRVCTL Unsetenv

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

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

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

    实例:取消环境变量,回到缺省值

    srvctl unsetenv database -d mydb -t CLASSPATH

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

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

    例如:

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

    srvconfig -exp file_name

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

    srvconfig -imp file_name

    核实 RAC 集群/数据库配置

    应在集群的所有节点上执行以下 RAC 核实检查!对于本指南,我将只从 linux1 中执行这些检查。

    本节提供了几个可用于验证 Oracle RAC 10g 配置的 srvctl 命令和 SQL 查询。

    有五个为 SRVCTL 定义的节点级任务:

    • 添加和删除节点级应用程序
    • 设置和取消设置节点级应用程序的环境
    • 管理节点应用程序
    • 管理 ASM 实例
    • 启动和停止一组包含虚拟 IP 地址、监听器、Oracle 通知服务和 Oracle 企业管理器代理的程序(出于维护目的)。

    所有实例和服务的状态

    $ srvctl status database -d orcl
    Instance orcl1 is running on node linux1
    Instance orcl2 is running on node linux2

    单个实例的状态

    $ srvctl status instance -d orcl -i orcl2
    Instance orcl2 is running on node linux2

    在数据库全局命名服务的状态

    $ srvctl status service -d orcl -s orcltest
    Service orcltest is running on instance(s) orcl2, orcl1

    特定节点上节点应用程序的状态

    $ srvctl status nodeapps -n linux1
    VIP is running on node:linux1
    GSD is running on node:linux1
    Listener is running on node:linux1
    ONS daemon is running on node:linux1

    ASM 实例的状态

    $ srvctl status asm -n linux1
    ASM instance +ASM1 is running on node linux1.

    列出配置的所有数据库

    $ srvctl config database
    orcl

    显示 RAC 数据库的配置

    $ srvctl config database -d orcl
    linux1 orcl1 /u01/app/oracle/product/10.1.0/db_1
    linux2 orcl2 /u01/app/oracle/product/10.1.0/db_1

    显示指定集群数据库的所有服务

    $ srvctl config service -d orcl
    orcltest PREF:orcl2 orcl1 AVAIL:

    显示节点应用程序的配置 -(VIP、GSD、ONS、监听器)

    $ srvctl config nodeapps -n linux1 -a -g -s -l
    VIP exists.:/vip-linux1/192.168.1.200/255.255.255.0/eth0:eth1
    GSD exists.
    ONS daemon exists.
    Listener exists.

    显示 ASM 实例的配置

    $ srvctl config asm -n linux1
    +ASM1 /u01/app/oracle/product/10.1.0/db_1

    集群中所有正在运行的实例

    SELECT
    inst_id
    , instance_number inst_no
    , instance_name inst_name
    , parallel
    , status
    , database_status db_status
    , active_state state
    , host_name host
    FROM gv$instance
    ORDER BY inst_id;

    INST_ID INST_NO INST_NAME PAR STATUS DB_STATUS STATE HOST
    -------- -------- ---------- --- ------- ------------ --------- -------
    1 1 orcl1 YES OPEN ACTIVE NORMAL linux1
    2 2 orcl2 YES OPEN ACTIVE NORMAL linux2

    位于磁盘组中的所有数据文件

    select name from v$datafile
    union
    select member from v$logfile
    union
    select name from v$controlfile
    union
    select name from v$tempfile;

    NAME
    -------------------------------------------
    +ORCL_DATA1/orcl/controlfile/current.256.1
    +ORCL_DATA1/orcl/datafile/indx.269.1
    +ORCL_DATA1/orcl/datafile/sysaux.261.1
    +ORCL_DATA1/orcl/datafile/system.259.1
    +ORCL_DATA1/orcl/datafile/undotbs1.260.1
    +ORCL_DATA1/orcl/datafile/undotbs1.270.1
    +ORCL_DATA1/orcl/datafile/undotbs2.263.1
    +ORCL_DATA1/orcl/datafile/undotbs2.271.1
    +ORCL_DATA1/orcl/datafile/users.264.1
    +ORCL_DATA1/orcl/datafile/users.268.1
    +ORCL_DATA1/orcl/onlinelog/group_1.257.1
    +ORCL_DATA1/orcl/onlinelog/group_2.258.1
    +ORCL_DATA1/orcl/onlinelog/group_3.265.1
    +ORCL_DATA1/orcl/onlinelog/group_4.266.1
    +ORCL_DATA1/orcl/tempfile/temp.262.1

    15 rows selected.

    属于“ORCL_DATA1”磁盘组的所有 ASM 磁盘

    SELECT path
    FROM v$asm_disk
    WHERE group_number IN (select group_number
    from v$asm_diskgroup
    where name = 'ORCL_DATA1');

    PATH
    ----------------------------------
    ORCL:VOL1
    ORCL:VOL2
    ORCL:VOL3

    26. 启动和停止集群

    此时,我们已经完全安装并配置了 Oracle RAC 10g 并拥有了一个功能完善的集群化数据库。

    至此完成所有工作后,您可能会问“那我又怎样启动和停止服务呢?”如果您遵循了本指南中的说明,则所有服务(包括 CRS、所有 Oracle 实例、企业管理器数据库控制台等)应在 Linux 节点每次重新引导时自动启动。

    但有时您可能想要关闭某个节点,然后手动重新启动它。或者,您可能发现企业管理器没有而需要启动它。本节提供了启动和停止集群环境的命令(使用 SRVCTL)。

    确保您是以 oracle UNIX 用户登录的。我们将从 linux1 运行本节中的所有命令:

    # su - oracle

    $ hostname
    linux1

    停止 Oracle RAC 10g 环境

    第一步是停止 Oracle 实例。当此实例(和相关服务)关闭后,关闭 ASM 实例。最后,关闭节点应用程序(虚拟 IP、GSD、TNS 监听器和 ONS)。

    $ export ORACLE_SID=orcl1
    $ emctl stop dbconsole
    $ srvctl stop instance -d orcl -i orcl1
    $ srvctl stop asm -n linux1
    $ srvctl stop nodeapps -n linux1

    启动 Oracle RAC 10g 环境

    第一步是启动节点应用程序(虚拟 IP、GSD、TNS 监听器和 ONS)。当成功启动节点应用程序后,启动 ASM 实例。最后,启动 Oracle 实例(和相关服务)以及企业管理器数据库控制台。

    $ export ORACLE_SID=orcl1
    $ srvctl start nodeapps -n linux1
    $ srvctl start asm -n linux1
    $ srvctl start instance -d orcl -i orcl1
    $ emctl start dbconsole

    使用 SRVCTL 启动/停止所有实例

    启动/停止所有实例及其启用的服务。我只是觉得有意思就把此步骤作为关闭所有实例的一种方法加进来了!

    $ srvctl start database -d orcl

    $ srvctl stop database -d orcl
  • 相关阅读:
    洛谷P1033 自由落体 题解
    尴尬
    UVA11988 【Broken Keyboard (a.k.a. Beiju Text)】:题解
    UVA101 The Blocks Problem 题解
    TCP的粘包和拆包问题及解决办法(C#)
    MIPS学习笔记(一)
    MySQL基础(一)
    博客园的标签怎么变了两下???
    nextInt()和nextLine()连用报错
    C++代码雨
  • 原文地址:https://www.cnblogs.com/jimeper/p/3028014.html
Copyright © 2020-2023  润新知