Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

84

积分

1

好友

27

主题
1#
发表于 2013-10-9 15:26:21 | 查看: 2998| 回复: 4
  希望刘大和热心的网友帮忙看下...谢谢!
  环境:
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - Prod
PL/SQL Release 10.2.0.5.0 - Production
CORE        10.2.0.5.0        Production
TNS for Linux: Version 10.2.0.5.0 - Production
NLSRTL Version 10.2.0.5.0 - Production
[oracle@rac1 admin]$ crs_stat -t
Name           Type           Target    State     Host        
------------------------------------------------------------
ora....B1.inst application    ONLINE    ONLINE    rac1        
ora....B2.inst application    ONLINE    ONLINE    rac2        
ora.RACDB.db   application    ONLINE    ONLINE    rac1        
ora....DB1.srv application    ONLINE    ONLINE    rac2        
ora....STAF.cs application    ONLINE    ONLINE    rac1        
ora....SM1.asm application    ONLINE    ONLINE    rac1        
ora....C1.lsnr application    ONLINE    ONLINE    rac1        
ora.rac1.gsd   application    ONLINE    ONLINE    rac1        
ora.rac1.ons   application    ONLINE    ONLINE    rac1        
ora.rac1.vip   application    ONLINE    ONLINE    rac1        
ora....SM2.asm application    ONLINE    ONLINE    rac2        
ora....C2.lsnr application    ONLINE    ONLINE    rac2        
ora.rac2.gsd   application    ONLINE    ONLINE    rac2        
ora.rac2.ons   application    ONLINE    ONLINE    rac2        
ora.rac2.vip   application    ONLINE    ONLINE    rac2
[oracle@rac1 admin]$ olsnodes -n -i
rac1        1        rac1-vip
rac2        2        rac2-vip
[oracle@rac1 admin]$ srvctl config database
RACDB
[oracle@rac1 admin]$ cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1                rac1 localhost.localdomain localhost
::1                localhost6.localdomain6 localhost6
1.1.1.10        rac1
1.1.1.11        rac2
1.1.1.20        rac1-vip
1.1.1.21        rac2-vip
192.168.2.10        rac1-priv
192.168.2.11        rac2-priv
server端TAF配置过程:
srvctl add service -d RACDB -s STAF -r RACDB1 -a RACDB2 -P basic
srvctl enable service -d RACDB -s STAF
srvctl start service -d RACDB -s STAF
SQL>begin
  dbms_service.modify_service (
  service_name=>'STAF',
  failover_method=>dbms_service.failover_method_basic,
  failover_type=>dbms_service.failover_type_select,
  failover_retries=>180,
  failover_delay=>5
);
end;
/
PL/SQL procedure successfully completed.
SQL> set linesize 160
col name for a40
col failover_method for a40
col failover_type for a40
select name,failover_method,failover_type,goal,clb_goal from dba_services;SQL> SQL> SQL> SQL>

NAME                                         FAILOVER_METHOD                          FAILOVER_TYPE                            GOAL         CLB_G
---------------------------------------- ---------------------------------------- ---------------------------------------- ------------ -----
SYS$BACKGROUND                                                                                                                   NONE         SHORT
SYS$USERS                                                                                                                   NONE         SHORT
seeddataXDB                                                                                                                                LONG
seeddata                                                                                                                                LONG
RACDBXDB                                                                                                                                LONG
RACDB                                                                                                                                        LONG
STAF                                         BASIC                                          SELECT                                   NONE         LONG

7 rows selected.

测试failover
服务器端的TAF tnsnames.ora里应该不需要特殊配置,甚至使用easy connect就可以,按照官方的说法我是这样理解的
在客户端 sqlplus test/test@1.1.1.21/racdb
C:\>sqlplus test/test@1.1.1.20/racdb

SQL*Plus: Release 11.2.0.1.0 Production on 星期三 10月 9 15:19:52 2013

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


连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options

SQL> select instance_name from v$instance;

INSTANCE_NAME
----------------
RACDB1

实验目标:在连接到RACDB1的情况下,kill 掉test用户的进程,或者shutdown abort racdb1 在不重新连接的情况下出现如下结果:
SQL> select instance_name from v$instance;

INSTANCE_NAME
----------------
RACDB2
实验结果:事与愿违,出现如下结果,不能切换到racdb2
SQL> select instance_name from v$instance;
ERROR:
ORA-03114: 未连接到 ORACLE

  
2#
发表于 2013-10-9 15:28:39
在客户端 sqlplus test/test@1.1.1.21/racdb
C:\>sqlplus test/test@1.1.1.20/racdb

SQL*Plus: Release 11.2.0.1.0 Production on 星期三 10月 9 15:19:52 2013


1、不要用11.2.0.1 的client 测试

2、至少给出racdb 的 tnsname

回复 只看该作者 道具 举报

3#
发表于 2013-10-9 15:35:52
1、刘大意思是我使用10的客户端?oracle 不是说高版本兼容低版本吗?
2、客户端tnsname
racdb=
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 1.1.1.20)(PORT = 1521)(IP = FIRST))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 1.1.1.21)(PORT = 1521)(IP = FIRST)))
      (CONNECT_DATA =
         (SERVER = DEDICATED)
         (SERVICE_NAME = RACDB)
    )
  )

回复 只看该作者 道具 举报

4#
发表于 2013-10-9 15:38:18
srvctl add service -d RACDB -s STAF -r RACDB1 -a RACDB2 -P basic

==>你增加的是 STAF 服务

为什么 连却用SERVICE_NAME = RACDB?

回复 只看该作者 道具 举报

5#
发表于 2013-10-9 15:43:33
确实是这个错误,感谢刘大的热心帮助!

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-6-14 21:05 , Processed in 0.047428 second(s), 20 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569