Oracle11gR2数据库系统日常维护操作手册.docx
《Oracle11gR2数据库系统日常维护操作手册.docx》由会员分享,可在线阅读,更多相关《Oracle11gR2数据库系统日常维护操作手册.docx(19页珍藏版)》请在冰豆网上搜索。
Oracle11gR2数据库系统日常维护操作手册
Oracle11gR2数据库系统日常维护操
作手册
修订纪录:
版本号
日期
作者
修订纪录
V1.0
2012-03-07
肖贤光
初稿
介绍3
维护4
2.1ASM管理与监控4
2.1.1磁盘创建(Linux)4
2.1.2查看磁盘(Linux)4
2.1.3删除磁盘(linux)5
2.1.4创建磁盘组5
2.1.5磁盘组新增磁盘.5
2.1.6磁盘组删除磁盘.5
2.1.7磁盘组删除5
2.1.8磁盘组维护5
2.1.9磁盘组监控6
2.2OHAS服务管理与监控6
2.2.1启/禁用服务资源.6
2.2.2启动/停止资源服务.8
2.2.3监控/删除资源服务.9
2.3表空间管理与监控10
2.3.1表空间管理10
2.3.2表空间监控11
2.4重做日志管理12
2.5日志维护13
2.5.1定制GRID模块的日志保留策略13
2.5.2定制RDBMS模块的日志保留策略14
2.5.3查看异常日志14
2.5.4手工清理日志15
介绍
Oracle11g引进了些新的特性,在日常维护方面也带来些变化和改善。
日常维护工作中,大体上保持和延续了以前版本的优良友好操作接口,只部分新特性下,增加或改善了操作交互方式。
维护
日常维护工作中,主要有表空间、重做日志、归档、用户帐户、表、索引、簇表等
Oracle的ASM组件来管理
;另外,还采用了Oracle故OHAS服务状态管理也是
的管理维护;在Oracle11gR2数据库,我们的系统开始采用数据库的存储,因而ASM管理存储也成了一项日常维护工作Restart功能来管理ASM数据库、监听等数据库资源服务,
需要加以关注。
表空间、重做日志、归档的一般管理和以前版本的管理没有太多的差异;只是涉及新
增和调整时,涉及文件存储方面,因使用ASM部件,而需要做些操作命令语法上的调整用户账户、表、索引、簇表等内部逻辑结构的维护管理没有太多的变化。
2.1ASM管理与监控
ASM管理涉及存储的管理,主要有磁盘、磁盘组的创建、新增、更新、删除等管理
维护方面。
2.1.1磁盘创建(Linux)
ASM磁盘创建,主要是使用ASMLib来管理磁盘的配置,Oracle弓I进ASMLib在
内核级别进行磁盘的管理,便于ASM实例识别到磁盘,方面ASM创建、更新、删除
磁盘组或组磁盘成员。
ASMLib管理磁盘,通过在系统级别识别到磁盘路径后,创建一个别名,来配置磁盘。
Redhatlinux下通过多路径软件识别磁盘路径后,对磁盘进行分区后,就可以
使用ASMLib来创建一个磁盘别名。
示例:
RedhatES5下,采用DM管理的磁盘
通过多路径软件识别并配置了一个磁盘路径,将在/dev/mapper目录生成一个
设备文件,默认是:
/dev/mapper/mpath[O~N]命名,但这个识别的设备对应的真实设备可能会随机器启动而发生变化;故可以通过wwwid号在/etc/multipath.conf
文件配置别名,来固化设备与设备文件名对应;如配置一个设备别名为:
asm_dsk_01,
则在/dev/mapper目录生成一个文件名:
/dev/mapper/asm_dsk_01,这样就可以使
用fdisk或kpartx来划分分区,然后使用ASMLib来自动管理设备和生成另一个别
名,便于OracleASMLib来管理设备的权限,而不随系统启动发生权限信息丢失问
题。
创建语句:
划分的DM设备文件分区为:
/dev/mapper/asmdsk01p1
/usr/sbin/oracleasmcreatediskDISK01/dev/mapper/asm_dsk_01p1
ASMLib创建磁盘别名后,会在/dev/oracleasm/disks目录生成一个赋予ASM实
例属主权限的磁盘设备别名文件,如示例则生成一个设备文件:
/dev/oracleasm/disks/DISK01,属主将是初始化ASMLib时配置的属主:
grid:
asmadmin,ASMLib初始化配置,也可以通过配置文件进行调整:
/etc/sysconfig/oracleasm2.1.2查看磁盘(Linux)
磁盘查看,通过oracleasm脚本,查看系统目前已经被ASMLib管理的磁盘。
#查看创建ASMLib磁盘别名
/usr/sbin/oracleasmlistdisks#查看DMI设备对应的ASMLib磁盘/usr/sbin/oracleasmquerydisk/dev/mapper/asm_dsk_01p1
2.1.3删除磁盘(linux)
ASMLib删除磁盘,需要先从ASM磁盘组里把磁盘卸载后,再从ASMLib配置里把
磁盘别名删除。
/usr/sbin/oracleasmdeletediskDISK01
2.1.4创建磁盘组
ASM创建磁盘组,是在ASM实例里操作,以记录磁盘组使用的磁盘和容量等元数据信息。
可以通过SQLPLU戒ASMCMD以及ASMCAL具配置。
su-grid
sqlplus"/assysasm"
creatediskgroupDATA01externalredundancy
disk'ORCL:
DISK01',
'ORCL:
DISK02:
2.1.5磁盘组新增磁盘
alterdiskgroupDATA01adddisk'ORCL:
DISK03','ORCL:
DISK04:
2.1.6磁盘组删除磁盘
先查询出磁盘组里磁盘名
setlinesize2000
setpagesize2000
colg_namefora30
cold_pathfora60
cold_namefora30
selectg.namegrp_name,d.pathd_path,d.namedsk_namefromv$asm_diskd,v$asm_diskgroupg
whered.group_number=g.group_number;
删除磁盘
alterdiskgroupDATA01
dropdisk'DISK01',
'DISK02';
2.1.7_磁盘组删除
dropdiskgroupDATA01includingcontents;
2.1.8磁盘组维护
磁盘组维护,主要包括加载、检查修复磁盘。
#加载磁盘组
alterdiskgroupDATA01mount;
#卸载磁盘组
alterdiskgroupDATA01dismount;
#检查修复磁盘
alterdiskgroupDATA01checkallrepair/norepair;
alterdiskgroupDATA01checkdisk'DISK01'repair/norepair;
2.1.9磁盘组监控
磁盘组监控,主要有:
容量,磁盘加载状态,可以通过sqlplus登陆ASM实例查
询视图,或在ASMCMH具里查看。
查看磁盘组分配和使用情况:
(若磁盘空闲空间不足,需要及时申请分配存储到主机)
selectname,total_mb,free_mb,hot_used_mb,cold_used_mb
fromv$asm_diskgroup;
查看磁盘组加载状况:
selectname,statefromv$asmdiskgroup;
通过ASMCMID具查看
#查看磁盘组信息
su-grid
amscmdlsdg
#查看连接的客户端信息
amscmdlsct
2.2OHAS服务管理与监控
OracleOHAS是Oracle11g开始推出的集成高可用解决方案的一款管理工具,主要
用来管理CRS,RAC,OracleRestart,RACOnOneNode,ASM,Listener等数据库资源服务的守护进程管理工具。
他可以通过crsctl工具作为管理接口,也可以通过srvctl进行接口管理服务资源。
涉及日常管理工作部分有:
启/禁用OHASDeamonASM磁盘组、监听、ONS数据库、SERVICES启动/停止OHASDeamonASM磁盘组、监听、ONS数据库、SERVICES监控/删除OHASDeamonASM磁盘组、监听、ONS数据库、SERVICES.
2.2.1启/禁用服务资源
启/禁用OHASDeamoniASM磁盘组、监听、ONS服务需要在grid属主用户下执行;启/禁用数据库、SERVICES资源服务,既可以在grid属主用户,也可以在RDBMSS户下执行。
#启用crsdeamon服务crsctlenablecrs
#禁用crsdeamon服务crsctldisablecrs
#启用hasdeamon服务
crsctlenablehas
#禁用hasdeamon服务
crsctldisablehas
#启用ASM服务
srvctlenableasm
#禁用ASM服务
srvctldisableasm
#启用磁盘组资源
srvctlenablediskgroup-g#禁用磁盘组资源
srvctldisablediskgroup-g#启用监听资源
srvctlenablelistener[-l]
#禁用监听资源
srvctldisablelistener[-l]
#启用ons资源
srvctlenableons[-v]
#禁用ons资源srvctldisableons[-v]
#启用数据库资源
srvctlenabledatabase-d
#禁用数据库资源
srvctldisabledatabase-d
#启用数据库服务
srvctlenableservice-d-s""#禁用数据库服务
srvctldisableservice-d-s""
222启动/停止资源服务
启动/停止OHASDeamonASM磁盘组、监听、ONS服务需要在grid属主用户下执行;启动/停止数据库、SERVICES资源服务,既可以在grid属主用户,也可以在RDBM用户下执行。
#启动crsdeamon服务crsctlstartcrs
#停止crsdeamon服务crsctlstopcrs
#启动hasdeamon服务crsctlstarthas
#停止hasdeamon服务crsctlstophas
#启动ASM服务
srvctlstartasm[-o]
#停止ASM服务srvctlstopasm[-f]
#启动磁盘组资源
srvctlstartdiskgroup-g#停止磁盘组资源
srvctlstopdiskgroup-g#启动监听资源
srvctlstartlistener[-l]
#停止监听资源
srvctlstoplistener[-l][-f]
#启动ons资源srvctlstartons[-v]
#停止ons资源srvctlstopons[-v]
#启动数据库资源
srvctlstartdatabase-d[-o]
#停止数据库资源
srvctlstopdatabase-d[-f]
#启动数据库服务
srvctlstartservice-d-s""[-o]
#停止数据库服务
srvctlstopservice-d-s""[-f]
2.2.3监控/删除资源服务
监控/删除OHASDeamonASM磁盘组、监听、ONS服务需要在grid属主用户下执行;监控/删除数据库、SERVICES资源服务,既可以在grid属主用户,也可以在RDBMS!
户下执行。
#监控crsdeamon服务
crsctlcheckcrs
crs_stat-t
#删除crsdeamon服务
$ORACLE_HOME/crs/install/rootcrs.pl-deconfig-force-verbose
#监控hasdeamon服务
crsctlcheckhas
crs_stat-t
#删除hasdeamon服务
$ORACLE_HOME/crs/install/roothas.pl-deconfig-force-verbose
#监控ASM服务
srvctlstatusasm[-a][-v]
#删除ASM服务
srvctlremoveasm[-f]
#监控磁盘组资源
srvctlstatusdiskgroup-g#删除磁盘组资源
srvctlremovediskgroup-g#监控监听资源
srvctlstatuslistener[-1][-v]
#删除监听资源
srvctlremovelistener[-l|-a][-f]
#监控ons资源
srvctlstatusons[-v]
#删除ons资源
srvctlremoveons[-f][-v]
#监控数据库资源
srvctlstatusdatabase-d[-f][-v]
#删除数据库资源
srvctlremovedatabase-d[-f][-y][-v]
#监控数据库服务
srvctlstatusservice-d-s""
[-f][-v]
#删除数据库服务
srvctlremoveservice-d-s""[-f]
2.3表空间管理与监控
2.3.1表空间管理
表空间管理中的创建、添加、删除操作和9i没有太大的变化,变化的就是在
创建、添加指定数据文件名时,不必麻烦自己指定一个文件名或裸设备名,只需要
明示datafile项,以及大小和是否自动扩展即可;或有新的磁盘组加入到ASM实
例,并分配给这个数据库使用时,参数:
db_create_file_dest设置的默认磁盘组
非新加的磁盘组名参数值时,需要在datafile后面带上新磁盘组名,如:
datafile'+DATA02'即可。
创建表空间,假定数据库参数db_create_file_dest,设定了一个磁盘组:
+DATA01贝
#普通创建
cratetablespacets_misc20
datafilesize1024mautoextendoff
extentmanagementlocal
segmentspacemanagementauto;
#若创建到新加的一个非参数db_create_file_dest
则
createtablespacets_misc20_new
datafile'+DATA02'size1024mautoextendoffextentmanagementlocalsegmentspacemanagementauto;
#普通添加数据文件
altertablespacets_misc20
adddatafilesize1024mautoextendoff,size2048mautoextendoff,size4096mautoextendoff;
#若添加到新加的一个非参数db_create_file_dest
则
指定的磁盘组,如:
DATA02
指定的磁盘组,如:
DATA02
altertablespacets_misc20_new
adddatafile'+DATA02'size1024mautoextendoff,'+DATA02'size2048mautoextendoff,'+DATA02'size4096mautoextendoff;
2.3.2表空间监控
表空间监控在数据库里的监控和9i一样,通过查询视图来获取使用和空闲情
况;另外因现在数据库的存储通过ASM来管理,同样为了保证系统能正常运行,也
需要监控ASM管理的磁盘组的磁盘空间使用情况,避免磁盘组空间耗尽,导致系统
宕机;监控ASM磁盘组的方法,可按条目:
2.1.9磁盘组监控,来获取信息。
数据库查询视图监控表空间SQL语句:
setlinesize2000
setpagesize2000
selectt.tablespace_nameTableSpace_Name,
ROUND(t.Total_MB,2)Total_MB,
ROUND(t.Total_MB-NVL(f.Free_MB,0),2)Used_MB,
ROUND(NVL(f.Free_MB,0),2)Free_MB,
ROUND((t.Total_MB-NVL(f.Free_MB,0))*100/t.Total_MB,2)Used_Rate,
ROUND(NVL(f.Free_MB,0)*100/t.Total_MB,2)Free_Rate
from(selecttablespace_name,sum(bytes)/1024/1024Total_MB
fromdba_data_files
groupbytablespace_name
)t,
(selecttablespace_name,sum(bytes)/1024/1024Free_MB
fromdba_free_space
groupbytablespace_name
)f
wheret.tablespace_name=f.tablespace_name(+)
unionall
selectdt.tablespace_nameTablespace_Name,
ROUND(dt.Total_Mb,2)Total_Mb,
ROUND(tp.Used_Mb,2)Used_Mb,
ROUND((dt.Total_Mb-NVL(tp.Used_Mb,0)),2)Free_Mb,
ROUND(NVL(tp.Used_Mb,0)/dt.Total_Mb,2)*100Used_Rate,
ROUND((dt.Total_Mb-NVL(tp.Used_Mb,0))/dt.Total_Mb,2)*100Free_Ratefrom
(selecttablespace_name,sum(bytes)/1024/1024Total_Mb
fromdba_temp_files
groupbytablespace_name
)dt,
(selecttablespace_name,sum(bytes_used)/1024/1024Used_Mb
fromv$temp_extent_pool
groupbytablespace_name
)tp
wheretp.tablespace_name(+)=dt.tablespace_name
orderbyTableSpace_Name;
2.4重做日志管理
重做日志组的管理,其他方面也是和9i的操作无异,主要也是指定日志成员时,需
要考虑使用ASM勺特性,默认路径是由参数:
db_create_online_log_dest_n指定。
#普通创建
alterdatabaseaddlogfilegroup4size256m;
#若创建到新加的一个非参数db_create_online_log_dest_n指定的磁盘组,如:
DATA02贝U:
alterdatabaseaddlogfilegroup4('+DATA02','+DATA02','+DATA02')size256m;
#普通添加
alterdatabaseaddlogfilemembertogroup4;
#若添加到新加的一个非参数db_create_online_log_dest_n指定的磁盘组,如:
DATA02贝U:
alterdatabaseaddlogfilemember'+DATA02'togroup4;
2.5日志维护
Oracle数据库在运行时,会生成一些日志、告警、监听、Coredump等日志信息文
件,日常维护中需要对这些文件进行管理维护,避免文件大量耗用系统空间;11g以前,
多数通过手工清理方式,进行日志文件的删除清理,从11g开始,系统引进了ADR功能
组件(AutomaticDiagnosticRepository),可以定制化管理这些日志文件,包括保留策略,清理等功能,并可以收集打包这些文件;访问调用这个功能,可以通过EMGrid
Control或ADRCI命令行工具接口来配置管理。
为了充分发挥ADR的自动管理功能,节省日常维护管理工作量,可以通过观察日志的生成量和保留策略的评估,来设置日志的保留策略,以便ADR自动定期进行日志的清理,避免耗用并撑爆空间,而影响系统正常运行。
Oracle11g,我们系统部署单机和主机双机架构都采用OracleRestart+ASM体系,而
且系统部署GRID和RDBMSf,是需要分开部署,所以有