使用 VMware Server 在 Oracle Enterprise Linux 上安装 Oracle RAC 10g(五)

检查闪回恢复区空间使用率。
SQL> select * from v$recovery_file_dest;

NAME          SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE NUMBER_OF_FILES
------------- ----------- ---------- ----------------- ---------------
+RECOVERYDEST  1572864000  331366400                 0               7


SQL> select * from v$flash_recovery_area_usage;

FILE_TYPE    PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
------------ ------------------ ------------------------- ---------------
CONTROLFILE                 .97                         0               1
ONLINELOG                    20                         0               6
ARCHIVELOG                    0                         0               0
BACKUPPIECE                   0                         0               0
IMAGECOPY                     0                         0               0
FLASHBACKLOG                  0                         0               0
启动和停止应用程序资源。

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

srvctl start nodeapps -n  
srvctl start nodeapps -n  
srvctl start asm -n  
srvctl start asm -n  
srvctl start database -d  
srvctl start service -d  -s  
crs_stat -t

srvctl stop service -d  -s  
srvctl stop database -d  
srvctl stop asm -n  
srvctl stop asm -n  
srvctl stop nodeapps -n  
srvctl stop nodeapps -n  
crs_stat -t 

10. 测试透明故障切换 (TAF)

Oracle TAF 中的故障切换机制使任何失败的数据库连接能够重新连接到集群中的其他节点。故障切换对用户是透明的。Oracle 在故障切换实例上重新执行查询并继续向用户显示余下的结果。

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


服务名 数据库名首选实例可用实例TAF 策略
CRMdevdbdevdb1devdb2BASIC

在 rac1 上,以 oracle 用户身份执行

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

图 14

  1. 数据库配置助手:单击 No 退出。

数据库配置助手将在 tnsnames.ora 中创建以下 CRM 服务名项:

CRM =
  	  (DESCRIPTION =
    	    (ADDRESS = (PROTOCOL = TCP)(HOST = rac1-vip)(PORT = 1521))
    	    (ADDRESS = (PROTOCOL = TCP)(HOST = rac2-vip)(PORT = 1521))
    	    (LOAD_BALANCE = yes)
    	    (CONNECT_DATA =
      	(SERVER = DEDICATED)
      	(SERVICE_NAME = CRM)
      	(FAILOVER_MODE =
        	  (TYPE = SELECT)
        	  (METHOD = BASIC)
        	  (RETRIES = 180)
        	  (DELAY = 5)
      	)
    	    )
  	  )


SQL> connect system/oracle@devdb1
	Connected.
	SQL> show parameter service

NAME                           TYPE        VALUE
------------------------------ ----------- ------------------------
service_names                  string      devdb, CRM


SQL> connect system/oracle@devdb2
	Connected.
	SQL> show parameter service

NAME                           TYPE        VALUE
------------------------------ ----------- ------------------------
service_names                  string      devdb
使用 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 devdb1           rac1.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 用户身份连接,并关闭该实例。
rac1-> export ORACLE_SID=devdb1
rac1-> 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 devdb1           rac1.mycorpdomain.com OPEN

SQL> shutdown 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 devdb2           rac2.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 服务重新定位到首选实例。恢复 devdb1 之后,CRM 服务不会自动重新定位到首选实例。您必须手动将服务重新定位到 devdb1。
rac1-> export ORACLE_SID=devdb1
rac1-> 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      devdb


rac2-> export ORACLE_SID=devdb2
rac2-> sqlplus / as sysdba

SQL> show parameter service

NAME                           TYPE        VALUE
------------------------------ ----------- ------------------------
service_names                  string      devdb, CRM


rac1-> srvctl relocate service -d devdb -s crm -i devdb2 -t devdb1


SQL> connect system/oracle@devdb1
Connected.
SQL> show parameter service

NAME                           TYPE        VALUE
------------------------------ ----------- ------------------------
service_names                  string      devdb, CRM


SQL> connect system/oracle@devdb2
Connected.
SQL> show parameter service

NAME                           TYPE        VALUE
------------------------------ ----------- ------------------------
service_names                  string      devdb

11. 数据库备份与恢复

使用 Oracle 恢复管理器 (RMAN) 备份和恢复 Oracle RAC 数据库的过程与单实例数据库的备份和恢复过程相同。

在本部分中,您将看到一个非常简单的备份和恢复案例:

1. 执行完整的数据库备份。
2. 在 test_d 表空间中创建 mytable 表。
3. 在 t1 时间,向 mytable 中插入第一个记录。
4 在 t2 时间,向 mytable 中插入第二个记录。
5. 在 t3 时间,删除 mytable 表。
6. 将 test_d 表空间恢复到某个时间点。
7. 验证恢复结果。

执行完整的数据库备份。

rac1-> rman nocatalog target /

Recovery Manager: Release 10.2.0.1.0 - Production on Mon Nov 13 18:15:09 2006

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

connected to target database: DEVDB (DBID=511198553)
using target database control file instead of recovery catalog

RMAN> configure controlfile autobackup on; 

RMAN> backup database plus archivelog delete input;

在 test_d 表空间中创建 mytable 表。

19:01:56 SQL> connect system/oracle@devdb2
Connected.
19:02:01 SQL> create table mytable (col1 number) tablespace test_d;

Table created.

在 t1 时间,向 mytable 中插入第一个记录。

19:02:50 SQL> insert into mytable values (1);

1 row created.

19:02:59 SQL> commit;

Commit complete.

在 t2 时间,向 mytable 中插入第二个记录。

19:04:41 SQL> insert into mytable values (2);

1 row created.

19:04:46 SQL> commit;

Commit complete.

在 t3 时间,删除 mytable 表。

19:05:09 SQL> drop table mytable;

Table dropped.

将 test_d 表空间恢复到某个时间点。

为辅助数据库创建辅助目录。

rac1-> mkdir /u01/app/oracle/aux


RMAN> recover tablespace test_d
2> until time "to_date('13-NOV-2006 19:03:10','DD-MON-YYYY HH24:MI:SS')"
3> auxiliary destination '/u01/app/oracle/aux';

RMAN> backup tablespace test_d;

RMAN> sql 'alter tablespace test_d online';

验证恢复结果。

19:15:09 SQL> connect system/oracle@devdb2
Connected.
19:15:16 SQL> select * from mytable;

      COL1
----------
         1

12. 探索 Oracle 企业管理器 (OEM) 数据库控制台

Oracle 企业管理器数据库控制台提供了一个非常好的集成式综合 GUI 界面,用于管理集群数据库环境。您可以在控制台内执行几乎所有的任务。

要访问数据库控制台,请打开 Web 浏览器并输入下面的 URL。
以 sysman 用户身份登录,并输入您先前在数据库安装期间选择的口令。

http://rac1:1158/em

图 15

启动和停止数据库控制台。

rac1-> emctl stop dbconsole
TZ set to US/Eastern
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0
Copyright (c) 1996, 2005 Oracle Corporation.  All rights reserved.
http://rac1.mycorpdomain.com:1158/em/console/aboutApplication
Stopping Oracle Enterprise Manager 10g Database Control ...
 ...  Stopped.
	
	rac1-> emctl start dbconsole
TZ set to US/Eastern
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0
Copyright (c) 1996, 2005 Oracle Corporation.  All rights reserved.
http://rac1.mycorpdomain.com:1158/em/console/aboutApplication
Starting Oracle Enterprise Manager 10g Database Control 
................... started.
------------------------------------------------------------------
Logs are generated in directory 
/u01/app/oracle/product/10.2.0/db_1/rac1_devdb1/sysman/log

验证数据库控制台的状态。

rac1-> emctl status dbconsole
TZ set to US/Eastern
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0
Copyright (c) 1996, 2005 Oracle Corporation.  All rights reserved.
http://rac1.mycorpdomain.com:1158/em/console/aboutApplication
Oracle Enterprise Manager 10g is running.
------------------------------------------------------------------
Logs are generated in directory 
/u01/app/oracle/product/10.2.0/db_1/rac1_devdb1/sysman/log

rac1-> emctl status agent
TZ set to US/Eastern
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0
Copyright (c) 1996, 2005 Oracle Corporation.  All rights reserved.
---------------------------------------------------------------
Agent Version     : 10.1.0.4.1
OMS Version       : 10.1.0.4.0
Protocol Version  : 10.1.0.2.0
Agent Home        : /u01/app/oracle/product/10.2.0/db_1/rac1_devdb1
Agent binaries    : /u01/app/oracle/product/10.2.0/db_1
Agent Process ID  : 10263
Parent Process ID : 8171
Agent URL         : http://rac1.mycorpdomain.com:3938/emd/main
Started at        : 2006-11-12 08:10:01
Started by user   : oracle
Last Reload       : 2006-11-12 08:20:33
Last successful upload                       : 2006-11-12 08:41:53
Total Megabytes of XML files uploaded so far :     4.88
Number of XML files pending upload           :        0
Size of XML files pending upload(MB)         :     0.00
Available disk space on upload filesystem    :    71.53%
---------------------------------------------------------------
Agent is Running and Ready

13. 常见问题

下面是可能对您有用的问题和解决方法摘要列表。

问题 1:无法激活以太网设备。
错误消息为“Cannot activate network device eth0!Device eth0 has different MAC address than expected, ignoring.”

解决方法:
“ifconfig”报告的 MAC 地址与 /etc/sysconfig/network-scripts/ifcfg-eth0 不匹配。您可以使用新的 MAC 地址更新文件,或者只需通过 system-config-network 工具探测新的 MAC 地址。


问题 2:无法生成 OCFS2 配置文件。
在尝试生成 OCFS2 配置文件时,出现错误消息“Could not start cluster stack.This must be resolved before any OCFS2 filesystem can be mounted”。

解决方法:
以 root 用户身份(而非 oracle 用户身份)执行 ocfs2console。


问题 3:无法在远程节点上安装 Oracle 集群件或 Oracle 数据库软件。
在 Oracle 集群件软件安装期间,出现错误消息“/bin/tar:./inventory/Components21/oracle.ordim.server/10.2.0.1.0:time stamp 2006-11-04 06:24:04 is 25 s in the future”。

解决方法:
通过安装 VMware 工具来同步客户 OS 与主机 OS 的时间,并在 /boot/grub/grub.conf 中包含选项“clock=pit nosmp noapic nolapic”。请参阅第 3 部分,以获得更多信息。


问题 4:无法挂载 OCFS2 文件系统。
在尝试挂载 ocfs2 文件系统时,出现错误消息“mount.ocfs2:Transport endpoint is not connected while mounting”。

解决方法:
执行 /usr/bin/system-config-securitylevel 以禁用防火墙。


问题 5:无法启动 ONS 资源。
当 VIPCA 尝试启动 ONS 应用程序资源时,出现错误消息“CRS-0215:Could not start resource ‘ora.rac2.ons’”。

解决方法:
ONS 尝试访问本地主机,但无法解析 IP 地址。将以下项添加到 /etc/hosts 中。

127.0.0.1 localhost

结论

希望通过本指南的学习,您可以免费、快速地使用 VMware Server 构建集群 Oracle 数据库环境。利用免费软件,开始学习并试用 Enterprise Linux 上的 Oracle RAC!


Vincent Chan ( vkchan99@yahoo.com) 是 MSD Inc. 的高级顾问。他是一位经过 Oracle 认证的高级数据库管理员,拥有十年以上的针对各种客户端设计和实施 Oracle 解决方案的经验。[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/38542/viewspace-906236/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/38542/viewspace-906236/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值