10g RAC use service to implement taf and ractaf
As one of the key concepts in oracle databases, service can be used properly to facilitate database management and improve database execution efficiency.
With service, oracle can implement server side taf to simplify the maintenance of the client. Next we will look at how to experiment with service to implement serve side taf at 10 Gb rac.
Use dbca to configure taf
You can easily configure server side taf through dbca
Now, the service configuration is complete. Let's verify it.
[root@node1 ~]# su - oracle[oracle@node1 ~]$ lsnrctl statusLSNRCTL for Linux: Version 10.2.0.5.0 - Production on 05-AUG-2014 21:46:10Copyright (c) 1991, 2010, Oracle. All rights reserved.Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))STATUS of the LISTENER------------------------Alias LISTENER_NODE1Version TNSLSNR for Linux: Version 10.2.0.5.0 - ProductionStart Date 05-AUG-2014 21:26:40Uptime 0 days 0 hr. 19 min. 30 secTrace Level offSecurity ON: Local OS AuthenticationSNMP OFFListener Parameter File /u01/app/oracle/product/11.2.0/db/network/admin/listener.oraListener Log File /u01/app/oracle/product/11.2.0/db/network/log/listener_node1.logListening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.100.131)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.100.31)(PORT=1521)))Services Summary...Service "+ASM" has 1 instance(s). Instance "+ASM1", status BLOCKED, has 1 handler(s) for this service...Service "+ASM_XPT" has 1 instance(s). Instance "+ASM1", status BLOCKED, has 1 handler(s) for this service...Service "PLSExtProc" has 1 instance(s). Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...Service "racdb" has 3 instance(s). Instance "racdb", status UNKNOWN, has 1 handler(s) for this service... Instance "racdb1", status READY, has 2 handler(s) for this service... Instance "racdb2", status READY, has 1 handler(s) for this service...Service "racdbXDB" has 2 instance(s). Instance "racdb1", status READY, has 1 handler(s) for this service... Instance "racdb2", status READY, has 1 handler(s) for this service...Service "racdb_XPT" has 2 instance(s). Instance "racdb1", status READY, has 2 handler(s) for this service... Instance "racdb2", status READY, has 1 handler(s) for this service...Service "service1" has 1 instance(s). Instance "racdb1", status READY, has 2 handler(s) for this service...The command completed successfully[oracle@node1 ~]$ sqlplus / as sysdbaSQL*Plus: Release 10.2.0.5.0 - Production on Tue Aug 5 21:46:23 2014Copyright (c) 1982, 2010, Oracle. All Rights Reserved.Connected to:Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit ProductionWith the Partitioning, Real Application Clusters, OLAP, Data Miningand Real Application Testing optionsSQL> show parameter serviceNAME TYPE VALUE------------------------------------ ----------- ------------------------------service_names string service1SQL> col name for a20SQL> col failover_method for a20SQL> col failover_type for a20SQL> select name,failover_method,failover_type from dba_services;NAME FAILOVER_METHOD FAILOVER_TYPE-------------------- -------------------- --------------------SYS$BACKGROUNDSYS$USERSseeddataXDBseeddata.regress.rdbms.dev.us.oracle.comracdbXDBracdbservice17 rows selected.SQL> exitDisconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit ProductionWith the Partitioning, Real Application Clusters, OLAP, Data Miningand Real Application Testing options[oracle@node1 ~]$ srvctl config service -d racdb -s service1 -aservice1 PREF: racdb1 AVAIL: racdb2 TAF: basic[oracle@node1 ~]$ srvctl config service -d racdbservice1 PREF: racdb1 AVAIL: racdb2
From the above results, we can see that the taf configuration information (only the taf method) will be stored in ocr by using dbca to configure the service's taf, and the service entry will be added to the database parameter file, in addition, the corresponding records are added to the data dictionary, but the taf information in the data dictionary is empty and needs to be added separately, as shown in figure
SQL> begin 2 dbms_service.modify_service( 3 service_name=>'service1', 4 failover_method=>dbms_service.failover_method_basic, 5 failover_type => dbms_service.failover_type_select, 6 failover_retries => 180, 7 failover_delay => 5 8 ); 9 end; 10 /PL/SQL procedure successfully completed.SQL> col name for a20SQL> col failover_method for a20SQL> col failover_type for a20SQL> select name,failover_method,failover_type from dba_services;NAME FAILOVER_METHOD FAILOVER_TYPE-------------------- -------------------- --------------------SYS$BACKGROUNDSYS$USERSseeddataXDBseeddata.regress.rdbms.dev.us.oracle.comracdbXDBracdbservice1 BASIC SELECT7 rows selected.
You can also use srvctl to add a service.
[root@node1 ~]# srvctl add service -hUsage: srvctl add service -d <name> -s <service_name> -r "<preferred_list>" [-a "<available_list>"] [-P <TAF_policy>] -d <name> Unique name for the database -s <service> Service name -r "<pref_list>" List of preferred instances -a "<avail_list>" List of available instances -P <TAF_policy> TAF policy (NONE, BASIC, or PRECONNECT)Usage: srvctl add service -d <name> -s <service_name> -u {-r "<new_pref_inst>" | -a "<new_avail_inst>"} -d <name> Unique name for the database -s <service> Service name -u Add a new instance to service configuration -r <new_pref_inst> Name of new preferred instance -a <new_avail_inst> Name of new available instance -h Print usage[root@node1 ~]# srvctl add service -d racdb -s service2 -r racdb1 -a racdb2 -P BASICPRKH-1014 : Current user root is not the same as oracle owner oracle of oracle home /u01/app/oracle/product/11.2.0/db.[root@node1 ~]# su - oracle[oracle@node1 ~]$ srvctl add service -d racdb -s service2 -r racdb1 -a racdb2 -P BASIC[oracle@node1 ~]$ srvctl config service -d racdb -aservice1 PREF: racdb1 AVAIL: racdb2 TAF: basicservice2 PREF: racdb1 AVAIL: racdb2 TAF: BASIC[oracle@node1 ~]$ sqlplus / as sysdbaSQL*Plus: Release 10.2.0.5.0 - Production on Tue Aug 5 22:16:43 2014Copyright (c) 1982, 2010, Oracle. All Rights Reserved.Connected to:Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit ProductionWith the Partitioning, Real Application Clusters, OLAP, Data Miningand Real Application Testing optionsSQL> show parameter serviceNAME TYPE VALUE------------------------------------ ----------- ------------------------------service_names string service1, racdbSQL> select name from dba_services;NAME----------------------------------------------------------------SYS$BACKGROUNDSYS$USERSseeddataXDBseeddata.regress.rdbms.dev.us.oracle.comracdbXDBracdbservice17 rows selected.
From this, we can see that the service added through srvct does not add the corresponding information in the database parameters and data dictionary.
Do I still need to configure Service-Side TAF for oracle 11g?
TAF can be configured after the rac is installed or in the installation process. In fact, it implements a Server Load balancer and failover. It should be configured with srvctl, note: Use srvctl In the crs directory of the grid user.
How to install and configure oracle 10g rac? I want to perform dual-machine hot backup.
The concept of Oracle RAC and dual-machine Hot Standby is not quite the same. RAC is a load balancing and Failover cluster, and dual-machine Hot Standby generally refers to HA. The authorization types of these two clusters are different, there are great differences in the difficulty of legal licensing, deployment, and maintenance.
For dual-host hot backup, we recommend that you consider the Failover cluster function or Rose HA software for Windows Enterprise Edition.
However, no matter which mode of cluster is used, shared storage is required and sufficient resources must be deployed on the hardware.