




已阅读5页,还剩68页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Oracle 数据库 维护教程,目 录,1,实例的启动与关闭,连接数据库,$sqlplus /nolog启动SQL*Plus,不连接库 SQL sqlplus “/ as sysdba”以DBA身份连接库 以其它用户身份连接数据库 SQLconn scott/tigerdb 或 SQLconn scott/tiger,数据库启动阶段包括3个过程,Nomount:实例启动 Mount:数据库mount,加载控制文件 Open:数据文件全部打开,可以正常访问,OPEN,MOUNT,NOMOUNT,SHUTDOWN,实例中控制文件描述的所有文件被打开,控制文件打开,实例启动,STARTUP,SHUTDOWN,数据库启动阶段,connect / as sysdba select * from v$instance; 无法查询实例信息: 实例未启动 或者:操作系统下 ps ef|grep ora*,Nomount阶段,数据库无法启动到nomount,操作系统内核参数是否足够 初始化参数文件是否可读 初始化参数文件内容正确 相应参数是否调整过大,导致内存、后台进程无法分配 可以尝试重启数据库服务器后再次启动数据库,connect / as sysdba select * from v$instance; 如果信息无法查询:说明数据库没有mount 尝试mount数据库 alter database mount;,Mount阶段,数据库无法mount,检查初始化参数文件中control_files设置是否可读 检查操作系统上控制文件是否可读写 可能控制文件被意外损坏,ALTER DATABASE 命令,改变数据库状态从nomount到mount startup nomount; alter database mount; 从mount状态到open状态 alter database open; ALTER DATABASE命令用来改变数据状态,及数据文件状态,关闭数据库,A x x x x,T x x o o,I x x x o,关闭模式 允许新连接 等待当前会话终止 等待当前事务终止 强迫执行一次checkpoint 且关闭文件,N x o o o,关闭模式: NORMAL TRANSACTIONAL IMMEDIATE ABORT,YES,NO,x o,关闭选项,在 Shutdown Normal, Shutdown Transactional or Shutdown Immediate 三种模式下,Database一致,关闭过程: 数据库buffer中的数据写进数据文件 未提交的修改回滚 资源释放,开启过程: 不需要实例恢复,关闭选项,在 Shutdown Abort 或 Instance Failure 或 Startup Force,Database 不一致,关闭过程: 修改过的buffer不写进数据文件 未提交事务不回滚,开启过程: 重做日志用于重写修改 Undo用于回滚未提交的修改 释放资源,通过监控诊断文件管理实例,当实例可操作时,诊断文件包含重要关键事件信息 有助于解决问题和更好的进行数据库日常管理 诊断文件种类: alertSID.log 文件 Background trace files (后台跟踪文件) User trace files (用户跟踪文件),Alert Log File (警示文件),alertSID.log 文件记录下数据库运行时主要事件的命令和结果. 用于记录日常操作信息或诊断数据库错误. 文件中每一个条目都一个时间戳. DBA管理 alertSID.log 文件. 存储位置由 BACKGROUND_DUMP_DEST参数指定.,Background Trace Files (后台跟踪文件),每个后台进程的错误都会产生后台跟踪文件. 用于诊断和解决错误. 当后台进程遇到错误就产生跟踪文件 存储位置由BACKGROUND_DUMP_DEST参数指定,User Trace File (用户跟踪文件),用户跟踪文件由连到Oracle服务器的用户进程产生. 文件中包含被跟踪的SQL语句的统计信息或用户错误消息. 当用户会话遇到错误将会产生此文件 server process也可产生此文件 存储位置由USER_DUMP_DEST参数指定 文件大小由 MAX_DUMP_FILE_SIZE 参数指定,默认值为10M.,2,数据库日常检查与维护,检查数据库状态 确认数据库是否在open状态,正常提供服务。 $sqlplus /as sysdba 其中“STATUS”表示Oracle当前的实例状态,必须为“OPEN”;“DATABASE_STATUS”表示Oracle当前数据库的状态,必须为“ACTIVE”,数据库的日常检查,检查数据库版本 SQLselect * from v$version;,数据库的日常检查,数据库的日常检查,检查oracle服务进程 $ ps -ef |grep ora_ 在检查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”,数据库的日常检查,查看操作系统日志文件 #cat /var/adm/syslog/syslog.log |grep failed #cat /var/adm/syslog/syslog.log |grep error 看是否有与oracle相关的出错信息,数据库的日常检查,查看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 error Oracle在运行过程中,会在警告日志文件(alert_SID.log)中记录数据库的一些运行情况:数据库的启动、关闭,启动时的非缺省参数;数据库的重做日志切换情况,记录每次切换的时间,及如果因为检查点(checkpoint)操作没有执行完成造成不能切换,会记录不能切换的原因;对数据库进行的某些操作,如创建或删除表空间、增加数据文件;数据库发生的错误,如表空间不够、出现坏块、数据库内部错误(ORA600)等。,数据库的日常检查,定期检查日志文件,根据日志中发现的问题及时进行处理:,数据库的日常检查,查看root用户和数据库用户的email #tail n 200 /var/mail/root #tail n 200 /var/mail/oracle 查看有无与oracle用户相关出错信息,数据库的日常检查,检查Oracle控制文件状态 SQL select status,name from v$controlfile; STATUS NAME - - /data/oradata/crsdb/control01.ctl /data/oradata/crsdb/control02.ctl /data/oradata/crsdb/control03.ctl 输出结果应该有3条以上(包含3条)的记录,“STATUS”应该为空。状态为空表示控制文件状态正常。,数据库的日常检查,检查Oracle在线日志状态 SQL select group#,status,type,member from v$logfile; GROUP# STATUS TYPE MEMBER - - - - 1 ONLINE +DATA/crsdb/onlinelog/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表空间状态 输出结果中STATUS应该都为ONLINE。,数据库的日常检查,检查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.836734197 ONLINE +DATA/crsdb/datafile/users.264.836734199 ONLINE 输出结果中“STATUS”应该都为“ONLINE”。 或者SQLselect file_name,status from dba_data_files;输出的status必须为available,数据库的日常检查,检查所有回滚段状态 SQL select segment_name,status from dba_rollback_segs;,数据库的日常检查,检查数据库连接情况 SQL select count(*) from v$session; /查看会话连接数 SQLselect sid,serial#,username,program,machine,status from v$session; /查看会话连接的详细信息,数据库的日常检查,STATUS :当前这个会话的状态,ACTIVE表示会话正在执行某些任务,INACTIVE表示当前会话没有执行任何操作; 如果建立了过多的连接,会消耗数据库的资源,同时,对一些“挂死”的连接可能需要手工进行清理。如果DBA要手工断开某个会话,则执行:(一般不建议使用这种方式去杀掉数据库的连接,这样有时候session不会断开。容易引起死连接。建议通过sid查到操作系统的spid,使用ps ef|grep spidno的方式确认spid不是ORACLE的后台进程。使用操作系统的kill -9命令杀掉连接 ) alter system kill session SID,SERIAL#; 注意:上例中SID为1到10(USERNAME列为空)的会话,是Oracle的后台进程,不要对这些会话进行任何操作。,数据库的日常检查,检查系统磁盘空间 如果文件系统的剩余空间过小或增长较快,需对其进行确认并删除不用的文件以释放空间。,数据库的日常检查,查看表空间使用情况(使用图形化管理界面查看),如果空闲率%Free小于10%以上(包含10%),则注意要增加数据文件来扩展表空间而不要是用数据文件的自动扩展功能。请不要对表空间增加过多的数据文件,增加数据文件的原则是每个数据文件大小为2G或者4G,自动扩展的最大限制在8G,3,使用企业管理器管理数据库,listener.ora,Listener,客户端,服务端,tnsnames.ora,sqlnet.ora,远程管理,配置远程企业管理器,远程连接数据库 确认远程客户端与服务器端是网络相通的,配置远程企业管理器,监听工具 工具可通过下面命令使用: $lsnrctl start /开启监听 $lsnrctl status /查看监听状态 $lsnrctl stop /停止监听,配置远程企业管理器,配置本地网络服务,配置本地网络服务,配置本地网络服务,配置本地网络服务,配置本地网络服务,配置本地网络服务,配置本地网络服务,配置本地网络服务 下一步,直至完成!,打开客户端上安装的企业管理器,登录数据库,远程管理数据库 点击相应的选项,查看、更改数据库 上一章的数据库日常检查也可以通过企业管理器操作,简单易读,远程企业管理器管理数据库,4,RAC数据库的日常操作与维护,数据库的日常操作-RAC,检查数据库状态:是否online crs_stat t 各项显示必须是online,否则数据库可能出处于异常工作状态,数据库的日常操作-RAC,查看数据库实例状态 $srvctl status database d crsdb 单个实例的状态 $srvctl status instance d crsdb1 i server1 开启关闭数据库实例 $srvctl start database d crsdb $srvctl start instance d crsdb1 i server1 $srvctl stop instance d crsdb1 i server1,数据库的日常操作-RAC,查看ASM实例状态 $srvctl status asm n server1 开启ASM实例 $srvctl start asm n server1 关闭ASM实例 $srvctl stop asm n server1,数据库的日常操作-RAC,开启监听 $srvctl start listenern server1 关闭监听 $srvctl stop listenern server1 开启节点应用 $srvctl start nodeapps n server1 关闭节点应用 $srvctl stop nodeapps n server1,数据库的日常操作-RAC,显示数据库配置 $srvctl config database -d crsdb 显示指定集群数据库的所有服务 $srvctl config service -d crsdb 显示节点应用程序的配置 $srvctl config nodeapps -n server1 -a -g -s l 显示 ASM 实例的配置 $srvctl config asm server1,数据库的日常操作-RAC,启动RAC集群 启动节点应用程序(虚拟IP、GSD、TNS 监听器和 ONS) 启动ASM 实例 启动Oracle 实例 停止RAC集群 停止 Oracle 实例 关闭 ASM 实例 关闭节点应用程序,常见错误,RAC数据库中,其中一个节点处于offine状态,如图:,常见错误,造成原因 网络问题 资源耗尽(CPU、I/O 等) 严重的数据库争用 Oracle bug,解决方案: 检查网络,确保无网络错误,如 UDP 错误或 IP 数据包丢失或故障错误。 检查网络配置,确保所有节点上的所有网络配置均设置正确。 检查服务器是否存在 CPU 负载问题或可用内存不足。 检查数据库在实例驱逐之前是否正处于挂起状态或存在严重的性能问题。 检查 CHM (Cluster Health Monitor) 输出,以查看服务器是否存在 CPU 或内存负载问题、网络问题或者 lmd 或 lms 进程出现死循环。 如果 OSWatcher 尚未设置,CHM 输出不可用时,使用 OSWatcher 输出将有所帮助。,5,数据库紧急故障处理,Oracle常见错误 ORA-1652到ORA-1655 ORA-165X错误信息是指表空间没有足够的空间可分配,包括ora-1652、ora-1653、ora-1654和ora-1655。 ORA-01555(snap
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人工智能教育培训手册
- 工作总结:提升专业能力业务水平
- 2025新疆克拉玛依市面向高校应届毕业生招聘事业编制高中教师48人笔试备考试题及答案解析
- 农学中的农业科技示范园规划设计
- 2025年天津安全工程师安全生产法事故直接原因的分析考试试题
- 2025年唐山市市直事业单位招聘277人笔试备考题库及参考答案详解一套
- 2025年事业单位笔试-江苏-江苏审计学(医疗招聘)历年参考题库含答案解析
- 2025年有色金属行业资源循环利用产业链产业链金融创新报告
- 2025四川达州宣汉县养老服务中心招聘临时工作人员10人笔试备考试题及答案解析
- 2025年医学遗传学病例诊断与咨询考核试卷答案及解析
- 2025年秋季新学期教学工作会议校长讲话:一心一意抓质量一点一滴见成效一步一脚印做教学
- 2025至2030年中国烘焙工具产业竞争现状及发展前景预测报告
- JG/T 264-2010混凝土裂缝修复灌浆树脂
- 2025贵州省专业技术人员继续教育公需科目考试题库(2025公需课课程)
- 心电图机操作(课堂PPT)
- 贝多芬F大调浪漫曲—小提琴谱(带钢伴谱)
- 科远DCS系统方案
- 压力传感器(课堂PPT)
- 动物的家ppt课件
- Tip-edge Plus差动直丝弓技术
- 深圳市政府投资市政工程施工质量检查用表
评论
0/150
提交评论