CONTROLFILE .97 0 1
ONLINELOG 20 0 6
ARCHIVELOG 0 0 0
BACKUPPIECE 0 0 0
IMAGECOPY 0 0 0
FLASHBACKLOG 0 0 0
(9) 启动和停止应用程序资源。
遵循以下步骤启动和停止单独的应用程序资源。
11 透明故障切换 (TAF)
Oracle TAF 中的故障切换机制使任何失败的数据库连接能够重新连接到集群中的其他节点。故障切换对用户是透明的。
创建一个新的数据库服务。
首先,创建一个名为 CRM 的新服务。可以使用 DBCA 或 srvctl 实用程序来创建数据库服务。
在节点1上,以 oracle 用户身份执行
$dbca
- 欢迎页面:选择 Oracle Real Application Clusters database。
- 操作:选择 Services Management。
- 集群数据库列表:单击 Next。
- 数据库服务:单击 Add。
- 添加服务:输入“CRM”。
- 选择 节点1 的gemni 作为首选实例。
- 选择 节点2 的gemni 作为可用实例。
- TAF 策略:选择 Basic。
- 单击 Finish。
- 添加服务:输入“CRM”。
数据库配置助手将在 tnsnames.ora 中创建以下 CRM 服务名项:
CRM =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ds1-vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = ds2-vip)(PORT = 1521))
(LOAD_BALANCE = yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = CRM)
(FAILOVER_MODE =
(TYPE = SELECT)
(METHOD = BASIC)
(RETRIES = 180)
(DELAY = 5)
)
)
)
<在节点1上>
SQL> connect system/oracle@gemni
Connected.
SQL> show parameter service
NAME TYPE VALUE
------------------------------ ----------- ------------------------
service_names string gemni, CRM
<在节点2上> 没有CRM服务
SQL> connect system/oracle@gemni
Connected.
SQL> show parameter service
NAME TYPE VALUE
------------------------------ ----------- ------------------------
service_names string gemni
使用 CRM 服务连接第一个会话。
如果 failover_type 和 failover_mode 返回的输出为“NONE”,则验证是否在 tnsnames.ora 中正确配置了 CRM 服务。
SQL> connect system/oracle@crm
Connected.
SQL> select
2 instance_number instance#,
3 instance_name,
4 host_name,
5 status
6 from v$instance;
INSTANCE# INSTANCE_NAME HOST_NAME STATUS
---------- ---------------- --------------------- ------------
1 gemni ds1.mycorpdomain.com OPEN
SQL> select
2 failover_type,
3 failover_method,
4 failed_over
5 from v$session
6 where username='SYSTEM';
FAILOVER_TYPE FAILOVER_METHOD FAILED_OVER
------------- --------------- ----------------
SELECT BASIC NO
从其他会话中关闭该实例。
在 CRM 实例上以 sys 用户身份连接,并关闭该实例。
$export ORACLE_SID=gemni
$sqlplus / as sysdba
SQL> select
2 instance_number instance#,
3 instance_name,
4 host_name,
5 status
6 from v$instance;
INSTANCE# INSTANCE_NAME HOST_NAME STATUS
---------- ---------------- --------------------- ------------
1 gemni ds1.mycorpdomain.com OPEN
SQL> shutdown abort; //注意测试切换,需要用abort
ORACLE instance shut down.
验证会话已经完成故障切换。
从您先前打开的同一 CRM 会话执行以下查询,以验证该会话已经故障切换到其他实例。
SQL> select
2 instance_number instance#,
3 instance_name,
4 host_name,
5 status
6 from v$instance;
INSTANCE# INSTANCE_NAME HOST_NAME STATUS
---------- ---------------- --------------------- ------------
2 gemni ds2.mycorpdomain.com OPEN
SQL> select
2 failover_type,
3 failover_method,
4 failed_over
5 from v$session
6 where username='SYSTEM';
FAILOVER_TYPE FAILOVER_METHOD FAILED_OVER
------------- --------------- ----------------
SELECT BASIC YES
将 CRM 服务重新定位到首选实例。
恢复 节点1 之后,CRM 服务不会自动重新定位到首选实例。您必须手动将服务重新定位到 节点1。
<在节点1上>
$export ORACLE_SID=gemni
$sqlplus / as sysdba
SQL> startup
ORACLE instance started.
Total System Global Area 209715200 bytes
Fixed Size 1218556 bytes
Variable Size 104859652 bytes
Database Buffers 100663296 bytes
Redo Buffers 2973696 bytes
Database mounted.
Database opened.
SQL> show parameter service
NAME TYPE VALUE
------------------------------ ----------- ------------------------
service_names string gemni
<在节点2上>
$export ORACLE_SID=gemni
$sqlplus / as sysdba
SQL> show parameter service
NAME TYPE VALUE
------------------------------ ----------- ------------------------
service_names string gemni, CRM
<在节点1上>
$srvctl relocate service -d gemni -s crm -i ds2 -t ds1
SQL> connect system/oracle@gemni
Connected.
SQL> show parameter service
NAME TYPE VALUE
------------------------------ ----------- ------------------------
service_names string gemni, CRM
<在节点2上>
SQL> connect system/oracle@gemni
Connected.
SQL> show parameter service
NAME TYPE VALUE
------------------------------ ----------- ------------------------
service_names string gemni
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/551823/viewspace-371955/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/551823/viewspace-371955/