Oracle11g 数据库自动重启的配置

Oracle Database Administrator s Guide 11g Release 2 (11.2)_阅读笔记04
Chapter 4, "Configuring Automatic Restart of an Oracle Database"

使用 Oracle Restart 特性可以在服务器重启或发生硬件问题后,自动启动数据库、监听以及其他Oracle组件服务

一、关于Oracle Restart
Oracle Restart可以管理以下组件
1)Database instance - Oracle Restart can accommodate multiple databases on a single host computer. 
2)Oracle Net listener - Database services Does not include the default service created upon installation because it is automatically managed by Oracle Database, and does not include any default services created during database creation. 
3)Oracle Automatic Storage Management (Oracle ASM) instance 
4)Oracle ASM disk groups - Restarting a disk group means mounting it.
5)Oracle Notification Services (ONS) - In a standalone server environment, ONS can be used in Oracle Data Guard installations for automating failover of connections between primary and standby database through Fast Application Notification (FAN). ONS is a service for sending FAN events to integrated clients upon failover.

Oracle Restart通过周期性检查组件来监控以上组件。如果发现组件检查失败,则shutdown组件并重新启动
Oracle Restart只用在 standalone 服务器上,RAC的自动重启功能通过clusterware实现。


使用SRVCTL启动组件与使用SQL * Plus(或其他实用程序)启动组件之间的重要区别在于:
1)使用SRVCTL启动组件时,该组件所依赖的所有其他组件都会先自动启动。 
2)使用SQL * Plus(或另一个实用程序)启动组件时,依赖关系链中的其他组件不会自动启动。 我们必须确保启动该组件所依赖的所有组件。

Oracle utilities such as SQL*Plus, the Listener Control utility (LSNRCTL), and ASMCMD are integrated with Oracle Restart. 

二、配置Oracle Restart

1)获取SRVCTL的帮助
srvctl -h
srvctl command -h
eg: srvctl add -h
srvctl command object -h
eg: srvctl add service -h

2)添加组件到 Oracle Restart 配置中
srvctl add object options
例子1 添加数据库,DB_UNIQUE_NAME = dbcrm,-o 选项指定ORACLE HOME,-c指定单实例数据库
srvctl add database -d dbcrm -o /u01/app/oracle/product/11.2.0/dbhome_1 -c SINGLE
例子2 添加数据库服务,DB_UNIQUE_NAME = dbcrm,新的数据库服务名crmbatch
srvctl add service -d dbcrm -s crmbatch
例子3 添加默认监听
srvctl add listener

3)remove Oracle Restart 配置中组件
srvctl remove object [options]
例子1 移除数据库
srvctl remove database -d dbcrm


4)临时disable一个组件的Oracle Restart管理。例如在维护窗口,你不希望该组件自动重启。
srvctl disable object [options]
srvctl enable object [options]
例子1 disable数据库自动重启,DB_UNIQUE_NAME = dbcrm
srvctl disable database -d dbcrm
例子2 disable ASM磁盘组自动重启
srvctl disable diskgroup -g recovery
例子3 enable ASM磁盘组自动重启
srvctl enable diskgroup -g recovery

5)查看组件状态
srvctl status object [options]
例子1 查看数据库的状态,DB_UNIQUE_NAME = dbcrm
srvctl status database -d dbcrm
Database is running.

6)查看组件在Oracle Restart中的配置
srvctl config object options
例子1 查看被Oracle Restart管理的所有数据库列表
srvctl config database
dbcrm 
orcl
例子2 查看某个数据库的配置,DB_UNIQUE_NAME = orcl
srvctl config database -d orcl

Database unique name: orcl 
Database name: orcl 
Oracle home: /u01/app/oracle/product/11.2.0/dbhome_1 
Oracle user: oracle 
Spfile: +DATA/orcl/spfileorcl.ora 
Domain: us.example.com 
Start options: open 
Stop options: immediate 
Database role: Management 
policy: automatic 
Disk Groups: DATA 
Services: mfg,sales

7)修改某个组件的Oracle Restart配置
srvctl modify object options
例子1 修改数据库的Oracle Restart配置,DB_UNIQUE_NAME = dbcrm,修改管理模式为手动,并且数据库启动模式为nomount
srvctl modify database -d dbcrm -y MANUAL -s NOMOUNT

8)管理Oracle Restart配置中的环境变量
可以配置环境变量的组件
■ Database instance 
■ Listener 
■ Oracle ASM instance
srvctl setenv {asm|database|listener} options
srvctl unsetenv {asm|database|listener} options
例子1 修改环境变量,DB_UNIQUE_NAME = dbcrm,配置NLS_LANG和AIXTHREAD_SCOPE
srvctl setenv database -d dbcrm -t "NLS_LANG=AMERICAN_AMERICA.AL32UTF8,AIXTHREAD_SCOPE=S"

9)查看环境变量
srvctl getenv {database|listener|asm} options
例子1 查看数据库的全部变量,DB_UNIQUE_NAME = dbcrm
srvctl getenv database -d dbcrm
dbcrm: 
NLS_LANG=AMERICAN_AMERICA 
AIXTHREAD_SCOPE=S 
GCONF_LOCAL_LOCKS=1
例子2 查看数据库的指定变量,DB_UNIQUE_NAME = dbcrm,NLS_LANG和AIXTHREAD_SCOPE
srvctl getenv database -d dbcrm -t "NLS_LANG,AIXTHREAD_SCOPE"
dbcrm: 
NLS_LANG=AMERICAN_AMERICA 
AIXTHREAD_SCOPE=S

10)使用SRVCTL创建数据库服务
srvctl add service -d db_unique_name -s service_name [options]
例子1 创建一个数据库服务,DB_UNIQUE_NAME = dbcrm,服务名crmbatch
srvctl add service -d dbcrm -s crmbatch
例子2 创建一个基于role的数据库服务,服务名crmbatch ,数据库dbcrm是物理备库
srvctl add service -d dbcrm -s crmbatch -l PHYSICAL_STANDBY


三、启动和停止Oracle Restart管理的组件
使用Oracle Restart时,出于以下原因,Oracle强烈建议使用SRVCTL实用程序来启动和停止组件:
■当使用SRVCTL启动组件时,Oracle Restart可以首先启动该组件所依赖的任何组件。使用SRVCTL停止组件时,Oracle Restart可以首先停止任何从属组件。 
■SRVCTL始终根据其Oracle Restart配置启动组件。通过其他方式启动组件可能不会。例如,如果在将数据库添加到Oracle Restart配置时指定了服务器参数文件(SPFILE)位置,并且该位置不是SPFILEs的默认位置,则如果使用SQL * Plus启动数据库,则在该配置可能无法使用。
■使用SRVCTL启动组件时,将设置存储在该组件的Oracle Restart配置中的环境变量。
srvctl start object [options]
srvctl stop object [options]
例子1 启动数据库
srvctl start database -d dbcrm
例子2 启动数据库到nomount状态
srvctl start database -d dbcrm -o nomount
例子3 启动默认监听
srvctl start listener
例子4 启动指定监听
srvctl start listener -l crmlistener
例子5 启动数据库服务
srvctl start service -d dbcrm -s "bizdev,support"
例子6 启动ASM磁盘组(Mounting)
srvctl start diskgroup -g "data,recovery"
例子7 关闭数据库
srvctl stop database -d dbcrm
例子8 abort关闭数据库
srvctl stop database -d dbcrm -o abort


四、停止和重启动Oracle Restart
srvctl stop home -o oracle_home -s state_file [-t stop_options] [-f]
crsctl disable has
crsctl stop has
crsctl enable has
crsctl start has
srvctl start home -o oracle_home -s state_file
srvctl status home -o oracle_home -s state_file

eg:
srvctl stop home -o /u01/app/oracle/product/11.2.0/dbhome_1 -s /usr1/or_state
srvctl start home -o /u01/app/oracle/product/11.2.0/dbhome_1 -s /usr1/or_state
srvctl status home -o /u01/app/oracle/product/11.2.0/dbhome_1 -s /usr1/or_state

五、Oracle Restart中的SRVCTL命令参考
srvctl command object options
command: start, stop, or remove
object: database, listener, and so on
options: -d database, -s service_name

SRVCTL命令总结

Command  Description                                                                                                           
add      Adds a component to the Oracle Restart configuration.                                                                 
config   Displays the Oracle Restart configuration for a component.                                                            
disable  Disables management by Oracle Restart for a component.                                                                
enable   Reenables management by Oracle Restart for a component.                                                               
getenv   Displays environment variables in the Oracle Restart configuration for a database, Oracle ASM instance, or listener.  
modify   Modifies the Oracle Restart configuration for a component.                                                            
remove   Removes a component from the Oracle Restart configuration.                                                            
setenv   Sets environment variables in the Oracle Restart configuration for a database, Oracle ASM instance, or listener.      
start    Starts the specified component.                                                                                       
status   Displays the running status of the specified component.                                                               
stop     Stops the specified component.                                                                                        
unsetenv Unsets environment variables in the Oracle Restart configuration for a database, Oracle ASM instance, or listener.    

SRVCTL组件总结

Component   Abbreviation  Description                              
asm         asm           Oracle ASM instance                      
database    db            Database instance                        
diskgroup   dg            Oracle ASM disk group                    
filesystem  filesystem    Oracle ASM file system                   
home        home          Oracle home or Oracle Clusterware home   
listener    lsnr          Oracle Net listener                      
service     serv          Database service                         
ons         ons           Oracle Notification Services (ONS)       

  
1)add
srvctl add asm              Adds an Oracle ASM instance. 
srvctl add database      Adds a database. 
srvctl add listener         Adds a listener. 
srvctl add ons               Adds an ONS (used by Oracle Data Guard configurations with Oracle Data Guard Broker). 
srvctl add service         Adds a database service managed by Oracle Restart.

srvctl add asm [-l listener_name [-p spfile] [-d asm_diskstring] ]

srvctl add database -d db_unique_name -o oracle_home [-m domain_name]   [-c  {RACONENODE | RAC | SINGLE}] [-n db_name] [-i instance_name]   [-p spfile] [-s start_options] [-t stop_options]   [-r {PRIMARY | PHYSICAL_STANDBY | LOGICAL_STANDBY | SNAPSHOT_STANDBY}]  [-y {automatic | manual}] [-a disk_group_list]
eg: srvctl add database -d dbcrm -o /u01/app/oracle/product/11.2.0/dbhome_1  -a "DATA,RECOVERY" 

srvctl add listener [-l listener_name] [-p endpoints] [-s] [-o Oracle_home]  
eg: srvctl add listener -p TCP:1522 -o /u01/app/oracle/product/11.2.0/dbhome_1

srvctl add ons [-e em_port] [-l ons_local_port] [-r ons_remote_port] [-t host[:port],[host[:port]...]] [-v]

srvctl add service -d db_unique_name -s service_name  [-l [PRIMARY][,PHYSICAL_STANDBY][,LOGICAL_STANDBY][,SNAPSHOT_STANDBY]]  [-y {AUTOMATIC | MANUAL}] [-e {NONE | SESSION | SELECT}] [-m {NONE | BASIC}]  [-w integer] [-z integer] [-j {SHORT | LONG}]  [-B {SERVICE_TIME | THROUGHPUT | NONE}] [-q {TRUE | FALSE}] -t edition_name
eg: srvctl add service -d dbcrm -s sales -l PRIMARY

2)config
Command                      Description
srvctl config asm            Displays the Oracle Restart configuration information for the Oracle ASM instance 
srvctl config database    Displays the Oracle Restart configuration information for the specified database, or lists all databasesmanaged by Oracle Restart 
srvctl config listener       Displays the Oracle Restart configuration information for all listeners or for the specified listener 
srvctl config ons             Displays the current configuration information for ONS. 
srvctl config service        For the specified database, displays the Oracle Restart configuration information for the specified    database service or for all database services

srvctl config asm [-a]
eg: 
srvctl config asm -a                                         
asm home: /u01/app/oracle/product/11.2.0/grid 
ASM is enabled.

srvctl config database [-d db_unique_name [-a]]   
eg:
srvctl config database
dbcrm 
orcl 

srvctl config database -d orcl -a                                                                                                                                                                                                                                                                                                            
Database unique name: orcl 
Database name: orcl 
Oracle home: /u01/app/oracle/product/11.2.0/dbhome_1 
Oracle user: oracle 
Spfile: +DATA/orcl/spfileorcl.ora 
Domain: us.example.com 
Start options: open 
Stop options: immediate 
Database role: 
Management policy: automatic 
Disk Groups: DATA 
Services: mfg,sales 
Database is enabled

srvctl config listener [-l listener_name]
eg:
srvctl config listener
Name: LISTENER 
Home: /u01/app/oracle/product/11.2.0/dbhome_1 
End points: TCP:1521 
Listener is enabled.

srvctl config ons

srvctl config service -d db_unique_name [-s service_name] [-a]
eg:
srvctl config service -d dbcrm -s sales
Service name: sales 
Service is enabled 
Cardinality: SINGLETON 
Disconnect: true 
Service role: PRIMARY 
Management policy: automatic 
DTP transaction: false 
AQ HA notifications: false 
Failover type: NONE 
Failover method: NONE 
TAF failover retries: 0 
TAF failover delay: 0 
Connection Load Balancing Goal: NONE 
Runtime Load Balancing Goal: NONE 
TAF policy specification: NONE 
Edition: e2

3)disable
Command                         Description 
srvctl disable asm             Disables the Oracle ASM instance 
srvctl disable database     Disables a database 
srvctl disable diskgroup    Disables an Oracle ASM disk group 
srvctl disable listener        Disables the specified listener or all listeners 
srvctl disable ons              Disables ONS 
srvctl disable service        Disables one or more database services for the specified database

srvctl disable asm

srvctl disable database -d db_unique_name
eg: srvctl disable database -d dbcrm

srvctl disable diskgroup -g diskgroup_name
eg: srvctl disable diskgroup -g DATA

srvctl disable listener [-l listener_name]
eg: srvctl disable listener -l crmlistener

srvctl disable ons -v

srvctl disable service -d db_unique_name -s service_name_list
eg: srvctl disable service -d dbcrm -s sales,mfg    

4)enable
Command                       Description                                                      
srvctl enable asm            Enables the Oracle ASM instance                                 
srvctl enable database    Enables a database                                              
srvctl enable diskgroup   Enables an Oracle ASM disk group                                
srvctl enable listener       Enables the specified listener or all listeners                 
srvctl enable ons             Enables ONS                                                     
srvctl enable service       Enables one or more database services for the specified database

srvctl enable asm

srvctl enable database -d db_unique_name
eg: srvctl enable database -d dbcrm

srvctl enable diskgroup -g diskgroup_name
eg: srvctl enable diskgroup -g DATA

srvctl enable listener [-l listener_name]
eg: srvctl enable listener -l crmlistener

srvctl enable ons -v

srvctl enable service -d db_unique_name -s service_name_list
eg: srvctl enable service -d dbcrm -s sales,mfg    

5)getenv
Command                      Description
srvctl getenv asm           Displays the configured environment variables for the Oracle ASM instance 
srvctl getenv database   Displays the configured environment variables for the specified database instance 
srvctl getenv listener       Displays the configured environment variables for the specified listener

srvctl getenv asm [-t name_list]
eg: srvctl getenv asm

srvctl getenv database -d db_unique_name [-t name_list]
eg: srvctl getenv database -d dbcrm

srvctl getenv listener [-l listener_name] [-t name_list]
eg: srvctl getenv listener -l crmlistener

6)modify
Command                       Description 
srvctl modify asm            Modifies the configuration for Oracle ASM 
srvctl modify database    Modifies the configuration for a database 
srvctl modify listener        Modifies the configuration for the specified listener or all listeners 
srvctl modify ons              Modifies ONS 
srvctl modify service         Modifies the configuration for a database servic

srvctl modify asm [-l listener_name] [-p spfile] [-d asm_diskstring]
eg: srvctl modify asm -l crmlistener

srvctl modify database -d db_unique_name [-o oracle_home] [-u oracle_user]   [-m domain_name] [-n db_name] [-i instance_name]   [-p spfile] [-s start_options]   [-t stop_options] [-r {PRIMARY | PHYSICAL_STANDBY | LOGICAL_STANDBY |   SNAPSHOT_STANDBY}] [-y {automatic | manual}] [-a disk_group_list] [-z]
eg: srvctl modify database -d dbcrm -r logical_standby

srvctl modify listener [-l listener_name] [-p endpoints] [-o Oracle_home]
eg: srvctl modify listener -l crmlistener -p TCP:1522

srvctl modify ons [-e em_port] [-l ons_local_port] [-r ons_remote_port] [-t host[:port],[host[:port]...]] [-v]

srvctl modify service -d db_unique_name -s service_name]  [-l [PRIMARY][,PHYSICAL_STANDBY][,LOGICAL_STANDBY][,SNAPSHOT_STANDBY]]  [-y {AUTOMATIC | MANUAL}] [-e {NONE | SESSION | SELECT}] [-m {NONE | BASIC}]  [-w integer] [-z integer] [-j {SHORT | LONG}]  [-B {SERVICE_TIME | THROUGHPUT | NONE}] [-q {TRUE | FALSE}] -t edition_name
eg: srvctl modify service -d dbcrm -s support -l standby

7)remove
Command                          Description                                                    
srvctl remove asm              removes the Oracle ASM instance                                 
srvctl remove database      removes a database                                              
srvctl remove diskgroup     removes an Oracle ASM disk group                                
srvctl remove listener         removes the specified listener or all listeners                 
srvctl remove ons               removes ONS                                                     
srvctl remove service         removes one or more database services for the specified database

srvctl remove asm  [-f]
eg: srvctl remove asm

srvctl remove database -d db_unique_name [-f] [-y] [-v]
eg: srvctl remove database -d dbcrm

srvctl remove diskgroup -g diskgroup_name [-f]
eg: srvctl remove diskgroup -g DATA

srvctl remove listener [-l listener_name] [-a] [-f]
eg: srvctl remove listener -l lsnr01

srvctl remove ons -f -v

srvctl remove service -d db_unique_name -s service_name]
eg: srvctl remove service -d dbcrm -s sale

8)setenv
Command                      Description
srvctl setenv asm           Displays the configured environment variables for the Oracle ASM instance 
srvctl setenv database   Displays the configured environment variables for the specified database instance 
srvctl setenv listener      Displays the configured environment variables for the specified listener

srvctl setenv asm {-t name=val[,name=val,...] | -T name=val}
eg: srvctl setenv asm -t AIXTHREAD_SCOPE=S

srvctl setenv database -d db_unique_name {-t name=val[,name=val,...] |  -T name=val}
eg: srvctl setenv database -d dbcrm -t LANG=en

srvctl setenv listener [-l listener_name] {-t name=val[,name=val,...] |   -T name=val}
eg: srvctl setenv listener -l crmlistener -t AIXTHREAD_SCOPE=S
 
9)start
Command                  Description  
srvctl start asm           Starts the Oracle ASM instance 
srvctl start database   Starts the specified database 
srvctl start diskgroup  Starts (mounts) the specified Oracle ASM disk group 
srvctl start home         Starts all of the components managed by Oracle Restart in the specified Oracle home 
srvctl start listener      Starts the specified listener or all Oracle Restart–managed listeners 
srvctl start ons            Starts ONS 
srvctl start service       Starts the specified database service or services

srvctl start asm [-o start_options]
eg: 
srvctl start asm
srvctl start asm -o nomount

srvctl start database -d db_unique_name [-o start_options]
eg:
srvctl start database -d dbcrm -o nomount

srvctl start diskgroup -g diskgroup_name
eg:
srvctl start diskgroup -g DATA

srvctl start home -o oracle_home -s state_file

srvctl start listener [-l listener_name]
eg:
srvctl start listener -l listener

srvctl start ons -v

srvctl start service -d db_unique_name [-s service_name_list] [-o start_options]
eg: 
srvctl start service -d dbcrm -s sales

10)status
Command                    Description                                      
srvctl staus asm           Displays the running status of the Oracle ASM instance                   
srvctl staus database   Displays the running status of the specified database                    
srvctl staus diskgroup  Displays the running status of (mounts) the specified Oracle ASM disk gro
srvctl staus home         Displays the running status of all of the components managed by Oracle Re
srvctl staus listener      Displays the running status of the specified listener or all Oracle Resta
srvctl staus ons            Displays the running status of ONS                                       
srvctl staus service      Displays the running status of the specified database service or services

srvctl status asm [-a]
eg: srvctl status asm

srvctl status database -d db_unique_name [-f] [-v]
eg: srvctl status database -d dbcrm -v

srvctl status diskgroup -g diskgroup_name [-a]
eg: srvctl status diskgroup -g DATA

srvctl status home -o oracle_home -s state_file

srvctl status listener -l listener_name
eg: srvctl status listener -l crmlistener

srvctl status ons

srvctl status service -d db_unique_name [-s service_name_list] [-f] [-v]
eg: srvctl status service -d dbcrm -s sales

11)stop
Command                     Description                                      
srvctl stop asm              stops the Oracle ASM instance                   
srvctl stop database      stops the specified database                    
srvctl stop diskgroup     stops (mounts) the specified Oracle ASM disk gro
srvctl stop home            stops all of the components managed by Oracle Re
srvctl stop listener         stops the specified listener or all Oracle Resta
srvctl stop ons               stops ONS                                       
srvctl stop service          stops the specified database service or services

srvctl stop asm [-o stop_options] [-f]
eg: srvctl stop asm -o abort -f

srvctl stop database -d db_unique_name [-o stop_options] [-f]
eg: srvctl stop database -d dbcrm

srvctl stop diskgroup -g diskgroup_name [-f]
eg: srvctl stop diskgroup -g DATA

srvctl stop home -o oracle_home -s state_file [-t stop_options] [-f]

srvctl stop listener [-l listener_name] [-f]
eg: srvctl stop listener -l crmlistener

srvctl stop ons -v

srvctl stop service -d db_unique_name [-s service_name_list] [-f]
eg: srvctl stop service -d dbcrm -s sales

12)unsetenv
Command                         Description
srvctl unsetenv asm          Removes the specifiedenvironment variables for the Oracle ASM instance 
srvctl unsetenv database  Removes the specifiedenvironment variables for the specified database instance 
srvctl unsetenv listener     Removes the specifiedenvironment variables for the specified listener

srvctl unsetenv asm -t name_list
eg: srvctl unsetenv asm -t AIXTHREAD_SCOPE

srvctl unsetenv database -d db_unique_name -t name_list
eg: srvctl unsetenv database -d dbcrm -t AIXTHREAD_SCOPE

srvctl unsetenv listener [-l listener_name] -t name_list
srvctl unsetenv listener -l crmlistener -t AIXTHREAD_SCOPE

六、Oracle Restart中的CRSCTL命令参考
crsctl command has
The has object indicates Oracle high availability services
 
crsctl命令总结
Command  Description
check          Displays the Oracle Restart status. 
config          Displays the Oracle Restart configuration. 
disable        Disables automatic restart of Oracle Restart. 
enable         Enables automatic restart of Oracle Restart. 
start             Starts Oracle Restart. 
stop             Stops Oracle Restart.

crsctl check has
crsctl config has
crsctl disable has
crsctl enable has
crsctl start has
crsctl stop has [-f]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值