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
Oracle TAF 中的故障切换机制使任何失败的数据库连接能够重新连接到集群中的其他节点。故障切换对用户是透明的。Oracle 在故障切换实例上重新执行查询并继续向用户显示余下的结果。
创建一个新的数据库服务。首先,创建一个名为 CRM 的新服务。可以使用 DBCA 或 srvctl 实用程序来创建数据库服务。这里,您将使用 DBCA 在 devdb1 上创建 CRM 服务。
服务名 | 数据库名 | 首选实例 | 可用实例 | TAF 策略 |
CRM | devdb | devdb1 | devdb2 | BASIC |
在 rac1 上,以 oracle 用户身份执行
rac1-> dbca
数据库配置助手将在 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
使用 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;
19:01:56 SQL> connect system/oracle@devdb2 Connected. 19:02:01 SQL> create table mytable (col1 number) tablespace test_d; Table created.
19:02:50 SQL> insert into mytable values (1); 1 row created. 19:02:59 SQL> commit; Commit complete.
19:04:41 SQL> insert into mytable values (2); 1 row created. 19:04:46 SQL> commit; Commit complete.
19:05:09 SQL> drop table mytable; Table dropped.
为辅助数据库创建辅助目录。
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
Oracle 企业管理器数据库控制台提供了一个非常好的集成式综合 GUI 界面,用于管理集群数据库环境。您可以在控制台内执行几乎所有的任务。
要访问数据库控制台,请打开 Web 浏览器并输入下面的 URL。
以 sysman 用户身份登录,并输入您先前在数据库安装期间选择的口令。
http://rac1:1158/em
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
下面是可能对您有用的问题和解决方法摘要列表。
问题 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!
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/38542/viewspace-906236/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/38542/viewspace-906236/