Oracle数据库日常管理手册项目现场篇Word文档格式.docx
《Oracle数据库日常管理手册项目现场篇Word文档格式.docx》由会员分享,可在线阅读,更多相关《Oracle数据库日常管理手册项目现场篇Word文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
oracle2513110Jun2413:
12ora_lgwr_UWNMS3
oracle201751018:
27:
250:
00ora_j000_UWNMS3
oracle2510010Jun241:
10ora_psp0_UWNMS3
oracle2511310Jun240:
14ora_dbw2_UWNMS3
oracle2513510Jun2423:
50ora_ckpt_UWNMS3
B.检查文件系统的使用情况
如果文件系统的剩余空间小于10%,则需要删除不必要的文件以释放空间。
df-h
FilesystemsizeusedavailcapacityMountedon
/dev/md/dsk/d020G17G3.1G85%/
/proc0K0K0K0%/proc
mnttab0K0K0K0%/etc/mnttab
fd0K0K0K0%/dev/fd
swap85G192K85G1%/var/run
dmpfs85G0K85G0%/dev/vx/dmp
dmpfs85G0K85G0%/dev/vx/rdmp
swap85G213M85G1%/tmp
/dev/vx/dsk/data10dg/Ora_File_Vol01
394G292G98G75%/data05
/dev/vx/dsk/data1dg/vola0131
443G156G283G36%/archivelog
注意:
需要特别关注根目录,数据库软件和数据库备份所在目录的剩余空间情况!
备注:
数据库运行日志的及时清除
1).可清除bdump,cdump,udump下的相关日志
$cdbdump
$ls-l
total174
-rwxrwxrwx1oracledba59047Jul3022:
02alert_UWNMS1.log
-rwxrwxrwx1oracledba1000Jul1422:
00uwnms1_j000_18128.trc
-rw-r-----1oracledba1000Jul2222:
00uwnms1_j001_5369.trc
-rwxrwxrwx1oracledba695Jul1419:
12uwnms1_lgwr_18100.trc
-rwxrwxrwx1oracledba2668Jul3022:
02uwnms1_lgwr_19661.trc
-rwxrwxrwx1oracledba983Jul1417:
36uwnms1_lgwr_7816.trc
-rwxrwxrwx1oracledba955Jul1419:
11uwnms1_lgwr_7883.trc
-rwxrwxrwx1oracledba803Jul1417:
31uwnms1_p000_7714.trc
-rwxrwxrwx1oracledba801Jul1417:
31uwnms1_p001_7716.trc
$cp/dev/nullalert_UWNMS1.log
$rm*.trc
$cd../cdump
total4
drwxr-x---2oracledba512Jul2514:
12core_18095
drwxr-x---2oracledba512Jul2519:
17core_25934
$cd../udump
total20042
-rw-r-----1oracledba505Jul1616:
33uwnms1_ora_14771.trc
-rw-r-----1oracledba4516169Jul2514:
12uwnms1_ora_18095.trc
-rwxrwxrwx1oracledba644Jul1419:
12uwnms1_ora_18119.trc
-rw-r-----1oracledba505Jul3015:
11uwnms1_ora_18820.trc
-rwxrwxrwx1oracledba774Jul1510:
23uwnms1_ora_19573.trc
-rwxrwxrwx1oracledba587Jul1510:
23uwnms1_ora_19645.trc
-rwxrwxrwx1oracledba644Jul1510:
23uwnms1_ora_19680.trc
-rw-r-----1oracledba720942Jul1516:
28uwnms1_ora_24759.trc
-rw-r-----1oracledba4951562Jul2519:
17uwnms1_ora_25934.trc
-rw-r-----1oracledba505Jul1517:
21uwnms1_ora_27326.trc
-rw-r-----1oracledba503Jul3016:
54uwnms1_ora_6612.trc
-rwxrwxrwx1oracledba585Jul1417:
12uwnms1_ora_7523.trc
-rwxrwxrwx1oracledba767Jul1417:
30uwnms1_ora_7566.trc
2).可清除oracle的监听日志
$cd$ORACLE_HOME/network/log
total533072
-rwxrwxrwx1oracledbaJul3111:
28listener.log
-rw-r--r--1oracledba257876Jul3108:
48sqlnet.log
$cp/dev/nulllistener.log
C.查找警告日志文件
1.联接每一个操作管理系统
2.使用‘TELNET’或是可比较程序
3.对每一个管理实例,经常的执行$ORACLE_BASE/<
SID>
/bdump操作,并使其能回退到控制数据库的SID。
4.在提示下,使用UNIX中的‘TAIL’命令查看alert_<
.log,或是用其他方式检查文件中最近时期的警告日志
5.如果发现任何ORA_ERRORS(ORA-XXX)的错误,将它记录并且仔细的研究它们,或反馈给DB组
如何确定警告日志文件的路径?
通过参看起始参数文件init<
.ora,而起始参数文件一般存储在$ORACLE_HOME/dbs下
$cd$ORACLE_HOME/dbs
$catinitUWNMS1.ora
*.background_dump_dest='
/opt/oracle/product/10g/admin/UWNMS1/bdump'
*.core_dump_dest='
/opt/oracle/product/10g/admin/UWNMS1/cdump'
*.user_dump_dest='
/opt/oracle/product/10g/admin/UWNMS1/udump'
D.检查数据库备份是否成功
※对RMAN备份方式:
检查第三方备份工具的备份日志以确定备份是否成功
如果具备恢复目录的,可直接登陆到rman环境下,发命令listbackup查看具体备份集合的情况;
GDDB4-/>
rmantarget=sys/xxx@uwnms3catalog=rman/rman@uwnms3
RecoveryManager:
Release10.2.0.3.0-ProductiononThuJul3111:
39:
372008
Copyright(c)1982,2005,Oracle.Allrightsreserved.
connectedtotargetdatabase:
UWNMS3
connectedtorecoverycatalogdatabase
RMAN>
listbackup;
ListofBackupSets
===================
BSKeyTypeLVSizeDeviceTypeElapsedTimeCompletionTime
-----------------------------------------------------------------
422624Incr012.59MDISK00:
00:
072008-07-2803:
15:
21
BPKey:
422631Status:
AVAILABLECompressed:
YESTag:
BK0
PieceName:
ListofDatafilesinbackupset422624
FileLVTypeCkpSCNCkpTimeName
-------------------------------------------
20Incr2008-07-2803:
14/archivelog/oradata/UWNMS3/undo01.dbf
50Incr2008-07-2803:
14/archivelog/oradata/UWNMS3/system2.dbf
※对EXPORT,EXPDP逻辑备份方式:
检查exp,expdp日志文件以确定备份是否成功
※对其他备份方式:
检查相应的日志文件
E.检查表空间的使用情况
1.检查在表空间中有没有剩余空间。
对每一个实例来说,检查在表空间中是否存在有剩余空间来满足当天的预期的需要。
当数据库中已有的数据是稳定的,数据日增长的平均数也是可以计算出来,最小的剩余空间至少要能满足每天数据的增长。
脚本:
selectt.tablespace_name,total,free,round(100*(1-(free/total)),3)||'
%'
as已使用的空间比例
from(selecttablespace_name,sum(bytes)/1024/1024totalfromdba_data_filesgroupbytablespace_name)t,(selecttablespace_name,sum(bytes)/1024/1024freefromdba_free_spacegroupbytablespace_name)f
wheret.tablespace_name=f.tablespace_name(+)
andt.tablespace_namenotin('
DRSYS'
'
ORDIM'
SPATIAL'
USERS'
TOOLS'
XDB'
)
orderbyround(100*(1-(free/total)),3)desc;
2.识别出表空间下一些过分的对象空间增长
查看数据库中超出资源或是增长速度过大的段,具体分析看是否需要调整。
selectowner,segment_name,partition_name,bytes/1024/1024fromdba_segmentswheretablespace_name='
NRMTBS'
orderbybytesdesc
根据实际情况,先清除临时无用的数据库对象;
或回收部分频繁dml操作的库表空间
Oracle10g下的一些处理:
--库表:
altertableprdb.MLOG$_FACT_AGG2BSC_BASE_PImove
move后建立于数据库对象上的索引会失效,记住一定要重新编译!
!
/*--以下脚本用于检查失效的索引
select*fromdba_indexeswherestatusnotin('
VALID'
N/A'
SELECTindex_name,PARTITION_NAME,TABLESPACE_NAMEFROMUSER_IND_PARTITIONSWHEREstatus='
UNUSABLE'
ORDERBYPARTITION_NAME;
*/
--索引:
alterindexNPMDB.UQ_TPA_SAE_SUMrebuildtablespaceidxdbsonlinenologgingparallel4;
alterindexNPMDB.UQ_TPA_SAE_SUMnoparallel;
3.表空间管理
--创建表空间
CREATEtablespaceapmdbs1datafile'
/dev/vx/rdsk/data1dg/vola0101'
size4095Mextentmanagementlocalsegmentspacemanagementauto;
注:
添加裸设备上的数据文件请注意路径
/dev/rdsk/c0t0d0s0裸设备
/dev/dsk/c0t0d0s0块设备
它们链接的是同一块物理设备,具体区别是在访问方式上。
裸设备是假设硬盘上没有文件系统时的访问方式。
裸设备是按顺序访问,块设备是按文件系统和i节点“随机”访问。
二者的使用场合也不同。
在做newfs之前,因为没有文件系统,只能访问裸设备;
做了newfs,进行挂接时,因为需要访问磁盘上的文件系统,所以只能用块设备
--增加数据文件,扩充表空间
ALTERTABLESPACEPRTBS19ADDDATAFILE'
/dev/vx/rdsk/data2dg/volb0082'
SIZE4095MAUTOEXTENDOFF;
ASM下:
Uwnms1:
altertablespaceNRMTBSadddatafile'
+DISKGROUP1'
size8192Mautoextendoff
Uwnms2:
altertablespacePRTBSadddatafile'
+DISKGROUP2'
--增加临时文件,扩充临时表空间
ALTERtablespaceTEMPADDtempfile'
/dev/vx/rdsk/data2dg/temp02'
size4095Mreuse;
--数据文件收缩,针对文件系统上的数据文件
alterdatabasedatafile'
$HOME/DATA/DISK5/data02.dbf'
resize1500k;
Selectfile_name,tablespace_name,bytes/1024/1024||'
M'
'
||file_name||'
resize22528M;
fromdba_data_fileswheretablespace_name='
IDXDBS'
alterdatabasedatafileresize15360M;
F.检查数据文件的状态
检查数据文件的状态记录状态不是“online”的数据文件,并及时联系DB组跟进。
SQL>
setlinesize200
setpagesize200
Selectfile_namefromdba_data_fileswherestatus='
OFFLINE'
;
norowsselected
G.检查数据库会话
分数据库用户统计数据库会话的情况:
selectschemaname,count
(1)fromv$sessiongroupbyschemaname
分数据库用户,模块统计数据库会话的情况:
selectschemaname,program,count
(1)fromv$sessionwhereschemaname<
>
SYS'
groupbyschemaname,program
杀掉异常的会话或会话对应的进程:
(以具有DBA权限的用户来清除会话)
selectsid,serial#fromv$sessionwheresid=$sid
selectspidfromv$processwhereaddrin(selectpaddrfromv$sessionwheresid=$sid)
altersystemkillsession‘<
sid>
<
serial#>
’
如果执行上述命令后,仍然没有能及时释放会话,可直接杀掉会话对应的服务器进程
kill-9<
spid>
H.检查数据库主机的性能情况
检查数据库所在主机的性能,记录数据库的cpu使用、IO、buffer命中率等等,使用vmstat,iostat,top等命令
Vmstat:
关注cpu的idle
Iostat:
关注磁盘IO的繁忙程度(%b)
Top:
关注消耗cpu多的相关进程
Oracle10gEM监控:
I.数据库的正常启动与关闭
--关闭步骤:
1.停止监听
lsnrctlstop
2.停止实例
使用sql*plus工具,以具有DBA权限的数据库用户登陆到具体实例上操作
setenvORACLE_SIDUWNMS3
sqlplus/nolog
SQL*Plus:
Release10.2.0.3.0-ProductiononThuJul3115:
06:
232008
Copyright(c)1982,2006,Oracle.AllRightsReserved.
connsys/xxxxxxassysdba
Connected.
shutdownimmediate
3.检查实例相关进程
ps-ef|grepUWNMS3
23ora_dbw1_UWNMS3
49ora_smon_UWNMS3
19ora_mmon_UWNMS3
oracle2515210Jun24103:
58ora_cjq0_UWNMS3
49ora_dbw0_UWNMS3
46ora_arc1_UWNMS3
49ora_arc0_UWNMS3
oracle77701015:
420:
oracle2515910Jun2486:
03ora_mmnl_UWNMS3
55ora_pmon_UWNMS3
42ora_dbw3_UWNMS3
32ora_lgwr_UWNMS3
11ora_psp0_UWNMS3
15ora_dbw2_UWNMS3
oracle2513510Jun2424:
23ora_ckpt_UWNMS3
oracle1867310Jun1147:
45oracleUWNMS3(LOCAL=NO)
oracle142991015:
060:
00oracleUWNMS3(LOCAL=NO)
oracle283911011:
23:
550:
12oracleUWNMS3(LOCAL=NO)
oracle100041115:
08:
020:
17oracleUWNMS3(LOCAL=NO)
紧急情况下,可手工直接杀掉带LOCAL标识的进程,加快数据库的关闭操作;
但oracle的相关后台进程请不要随便KILL掉。
--启动步骤:
1.启动实例
startup
2.启动监听
lsnrctlstart
03ora_mmn