1、Oracle 11g日常操作与维护手册内部公开资料编码HWDBTMGFB001产品名称业务与软件产品使用对象ORACLE技术支持、研发、生产产品版本编写部门数据库TMG资料版本Oracle 11g 日常操作与维护手册拟 制:数据库TMG日 期:2009-2-14审 核:日 期:批 准:日 期:修 订 记 录日 期修订版本作 者描 述2009/02/14V1.0武彩花初稿华 为 技 术 有 限 公 司目 录第1章 文档说明5第2章 CRS的管理52.1 RAC状态检查52.1.1 检查守护进程状态52.1.2 检查资源状态52.2 手工启动与关闭RAC62.3 OCR的管理62.4 VOTING
2、 DISK的管理82.5 CSS管理92.6 管理工具SRVCTL92.6.1 管理实例92.6.2 管理监听程序92.6.3 管理ASM102.6.4 管理service102.7 修改RAC的IP及VIP112.7.1 修改外网IP及心跳IP112.7.2 修改VIP112.7.3 查看与删除IP12第3章 ASM的管理133.1 管理DG133.1.1 建立与扩充disk group133.1.2 mount与unmount的命令143.1.3 删除disk group143.1.4 增加DISK的total_mb143.1.5 DG的属性AU大小143.1.6 DG的属性离线删除时间1
3、53.1.7 DG的属性兼容版本153.1.8 向ASM中添加disk的完整步骤163.2 ASMCMD173.2.1 ASMCMD常用命令173.2.2 复制ASM文件183.2.3 命令lsdg183.2.4 元数据备份与恢复183.3 ASM磁盘头信息备份与恢复193.4 ASM常用视图203.4.1 视图V$ASM_DISKGROUP203.4.2 视图V$ASM_DISK213.5 常用方法223.5.1 如何确定ASM实例的编号223.5.2 查询DGRAW磁盘的对应关系22第4章 数据库管理244.1 参数文件管理244.2 表空间管理254.2.1 表空间自动扩张254.2.2
4、 表空间更名264.2.3 表空间的数据文件更名264.2.4 缺省表空间264.2.5 表空间删除274.2.6 UNDO表空间274.2.7 TEMP表空间274.3 重做日志文件管理274.3.1 增加REDO日志组274.3.2 删除日志组284.3.3 日志切换284.3.4 日志清理284.3.5 重做日志切换次数查询284.4 归档模式294.4.1 单实例数据库修改为归档模式的方法294.4.2 RAC数据库修改为归档模式的方法294.4.3 归档路径304.5 重建控制文件314.6 内存参数管理324.6.1 Oracle内存管理发展阶段324.6.2 自动内存管理AMM3
5、24.6.3 自动共享内存管理ASMM334.6.4 自动PGA管理334.7 其他管理内容334.7.1 数据库版本查看334.7.2 字符集344.7.3 创建密码文件344.7.4 关闭审计功能344.7.5 帐号管理344.7.6 profile管理35第1章 文档说明本文档描述了Oracle11g中常见的维护和管理方法,包括CRS、ASM、数据库等。文档中斜体部分表示需要用环境变量的值做替换。第2章 CRS的管理2.1 RAC状态检查2.1.1 检查守护进程状态守护进程是由/etc/inittab文件中如下三行内容拉起并管理:h1:35:respawn:/etc/init.d/ini
6、t.evmd run /dev/null 2&1 /dev/null 2&1 /dev/null 2&1 create diskgroup dg_name external redundancy disk /dev/raw/raw5;冗余度:normal(2-way镜像),high(3-way镜像),external(不做镜像)建立normal冗余的DG:SQL CREATE DISKGROUP dg_name NORMAL REDUNDANCY2FAILGROUP FGROUP1 DISK3 D:MYRAWSRAW1 NAME DISKn,4 . other disk . 5FAILGROU
7、P FGROUP2 DISK6 D:MYRAWSRAW3 NAME DISKn,7 . other disk . ;向一个disk group中增加一个裸盘的方法:SQLalter diskgroup dg_name add disk /dev/raw/raw6;从disk group中去掉disk:SQL alter diskgroup dg_name drop disk disk在diskgroup中的名称(可从v$asm_disk中查询获得,也可在添加disk到group时加name disk名称来指定)3.1.2 mount与unmount的命令 SQLalter diskgroup
8、dg_name dismount;SQLalter diskgroup dg_name mount;3.1.3 删除disk group要在节点1上执行DG的删除动作,则节点1上DG应为MOUNT,节点2上此DG的状态应为DISMOUNT。如果不是,则要先调整。删除DG的命令如下:SQLDROP DISKGROUP dg_name (including contents);如果DG为DISMOUNT状态,则可以强制删除:SQL drop diskgroup dg_name force including contents;3.1.4 增加DISK的total_mb当包含在DG中的RAW被扩大后
9、,应在ASM中执行以下命令来扩张ASM可见此RAW的total_mb:SQL alter diskgroup dg_name resize all size 19085M;如果DG中有多个RAW,每个RAW的大小不同,则这里应指定具体的DISK名称:SQL alter diskgroup dg_name resize disk disk_name size 19085M;3.1.5 DG的属性AU大小在11G中,默认每个DG的AU大小为1M,可以为每个DG设置不同的AU大小。在建立DG时加上如下子句即可: attribute au_size = 2MAU_SIZE 的值应为 1M、2M、4M、
10、8M、16M、32M 或 64M。可以修改已有DG的AU值:SQL alter diskgroup dg_name set attribute au_size=2M;3.1.6 DG的属性离线删除时间ASM会删除离线时间超过3.6小时的磁盘,可以通过修改DISK_REPAIR_TIME(单位可以是分钟,M或m,或小时,H或h)参数设置磁盘组默认时间限制。以小时为单位进行设置:SQL ALTER DISKGROUP dg_name SET ATTRIBUTE disk_repair_time = 4.5h;以分钟为单位进行设置SQL ALTER DISKGROUP dg_name SET ATT
11、RIBUTE disk_repair_time = 300m;ALTER DISKGROUP命令的DROP AFTER子句用于废除DISK_REPAIR_TIME参数设置的默认时间。使用默认的DISK_REPAIR_TIME:SQL ALTER DISKGROUP dg_name OFFLINE DISK D1_0001;废除默认的DISK_REPAIR_TIME:SQL ALTER DISKGROUP dg_name OFFLINE DISK D1_0001 DROP AFTER 30m;如果磁盘在滚动升级期间离线,直到滚动升级完成,计时器才会启动。3.1.7 DG的属性兼容版本ASM 是一
12、个适用于从 10g 到当前版本的 Oracle 数据库的存储平台。因此,11g 上的 ASM 实例可以保存 10g 第 1 版、10g 第 2 版以及 11g 第 1 版(以及更高版本)的数据库。只要 ASM 版本与 RDBMS 的版本相同或者更高,就可以在该 ASM 实例上创建数据库。如果 ASM 和 RDBMS 实例的版本不同,它们将如何通信呢?很简单:ASM将消息转换成适合RDBMS的版本。默认情况下,ASM 实例可以支持10g数据库。但如果您希望在该 ASM 实例上仅放置 11g RDBMS,该怎么办?无需进行消息转换来支持版本差异。但如果可以告诉 ASM 实例唯一支持的数据库是11g
13、第 1 版,该怎么办?这将消除,至少可以减少消息转换。在Oracle数据库11g中,可以使用ASM兼容性和RDBMS兼容性磁盘组属性实现。首先,我们将检查磁盘组的当前属性:SQL select name, compatibility, database_compatibility from v$asm_diskgroup;返回结果例如:NAME COMPATIBILITY DATABASE_COMPATIBILI- - -DG_ARCH 10.1.0.0.0 10.1.0.0.0DG_DATA 10.1.0.0.0 10.1.0.0.0DG_DBFILE 10.1.0.0.0 10.1.0.0
14、.0DG_INDEX 10.1.0.0.0 10.1.0.0.0这里,ASM 兼容性(由COMPATIBILITY显示)设置为 10.1.0.0.0,这意味着该磁盘组最高可支持10.1 ASM 结构。因此,该磁盘组可以具有任意RDBMS结构。另一列DATABASE_COMPATIBILITY显示RDBMS兼容性设置为10.1.这意味着,ASM 磁盘组可用于10.1版的任何RDBMS由于数据库为11g,并只希望创建11g ASM 和RDBMS结构,因此无需拥有10g元素。要将该磁盘组的 ASM 兼容性属性设置为 11.1,可以执行以下语句(在ASM实例中):SQL alter diskgroup
15、 dg_name set attribute compatible.asm=11.1;现在ASM 兼容性设置为 11.1;但 RDBMS 兼容性仍然设置为 10.1.要将它也更改为 11.1,命令如下:SQL alter diskgroup dg_name set attribute compatible.rdbms=11.1;注意:兼容性是针对磁盘组设置的,而不是针对整个 ASM 实例。使用该特性,您只需使用一个 ASM 实例即可满足所有数据库版本类型的需要。根据所使用的版本,您可以相应地设置属性,从而减少版本间的通信。3.1.8 向ASM中添加disk的完整步骤1. 划好磁盘分区,例如sd
16、d62. 查看现有的RAW:# raw qa确定下一个RAW的编码,例如此时最大的RAW编码为RAW11,那么下面将使用RAW123. 将RAW12添加到文件/etc/raw中,使它永久生效:添加的内容请参考该文件中的其他行4. 修改RAW12的权限# chown oracle:dba /dev/raw/raw125. 将sdd6绑定为裸设备,如raw12:# raw /dev/raw/raw12 /dev/sdd66. 将raw12添加到要扩充的dg中,例如dg_dbfile中:确定diskstring当前的值,以oracle用户登录节点1:#export ORACLE_SID=+ASM1#
17、sqlplus / as sysdbaSQLshow parameter asm_diskstring;例如该参数的值为/dev/raw/raw1,/dev/raw/raw2登录节点1,然后执行如下步骤:#export ORACLE_SID=+ASM1#sqlplus / as sysdba修改参数asm_diskstring:SQL alter system set asm_diskstring=/dev/raw/raw1,/dev/raw/raw2,/dev/raw/raw12; 登录节点2,然后执行如下步骤:#export ORACLE_SID=+ASM2#sqlplus / as sy
18、sdba修改参数asm_diskstring:SQL alter system set asm_diskstring=/dev/raw/raw1,/dev/raw/raw2,/dev/raw/raw12;增加raw12到dg中:SQLalter diskgroup dg_dbfile add disk /dev/raw/raw12;查看该dg的状态:SQLselect name,state from v$asm_diskgroup where name=DG_DBFILE;如果状态为DISMOUNT,则执行下面的命令将它MOUNT起来:SQLalter diskgroup dg_dbfile
19、mount;回到节点1,执行如下步骤:查看该dg的状态:SQLselect name,state from v$asm_diskgroup where name=DG_DBFILE;如果状态为DISMOUNT,则执行下面的命令将它MOUNT起来:SQLalter diskgroup dg_dbfile mount;7. 修改init文件在节点1和节点2上,分别修改文件$ORACLE_BASE/admin/+ASM/pfile/init.ora ,将原来设置参数asm_diskstring的行注销掉,然后添加一行,内容如下:asm_diskstring=/dev/raw/raw1,/dev/ra
20、w/raw2,/dev/raw/raw12其中,红色部分为步骤4中看到的值,粉红色的内容为本次新增加的裸设备。3.2 ASMCMD3.2.1 ASMCMD常用命令在节点1上,以oracle用户登录,然后设置为+ASM1实例:# su oracle# export $ORACLE_SID=+ASM1# asmcmdasmcmd命令清单如下:命令用途说明ls显示现有的diskgroup名称ll显示所有可用的命令cdCd +diskgroup名 作用等同于进入普通目录mkdir完全和普通目录的管理方法一致.rm删除文件或目录pwd查看当前目录cp拷贝文件可在两个DG间拷贝,也可从DG拷贝到文件系统,
21、但不能从文件系统拷贝到DG3.2.2 复制ASM文件拷贝ASM文件到文件系统下:ASMCMDcd +DG_1ASMCMDcp sp1.ora /opt/oracle/tst.ora如果不指定文件系统的具体目录,那么默认为$ORACLE_HOME/dbs拷贝ASM文件到ASM的DG上:ASMCMDcd +DG_1ASMCMDcp sp1.ora +DG_1/tst.ora这样就将DG_1下的sp1.ora做了个复制文件tst.ora,并存放在DG_1中注意:cp命令不能将文件系统中的文件拷贝到DG上。3.2.3 命令lsdg命令lsdg可以查看DG的各个属性,返回结果例如:lASMCMDlsdgState Type Rebal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks