基于LINUX的Oracle 10G RAC管理维护学习手记 下载本文

停掉所有节点实例.开启过程在一个实例上完成。 rac1-> srvctl stop instance -d demo -i demo1 rac1-> srvctl stop instance -d demo -i demo2 rac1-> sqlplus /nolog

SQL*Plus: Release 10.2.0.1.0 - Production on Sun Aug 3 22:06:50 2008 Copyright (c) 1982, 2005, Oracle. All rights reserved.

SQL> conn /as sysdba Connected to an idle instance. SQL> startup mount; ORACLE instance started.

Total System Global Area 167772160 bytes Fixed Size 1218316 bytes Variable Size 100665588 bytes Database Buffers 62914560 bytes Redo Buffers 2973696 bytes Database mounted.

SQL> alter database archivelog;

Database altered.

SQL> alter database flashback on; Database altered.

SQL> alter database open; Database altered.

SQL> select NAME,LOG_MODE,FLASHBACK_ON from v$database;

NAME LOG_MODE FLASHBACK_ON --------- ------------ ------------------ DEMO ARCHIVELOG YES

10G下,开启归档和闪回并不需要像9i那样,设置初始化参数cluster_database=false.这无疑简化了操作。 (4).ASM下的RAC管理

ASM下的参数文件 RAC下,每个节点上有运行有一个ASM实例,而rdbms instance就运行在这个asm实例上。Asm实例是本地的。同rdbms实例一样,他需要有参数文件,参数文件在每个节点的相应目录下。下面是我的ASM实例下的pfile文件: cluster_database=true

background_dump_dest=/opt/oracle/admin/+ASM/bdump core_dump_dest=/opt/oracle/admin/+ASM/cdump user_dump_dest=/opt/oracle/admin/+ASM/udump

instance_type=asm large_pool_size=12M remote_login_passwordfile=exclusive

asm_diskgroups='DG1' +ASM2.instance_number=2 +ASM1.instance_number=1 简单介绍几个asm实例中比较重要的参数:

instance_type:用来说明实例是ASM 还是RDBMS 类型 asm_diskgroups:ASM磁盘组,asm实例启动的时候会自动mount asm_diskstring:该参数用来说明能够创建diskgroup的磁盘设备,默认值是NULL

asm_power_limit:该参数用来设置进程 ARBx 的数量,负责控制负载平衡操作的速度。取值 从 0 到 11。默认值为1。 用于记录ASM实例信息的数据字典。

V$ASM_DISK/ V$ASM_DISK_STAT:记录可以被ASM实例识别的磁盘信息,但这些磁盘并不一定是正在被实例使用的。 V$ASM_DISKGROUP/

V$ASM_DISKGROUP_STAT:记录asm下的diskgroup信息。

V$ASM_ALIAS:记录diskgroup文件的别名信息。 V$ASM_FILE:记录diskgroup中的文件信息。

V$ASM_OPERATION:记录ASM实例中当前运行的一个长时间操作信息。 V$ASM_TEMPLATE:记录diskgroup

模板。 V$ASM_CLIENT:记录使用该asm实例下的diskgroup的rdbms实例信息。 RAC下ASM磁盘组/文件管理操作

<1>.RAC下在线添加、删除磁盘组在一个节点上添加diskgroup,集群上另外的节点并不会自动mount新添加的diskgroup,需要手动执行。

节点1: SQL> show parameter asm_diskgroups NAME TYPE VALUE ------------------------------------ ----------- asm_diskgroups string DATA, DG1 SQL>CREATE DISKGROUP DATA2 NORMAL REDUNDANCY FAILGROUP DATA2_gp1 DISK '/dev/raw/raw6'

FAILGROUP DATA2_gp2 DISK '/dev/raw/raw7'; Diskgroup created.

SQL> show parameter asm_diskgroups

NAME TYPE VALUE ------------------------------------ ----------- asm_diskgroups string DATA, DG1,

DATA2 此时观察节点2,新加的磁盘组没有被mount。 SQL> show parameter asm_diskgroups

NAME TYPE VALUE ----------------------------------------------- asm_diskgroups string DATA, DG1

SQL>select

group_number,type,state,type,total_mb,free_mb from v$asm_diskgroup_stat;

GROUP_NUMBER STATE TYPE TOTAL_MB FREE_MB --------------- --------------- ------------------------ 1 CONNECTED EXTERN 5726 4217 2 CONNECTED EXTERN 415 297 0 DISMOUNTED 0 0

SQL>alter diskgroup DATA2 mount; 删除diskgroup时,保留一个节点diskgroup为mount状态,将其余节点上的diskgroup dismount,然后执行删除命令。

<2>.在线添加、删除磁盘 RAC下在线添加磁盘与删除磁盘与单实例并不差别。需要注意该操作会引起磁盘组的重新平衡,并确保删除磁盘的时候该磁盘组有足够的剩余空间。 节点1:

SQL> alter diskgroup dg6 add disk '/dev/raw/raw7' name dg6_disk7; Diskgroup altered. 节点2上查询: SQL>select

GROUP_NUMBER,path,NAME,MOUNT_STATUS,HEADER_STATUS,MODE_STATUS, STATE from