Oracle11g日常维护手册资料.docx
《Oracle11g日常维护手册资料.docx》由会员分享,可在线阅读,更多相关《Oracle11g日常维护手册资料.docx(42页珍藏版)》请在冰豆网上搜索。
Oracle11g日常维护手册资料
Oracle11g日常维护手册
目录
第1章文档说明5
第2章CRS的管理5
2.1RAC状态检查5
2.1.1检查守护进程状态5
2.1.2检查资源状态5
2.2手工启动与关闭RAC6
2.3OCR的管理6
2.4VOTINGDISK的管理8
2.5CSS管理9
2.6管理工具SRVCTL9
2.6.1管理实例9
2.6.2管理监听程序9
2.6.3管理ASM10
2.6.4管理service10
2.7修改RAC的IP及VIP11
2.7.1修改外网IP及心跳IP11
2.7.2修改VIP11
2.7.3查看与删除IP12
第3章ASM的管理13
3.1管理DG13
3.1.1建立与扩充diskgroup13
3.1.2mount与unmount的命令14
3.1.3删除diskgroup14
3.1.4增加DISK的total_mb14
3.1.5DG的属性-AU大小14
3.1.6DG的属性-离线删除时间15
3.1.7DG的属性-兼容版本15
3.1.8向ASM中添加disk的完整步骤16
3.2ASMCMD17
3.2.1ASMCMD常用命令17
3.2.2复制ASM文件18
3.2.3命令lsdg18
3.2.4元数据备份与恢复18
3.3ASM磁盘头信息备份与恢复19
3.4ASM常用视图20
3.4.1视图V$ASM_DISKGROUP20
3.4.2视图V$ASM_DISK21
3.5常用方法22
3.5.1如何确定ASM实例的编号22
3.5.2查询DG-RAW-磁盘的对应关系22
第4章数据库管理24
4.1参数文件管理24
4.2表空间管理25
4.2.1表空间自动扩张25
4.2.2表空间更名26
4.2.3表空间的数据文件更名26
4.2.4缺省表空间26
4.2.5表空间删除27
4.2.6UNDO表空间27
4.2.7TEMP表空间27
4.3重做日志文件管理27
4.3.1增加REDO日志组27
4.3.2删除日志组28
4.3.3日志切换28
4.3.4日志清理28
4.3.5重做日志切换次数查询28
4.4归档模式29
4.4.1单实例数据库修改为归档模式的方法29
4.4.2RAC数据库修改为归档模式的方法29
4.4.3归档路径30
4.5重建控制文件31
4.6内存参数管理32
4.6.1Oracle内存管理发展阶段32
4.6.2自动内存管理AMM32
4.6.3自动共享内存管理ASMM33
4.6.4自动PGA管理33
4.7其他管理内容33
4.7.1数据库版本查看33
4.7.2字符集34
4.7.3创建密码文件34
4.7.4关闭审计功能34
4.7.5帐号管理34
4.7.6profile管理35
第1章
文档说明
本文档描述了Oracle11g中常见的维护和管理方法,包括CRS、ASM、数据库等。
文档中斜体部分表示需要用环境变量的值做替换。
第2章
CRS的管理
2.1RAC状态检查
2.1.1检查守护进程状态
守护进程是由/etc/inittab文件中如下三行内容拉起并管理:
h1:
35:
respawn:
/etc/init.d/init.evmdrun>/dev/null2>&1
h2:
35:
respawn:
/etc/init.d/init.cssdfatal>/dev/null2>&1
h3:
35:
respawn:
/etc/init.d/init.crsdrun>/dev/null2>&1
如果这三行内容错误或没有,则守护进程可能会受到影响。
三个守护进程如下:
/bin/sh/etc/init.d/init.cssdfatal
/bin/sh/etc/init.d/init.crsdrun
/bin/sh/etc/init.d/init.evmdrun
通过ps–ef|grep可以检查他们是否存在。
2.1.2检查资源状态
检查RAC所有资源的状态:
#$ORA_CRS_HOME/bin/crs_stat–t
检查CRS的状态:
#$ORA_CRS_HOME/bin/crsctlcheckcrs
单独检查CSS的状态:
#$ORA_CRS_HOME/bin/crsctlcheckcss
2.2手工启动与关闭RAC
使用init.crsstart启动RAC,使用init.crsstop关闭RAC。
该命令可以将整个RAC的所有资源(不包括三个守护进程)启动或停止。
不同操作系统上,ini.crs文件的位置不同:
SUSE:
/etc/init.d/init.crs
HP:
/sbin/init.d/init.crs
AIX:
/etc/init.crs
SUN:
/etc/init.d/init.crs
说明:
不建议使用crsctlstart/stop来启动或关闭RAC,因为这个命令并不校验各资源间的依赖关系,不是很可靠。
2.3OCR的管理
OCR盘状态查看:
命令ocrcheck检查OCR存储的情况,执行结果类似于:
midware01%ocrcheck
StatusofOracleClusterRegistryisasfollows:
Version:
2
Totalspace(kbytes):
513652
Usedspace(kbytes):
2792
Availablespace(kbytes):
510860
ID:
1054294748
Device/FileName:
/dev/rdsk/c3t12d0s4
Device/Fileintegritychecksucceeded
Device/Filenotconfigured
Clusterregistryintegritychecksucceeded
备份与恢复:
默认地,OCR会被自动备份,使用命令ocrconfig-showbackup查看OCR进行的自动备份:
linux1:
~#/oracle/crs/bin/ocrconfig-showbackup
linux22008/12/0507:
06:
09/oracle/crs/cdata/RAC/backup00.ocr
linux22008/12/0503:
06:
09/oracle/crs/cdata/RAC/backup01.ocr
linux22008/12/0423:
06:
09/oracle/crs/cdata/RAC/backup02.ocr
linux22008/12/0407:
06:
08/oracle/crs/cdata/RAC/day.ocr
linux22008/11/1919:
06:
08/oracle/crs/cdata/RAC/week.ocr
如果要手工备份,可执行下面的命令:
#$ORA_CRS_HOME/bin/ocrconfig–export/oracle/db/ocrbak.ocr
恢复OCR的方法如下:
先关闭两个节点上的RAC,分别执行以下命令:
#/etc/init.d/init.crsstop
然后执行恢复:
如果是一个空的OCR盘则用如下命令导入:
#$ORA_CRS_HOME/bin/ocrconfig–import/oracle/db/ocrbak.ocr
如果OCR盘已经有信息了,那么应使用如下命令做恢复:
#$ORA_CRS_HOME/bin/ocrconfig–restore/oracle/db/ocrbak.ocr
OCR内容查看:
将OCR的内容用ocrdump导出后,可以用vi打开来查看:
#ocrdump/home/oracle/ocr.txt
OCR盘的指定:
OCR使用哪个磁盘或文件是在/etc/oracle/ocr.loc文件中指定的。
此文件包含两行内容,例如:
ocrconfig_loc=/oracle/app/product/11g/db/cdata/localhost/local.ocr
local_only=TRUE
这里,ocrconfig_loc指定的是OCR所用的磁盘名称或者文件名。
如果是RAC环境,则这里应为磁盘名,如果是单实例的环境,则这里为一个绝对路径及文件名。
local_only表示CRS的二进制文件是安装在本地还是多个节点共享的存储上,单实例环境中该参数为TRUE,RAC中二进制文件装在各自本地盘上则为FALSE。
增加OCR盘:
一个RAC环境中,可以有两个OCR,一个为OCR,另外一个为OCRMIRROR。
可以增加OCRMIRROR盘,命令如下:
#ocrconfig-replaceocrmirror/dev/raw/raw3
增加以后,执行ocrcheck将看到两个OCR盘了:
#/oracle/crs/bin/ocrcheck
StatusofOracleClusterRegistryisasfollows:
Version:
2
Totalspace(kbytes):
296940
Usedspace(kbytes):
3948
Availablespace(kbytes):
292992
ID:
938694221
Device/FileName:
/dev/raw/raw1
Device/Fileintegritychecksucceeded
Device/FileName:
/dev/raw/raw3
Device/Fileintegritychecksucceeded
Clusterregistryintegritychecksucceeded
Logicalcorruptionchecksucceeded
删除OCR盘:
以下命令将删除OCR盘,原来的OCRMIRROR变成OCR:
#ocrconfig-replaceocr
删除OCRMIRROR:
#ocrconfig-replaceocrmirror
2.4VOTINGDISK的管理
检查VotingDisl盘:
#$ORA_CRS_HOME/bin/crsctlquerycssvotedisk
备份与恢复:
备份命令如下:
#ddif=/dev/raw/raw2of=/oracle/db/voting.bak
备份时间会比较长,备份文件与VOTINGDISK盘的大小接近。
恢复命令如下:
#ddif=/oracle/db/voting.bakof=/dev/raw/raw2
恢复前不需要先关闭RAC。
添加VOTINGDISK盘:
可以添加一个盘为votingdisk,命令如下:
#crsctladdcssvotedisk/dev/raw/raw3
删除VOTINGDISK盘:
#crsctldeletecssvotedisk/dev/raw/raw3-force
2.5CSS管理
CSS的作用是协调ASM实例与数据库实例之间的通信。
因此要使用ASM管理存储,无论是单实例还是RAC环境,都必须先配置CSS。
查看CSS进程是否正常,以oracle用户执行以下命令:
#crsctlcheckcssd
如果CSS正常,那么显示如下信息:
ClusterSynchronizationServicesappearshealthy
如果显示CSS未启动,则执行如下命令:
#/etc/init.d/init.cssdstart
2.6管理工具SRVCTL
在RAC中,可以使用srvctl(servicecontroltool)工具来管理CRS的各类资源。
SRVCTL的有些命令会修改OCR的信息,例如添加service。
有些命令则是通过发送指令给CRSD(oracleclusterwareprocess),然后由CRSD去执行,例如启动数据库。
可以使用-h查看命令的帮助信息,例如,要查看srvctladdasm的用法,可以执行如下命令:
#srvctladdasm–h
2.6.1管理实例
启动数据库实例:
#srvctlstartinstance-ddb_name-iinstance_name-oopen;
检查数据库实例的状态:
#srvctlstatusdatabase-ddb_name
2.6.2管理监听程序
添加监听程序:
#srvctladdlistener–nhostname-o$ORACLE_HOME
删除监听程序:
#srvctlremovelistener–nhostname
如果要指定删除一个资源,例如一个节点上有两个lsnr资源,一个为LISTENER3_HOST1,另外一个为LISTENER_HOST1,现在需要将不正确的LISTENER3_HOST1删除:
#srvctlremovelistener-nhostname-lLISTENER3_HOST1
启动监听程序:
#srvctlstartlistener–nhostname
停止监听程序:
#srvctlstoplistener–nhostname
检查监听程序是否存在
#srvctlconfiglistener–nhostname
2.6.3管理ASM
添加ASM实例:
#srvctladdasm–nhostname–iASM_ORACLE_SID-o$ORACLE_HOME
删除ASM实例:
#srvctladdasm–nhostname–f[-iASM_ORACLE_SID]
其中-f表示如果删除失败,则强制删除
启动ASM实例:
#srvctlstartasm–nhostname[-iASM_ORACLE_SID]
停止ASM实例:
#srvctlstopasm–nhostname[-iASM_ORACLE_SID]
检查ASM实例是否存在
#srvctlconfigasm–nhostname
2.6.4管理service
增加service:
#srvctladdservice-ddb_name-sservice_name-r主节点的ORACLE_SID-a备节点A的ORACLE_SID,备节点B的ORACLE_SID
删除service:
#srvctlremoveservice-ddb_name-sservice_name
启动service:
#srvctlstartservice-ddb_name-sservice_name
停止service:
#srvctlstopservice-ddb_name-sservice_name
2.7修改RAC的IP及VIP
2.7.1修改外网IP及心跳IP
当外网IP修改并重新绑定到网卡上以后,需要修改RAC中记录的外网IP。
修改方法如下:
关闭两个节点上的RAC;
修改/etc/hosts文件,用新的IP替换旧IP值
启动RAC,在两个节点上分别执行:
#/etc/init.d/init.crsstart
假设我们要修改节点1的外网IP:
#cd$ORA_CRS_HOM/bin
#./oifcfgsetif-globaleth0/192.168.1.10:
public
请根据实际情况替换eth0、192.168.1.10
然后删除旧的外网IP信息:
#./oifcfgdelif-globaleth0/192.168.0.11
修改$ORACLE_HOME/network/admin/listener.ora文件中HOST等于的外网IP值
假设我们要修改节点1的心跳IP,旧IP为10.10.10.0,新IP为10.10.20.0:
#cd$ORA_CRS_HOM/bin
#./oifcfgsetif-globaleth1:
/10.1.0.20:
cluster_interconnect
#./oifcfgdelif-globaleth1/10.10.10.0
可以查看现在RAC中IP的值:
#./oifcfggetif–global
最后在两个节点上关闭并重启RAC。
2.7.2修改VIP
查看当前的VIP设置:
#/oracle/crs/bin/srvctlconfignodeapps-a-nlinux1
RAC安装完以后,可以修改两个节点的VIP。
前提是修改后的VIP必须没有被其他系统使用掉。
正确的修改方法如下:
步骤1:
使用srvctl修改VIP
进入/crs/bin目录下执行如下命令:
#./srvctlmodifynodeapps-nrac2-A10.71.99.112/255.255.255.0
其中rac2为节点2的hostname,10.71.99.112为新的VIP
如果两个节点的VIP都需要修改,则两个节点上都需要执行该步骤
步骤2:
停止CRS的所有资源
#/etc/init.d/init.crsstop
步骤3:
卸掉旧的VIP网卡
假定旧的VIP是绑定在eth3:
1上,那么执行命令:
#ifconfigeth3:
1down
两个节点上都需要执行该步骤
步骤4:
修改/etc/host文件
修改该文件,将旧的VIP改为新的VIP值.两个节点上都需要执行该步骤
步骤5:
启动CRS资源
在任意一个节点上执行以下命令:
#/etc/init.d/init.crsstart
步骤6:
修改客户端或应用程序连接服务器所使用的VIP值
2.7.3查看与删除IP
查看与管理OCR中IP的配置信息:
查看IP配置信息:
#oifcfggetif
返回结果例如:
linux1:
~#/oracle/crs/bin/oifcfggetif
bond010.71.99.0globalpublic
bond1192.168.128.0globalcluster_interconnect
#oifcfgiflist
返回结果例如:
linux1:
~#/oracle/crs/bin/oifcfgiflist
bond010.71.99.0
bond1192.168.128.0
即使两个节点的VIP都漂到一个节点上,那么此命令的执行结果也仍只有两行。
删除网卡信息:
#oifcfgdelif-globalce0
这里,-global表示删除RAC中所有节点上的网卡ce0。
如果只想删除一个节点的,则用-nnodename
第3章
ASM的管理
3.1管理DG
3.1.1建立与扩充diskgroup
建立外部冗余的DG:
SQL>creatediskgroupdg_nameexternalredundancydisk‘/dev/raw/raw5’;
冗余度:
normal(2-way镜像),high(3-way镜像),external(不做镜像)
建立normal冗余的DG:
SQL>CREATEDISKGROUPdg_nameNORMALREDUNDANCY
2 FAILGROUPFGROUP1DISK
3 'D:
MYRAWSRAW1'NAMEDISKn,
4 '...otherdisk...'
5 FAILGROUPFGROUP2DISK
6 'D:
MYRAWSRAW3'NAMEDISKn,
7 '...otherdisk...';
向一个diskgroup中增加一个裸盘的方法:
SQL>alterdiskgroupdg_nameadddisk'/dev/raw/raw6';
从diskgroup中去掉disk:
SQL>alterdiskgroupdg_namedropdiskdisk在diskgroup中的名称
(可从v$asm_disk中查询获得,也可在添加disk到group时加namedisk名称来指定)
3.1.2mount与unmount的命令
SQL>alterdiskgroupdg_namedismount;
SQL>alterdiskgroupdg_namemount;
3.1.3删除diskgroup
要在节点1上执行DG的删除动作,则节点1上DG应为MOUNT,节点2上此DG的状态应为DISMOUNT。
如果不是,则要先调整。
删除DG的命令如下:
SQL>DROPDISKGROUPdg_name(includingcontents);
如果DG为DISMOUNT状态,则可以强制删除:
SQL>dropdiskgroupdg_nameforceincludingcontents;
3.1.4增加DISK的total_mb
当包含在DG中的RAW被扩大后,应在ASM中执行以下命令来扩张ASM可见此RAW的total_mb:
SQL>alterdiskgroupdg_nameresizeallsize19085M;
如果DG中有多个RAW,每个RAW的大小不同,则这里应指定具体的DISK名称:
SQL>alterdiskgroupdg_nameresizediskdisk_namesize19085M;
3.1.5DG的属性-AU大小
在11G中,默认每个DG的AU大小为1M,可以为每个DG设置不同的AU大小。
在建立DG时加上如下子句即可:
…attribute'au_size'='2M'
AU_SIZE的值应为1M、2M、4M、8M、16M、32M或64M。
可以修改已有DG的AU值:
SQL>alterdiskgroupdg_namesetattribute'au_size'='2M';
3.1.6DG的属性-离线删除时间
ASM会删除离线时间超过3.6小时的磁盘,可以通过修改DISK_REPAIR_TIME(单位可以是分钟,M或m,或小时,H或h)参数设置磁盘组默认时间限制。
以小时为单位进行设置:
SQL>ALTERDISKGROUPdg_nameSET