全球眼(MEGAEYES网络图像管理系统2.0 ORACLE S常维护与管理手册北京互信互通信息技术有限公司2004-08-08目录1 引言1.1 目的对于重要的商业系统来说, 数据库系统的正常运行是保证商业应用平稳运行 的关键。
但是数据库在运行过程中可能会因为种种原因发生问题。
这时,数据库 的管理与日常维护工作将变得尤为重要。
为了指导数据库管理员做好日常维护工作, 保证数据库系统的正常运行, 特 制定本文档。
当然, 数据库的日常维护是复杂和繁琐的, 本文仅涉及一些常见的 数据库日常维护的内容,在实际工作中,数据库管理员还需要做更多的工作。
1.2 范围本文档使用的人员:数据库维护管理人员和相关人员。
本文档涉及内容: oracle 数据库的日常维护与管理解决方案。
1.3 参考资料中国电信网络视频监控技术(暂行)规范2 日常维护与管理说明2.1 运行环境程序的运行环境包括硬件运行环境和软件运行环境。
2.1.1 硬件环境Intel 及其兼容系列 CPU剩余内存要达2G 以上剩余硬盘容量要达 1G 以上100 M 网卡2.1.2 软件环境CPU 类型: 内存容量: 硬盘容量:网卡类型:: RedHatLinuxAS3.0Oracle9iDatabaseRelease2forLinuxx862.2数据库日常维护数据库的日常维护工作主要包括管理员每日的工作内容,每周的工作内容以及每月的工作内容。
2.2.1数据库初始设置基于数据安全性的考虑,需要对数据库进行如下的初始设置。
1数据库设为归档模式1) 以管理员身份连接数据库SQL>>connectsys/sys@数据库例程 SIDassysdba2) 察看数据库是否处于存档模式SQL>>archiveloglist说明:该命令会提示以下信息,注意灰色部分显示的状态。
DatabaselogmodeNoArchiveModeAutomaticarchivalDisabledArchivedest in ati onOldest on li nelogseque nce31Curren tlogseque nce333) 如果处于非归档模式则设为归档模式SQL>>shutdow nimmediate;SQL>>start upmount;SQL>>alterdatabaseachivelog;4) 如果处于非自动归档状态则设为自动归档SQL>>altersystemsetlog_archive_start=TRUESC OP E=s pfile;5重新启动数据库SQL>>shutdow nimmediate;SQL>>startu p;2控制文件设置每一个数据库都必须有一个控制档。
它是一个小型二进制档案,用来描述 Oracle9i 实体结构。
主要是储存数据库名称,数据库建立时间,资料文件名称 与所在位置,重置日志文件名称与所在位置,目前的日志序列码 (logsequeneenumber ),检查点信息。
因此开启Oracle9i 数据库时一定要读取控 制文件才能取得所有数据库实体档案相关信息。
一旦控制文件不幸毁损,数据库便无法顺利开启。
也因为如此,控制档的管理与维护工作显得格外重要。
通常的设置建议为:每个数据库最好拥有两个以上控制档,并各自存放在不 同磁盘上。
系统默认有三个控制文件 controlOl.ctI , control02.ctl , con trol03.ctl 。
如果需要增加更多的控制文件,最简单的方式就是先将既有控制文件复制到 目的位置,然后将控制文件名称加入起始参数档的 CONTROLFILE 之中()。
同 理,如果想更改控制档名称,也可以先将控制文件复制到目的位置后予以更名, 再更新操作系统: 数据库:CONTROLFILE 参数。
操作步骤如下:1. 关闭数据库。
2. 在操作系统下将既有控制文件复制到目的位置。
3. 开启起始参数档,并修改CONTR0」FILES 数。
您必须将新的控制文 件名与所在目录更新到 init<sid>.ora4. 重新开启数据库。
3 重做日志文件设置数据库默认情况下有三个日志文件成员组,分别为 Group1, Group2, Group3。
每个组里面有一个成员。
分别对应 redo01.log , redo02.log , redo03.log 。
重 做日志文件是重要的数据库恢复结构, 因为它记录了数据库的所有变更。
因此重 做日志文件的存储非常关键。
通常的设置建议为: 至少需要两个日志成员组, 每 个日志文件成员组至少有两个成员, 不同的日志成员组存储在不同的磁盘上。
可 以通过如下命令增加日志成员组和成员: 添加日志文件成员组ALTERDATABASEADDLOGFILEGROUP4('/opt/redo04.log')SIZE1024K 删除日志文件成员组alterdatabasedroplogfilegroupx ;添加日志文件成员AlterDatabaseAddLogfileMember'/opt/oracle/redo04.log'TOGROUP3 删除日志文件成员AlterDatabasedroplogfilemember '/opt/oracle/redo04.log'FROMGROUP32.2.2 每日工作内容 ⑴确认所有的数据库INSTANCES 态正常方法一:通过 EnterpriseManagerConsole 登陆到所有数据库或例程 , 检测 ORACLE 后台进程是否都启动正常。
EnterpriseManagerConsole 通过命令 $oemappconsole 启动然后使用 sys 用户登录(角色使用 sysdba ) . 方法二:通过操作系统命令查看 oracle $ps-ef|grepora 数据库 instance 进程名一般是如下格式: (2) 检查文件系统的使用(剩余空间)如果文件系统的剩余空间小于 20%, 作系统命令:$df - k(3) 检查日志文件和 trace 文件记录 alert 和 trace 文件中的错误连 接 到 管 理 的 数 据 库 系 统 , 数 据 库 日 志 信 息 通 常 是$ORACLE_BASE/rdbms/log./opt/oracle/admin/mega/bdump 使用操作系统命令: $tailalert_<SID>.log $tail<SID>_*_*.trc 查看日志信息,如果发现任何新的 0RA 错误,记录并解决。
(4) 检查数据库当日备份的有效性 对EXPOR 备份方式:的服务进程是否运行正常。
命令如下: oracle+<SID>需删除不用的文件以释放空间。
通过操检查 exp 日志文件以确定备份是否成功对其他备份方式 :检查相应的日志文件(5) 检查表空间的使用情况运行附件提供的脚本 checktablespace.sql ,该脚本会生成一个报表文件/opt/oracle/freespace.lst 同时会把统计结果输出的操作控制台。
可以查看数 据库所有表空间的使用情况。
包括已使用的空间和未使用的空间等信息。
对每一个数据库实例来说, 检查在表空间中是否存在有剩余空间来满足当天 的预期的需要。
数据库中已有的数据是稳定的, 数据日增长的平均数是可以通过 一段时间的统计计算出来,要保证最小的剩余空间至少要能满足每天数据的增 长。
如果发现表空间不足,可以通过如下脚本来扩展表空间:命令格式: altertablespace<name>adddatafile ‘<file> 'size<size>示例: altertablespacemegaspaceadddatafile‘/opt/oracle/oradata/mega/megaspace1.dbf 'size200m(6) 检查数据库服务器性能,记录数据库的 cpu ,内存使用使用操作系统命令 vmstat 查看当前系统 cpu 以及内存使用情况。
2.2.3 每周工作内容(1) 监控数据库对象的空间扩展情况根据本周每天的检查情况找到空间扩展很快的数据库对象 施保证数据量的增长不会影响数据库的稳定运行。
命令格式: altertablespace<name>adddatafile 示例:altertablespacemegaspaceadddatafile ‘/opt/oracle/oradata/mega/megaspace1.dbf(2) 系统健康检查 检查内容包括:初始化文件 init<sid>.ora( 默认存放路径 /opt/oracle/admin/< sid >/pfile) 控制文件 controlfile( 默认存放路径 /opt/oracle) 重做日志 redologfile (默认存放路径 /opt/oracle/oradata/< sid >)表空间 tablespace(system,temporary,tablespacefragment) 数据文件datafiles(autoextend,location)回滚段 rollbacksegment 日志文件 loggingfile&tracingfile 以上检查可通过登陆 EnterpriseManagerConsole 操作。
(3) 检查无效的数据库对象SELECTowner,object_name,object_typeFROMdba_objectsWHEREstatus='INVALI D'2.2.4 每月工作内容(1) 检查表空间碎片 根据本月每周的检查分析数据库碎片情况 , 找到相应的解决方法。
检查碎片可执 行附件提供的脚本tablespaceclean.sql 查看系统所有表空间的 FSFI 值.FSFI 最大可能值为 100,如果小于 30,该表空间就应该整理自由空间的碎片。
(2) 数据库性能调整比较每天对数据库性能的监控报告 , 确定是否有必要对数据库性能进行调整。
,并采取相应的措 一般采取扩展表空间的方式: ‘ <file> 'size<size>' size200m(3)提出下一步空间管理计划根据每周的监控, 提出空间管理的改进方法(4)计划数据库将来的性能比较ORACL和操作系统的CPU内存,网络,及硬盘的利用率以此来确定在近期将会有的一些资源争夺的趋势,提前做好修改或扩容准备。