Oracle数据库日常维护手册
数据库日常运维手册

神州数码信息系统有限公司数据库日常运维手册神州数码信息系统有限公司2015/9/5日常运维操作手册主要针对ORACLE数据库管理员对数据库系统做定期监控:(1). 每天对ORACLE数据库的运行状态、日志文件、备份情况、数据库的空间使用情况、系统资源的使用情况进行检查,发现并解决问题。
并要有相关的人员负责每天查看,发现问题及时上报分析。
检查每天的数据库备份完成情况。
(2). 每周对数据库对象的空间扩展情况、数据的增长情况进行监控、对数据库做健康检查、对数据库对象的状态做检查。
(3). 每月对表和索引等进行Analyze、检查表空间碎片、寻找数据库性能调整的机会、进行数据库性能调整、提出下一步空间管理计划。
对ORACLE数据库状态进行一次全面检查(4)根据公司数据库的安全策略对ORACLE DB进行加固一.日维护过程1.1、确认所有的INSTANCE状态正常登陆到所有数据库或例程,检测ORACLE后台进程:$ps –ef|grep ora1.2、检查文件系统的使用(剩余空间)如果文件系统的剩余空间小于20%,需删除不用的文件以释放空间。
#df –k1.3、检查日志文件和trace文件记录检查相关的日志文件和trace文件中是否存在错误。
A、连接到每个需管理的系统使用’telnet’命令B、对每个数据库,进入到数据库的bdump目录,unix系统中BDUMP目录通常是$ORACLE_BASE/<SID>/bdump#$ORACLE_BASE/<SID>/bdumpC、使用 Unix ‘tail’命令来查看alert_<SID>.log文件#tail $ORACLE_BASE/<SID>/bdump/alert_<SID>.logD、如果发现任何新的ORA- 错误,记录并解决1.4、检查数据库当日备份的有效性。
对RMAN备份方式:1.5、检查数据文件的状态检查所有数据文件并记录状态不是“online”的数据文件,并做恢复。
Oracle DBA 数据库日常维护手册 常用SQL 脚本

Oracle数据库日常维护【版本整理日期:2011/02/26 】版本整理人:1634068400@本文档包含以下内容:1.Oracle数据库日常维护2.Oracle DBA 常用管理脚本3.Oracle DB 常用SQL 语句/******************************************************** (若跳转不成功,请复制到浏览器或联系Q) /item.htm?id=7437120468Metalink Sharing ********************************************************/在Oracle数据库运行期间,DBA应该对数据库的运行日志及表空间的使用情况进行监控,及早发现数据库中存在的问题。
一、Oracle警告日志文件监控Oracle在运行过程中,会在警告日志文件(alert_SID.log)中记录数据库的一些运行情况:l数据库的启动、关闭,启动时的非缺省参数;l数据库的重做日志切换情况,记录每次切换的时间,及如果因为检查点(checkpoint)操作没有执行完成造成不能切换,会记录不能切换的原因;l对数据库进行的某些操作,如创建或删除表空间、增加数据文件;l数据库发生的错误,如表空间不够、出现坏块、数据库内部错误(ORA -600)DBA 应该定期检查日志文件,根据日志中发现的问题及时进行处理问题处理 启动参数不对 检查初始化参数文件因为检查点操作或归档操作没有完成造成重做日志不能切换 如果经常发生这样的情况,可以考虑增加重做日志文件组;想办法提高检查点或归档操作的效率;有人未经授权删除了表空间 检查数据库的安全问题,是否密码太简单;如有必要,撤消某些用户的系统权限出现坏块 检查是否是硬件问题(如磁盘本生有坏块),如果不是,检查是那个数据库对象出现了坏块,对这个对象进行重建表空间不够增加数据文件到相应的表空间 出现ORA-600 根据日志文件的内容查看相应的TRC文件,如果是Oracle 的bug ,要及时打上相应的补丁二、数据库表空间使用情况监控(字典管理表空间)数据库运行了一段时间后,由于不断的在表空间上创建和删除对象,会在表空间上产生大量的碎片,DBA 应该及时了解表空间的碎片和可用空间情况,以决定是否要对碎片进行整理或为表空间增加数据文件。
oracle日常运维操作总结

oracle日常运维操作总结一、硬件维护1.确保服务器硬件运行正常,定期检查硬件设备,如服务器、存储设备、网络设备等。
2.根据需要及时更新硬件设备,包括升级内存、硬盘等。
3.确保服务器周边设备运行正常,如UPS电源、空调等。
二、软件维护1.确保Oracle数据库软件运行正常,定期检查软件版本、补丁等。
2.更新Oracle数据库软件,包括升级Oracle版本、打补丁等。
3.定期清理无用文件,包括日志文件、临时文件等。
4.定期备份数据库,确保数据安全。
三、性能优化1.定期检查数据库性能,包括CPU使用率、内存使用率等。
2.根据性能检查结果,进行性能优化,如调整数据库参数、优化SQL语句等。
3.定期对数据库进行优化,包括重建索引、优化表空间等。
四、安全加固1.配置Oracle数据库的安全设置,如用户密码、权限管理等。
2.确保数据库账户的安全性,如定期修改密码、禁用无效账户等。
3.防止SQL注入等攻击行为,如使用参数化查询、限制用户输入等。
4.定期检查数据库的安全日志,包括登录日志、操作日志等。
五、数据备份1.制定数据备份计划,并按照计划执行备份操作。
2.采用多种备份方式,如全备份、增量备份等。
3.确保备份数据的可用性和完整性,如定期测试备份数据的恢复能力。
4.对备份数据进行存储和管理,确保数据安全。
六、故障处理1.建立故障处理流程,明确故障处理责任人和流程步骤。
2.对发生的故障进行及时处理,如系统崩溃、网络故障等。
3.对故障进行分类和总结,建立故障处理知识库。
4.定期对系统进行健康检查和性能测试,预防故障发生。
七、监控管理1.建立监控管理体系,包括监控指标、监控周期等。
2.使用监控工具,如OracleEnterpriseManager、Nagios等,对系统进行实时监控。
3.对监控数据进行分析和处理,及时发现和处理潜在问题。
4.定期对监控数据进行存储和管理,方便后续查询和分析。
八、应急预案1.制定应急预案,明确应急响应流程和责任人。
oracle dba 日常维护操作手册命令总结

oracle dba 日常维护操作手册命令总结Oracle DBA日常维护操作手册命令总结:Oracle数据库管理员(DBA)在日常维护数据库时,需要掌握一些常用的命令和操作。
以下是一些重要的Oracle DBA维护命令的总结:1. 数据库连接和认证命令:- sqlplus:用于连接Oracle数据库的命令行工具。
可以使用该命令连接到数据库并执行SQL语句。
- sqlldr:用于将数据从外部文件加载到Oracle数据库表中。
- exp和imp:用于导出和导入数据库对象和数据。
2. 数据库启动和关闭命令:- startup:启动Oracle数据库实例。
- shutdown:关闭Oracle数据库实例。
3. 数据库备份和恢复命令:- RMAN(Recovery Manager):用于备份和恢复Oracle数据库。
- backup:用于创建数据库备份。
- restore:用于从备份文件中恢复数据库。
4. 数据库性能和监控命令:- tkprof:用于分析和优化SQL查询语句的性能。
- awrreport和ashreport:用于生成数据库性能报告和分析。
- v$表名:用于查看数据库的不同性能指标。
5. 数据库对象管理命令:- create:用于创建数据库对象,如表、索引、视图等。
- alter:用于修改数据库对象的结构,例如修改表结构、添加索引等。
- drop:用于删除数据库对象。
6. 用户和权限管理命令:- create user:用于创建数据库用户。
- alter user:用于修改数据库用户的属性。
- grant和revoke:用于授予和收回用户的权限。
7. 数据库存储管理命令:- create tablespace:用于创建数据库表空间,用于存储数据库对象。
- alter tablespace:用于修改表空间的属性。
- alter database:用于修改数据库的参数和属性。
以上仅是一些常用的Oracle DBA日常维护操作命令的总结,实际使用中还有更多的命令和技术需要掌握。
Oracle Rac日常维护操作手册

Oracle Rac日常维护操作手册一、关闭服务器1.1关闭数据库实例在DBSERVER01和DBSERVER02服务器上分别运行以下命令:在cmd命令行中运行C:\Documents and Settings\Administrator>d:D:\>cd D:\oracle\product\10.2.0\crs\BIND:\oracle\product\10.2.0\crs\BIN>crs_stat –t (检查oracle数据库运行状态)名称类型目标状态主机------------------------------------------------------------ora....S1.inst application ONLINE ONLINE dbserver01ora....S2.inst application ONLINE ONLINE dbserver02ora.HBHIS.db application ONLINE ONLINE dbserver02ora....01.lsnr application ONLINE ONLINE dbserver01ora....r01.gsd application ONLINE ONLINE dbserver01ora....r01.ons application ONLINE ONLINE dbserver01ora....r01.vip application ONLINE ONLINE dbserver01ora....02.lsnr application ONLINE ONLINE dbserver02ora....r02.gsd application ONLINE ONLINE dbserver02ora....r02.ons application ONLINE ONLINE dbserver02ora....r02.vip application ONLINE ONLINE dbserver02D:\oracle\product\10.2.0\crs\BIN>sqlplus sys/sys as sysdbaSQL>shutdown immediateSQL>exitD:\oracle\product\10.2.0\crs\BIN>crs_stat –t (再次检查oracle数据库运行状态) 名称类型目标状态主机------------------------------------------------------------ora....S1.inst application OFFLINE OFFLINEora....S2.inst application OFFLINE OFFLINEora.HBHIS.db application OFFLINE OFFLINEora....01.lsnr application ONLINE ONLINE dbserver01ora....r01.gsd application ONLINE ONLINE dbserver01ora....r01.ons application ONLINE ONLINE dbserver01ora....r01.vip application ONLINE ONLINE dbserver01ora....02.lsnr application ONLINE ONLINE dbserver02ora....r02.gsd application ONLINE ONLINE dbserver02ora....r02.ons application ONLINE ONLINE dbserver02ora....r02.vip application ONLINE ONLINE dbserver021.2关闭CRS集群服务在DBSERVER01或DBSERVER02服务器上运行以下命令:C:\Documents and Settings\Administrator>srvctl stop nodeapps -n dbserver01C:\Documents and Settings\Administrator>srvctl stop nodeapps -n dbserver02D:\oracle\product\10.2.0\crs\BIN>crs_stat –t (再次检查oracle数据库运行状态) 名称类型目标状态主机------------------------------------------------------------ora....S1.inst application OFFLINE OFFLINEora....S2.inst application OFFLINE OFFLINEora.HBHIS.db application OFFLINE OFFLINEora....01.lsnr application OFFLINE OFFLINEora....r01.gsd application OFFLINE OFFLINEora....r01.ons application OFFLINE OFFLINEora....r01.vip application OFFLINE OFFLINEora....02.lsnr application OFFLINE OFFLINEora....r02.gsd application OFFLINE OFFLINEora....r02.ons application OFFLINE OFFLINEora....r02.vip application OFFLINE OFFLINE1.3关闭服务器操作系统先关DBSERVER01,在关闭DBSERVER02;二、开启服务器2.1DBSERVER02服务器开机DBSERVER02服务器操作系统启动后待网卡服务全部启动,执行以下命令验证oracle服务启动情况C:\Documents and Settings\Administrator>d:D:\>cd D:\oracle\product\10.2.0\crs\BIND:\oracle\product\10.2.0\crs\BIN>crs_stat –t (检查oracle数据库运行状态)名称类型目标状态主机------------------------------------------------------------ora....S1.inst application OFFLINE OFFLINEora....S2.inst application ONLINE ONLINE dbserver02ora.HBHIS.db application ONLINE ONLINE dbserver02ora....01.lsnr application OFFLINE OFFLINEora....r01.gsd application OFFLINE OFFLINEora....r01.ons application OFFLINE OFFLINEora....r01.vip application OFFLINE OFFLINEora....02.lsnr application ONLINE ONLINE dbserver02ora....r02.gsd application ONLINE ONLINE dbserver02ora....r02.ons application ONLINE ONLINE dbserver02ora....r02.vip application ONLINE ONLINE dbserver02待DBSERVER02上oracle服务全部启动后再开启DBSERVER01。
Oracle数据库维护手册范本

数据库维护手册目录1前言 (3)2ORACLE维护方法 (3)2.1 数据库启动 (3)2.2 数据库停止 (3)2.3 监听器的启停 (4)2.4 用户管理 (4)2.5 数据库参数文件 (5)2.6 数据库概况的查询 (6)2.7 常用对象的创建和使用 (7)2.8 失效数据库对象的检测和编译 (7)2.9 数据备份的技巧 (8)2.10 数据库命中率的监测 (10)2.11 最消耗资源进程的检测 (11)2.12 锁的监测及处理 (12)2.13 SQL语句执行技巧 (12)2.14 表空间的管理 (13)2.15 数据文件I/O的统计优化 (14)2.16 错误号的跟踪出理 (14)3日常问题处理流程 (15)3.1 ORACLE数据库日常检查 (15)3.2 会话连接日志的清理 (15)3.3 数据库hang住时的停止和方法 (15)3.4 扩表空间方法 (16)3.5 死锁会话的杀死 (16)3.6 未决两阶段事务的回滚............................. 错误!未定义书签。
4相关通用工具介绍. (17)4.1 EM工具.......................................... 错误!未定义书签。
1前言本文主要是简单介绍和总结日常Oracle数据在运行维护方面的一些方法和技巧。
通过该手册以便于相关技术人员的日常运维工作。
2ORACLE DB维护方法2.1数据库启动1、以oracle用户用户登录,sqlplus ‘/as sysdba’sqlplus> startup2、以oracle用户或ora816用户登录sqlplus ‘/as sysdba’sqlplus >startup nomuntsqlplus >alter database mount;sqlplus >alter database open;3、第一种启动方式是最常用的手工启动方式,第二种启动方式是数据库有故障时常用的逐步启动方式,可以观察故障点。
Oracle数据库规划设计和运行维护方案

Oracle数据库规划设计和运行维护方案Oracle数据库规划设计和运行维护方案(V1.0)目录1.前言 (19)1.1.编写目的191.2.方案说明191.3.预期读者202.数据库部署模式 (20)2.1.单机模式202.2.双机热备模式(HA模式)212.3.集群模式(RAC)212.4.主从模式(DataGuard)222.5.混合模式(DataGrard+RAC)232.6.数据库运行模式选择233.系统特点和数据库类型 (24)3.1.业务系统的特点243.1.1.OLTP特点243.1.2.OLAP特点253.2.数据库的规模263.3.数据库版本建议264.数据库运行环境规划 (26)4.1.主机规划264.2.网络规划274.3.存储规划295.数据库安装部署规划 (30)5.1.软件安装路径305.2.表空间设计315.2.1.业务数据量估算315.2.2.表空间使用规则325.2.3.表空间的概念和分配原则395.2.4.表空间的参数配置415.2.5.Undo/temp表空间的估算455.2.6.表的参数设置465.2.7.索引的使用原则465.3.文件设计475.3.1.RAC配置文件485.3.2.参数文件485.3.3.控制文件495.3.4.重做日志文件506.数据库应用规划 (51)6.1.数据库用户设计516.1.1.用户权限规划516.1.2.用户安全实现546.1.3.用户类型及角色命名规范576.2.数据库分区596.2.1.数据库分区介绍596.2.2.逻辑分割606.2.3.物理分割606.2.4.数据分区的优点606.2.5.数据分区的不足616.2.6.Oracle分区技术616.2.7.分区使用建议616.2.8.分区索引626.3.数据库实例配置636.4.数据库参数设置636.4.1.必须修改的初始化参数646.4.2.建议修改的初始化参数696.4.3.不可修改的初始化参数706.4.4.建议不可修改的初始化参数726.4.5.与并行有关的参数756.5.数据库连接服务766.5.1.专用服务器连接766.5.2.共享服务器连接766.5.3.连接服务建议776.6.数据库安全建议776.7.数据库备份和恢复786.7.1.RMAN备份786.7.2.EXP/IMP备份796.7.3.存储级备份796.7.4.数据库恢复806.8.数据库网络配置816.8.1.监听器的使用配置原则816.8.2.TNSNAMES的使用配置原则816.8.3.RAC环境下TNSNAMES的配置817.业务系统开发建议 (83)7.1.数据库模型设计规范837.1.1.命名规则837.1.2.数据库对象857.2.PLSQL开发规则887.2.1.总体开发原则887.2.2.程序编写规范887.3.SQL语句编写规则1257.3.1.查询语句的使用原则1257.3.2.DML语句的调整原则1398.数据库体系结构 (142)8.1.整体结构1428.2.内存结构1438.2.1.系统全局区(SGA)1438.2.2.程序全局区(PGA)1468.2.3.后台进程1468.3.存储结构1498.3.1.物理结构1498.3.2.逻辑结构1519.数据库基本管理 (153)9.1.参数文件管理1539.2.表空间管理1549.2.1.用户表空间管理1549.2.2.临时表空间管理1589.2.3.回滚段表空间管理1639.3.重做日志文件管理1669.3.1.增加重做日志文件组1669.3.2.添加重做日志文件组成员1679.3.3.改变重做日志文件组成员1679.3.4.删除重做日志文件组成员1689.3.5.删除重做日志文件组1689.3.6.重做日志切换9.3.7.重做日志清理1689.3.8.重做日志切换次数查询1699.4.归档模式设置1729.4.1.单实例数据库设置归档模式1729.4.2.RAC数据库设置归档模式1729.4.3.归档路径设置1739.5.控制文件重建1749.6.内存参数管理1789.6.1.Oracle内存管理发展阶段1789.6.2.自动内存管理AMM1789.6.3.自动共享内存管理ASMM9.6.4.自动PGA管理1799.7.其它管理内容1799.7.1.查看数据库版本1799.7.2.数据库字符集1809.7.3.创建密码文件1819.7.4.关闭数据库审计功能1819.7.5.账号管理1819.7.6.Profile管理18210.数据库集群(RAC)管理 (183)10.1.RAC状态检查18310.1.1.检查守护进程18310.1.2.检查资源状态18310.2.RAC启动与关闭18310.3.管理OCR18410.3.1.OCR盘状态查看18410.3.2.OCR备份与恢复18510.3.3.查看OCR内容18610.3.4.指定OCR盘18610.3.5.增加OCR盘18710.3.6.删除OCR盘18710.4.管理VOTING DISK18810.4.1.检查Voting Disl盘18810.4.2.VOTING DISK备份与恢复18810.4.3.添加VOTING DISK盘18810.4.4.删除VOTING DISK盘18910.5.CSS管理18910.6.SRVCTL管理工具18910.6.1.管理实例18910.6.2.管理监听程序19010.6.3.管理ASM19110.6.4.管理service19110.7.修改RAC的IP及VIP19210.7.1.修改外网IP和心跳IP19210.7.2.修改VIP19310.7.3.查看与删除IP19410.8.管理ASM19510.8.1.管理DiskGroup19510.8.2.ASM兼容性管理19810.8.3.ASM中添加disk的方法20010.8.4.ASMCMD管理命令介绍20210.8.5.ASM常用视图20611.数据库备份 (211)11.1.备份概念说明21111.1.1.脱机备份21111.1.2.联机备份21211.1.3.RMAN备份21311.2.备份策略规划21311.3.RMAN备份和恢复案例21411.3.1.归档模式下的完全恢复21511.3.2.归档模式下的不完全恢复21912.数据库运维管理 (222)12.1.运维职责22212.2.运维要求22212.3.技能要求22212.4.运维内容22312.4.1.检查数据库运行情况22312.4.2.检查操作系统和数据库日志文件22812.4.3.检查Oracle对象状态23012.4.4.检查数据库相关资源的使用23612.4.5.检查数据库备份24512.4.6.检查数据库的性能24512.4.7.数据库安全性检查错误!未定义书签。
数据库日常运维手册

神州数码信息系统有限公司数据库日常运维手册神州数码信息系统有限公司2015/9/5日常运维操作手册主要针对ORACLE数据库管理员对数据库系统做定期监控: (1)、每天对ORACLE数据库的运行状态、日志文件、备份情况、数据库的空间使用情况、系统资源的使用情况进行检查,发现并解决问题。
并要有相关的人员负责每天查瞧,发现问题及时上报分析。
检查每天的数据库备份完成情况。
(2)、每周对数据库对象的空间扩展情况、数据的增长情况进行监控、对数据库做健康检查、对数据库对象的状态做检查。
(3)、每月对表与索引等进行Analyze、检查表空间碎片、寻找数据库性能调整的机会、进行数据库性能调整、提出下一步空间管理计划。
对ORACLE数据库状态进行一次全面检查(4)根据公司数据库的安全策略对ORACLE DB进行加固一.日维护过程1、1、确认所有的INSTANCE状态正常登陆到所有数据库或例程,检测ORACLE后台进程:$ps –ef|grep ora1、2、检查文件系统的使用(剩余空间)如果文件系统的剩余空间小于20%,需删除不用的文件以释放空间。
#df –k1、3、检查日志文件与trace文件记录检查相关的日志文件与trace文件中就是否存在错误。
A、连接到每个需管理的系统使用’telnet’命令B、对每个数据库,进入到数据库的bdump目录,unix系统中BDUMP目录通常就是$ORACLE_BASE/<SID>/bdump#$ORACLE_BASE/<SID>/bdumpC、使用Unix ‘tail’命令来查瞧alert_<SID>、log文件#tail $ORACLE_BASE/<SID>/bdump/alert_<SID>、logD、如果发现任何新的ORA- 错误,记录并解决1、4、检查数据库当日备份的有效性。
对RMAN备份方式:1、5、检查数据文件的状态检查所有数据文件并记录状态不就是“online”的数据文件,并做恢复。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle数据库日常维护手册在Oracle数据库运行期间,DBA应该对数据库的运行日志及表空间的使用情况进行监控,及早发现数据库中存在的问题。
一、Oracle警告日志文件监控Oracle在运行过程中,会在警告日志文件(alert_SID.log)中记录数据库的一些运行情况:●数据库的启动、关闭,启动时的非缺省参数;●数据库的重做日志切换情况,记录每次切换的时间,及如果因为检查点(checkpoint)操作没有执行完成造成不能切换,会记录不能切换的原因;●对数据库进行的某些操作,如创建或删除表空间、增加数据文件;●数据库发生的错误,如表空间不够、出现坏块、数据库内部错误(ORA-600)DBA应该定期检查日志文件,根据日志中发现的问题及时进行处理问题处理启动参数不对检查初始化参数文件因为检查点操作或归档操作没有完成造成重做日志不能切换如果经常发生这样的情况,可以考虑增加重做日志文件组;想办法提高检查点或归档操作的效率;有人未经授权删除了表空间检查数据库的安全问题,是否密码太简单;如有必要,撤消某些用户的系统权限出现坏块检查是否是硬件问题(如磁盘本生有坏块),如果不是,检查是那个数据库对象出现了坏块,对这个对象进行重建表空间不够增加数据文件到相应的表空间出现ORA-600根据日志文件的内容查看相应的TRC文件,如果是Oracle的bug,要及时打上相应的补丁二、数据库表空间使用情况监控(字典管理表空间)数据库运行了一段时间后,由于不断的在表空间上创建和删除对象,会在表空间上产生大量的碎片,DBA应该及时了解表空间的碎片和可用空间情况,以决定是否要对碎片进行整理或为表空间增加数据文件。
select tablespace_name,count(*) chunks ,max(bytes/1024/1024) max_chunkfrom dba_free_spacegroup by tablespace_name; 个人收集整理上面的SQL列出了数据库中每个表空间的空闲块情况,如下所示:TABLESPACE_NAME CHUNKS MAX_CHUNK-------------------- ---------- ----------INDX 1 57.9921875RBS 3 490.992188RMAN_TS 1 16.515625SYSTEM 1 207.296875TEMP 20 70.8046875TOOLS 1 11.8359375USERS 67 71.3671875个人收集整理勿做商业用途其中,CHUNKS列表示表空间中有多少可用的空闲块(每个空闲块是由一些连续的Oracle 数据块组成),如果这样的空闲块过多,比如平均到每个数据文件上超过了100个,那么该表空间的碎片状况就比较严重了,可以尝试用以下的SQL命令进行表空间相邻碎片的接合:alter tablespace 表空间名 coalesce;然后再执行查看表空间碎片的SQL语句,看表空间的碎片有没有减少。
如果没有效果,并且表空间的碎片已经严重影响到了数据库的运行,则考虑对该表空间进行重建。
MAX_CHUNK列的结果是表空间上最大的可用块大小,如果该表空间上的对象所需分配的空间(NEXT值)大于可用块的大小的话,就会提示ORA-1652、ORA-1653、ORA-1654的错误信息,DBA应该及时对表空间的空间进行扩充,以避免这些错误发生。
对表空间的扩充对表空间的数据文件大小进行扩展,或向表空间增加数据文件,具体操作见“存储管理”部份。
三、查看数据库的连接情况DBA要定时对数据库的连接情况进行检查,看与数据库建立的会话数目是不是正常,如果建立了过多的连接,会消耗数据库的资源。
同时,对一些“挂死”的连接,可能会需要DBA手工进行清理。
以下的SQL语句列出当前数据库建立的会话情况:select sid,serial#,username,program,machine,statusfrom v$session;个人收集整理勿做商业用途输出结果为:SID SERIAL# USERNAME PROGRAM MACHINE STATUS---- ------- ---------- ----------- --------------- --------1 1 ORACLE.EXE WORK3 ACTIVE2 1 ORACLE.EXE WORK3 ACTIVE3 1 ORACLE.EXE WORK3 ACTIVE4 1 ORACLE.EXE WORK3 ACTIVE5 3 ORACLE.EXE WORK3 ACTIVE6 1 ORACLE.EXE WORK3 ACTIVE7 1 ORACLE.EXE WORK3 ACTIVE8 27 SYS SQLPLUS.EXE WORKGROUP\WORK3 ACTIVE11 5 DBSNMP dbsnmp.exe WORKGROUP\WORK3 INACTIVE其中,SID 会话(session)的ID号;SERIAL# 会话的序列号,和SID一起用来唯一标识一个会话;USERNAME 建立该会话的用户名;PROGRAM 这个会话是用什么工具连接到数据库的;STATUS 当前这个会话的状态,ACTIVE表示会话正在执行某些任务,INACTIVE表示当前会话没有执行任何操作;如果DBA要手工断开某个会话,则执行:alter system kill session 'SID,SERIAL#';注意,上例中SID为1到7(USERNAME列为空)的会话,是Oracle的后台进程,不要对这些会话进行任何操作。
四、控制文件的备份在数据库结构发生变化时,如增加了表空间,增加了数据文件或重做日志文件这些操作,都会造成Oracle数据库控制文件的变化,DBA应及进行控制文件的备份,备份方法是:执行SQL语句:alter databasebackup controlfile to '/home/backup/control.bak';或:alter databasebackup controlfile to trace;这样,会在USER_DUMP_DEST(初始化参数文件中指定)目录下生成创建控制文件的SQL命令。
五、检查数据库文件的状态DBA要及时查看数据库中数据文件的状态(如被误删除),根据实际情况决定如何进行处理,检查数据文件的状态的SQL如下:select file_name,statusfrom dba_data_files;如果数据文件的STATUS列不是AVAILABLE,那么就要采取相应的措施,如对该数据文件进行恢复操作,或重建该数据文件所在的表空间。
六、检查数据库定时作业的完成情况如果数据库使用了Oracle的JOB来完成一些定时作业,要对这些JOB的运行情况进行检查:select job,log_user,last_date,failuresfrom dba_jobs; 个人收集整理勿做商业用途如果FAILURES列是一个大于0的数的话,说明JOB运行失败,要进一步的检查。
七、数据库坏块的处理当Oracle数据库出现坏块时,Oracle会在警告日志文件(alert_SID.log)中记录坏块的信息:ORA-01578: ORACLE data block corrupted (file # 7, block # )ORA-01110: data file : '/oracle1/oradata/V920/oradata/V816/users01.dbf'其中,代表坏块所在数据文件的绝对文件号,代表坏块是数据文件上的第几个数据块出现这种情况时,应该首先检查是否是硬件及操作系统上的故障导致Oracle数据库出现坏块。
在排除了数据库以外的原因后,再对发生坏块的数据库对象进行处理。
1.确定发生坏块的数据库对象SELECT tablespace_name,segment_type,owner,segment_nameFROM dba_extentsWHERE file_id =ANDbetween block_id AND block_id+blocks-1; 个人收集整理2.决定修复方法如果发生坏块的对象是一个索引,那么可以直接把索引DROP掉后,再根据表里的记录进行重建;如果发生坏块的表的记录可以根据其它表的记录生成的话,那么可以直接把这个表DROP掉后重建;如果有数据库的备份,则恢复数据库的方法来进行修复;如果表里的记录没有其它办法恢复,那么坏块上的记录就丢失了,只能把表中其它数据块上的记录取出来,然后对这个表进行重建。
3.用Oracle提供的DBMS_REPAIR包标记出坏块exec DBMS_REPAIR.SKIP_CORRUPT_BLOCKS(' ','');4.使用Create table as select命令将表中其它块上的记录保存到另一张表上create table corrupt_table_bakasselect * from corrupt_table; 个人收集整理5.用DROP TABLE命令删除有坏块的表drop table corrup_tatble;6.用alter table rename命令恢复原来的表alter table corrupt_table_bakrename to corrupt_table; 个人收集整理7.如果表上存在索引,则要重建表上的索引八、操作系统相关维护DBA要注意对操作系统的监控:●文件系统的空间使用情况(df -k),必要时对Oracle的警告日志及TRC文件进行清理●如果Oracle提供网络服务,检查网络连接是否正常●检查操作系统的资源使用情况是否正常●检查数据库服务器有没有硬件故障,如磁盘、内存报错。