10g RAC 采用service达到taf
阅读原文时间:2023年07月15日阅读:1

service由于oracle数据库中的一个关键概念,利用得当,可以轻松地管理数据库,提高数据库的工作效率。

经service。oracle可以实现server side  taf,简单化client维修,下面我们来看看10g rac 如何测试service实现 serve side  taf

使用dbca来配置taf

通过dbca能够很方便的配置server  side taf

至此。service配置完毕,以下我们验证一下

[root@node1 ~]# su - oracle
[oracle@node1 ~]$ lsnrctl status

LSNRCTL for Linux: Version 10.2.0.5.0 - Production on 05-AUG-2014 21:46:10

Copyright (c) 1991, 2010, Oracle. All rights reserved.

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))

STATUS of the LISTENER

Alias LISTENER_NODE1
Version TNSLSNR for Linux: Version 10.2.0.5.0 - Production
Start Date 05-AUG-2014 21:26:40
Uptime 0 days 0 hr. 19 min. 30 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/11.2.0/db/network/admin/listener.ora
Listener Log File /u01/app/oracle/product/11.2.0/db/network/log/listener_node1.log
Listening 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 sysdba

SQL*Plus: Release 10.2.0.5.0 - Production on Tue Aug 5 21:46:23 2014

Copyright (c) 1982, 2010, Oracle. All Rights Reserved.

Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options

SQL> show parameter service

NAME TYPE VALUE


service_names string service1
SQL> col name for a20
SQL> col failover_method for a20
SQL> col failover_type for a20
SQL> select name,failover_method,failover_type from dba_services;

NAME FAILOVER_METHOD FAILOVER_TYPE


SYS$BACKGROUND
SYS$USERS
seeddataXDB
seeddata.regress.rdb
ms.dev.us.oracle.com

racdbXDB
racdb
service1

7 rows selected.

SQL> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options

[oracle@node1 ~]$ srvctl config service -d racdb -s service1 -a
service1 PREF: racdb1 AVAIL: racdb2 TAF: basic
[oracle@node1 ~]$ srvctl config service -d racdb
service1 PREF: racdb1 AVAIL: racdb2

从上面的结果能够看出,通过dbca配置service 的taf,会在ocr中存储taf配置信息(不过taf method),在数据库參数文件里会加入service条目,而且在数据字典中加入对应记录,可是数据字典中的taf信息是空的,须要另外加入。如

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 a20
SQL> col failover_method for a20
SQL> col failover_type for a20
SQL> select name,failover_method,failover_type from dba_services;

NAME FAILOVER_METHOD FAILOVER_TYPE


SYS$BACKGROUND
SYS$USERS
seeddataXDB
seeddata.regress.rdb
ms.dev.us.oracle.com

racdbXDB
racdb
service1 BASIC SELECT

7 rows selected.

另外,也能够使用srvctl来加入service

[root@node1 ~]# srvctl add service -h
Usage: srvctl add service -d -s -r "" [-a ""] [-P ]
-d Unique name for the database
-s Service name
-r "" List of preferred instances
-a "" List of available instances
-P TAF policy (NONE, BASIC, or PRECONNECT)
Usage: srvctl add service -d -s -u {-r "" | -a ""}
-d Unique name for the database
-s Service name
-u Add a new instance to service configuration
-r Name of new preferred instance
-a Name of new available instance
-h Print usage
[root@node1 ~]# srvctl add service -d racdb -s service2 -r racdb1 -a racdb2 -P BASIC
PRKH-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 -a
service1 PREF: racdb1 AVAIL: racdb2 TAF: basic
service2 PREF: racdb1 AVAIL: racdb2 TAF: BASIC
[oracle@node1 ~]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.5.0 - Production on Tue Aug 5 22:16:43 2014

Copyright (c) 1982, 2010, Oracle. All Rights Reserved.

Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options

SQL> show parameter service

NAME TYPE VALUE


service_names string service1, racdb
SQL> select name from dba_services;

NAME

SYS$BACKGROUND
SYS$USERS
seeddataXDB
seeddata.regress.rdbms.dev.us.oracle.com
racdbXDB
racdb
service1

7 rows selected.

从这里。能够看出通过srvct加入的service不会在数据库參数和数据字典中加入对应的信息

版权声明:本文博主原创文章,博客,未经同意不得转载。

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章