您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > oracle日常管理与维护
Oracle数据库维护教程Oracle数据库维护教程Oracle数据库维护教程目录第1章实例的启动与关闭第2章数据库日常检查与维护第3章使用企业管理器管理数据库第4章RAC数据库日常操作与维护第5章数据库紧急故障处理Oracle数据库维护教程1实例的启动与关闭Oracle数据库维护教程连接数据库$sqlplus/nolog启动SQL*Plus,不连接库SQLsqlplus“/assysdba”以DBA身份连接库以其它用户身份连接数据库SQLconnscott/tiger@db或SQLconnscott/tigerOracle数据库维护教程数据库启动阶段包括3个过程Nomount:实例启动Mount:数据库mount,加载控制文件Open:数据文件全部打开,可以正常访问Oracle数据库维护教程OPENMOUNTNOMOUNTSHUTDOWN实例中控制文件描述的所有文件被打开控制文件打开实例启动STARTUPSHUTDOWN数据库启动阶段Oracle数据库维护教程connect/assysdbaselect*fromv$instance;无法查询实例信息:实例未启动或者:操作系统下ps–ef|grepora*Nomount阶段Oracle数据库维护教程数据库无法启动到nomount操作系统内核参数是否足够初始化参数文件是否可读初始化参数文件内容正确相应参数是否调整过大,导致内存、后台进程无法分配可以尝试重启数据库服务器后再次启动数据库Oracle数据库维护教程connect/assysdbaselect*fromv$instance;如果信息无法查询:说明数据库没有mount尝试mount数据库alterdatabasemount;Mount阶段Oracle数据库维护教程数据库无法mount检查初始化参数文件中control_files设置是否可读检查操作系统上控制文件是否可读写可能控制文件被意外损坏Oracle数据库维护教程ALTERDATABASE命令改变数据库状态从nomount到mountstartupnomount;alterdatabasemount;从mount状态到open状态alterdatabaseopen;ALTERDATABASE命令用来改变数据状态,及数据文件状态Oracle数据库维护教程关闭数据库AxxxxTxxooIxxxo关闭模式允许新连接等待当前会话终止等待当前事务终止强迫执行一次checkpoint且关闭文件Nxooo关闭模式:•NORMAL•TRANSACTIONAL•IMMEDIATE•ABORTYESNOxoOracle数据库维护教程关闭选项在ShutdownNormal,ShutdownTransactionalorShutdownImmediate三种模式下Database一致关闭过程:•数据库buffer中的数据写进数据文件•未提交的修改回滚•资源释放开启过程:•不需要实例恢复Oracle数据库维护教程关闭选项在ShutdownAbort或InstanceFailure或StartupForceDatabase不一致关闭过程:•修改过的buffer不写进数据文件•未提交事务不回滚开启过程:•重做日志用于重写修改•Undo用于回滚未提交的修改•释放资源Oracle数据库维护教程通过监控诊断文件管理实例当实例可操作时,诊断文件包含重要关键事件信息有助于解决问题和更好的进行数据库日常管理诊断文件种类:alertSID.log文件Backgroundtracefiles(后台跟踪文件)Usertracefiles(用户跟踪文件)Oracle数据库维护教程AlertLogFile(警示文件)alertSID.log文件记录下数据库运行时主要事件的命令和结果.用于记录日常操作信息或诊断数据库错误.文件中每一个条目都一个时间戳.DBA管理alertSID.log文件.存储位置由BACKGROUND_DUMP_DEST参数指定.Oracle数据库维护教程BackgroundTraceFiles(后台跟踪文件)每个后台进程的错误都会产生后台跟踪文件.用于诊断和解决错误.当后台进程遇到错误就产生跟踪文件存储位置由BACKGROUND_DUMP_DEST参数指定Oracle数据库维护教程UserTraceFile(用户跟踪文件)用户跟踪文件由连到Oracle服务器的用户进程产生.文件中包含被跟踪的SQL语句的统计信息或用户错误消息.当用户会话遇到错误将会产生此文件serverprocess也可产生此文件存储位置由USER_DUMP_DEST参数指定文件大小由MAX_DUMP_FILE_SIZE参数指定,默认值为10M.Oracle数据库维护教程2数据库日常检查与维护Oracle数据库维护教程检查数据库状态确认数据库是否在open状态,正常提供服务。$sqlplus/assysdba其中“STATUS”表示Oracle当前的实例状态,必须为“OPEN”;“DATABASE_STATUS”表示Oracle当前数据库的状态,必须为“ACTIVE”数据库的日常检查Oracle数据库维护教程检查数据库版本SQLselect*fromv$version;数据库的日常检查Oracle数据库维护教程数据库的日常检查检查oracle服务进程$ps-ef|grepora_在检查Oracle的进程命令输出后,输出显示至少应包括以下一些进程:.Oracle写数据文件的进程,输出显示为:“ora_dbw0_crsdb”.Oracle写日志文件的进程,输出显示为:“ora_lgwr_crsdb”.Oracle监听实例状态的进程,输出显示为:“ora_smon_crsdb”.Oracle监听客户端连接进程状态的进程,输出显示为:“ora_pmon_crsdb”.Oracle进行归档的进程,输出显示为:“ora_arc0_crsdb”.Oracle进行检查点的进程,输出显示为:“ora_ckpt_crsdb”.Oracle进行恢复的进程,输出显示为:“ora_reco_crsdb”Oracle数据库维护教程数据库的日常检查查看操作系统日志文件#cat/var/adm/syslog/syslog.log|grepfailed#cat/var/adm/syslog/syslog.log|greperror看是否有与oracle相关的出错信息Oracle数据库维护教程数据库的日常检查查看oracle日志文件$cat$ORACLE_HOME/log/server1/alterserver1.log|grepora-$cat$ORACLE_HOME/log/server1/alterserver1.log|grepfail$cat$ORACLE_HOME/log/server1/alterserver1.log|greperrorOracle在运行过程中,会在警告日志文件(alert_SID.log)中记录数据库的一些运行情况:数据库的启动、关闭,启动时的非缺省参数;数据库的重做日志切换情况,记录每次切换的时间,及如果因为检查点(checkpoint)操作没有执行完成造成不能切换,会记录不能切换的原因;对数据库进行的某些操作,如创建或删除表空间、增加数据文件;数据库发生的错误,如表空间不够、出现坏块、数据库内部错误(ORA-600)等。Oracle数据库维护教程数据库的日常检查定期检查日志文件,根据日志中发现的问题及时进行处理:问题处理启动参数不对检查初始化参数文件因为检查点操作或归档操作没有完成造成重做日志不能切换如果经常发生这样的情况,可以考虑增加重做日志文件组;想办法提高检查点或归档操作的效率;有人未经授权删除了表空间检查数据库的安全问题,是否密码太简单;如有必要,撤消某些用户的系统权限出现坏块检查是否是硬件问题(如磁盘本生有坏块),如果不是,检查是那个数据库对象出现了坏块,对这个对象进行重建表空间不够增加数据文件到相应的表空间出现ORA-600根据日志文件的内容查看相应的TRC文件,如果是Oracle的bug,要及时打上相应的补丁Oracle数据库维护教程数据库的日常检查查看root用户和数据库用户的email#tail–n200/var/mail/root#tail–n200/var/mail/oracle查看有无与oracle用户相关出错信息Oracle数据库维护教程数据库的日常检查检查Oracle控制文件状态SQLselectstatus,namefromv$controlfile;STATUSNAME----------------------------------------------------------------------/data/oradata/crsdb/control01.ctl/data/oradata/crsdb/control02.ctl/data/oradata/crsdb/control03.ctl输出结果应该有3条以上(包含3条)的记录,“STATUS”应该为空。状态为空表示控制文件状态正常。Oracle数据库维护教程数据库的日常检查检查Oracle在线日志状态SQLselectgroup#,status,type,memberfromv$logfile;GROUP#STATUSTYPEMEMBER--------------------------------------------------------------------------------------------------------1ONLINE+DATA/crsdb/onlinelog/group_1.257.8367341812ONLINE+DATA/crsdb/onlinelog/group_2.258.8367341813ONLINE+DATA/crsdb/onlinelog/group_3.265.8367371654ONLINE+DATA/crsdb/onlinelog/group_4.266.836737165输出结果应该有3条以上(包含3条)记录,“STATUS”应该为非“INVALID”,非“DELETED”。注:“STATUS”显示为空表示正常。Oracle数据库维护教程数据库的日常检查检查Oracle表空间状态输出结果中STATUS应该都为ONLINE。Oracle数据库维护教程数据库的日常检查检查Oracle表空间所有数据文件状态SQLselectname,statusfromv$datafile;NAMESTATUS--------------------------------------------------------------------------------------+DATA/crsdb/datafile/system.259.836734181SYSTEM+DATA/crsdb/datafile/sysaux.260.836734183ONLINE+DATA/crsdb/datafile/undotbs1.261.836734185ONLINE+DATA/crsdb/datafile/undotbs2.263.836734197ONLINE+DATA/crsdb/datafile/users.264.836734199ONLINE输出结果中“STATUS”应该都为“ONLINE”。或者SQLselectfile_name,statusfromdba_data_files;输出的status必须为availableOracle数据库维护教程数据库的日常检查检查所有回滚段状态SQLselectsegment_name,statusfromdba_rollback_segs;Oracle数据库维护教程数据库的日常检查检查数据库连接情况SQLselectcount(*)
本文标题:oracle日常管理与维护
链接地址:https://www.777doc.com/doc-4007366 .html