ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Oracle 10g RAC 的部署6

Oracle 10g RAC 的部署6

原创 Linux操作系统 作者:flightpat 时间:2008-07-04 17:20:11 0 删除 编辑

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) 启动和停止应用程序资源。

 

遵循以下步骤启动和停止单独的应用程序资源。

启动程序资源
srvctl start nodeapps -n      //在节点1启动nodeapps
srvctl start nodeapps -n      //在节点2启动nodeapps
srvctl start asm -n     //在节点1启动asm
srvctl start asm -n     //在节点2启动asm
srvctl start database -d  //启动database
srvctl start service -d  -s  //启动数据库的服务
crs_stat –t      //确认程序资源的状态
 
srvctl stop service -d  -s  //停止数据库的服务
srvctl stop database -d                   //停止数据库
srvctl stop asm -n                       //停止asm
srvctl stop asm -n  
srvctl stop nodeapps -n                  //停止nodeapps
srvctl stop nodeapps -n  
crs_stat -t      //确认程序资源的状态

 

 

11 透明故障切换 (TAF)

 

Oracle TAF 中的故障切换机制使任何失败的数据库连接能够重新连接到集群中的其他节点。故障切换对用户是透明的。

 

创建一个新的数据库服务。

 

首先,创建一个名为 CRM 的新服务。可以使用 DBCA 或 srvctl 实用程序来创建数据库服务。

在节点1上,以 oracle 用户身份执行

$dbca

  1. 欢迎页面:选择 Oracle Real Application Clusters database。
  2. 操作:选择 Services Management。
  3. 集群数据库列表:单击 Next。
  4. 数据库服务:单击 Add。
    • 添加服务:输入“CRM”。
      • 选择 节点1 的gemni 作为首选实例。
      • 选择 节点2 的gemni 作为可用实例。
      • TAF 策略:选择 Basic。
    • 单击 Finish。

数据库配置助手将在 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博客 ” ,链接:https://blog.itpub.net/551823/viewspace-371955/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2008-07-04

  • 博文量
    5
  • 访问量
    3664