oracle日常管理与维护.ppt

上传人:豆**** 文档编号:60954442 上传时间:2022-11-19 格式:PPT 页数:73 大小:2.36MB
返回 下载 相关 举报
oracle日常管理与维护.ppt_第1页
第1页 / 共73页
oracle日常管理与维护.ppt_第2页
第2页 / 共73页
点击查看更多>>
资源描述

《oracle日常管理与维护.ppt》由会员分享,可在线阅读,更多相关《oracle日常管理与维护.ppt(73页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、Oracle 数据库维护教程Oracle 数据库维护教程Oracle 数据库维护教程目 录第1章 实例的启动与关闭第2章 数据库日常检查与维护第3章 使用企业管理器管理数据库第4章 RAC数据库日常操作与维护第5章 数据库紧急故障处理Oracle 数据库维护教程1实例的启动与关闭Oracle 数据库维护教程连接数据库$sqlplus/nolog启动SQL*Plus,不连接库 SQLsqlplus“/as sysdba”以DBA身份连接库以其它用户身份连接数据库SQLconn scott/tigerdb 或 SQLconn scott/tigerOracle 数据库维护教程数据库启动阶段包括3个

2、过程Nomount:实例启动:实例启动Mount:数据库:数据库mount,加载控制文件,加载控制文件Open:数据文件全部打开,可以正常访问:数据文件全部打开,可以正常访问Oracle 数据库维护教程OPENMOUNTNOMOUNTSHUTDOWN实例中控制文件描述的所有实例中控制文件描述的所有文件被打开文件被打开控制文件打开控制文件打开实例启动实例启动STARTUPSHUTDOWN数据库启动阶段Oracle 数据库维护教程connect/as sysdbaselect*from v$instance;无法查询实例信息:实例未启动或者:操作系统下ps ef|grep ora*Nomount阶

3、段Oracle 数据库维护教程数据库无法启动到nomountu操作系统内核参数是否足够u初始化参数文件是否可读u初始化参数文件内容正确u相应参数是否调整过大,导致内存、后台进程无法分配u可以尝试重启数据库服务器后再次启动数据库Oracle 数据库维护教程connect/as sysdbaselect*from v$instance;如果信息无法查询:说明数据库没有mount尝试mount数据库alter database mount;Mount阶段Oracle 数据库维护教程数据库无法mountu检查初始化参数文件中control_files设置是否可读u检查操作系统上控制文件是否可读写u可能

4、控制文件被意外损坏Oracle 数据库维护教程ALTER DATABASE 命令u改变数据库状态从nomount到mount startup nomount;alter database mount;u从mount状态到open状态 alter database open;ALTER DATABASE命令用来改变数据状态,及数据文件状态Oracle 数据库维护教程关闭数据库AxxxxTxxooIxxxo关闭模式关闭模式允许新连接允许新连接等待当前会话终止等待当前会话终止等待当前事务终止等待当前事务终止强迫执行一次强迫执行一次checkpoint 且关闭文件且关闭文件Nxooo关闭模式:NORM

5、ALTRANSACTIONALIMMEDIATEABORTYESNOxoOracle 数据库维护教程关闭选项在在Shutdown Normal,Shutdown TransactionalorShutdown Immediate三种模式下三种模式下Database一致一致关闭过程关闭过程:数据库数据库buffer中的中的数据写进数据文件数据写进数据文件未提交的修改回滚未提交的修改回滚资源释放资源释放开启过程开启过程:不需要实例恢复不需要实例恢复Oracle 数据库维护教程关闭选项在在Shutdown Abort或或Instance Failure或或Startup ForceDatabase

6、不一致不一致关闭过程关闭过程:修改过的修改过的buffer不不写进数据文件写进数据文件未提交事务不回滚未提交事务不回滚开启过程开启过程:重做日志用于重写修重做日志用于重写修改改Undo用于回滚未提用于回滚未提交的修改交的修改释放资源释放资源Oracle 数据库维护教程通过监控诊断文件管理实例当实例可操作时,诊断文件包含重要关键事件信息 u有助于解决问题和更好的进行数据库日常管理u诊断文件种类:alertSID.log 文件Background trace files(后台跟踪文件)User trace files(用户跟踪文件)Oracle 数据库维护教程Alert Log File(警示文件

7、)alertSID.log 文件记录下数据库运行时主要事件的命令和结果.u用于记录日常操作信息或诊断数据库错误.u文件中每一个条目都一个时间戳.uDBA管理 alertSID.log 文件.u存储位置由 BACKGROUND_DUMP_DEST参数指定.Oracle 数据库维护教程Background Trace Files(后台跟踪文件)每个后台进程的错误都会产生后台跟踪文件.u用于诊断和解决错误.u当后台进程遇到错误就产生跟踪文件u存储位置由BACKGROUND_DUMP_DEST参数指定Oracle 数据库维护教程User Trace File(用户跟踪文件)用户跟踪文件由连到Oracl

8、e服务器的用户进程产生.u文件中包含被跟踪的SQL语句的统计信息或用户错误消息.u当用户会话遇到错误将会产生此文件userver process也可产生此文件 u存储位置由USER_DUMP_DEST参数指定u文件大小由 MAX_DUMP_FILE_SIZE 参数指定,默认值为10M.Oracle 数据库维护教程2数据库日常检查与维护Oracle 数据库维护教程u检查数据库状态检查数据库状态 确认数据库是否在open状态,正常提供服务。$sqlplus/as sysdba 其中“STATUS”表示Oracle当前的实例状态,必须为“OPEN”;“DATABASE_STATUS”表示Oracle

9、当前数据库的状态,必须为“ACTIVE”数据库的日常检查 Oracle 数据库维护教程u检查数据库版本 SQLselect*from v$version;数据库的日常检查 Oracle 数据库维护教程数据库的日常检查 u检查oracle服务进程$ps-ef|grep ora_在检查Oracle的进程命令输出后,输出显示至少应包括以下一些进程:.Oracle写数据文件的进程,输出显示为:“ora_dbw0_crsdb”.Oracle写日志文件的进程,输出显示为:“ora_lgwr_ crsdb”.Oracle监听实例状态的进程,输出显示为:“ora_smon_ crsdb”.Oracle监听客户

10、端连接进程状态的进程,输出显示为:“ora_pmon_ crsdb”.Oracle进行归档的进程,输出显示为:“ora_arc0_ crsdb”.Oracle进行检查点的进程,输出显示为:“ora_ckpt_ crsdb”.Oracle进行恢复的进程,输出显示为:“ora_reco_ crsdb”Oracle 数据库维护教程数据库的日常检查 u查看操作系统日志文件#cat/var/adm/syslog/syslog.log|grep failed#cat/var/adm/syslog/syslog.log|grep error 看是否有与oracle相关的出错信息Oracle 数据库维护教程数

11、据库的日常检查 u查看oracle日志文件$cat$ORACLE_HOME/log/server1/alterserver1.log|grep ora-$cat$ORACLE_HOME/log/server1/alterserver1.log|grep fail$cat$ORACLE_HOME/log/server1/alterserver1.log|grep errorOracle在运行过程中,会在警告日志文件(alert_SID.log)中记录数据库的一些运行情况:数据库的启动、关闭,启动时的非缺省参数;数据库的重做日志切换情况,记录每次切换的时间,及如果因为检查点(checkpoint)

12、操作没有执行完成造成不能切换,会记录不能切换的原因;对数据库进行的某些操作,如创建或删除表空间、增加数据文件;数据库发生的错误,如表空间不够、出现坏块、数据库内部错误(ORA600)等。Oracle 数据库维护教程数据库的日常检查 定期检查日志文件,根据日志中发现的问题及时进行处理:问题问题处理理启动参数不对检查初始化参数文件因为检查点操作或归档操作没有完成造成重做日志不能切换如果经常发生这样的情况,可以考虑增加重做日志文件组;想办法提高检查点或归档操作的效率;有人未经授权删除了表空间检查数据库的安全问题,是否密码太简单;如有必要,撤消某些用户的系统权限出现坏块检查是否是硬件问题(如磁盘本生有

13、坏块),如果不是,检查是那个数据库对象出现了坏块,对这个对象进行重建表空间不够增加数据文件到相应的表空间出现ORA-600根据日志文件的内容查看相应的TRC文件,如果是Oracle的bug,要及时打上相应的补丁Oracle 数据库维护教程数据库的日常检查 u查看root用户和数据库用户的email#tail n 200/var/mail/root#tail n 200/var/mail/oracle查看有无与oracle用户相关出错信息Oracle 数据库维护教程数据库的日常检查 u检查Oracle控制文件状态SQL select status,name from v$controlfile;

14、STATUS NAME-/data/oradata/crsdb/control01.ctl /data/oradata/crsdb/control02.ctl /data/oradata/crsdb/control03.ctl输出结果应该有3条以上(包含3条)的记录,“STATUS”应该为空。状态为空表示控制文件状态正常。Oracle 数据库维护教程数据库的日常检查 u检查Oracle在线日志状态SQL select group#,status,type,member from v$logfile;GROUP#STATUS TYPE MEMBER -1 ONLINE +DATA/crsdb/o

15、nlinelog/group_1.257.836734181 2 ONLINE +DATA/crsdb/onlinelog/group_2.258.836734181 3 ONLINE +DATA/crsdb/onlinelog/group_3.265.836737165 4 ONLINE +DATA/crsdb/onlinelog/group_4.266.836737165输出结果应该有3条以上(包含3条)记录,“STATUS”应该为非“INVALID”,非“DELETED”。注:“STATUS”显示为空表示正常。Oracle 数据库维护教程数据库的日常检查 u检查Oracle表空间状态 输

16、出结果中STATUS应该都为ONLINE。Oracle 数据库维护教程数据库的日常检查 u检查Oracle表空间所有数据文件状态SQL select name,status from v$datafile;NAME STATUS-+DATA/crsdb/datafile/system.259.836734181 SYSTEM+DATA/crsdb/datafile/sysaux.260.836734183 ONLINE+DATA/crsdb/datafile/undotbs1.261.836734185 ONLINE+DATA/crsdb/datafile/undotbs2.263.83673

17、4197 ONLINE+DATA/crsdb/datafile/users.264.836734199 ONLINE输出结果中“STATUS”应该都为“ONLINE”。或者SQLselect file_name,status from dba_data_files;输出的status必须为availableOracle 数据库维护教程数据库的日常检查 u检查所有回滚段状态SQL select segment_name,status from dba_rollback_segs;Oracle 数据库维护教程数据库的日常检查 u检查数据库连接情况SQL select count(*)from v$

18、session;/查看会话连接数SQLselect sid,serial#,username,program,machine,status from v$session;/查看会话连接的详细信息Oracle 数据库维护教程Oracle 数据库维护教程数据库的日常检查 STATUS:当前这个会话的状态,ACTIVE表示会话正在执行某些任务,INACTIVE表示当前会话没有执行任何操作;如果建立了过多的连接,会消耗数据库的资源,同时,对一些“挂死”的连接可能需要手工进行清理。如果DBA要手工断开某个会话,则执行:(一般不建议使用这种方式去杀掉数据库的连接,这样有时候session不会断开。容易引起

19、死连接。建议通过sid查到操作系统的spid,使用ps ef|grep spidno的方式确认spid不是ORACLE的后台进程。使用操作系统的kill-9命令杀掉连接)alter system kill session SID,SERIAL#;注意:上例中SID为1到10(USERNAME列为空)的会话,是Oracle的后台进程,不要对这些会话进行任何操作。Oracle 数据库维护教程数据库的日常检查 u检查系统磁盘空间如果文件系统的剩余空间过小或增长较快,需对其进行确认并删除不用的文件以释放空间。Oracle 数据库维护教程数据库的日常检查 u查看表空间使用情况(使用图形化管理界面查看)如

20、果空闲率%Free小于10%以上(包含10%),则注意要增加数据文件来扩展表空间而不要是用数据文件的自动扩展功能。请不要对表空间增加过多的数据文件,增加数据文件的原则是每个数据文件大小为2G或者4G,自动扩展的最大限制在8G Oracle 数据库维护教程3使用企业管理器管理数据库Oracle 数据库维护教程listener.oralistener.oraListenerListener客户端客户端客户端客户端服务端服务端服务端服务端tnsnames.oratnsnames.orasqlnet.orasqlnet.ora远程管理Oracle 数据库维护教程配置远程企业管理器u远程连接数据库 确认

21、远程客户端与服务器端是网络相通的 Oracle 数据库维护教程配置远程企业管理器u监听工具 工具可通过下面命令使用:$lsnrctl start /开启监听$lsnrctl status /查看监听状态$lsnrctl stop /停止监听 Oracle 数据库维护教程配置远程企业管理器u配置本地网络服务Oracle 数据库维护教程u配置本地网络服务Oracle 数据库维护教程u配置本地网络服务Oracle 数据库维护教程u配置本地网络服务Oracle 数据库维护教程u配置本地网络服务Oracle 数据库维护教程u配置本地网络服务Oracle 数据库维护教程u配置本地网络服务Oracle 数据

22、库维护教程u配置本地网络服务 下一步,直至完成!Oracle 数据库维护教程u打开客户端上安装的企业管理器,登录数据库Oracle 数据库维护教程Oracle 数据库维护教程u远程管理数据库 点击相应的选项,查看、更改数据库 上一章的数据库日常检查也可以通过企业管理器操作,简单易读远程企业管理器管理数据库Oracle 数据库维护教程Oracle 数据库维护教程Oracle 数据库维护教程Oracle 数据库维护教程Oracle 数据库维护教程Oracle 数据库维护教程Oracle 数据库维护教程Oracle 数据库维护教程4RAC数据库的日常操作与维护Oracle 数据库维护教程数据库的日常

23、操作-RAC u检查数据库状态检查数据库状态:是否是否online crs_stat t各项显示必须是online,否则数据库可能出处于异常工作状态Oracle 数据库维护教程数据库的日常操作-RAC u查看查看数据库数据库实例状态实例状态$srvctl status database d crsdbu单个实例的单个实例的状态状态$srvctl status instance d crsdb1 i server1u开启关闭数据库实例开启关闭数据库实例$srvctl start database d crsdb$srvctl start instance d crsdb1 i server1$s

24、rvctl stop instance d crsdb1 i server1Oracle 数据库维护教程数据库的日常操作-RAC u查看查看ASM实例状态实例状态$srvctl status asm n server1u开启开启ASM实例实例$srvctl start asm n server1u关闭关闭ASM实例实例$srvctl stop asm n server1Oracle 数据库维护教程数据库的日常操作-RAC u开启监听开启监听$srvctl start listenern server1u关闭监听关闭监听$srvctl stop listenern server1u开启开启节点应

25、用节点应用$srvctl start nodeapps n server1u关闭节点应用关闭节点应用$srvctl stop nodeapps n server1Oracle 数据库维护教程数据库的日常操作-RAC u显示数据库配置显示数据库配置$srvctl config database-d crsdbu显示指定集群数据库的所有显示指定集群数据库的所有服务服务$srvctl config service-d crsdbu显示节点应用程序的显示节点应用程序的配置配置$srvctl config nodeapps-n server1-a-g-s lu显示显示 ASM 实例的实例的配置配置$sr

26、vctl config asm server1Oracle 数据库维护教程数据库的日常操作-RAC u 启动启动RAC集群集群 启动节点应用程序(虚拟IP、GSD、TNS 监听器和 ONS)启动ASM 实例 启动Oracle 实例u停止停止RAC集群集群 停止 Oracle 实例 关闭 ASM 实例 关闭节点应用程序Oracle 数据库维护教程常见错误RAC数据库中,其中一个节点处于数据库中,其中一个节点处于offine状态状态,如图:如图:Oracle 数据库维护教程常见错误造成原因u网络问题u资源耗尽(CPU、I/O 等)u严重的数据库争用uOracle bug解决方案:u检查网络,确保无

27、网络错误,如 UDP 错误或 IP 数据包丢失或故障错误。u检查网络配置,确保所有节点上的所有网络配置均设置正确。u检查服务器是否存在 CPU 负载问题或可用内存不足。u检查数据库在实例驱逐之前是否正处于挂起状态或存在严重的性能问题。u检查 CHM(Cluster Health Monitor)输出,以查看服务器是否存在 CPU 或内存负载问题、网络问题或者 lmd 或 lms 进程出现死循环。u如果 OSWatcher 尚未设置,CHM 输出不可用时,使用 OSWatcher 输出将有所帮助。Oracle 数据库维护教程5数据库紧急故障处理Oracle 数据库维护教程Oracle常见错误 u

28、ORA-1652到到ORA-1655 ORA-165X错误信息是指表空间没有足够的空间可分配,包括ora-1652、ora-1653、ora-1654和ora-1655。uORA-01555(snapshot too old)9i引入了undotablespace,只要把undotablespace设的足够大,并把undo_retention设的足够大(大于完成大事务所需的时间),就有可能彻底解决ORA-1555错(但太大会引起系统性能下降)Oracle 数据库维护教程Oracle常见错误 uORA-04031 如果shared_pool_size参数值已经很大(大于350M),那ORA-40

29、31错发生的原因很可能是因为oracle数据库的BUG或是应用程序未能很好的使用绑定变量(bind variable)。清空当前的shared_pool,可以暂时解决ora-4031错的问题 uORA-600内部错误内部错误 第一个参数提供了实际错误信息(例如1579代表块中断错误),而其他参数提供相关其他信息(例如上述块中断错误中,显示Oracle想要读的块号和实际读的块号)ORA-600错误会导致系统生成一个或多个跟踪文件 Oracle 数据库维护教程业务恢复处理 uRAC数据库出现故障时,要迅速查看数据库告警日志文件,确认出数据库出现故障时,要迅速查看数据库告警日志文件,确认出现问题的原

30、因,影响的范围,故障的现象。比如:现问题的原因,影响的范围,故障的现象。比如:数据库故障是出现一次还是反复出现数据库故障是否能够比较容易的恢复,绕过,解决数据库故障发生后业务是否能正常运行u如果如果RAC数据库的某个节点数据库异常终止服务,但其他节点正常数据库的某个节点数据库异常终止服务,但其他节点正常运行时,可以先尝试手工启动出现问题的数据库,恢复数据库到运行时,可以先尝试手工启动出现问题的数据库,恢复数据库到运行状态。运行状态。Oracle 数据库维护教程手工收集现场信息 u错误现象的具体描述u数据库告警日志文件:alert_ORACLE_SID.log u数据库跟踪文件:*.TRC u初始化参数文件:SPFILE不能直接阅读,需要转为文本 u网络配置文件:listener.ora,tnsnames.ora,sqlnet.orau数据库版本u操作系统的类型和版本Oracle 数据库维护教程谢谢!Thank you!

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com