Oracle日常维护手册

Oracle日常维护手册
Oracle日常维护手册

目录

Oracle数据库日常维护 (1)

Oracle警告日志文件监控 (1)

数据库表空间使用情况监控(字典管理表空间) (2)

查看数据库的连接情况 (4)

控制文件的备份 (5)

检查数据库文件的状态 (5)

检查数据库定时作业的完成情况 (6)

数据库坏块的处理 (6)

操作系统相关维护 (7)

Oracle数据库日常维护

在Oracle数据库运行期间,DBA应该对数据库的运行日志及表空间的使用情况进行监控,及早发现数据库中存在的问题。

Oracle警告日志文件监控

Oracle在运行过程中,会在警告日志文件(alert_SID.log)中记录数据库的一些运行情况:

●数据库的启动、关闭,启动时的非缺省参数;

●数据库的重做日志切换情况,记录每次切换的时间,及如果因为检查点

(checkpoint)操作没有执行完成造成不能切换,会记录不能切换的原因;

●对数据库进行的某些操作,如创建或删除表空间、增加数据文件;

●数据库发生的错误,如表空间不够、出现坏块、数据库内部错误(ORA

-600)

DBA应该定期检查日志文件,根据日志中发现的问题及时进行处理

数据库表空间使用情况监控(字典管理表空间)

数据库运行了一段时间后,由于不断的在表空间上创建和删除对象,会在表空间上产生大量的碎片,DBA应该及时了解表空间的碎片和可用空间情况,以决定是否要对碎片进行整理或为表空间增加数据文件。

select tablespace_name,

count(*) chunks ,

max(bytes/1024/1024) max_chunk

from dba_free_space

group by tablespace_name;

上面的SQL列出了数据库中每个表空间的空闲块情况,如下所示:

TABLESPACE_NAME CHUNKS MAX_CHUNK

-------------------- ---------- ----------

INDX 1 57.9921875

RBS 3 490.992188

RMAN_TS 1 16.515625

SYSTEM 1 207.296875

TEMP 20 70.8046875

TOOLS 1 11.8359375

USERS 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,status

from v$session;

输出结果为:

SID SERIAL# USERNAME PROGRAM MACHINE STATUS

---- ------- ---------- ----------- --------------- --------

1 1 ORACLE.EXE WORK3 ACTIVE

2 1 ORACLE.EXE WORK

3 ACTIVE

3 1 ORACLE.EXE WORK3 ACTIVE

4 1 ORACLE.EXE WORK3 ACTIVE

5 3 ORACLE.EXE WORK3 ACTIVE

6 1 ORACLE.EXE WORK3 ACTIVE

7 1 ORACLE.EXE WORK3 ACTIVE

8 27 SYS SQLPLUS.EXE WORKGROUP\WORK3 ACTIVE

11 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 database

backup controlfile to '/home/backup/control.bak';

或:

alter database

backup controlfile to trace;

这样,会在USER_DUMP_DEST(初始化参数文件中指定)目录下生成创建控制文件的SQL命令。

检查数据库文件的状态

DBA要及时查看数据库中数据文件的状态(如被误删除),根据实际情况决定如何进行处理,检查数据文件的状态的SQL如下:

select file_name,status

from dba_data_files;

如果数据文件的STATUS列不是A V AILABLE,那么就要采取相应的措施,如对该数据文件进行恢复操作,或重建该数据文件所在的表空间。

检查数据库定时作业的完成情况

如果数据库使用了Oracle的JOB来完成一些定时作业,要对这些JOB的运行情况进行检查:

select job,log_user,last_date,failures

from 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'

其中,<AFN>代表坏块所在数据文件的绝对文件号,代表坏块是数据文件上的第几个数据块

出现这种情况时,应该首先检查是否是硬件及操作系统上的故障导致Oracle数据库出现坏块。在排除了数据库以外的原因后,再对发生坏块的数据库对象进行处理。

1.确定发生坏块的数据库对象

SELECT tablespace_name,

segment_type,

owner,

segment_name

FROM dba_extents

WHERE file_id =

AND between 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_bak

as

select * from corrupt_table;

5.用DROP TABLE命令删除有坏块的表

drop table corrupt_table;

6.用alter table rename命令恢复原来的表

alter table corrupt_table_bak

rename to corrupt_table;

7.如果表上存在索引,则要重建表上的索引

操作系统相关维护

DBA要注意对操作系统的监控:

●文件系统的空间使用情况(df -k),必要时对Oracle的警告日志及TRC文

件进行清理

●如果Oracle提供网络服务,检查网络连接是否正常

●检查操作系统的资源使用情况是否正常

●检查数据库服务器有没有硬件故障,如磁盘、内存报错

Oracle DBA 数据库日常维护手册 常用SQL 脚本

Oracle数据库日常维护 【版本整理日期:2011/02/26 】 版本整理人:1634068400@https://www.360docs.net/doc/4915703051.html, 本文档包含以下内容: 1.Oracle数据库日常维护 2.Oracle DBA 常用管理脚本 3.Oracle DB 常用SQL 语句

/******************************************************** https://www.360docs.net/doc/4915703051.html,(若跳转不成功,请复制到浏览器或联系Q) https://www.360docs.net/doc/4915703051.html,/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 应该及时了解表空间的碎片和可用空间情况,以决定是否要对碎片进行整理或为表空间增加数据文件。 select tablespace_name,

Oracle数据库日常维护工作

文档编号
Oracle 数据库日常维护工作
凌群电脑有限公司 凌群电脑有限公司 2004 年 12 月 15 日

数据库日常维护工作》 《Oracle 数据库日常维护工作》

1.1 1.2 1.3 1.4 1.5 1.6

1. DBA 日常维护工作 ..................................................................................................................... 3 检查已经打开的所有实例 .................................................................................................... 3 检查最新的警告日志 ............................................................................................................ 7 检查数据库备份是否正确 .................................................................................................... 8 检查备份到磁带中的文件是否正确 .................................................................................... 9 检查数据库的性能是否合理,系统资源是否充足 ............................................................ 9 仔细阅读 ORACLE 标准文档 ............................................................................................... 10
2.晚间维护工作 晚间维护工作.............................................................................................................................. 10 晚间维护工作 2.1 收集相关表的统计数据 ....................................................................................................... 10 3.每周维护工作 每周维护工作.............................................................................................................................. 10 每周维护工作 3.1 检查异常的对象................................................................................................................... 10 3.1.1 检查现有的 NEXT_EXTENT 情况:............................................................................ 10 3.1.2 检查已有的 EXTENTS: .............................................................................................. 11 3.1.3 查看哪些表没有主键 .................................................................................................... 11 3.1.4 查找哪些主键是没有发挥作用的 ................................................................................ 12 3.1.5 所有作索引的主键都应是唯一的 ................................................................................ 12 3.2 检查是否有不安全的问题 ................................................................................................... 12 3.3 检查是否有错误 SQL*NET 日志 ....................................................................................... 13 3.4 归档当前告警日志 ............................................................................................................... 13 3.5 访问供应商站点................................................................................................................... 13 4.月维护工作 月维护工作.................................................................................................................................. 13 月维护工作 4.1 检查是否有异常的空间增长 ............................................................................................... 13 4.2 回顾以前数据库性能优化的调整 ....................................................................................... 14 4.3 检查 IO 瓶颈 ........................................................................................................................ 14 4.4 检查碎片的问题(8I 系统) ............................................................................................... 15
2

Oracle数据库日常维护手册

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_chunk from dba_free_space group by tablespace_name; 个人收集整理 上面的SQL列出了数据库中每个表空间的空闲块情况,如下所示: TABLESPACE_NAME CHUNKS MAX_CHUNK -------------------- ---------- ---------- INDX 1 57.9921875 RBS 3 490.992188 RMAN_TS 1 16.515625 SYSTEM 1 207.296875 TEMP 20 70.8046875 TOOLS 1 11.8359375 USERS 67 71.3671875个人收集整理 其中,CHUNKS列表示表空间中有多少可用的空闲块(每个空闲块是由一些连续的Oracle 数据块组成),如果这样的空闲块过多,比如平均到每个数据文件上超过了100个,那么该表空间的碎片状况就比较严重了,可以尝试用以下的SQL命令进行表空间相邻碎片的接合: alter tablespace 表空间名 coalesce; 然后再执行查看表空间碎片的SQL语句,看表空间的碎片有没有减少。如果没有效果,并且表空间的碎片已经严重影响到了数据库的运行,则考虑对该表空间进行重建。 MAX_CHUNK列的结果是表空间上最大的可用块大小,如果该表空间上的对象所需分配的空间(NEXT值)大于可用块的大小的话,就会提示ORA-1652、ORA-1653、ORA-1654的错误信息,DBA应该及时对表空间的空间进行扩充,以避免这些错误发生。 对表空间的扩充对表空间的数据文件大小进行扩展,或向表空间增加数据文件,具体操作见“存储管理”部份。 三、查看数据库的连接情况

ORACLE数据库日常维护与管理手册

全球眼?(MEGAEYES)网络图像管理系统2.0 ORACLE日常维护与管理手册 北京互信互通信息技术有限公司 2004-08-08

目录 全球眼?(MEGAEYES)网络图像管理系统2.0 (1) 1引言 (3) 1.1 目的 (3) 1.2 范围 (3) 1.3 参考资料 (3) 2日常维护与管理说明 (3) 2.1 运行环境 (3) 2.1.1硬件环境 (3) 2.1.2软件环境 (3) 2.2 数据库日常维护 (4) 2.2.1数据库初始设置 (4) 2.2.2每日工作内容 (5) 2.2.3每周工作内容 (6) 2.2.4每月工作内容 (7)

1引言 1.1目的 对于重要的商业系统来说,数据库系统的正常运行是保证商业应用平稳运行的关键。但是数据库在运行过程中可能会因为种种原因发生问题。这时,数据库的管理与日常维护工作将变得尤为重要。 为了指导数据库管理员做好日常维护工作,保证数据库系统的正常运行,特制定本文档。当然,数据库的日常维护是复杂和繁琐的,本文仅涉及一些常见的数据库日常维护的内容,在实际工作中,数据库管理员还需要做更多的工作。 1.2范围 本文档使用的人员:数据库维护管理人员和相关人员。 本文档涉及内容:oracle数据库的日常维护与管理解决方案。 1.3参考资料 中国电信网络视频监控技术(暂行)规范 2日常维护与管理说明 2.1运行环境 程序的运行环境包括硬件运行环境和软件运行环境。 2.1.1硬件环境 ◆CPU类型:Intel及其兼容系列CPU ◆内存容量:剩余内存要达2G以上 ◆硬盘容量:剩余硬盘容量要达1G以上 ◆网卡类型:100M网卡 2.1.2软件环境 ◆操作系统:RedHat Linux AS 3.0 ◆数据库:Oracle9i Database Release 2 (9.2.0.4.0) for Linux x86

Oracle数据库日常维护实施方案书

Oracle数据库日常维护方案书

————————————————————————————————作者:————————————————————————————————日期: 2

ORACLE数据库日常运行维护年度服务项目 方案书

目录 1 2 3 项目背景及目标 (5) 1.1项目背景 (5) 1.2项目目标 (5) 需求分析 (5) 项目总体方案 (7) 3.1数据库性能优化 (8) 3.1.1检查Oracle数据库性能 (8) 3.1.1.1 3.1.1.2 3.1.1.3 3.1.1.4 3.1.1.5 3.1.1.6 3.1.1.7 3.1.1.8 3.1.1.9 检查数据库的等待事件 (9) Disk Read 最高的SQL 语句的获取 (9) 查找前十条性能差的sql (9) 等待时间最多的 5 个系统等待事件的获取 (9) 检查运行很久的SQL (9) 检查消耗CPU 最高的进程 (10) 检查碎片程度高的表 (10) 检查表空间的I/O 比例 (10) 检查文件系统的I/O 比例 (10) 3.1.1.10 检查死锁及处理 (10) 3.1.1.11 检查数据库cpu、I/O、内存性能 (11) 3.1.1.12 查看是否有僵死进程 (12) 3.1.1.13 检查行链接/迁移 (13) 3.1.1.14 定期做统计分析 (13) 3.1.1.15 检查缓冲区命中率 (14) 3.1.1.16 检查共享池命中率 (14) 3.1.1.17 检查排序区 (14) 3.1.1.18 检查日志缓冲区 (15) 3.1.2性能调优及方法 (15) 3.1.2.1 3.1.2.2 3.1.2.3 3.1.2.4 3.1.2.5 寻找问题根源 (16) System_Event 事件 (16) Session_Event 事件 (16) Session_Wait (17) 应用优化 (17) 3.1.2.5.1 3.1.2.5.2 3.1.2.5.3 3.1.2.5.4 例程调优 (17) I-O 优化 (19) 竞争优化 (19) O-S 监控 (20) 3.2数据库备份恢复 (21) 3.2.1检查Oracle数据库备份结果 (21) 3.2.1.1 3.2.1.2 3.2.1.3 检查数据库备份日志信息 (21) 检查backup 卷中文件产生的时间 (22) 检查oracle 用户的email (22) 3.3数据库迁移 (22)

Oracle数据库维护手册

Oracle 数据库定期维护手册 定期备份任务计划执行检查 打开附件(系统工具(任务计划 查看状态,如果状态是未能启动,则打开菜单高级(查看日志,看未能执行任务计划的原因,并处理,处理完成后,右击任务计划运行。 使用DBA 图形工具(8.1.7 DBA Studio,9i Oracle Enterprise manager Console,10G 网页的EM )检查数据库状态 主要检查空间使用情况,重点对超过80%已使用的表空间进行检查,必要时增加数据文件或将相应的数据文件设为自动扩展,注意单个数据文件大小不要超过3.9G Oracle警告日志文件监控 Oracle在运行过程中,会在警告日志文件(alert.log或alert_SID.log)中记录数据库的一些运行情况: ●数据库的启动、关闭,启动时的非缺省参数; ●数据库的重做日志切换情况,记录每次切换的时间,及如果因为检查点(checkpoint)操作没有执行完成造成不能切换,会记录不能切换的原因; ●对数据库进行的某些操作,如创建或删除表空间、增加数据文件; ●数据库发生的错误,如表空间不够、出现坏块、数据库内部错误(ORA-600) DBA应该定期检查日志文件,根据日志中发现的问题及时进行处理 问题处理 如提示启动参数不对,则检查初始化参数文件 因为检查点操作或归档操作没有完成造成重做日志不能切换如果经常发生这样的情况,可以考虑增加重做日志文件组;想办法提高检查点或归档操作的效率; 有人未经授权删除了表空间则检查数据库的安全问题,是否密码太简单;如有必要,撤消某些用户的系统权限 出现坏块检查是否是硬件问题(如磁盘本生有坏块),如果不是,检查是那个数据库对象出现了坏块,对这个对象进行重建 表空间不够增加数据文件到相应的表空间 出现ORA-600根据日志文件的内容查看相应的TRC文件,如果是Oracle的bug,要及时打上相应的补丁 数据库表空间使用情况检查 数据库运行了一段时间后,由于不断的在表空间上创建和删除对象,会在表空间上产生大量的碎片,DBA应该及时了解表空间的碎片和可用空间情况,以决定是否要对碎片进行整理或为表空间增加数据文件。 select tablespace_name, count(*) chunks , max(bytes/1024/1024) max_chunk from dba_free_space group by tablespace_name; 其中,CHUNKS列表示表空间中有多少可用的空闲块(每个空闲块是由一些连续的Oracle 数据块组成),如果这样的空闲块过多,比如平均到每个数据文件上超过了100个,那么该

Oracle数据库日常维护手册

密级:保密编号: Oracle10g数据库 维护手册

日期: 编写: 核对: 更新: 目录1............................... 检查数据库基本状况9

1.1. ........................... 检查O RACLE实例状态 9 1.2. ........................... 检查O RACLE服务进程 11 1.3. ........................... 检查O RACLE监听状态 14 2........................ 检查系统和ORACLE日志文件16 2.1. ........................ 检查操作系统日志文件 16 2.2. ........................... 检查ORACLE日志文件 16 2.3. ....................... 检查O RACLE核心转储目录 18 2.4. .............. 检查R OOT用户和O RACLE用户的EMAIL 18 3.............................. 检查ORACLE对象状态18 3.1. ....................... 检查O RACLE控制文件状态

19 3.2. ....................... 检查O RACLE在线日志状态 19 3.3. ....................... 检查O RACLE表空间的状态 20 3.4. ................... 检查O RACLE所有数据文件状态 22 3.5. ................................ 检查无效对象 26 3.6. .......................... 检查所有回滚段状态 26 4.................... 检查ORACLE相关资源的使用情况27 4.1. ............. 检查O RACLE初始化文件中相关参数值 28 4.2. .......................... 检查数据库连接情况 31 4.3. ............................ 检查系统磁盘空间 34

Oracle管理员日常维护手册(pdf 68页)

Oracle管理员日常维护指南 概述 (2) 第一章. 事前阶段 (3) 一、日常工作-每天应做工作内容 (3) 1、工作内容-日常环境监控 (3) 1.1系统运行环境监控 (3) 1.2数据库运行状况监控 (3) 2、工作内容-日常性能监控 (4) 2.1 间隔一段时间使用操作系统top等工具监控系统资源动态运行状况 (4) 2.2间隔一段时间对数据库性能进行监控 (4) 3、工作内容-日常数据库管理 (13) 3.1一天内间隔一定时间运行 (13) 3.2 每天工作结束后、系统空闲时运行 (25) 二、日常工作-每隔一周工作内容 (52) 1. 文件整理工作 (52) 2. 数据库全量备份 (52) 2.1 Oracle 9i RMAN自动化脚本方式全量备份 (52) 2.2 Oracle 10g OEM 图形方式创建RMAN全量备份数据库任务 (52) 3. 根据一周数据增长率分析预留数据文件下一周所需增长空间 (53) 3.1 SQL脚本方式查看 (53) 3.2 Oracle 9i OEM 数据文件管理 (54) 3.3 Oracle 10g OEM 数据文件管理 (55) 4. 索引使用情况及碎片分析 (55) 4.1表包含的索引及相关列检查 (55) 4.2自动化脚本方式对索引进行碎片分析 (56) 4.3打开索引自动监控开关 (56) 5. 对用户所有表、索引进行统计分析 (57) 5.1 查询EAS用户所有表、索引的最新统计分析时间 (57) 5.2 自动化脚本方式对所有表、索引统计分析 (57) 5.3 Oracle 10g OEM图形化自定义对所有表、索引统计分析的自动化调度任 务 (57) 6. 导出表、索引最新统计分析数据 (63) 7. 性能报告分析 (64) 三、日常工作-每月应做工作内容 (64) 1.性能全面分析 (64) 全面分析一次STATSPACK报告 (64) 空间使用增长的全面分析 (64) 2.备份数据转备 (64) 四日常工作-数据库第一次安装部署后需做的工作 (64) 1. Statspack-系统快照采集工具初始化 (64) 2.创建统计信息导出表 (65)

ORACLE RAC日常管理和维护

ORACLE RAC日常管理 1、最常用、最重要的命令: 首先登陆的服务器然后执行su-oracle 关闭集群:$crs_stop–all ps–ef|grep ora 查看是否还有ora开头的进程,没有后方可关机。 启动集群:$crs_start-all 启动完集群后可以用如下命令检查集群状态,所有的服务都要是ONLINE才是正常的,如下[root@node1bin]$crs_stat-t Name Type Target State Host ------------------------------------------------------------ ora....w1.inst application ONLINE ONLINE node1 ora....w2.inst application ONLINE ONLINE node2 ora.cjw.db application ONLINE ONLINE node1 ora....SM1.asm application ONLINE ONLINE node1 ora....E1.lsnr application ONLINE ONLINE node1 ora.node1.gsd application ONLINE ONLINE node1 ora.node1.ons application ONLINE ONLINE node1 ora.node1.vip application ONLINE ONLINE node1 ora....SM2.asm application ONLINE ONLINE node2 ora....E2.lsnr application ONLINE ONLINE node2 ora.node2.gsd application ONLINE ONLINE node2 ora.node2.ons application ONLINE ONLINE node2 ora.node2.vip application ONLINE ONLINE node2 ps–ef|grep ora 下面是一些简介,了解一下就可以了,有时间可以深入研究。 一、Oracle RAC简介: Oracle RAC支持Oracle数据库在集群上运行真正的应用程序。此处的真正应用是指RAC能够支持所有类型的主流商业应用程序。这包括流行的封装产品,如SAP、PeopleSoft

Oracle11G日常维护手册

Oracle Database 日常维护手册 目录 1. 登陆到数据库 (3) . 服务器端配置Listener (3) . 客户端tnsnames (4) . 检查Oracle Listener (5) . 登陆数据库的方式 (5) . 数据库的启动 (5) . 关闭数据库 (6) 2. 用户管理 (6) . 检察用户profile (6) . 查看用户profile参数 (6) 3. 检查数据库基本状况 (7) . 检查数据库创建日期 (7) . 检查数据库版本信息 (7)

. 检查实例状态 (7) . 查看前台进程 (7) . 查看数据库连接的session (8) . 查看连接到数据库的模式 (8) . 查看并发连接数 (8) . 查看最大的连接'processes' (8) . 监控系统后台进程 (8) . 查看数据库初始化参数 (8) . 检查PGA使用情况 (8) . 检查SGA状态 (8) . 检查Oracle服务进程 (8) . 检查Oracle监听状态 (9) . 检查监听进程是否存在 (10) . 检查操作系统日志文件 (10) . 检查oracle日志文件 (10)

. 检查Oracle核心转储目录 (10) . 检查Root用户和Oracle用户的email (11) 4. 检查Oracle对象状态 (11) . 检查Oracle控制文件状态 (11) . 检查Oracle在线日志状态 (11) . 检查Oracle表空间的状态 (12) . 检查Oracle所有数据文件状态 (12) . 检查无效对象 (12) . 检查所有回滚段状态 (13) . 检查用户下的表 (13) . 检查用户默认表空间 (13) . 检查当前用户角色及权限 (13) . 检查用户下的各个表的大小 (13) . 检查一个表的创建时间 (13) . 检查某个表的大小 (13)

Linux日常操作及ORACLE日常维护(新手必备)

1、登陆linux 通过xshell工具使用ssh协议登录系统;2、查看系统时间:data 3、查看系统运行时间uptime 4、查看分区情况 5、查看磁盘使用情况:df -h 6、查看IP,及网络配置信息ficonfig、ip ad

7、重启命令shutdown -r now,reboot 8、查看防火墙状态service iptables status,以下状态防火墙已关闭 9、(su -)切换至oracle安装用户,以下YZFDJKITTP为oracle的安装用回, 10、查看oracle环境变量信息cat .bash_profile 11、查看oracle监听名称,首先使用cd命令切换到监听程序配置文件所在的目录,然后使用cat命令查看监听配置文件(listener.ora)内容

12 查看监听程序状态 13 查看数据库网路服务名(tnsnames.ora),此文件与监听配置文件在同一目录下 13 测试oracle数据库服务连接情况tnsping 服务名

14 通过操作系统认证登录oracle数据库 15、查看数据库启动情况,以下为正常打开模式,可读可写 16、查看oracle实例信息 17、查看是否开启归档 18、查看表空间使用情况 SELECT TABLESPACE_NAME "biao_kong_jian",

To_char(Round(BYTES / 1024, 2), '99990.00') || '' "gongyou", To_char(Round(FREE / 1024, 2), '99990.00') || 'G' "xianyou", To_char(Round(( BYTES - FREE ) / 1024, 2), '99990.00') || 'G' "shiyong", To_char(Round(10000 * USED / BYTES) / 100, '99990.00') || '%' "bili" FROM (SELECT A.TABLESPACE_NAME TABLESPACE_NAME, Floor(A.BYTES / ( 1024 * 1024 )) BYTES, Floor(B.FREE / ( 1024 * 1024 )) FREE, Floor(( A.BYTES - B.FREE ) / ( 1024 * 1024 )) USED FROM (SELECT TABLESPACE_NAME TABLESPACE_NAME, Sum(BYTES) BYTES FROM DBA_DATA_FILES GROUP BY TABLESPACE_NAME) A, (SELECT TABLESPACE_NAME TABLESPACE_NAME, Sum(BYTES) FREE FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME) B WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME) ORDER BY Floor(10000 * USED / BYTES) DESC;

ORACLE数据库日常维护手册(最全+最实用)

ORACLE 日常维护手册 查看数据库版本 SELECT*FROM V$VERSION; 查看数据库语言环境 SELECT USERENV('LANGUAGE')FROM DUAL; 查看ORACLE实例状态 SELECT INSTANCE_NAME,HOST_NAME,STARTUP_TIME,STATUS,DATABASE_STATUS FROM V$INSTANCE; 查看ORACLE监听状态 lsnrctl status 查看数据库归档模式 SELECT NAME,LOG_MODE,OPEN_MODE FROM V$DATABASE; 查看回收站中对象 SELECT OBJECT_NAME,ORIGINAL_NAME,TYPE FROM RECYCLEBIN; 清空回收站中对象 PURGE RECYCLEBIN; 还原回收站中的对象 FLASHBACK TABLE"BIN$GOZUQZ6GS222JZDCCTFLHQ==$0" TO BEFORE DROP RENAME TO TEST;

闪回误删除的表 FLASHBACK TABLE AAA TO BEFORE DROP; 闪回表中记录到某一时间点 ALTER TABLE TEST ENABLE ROW MOVEMENT; FLASHBACK TABLE TEST TO TIMESTAMP TO_TIMESTAMP('2009-10-15 21:17:47','YYYY-MM-DD HH24:MI:SS'); 查看当前会话 SELECT SID,SERIAL#,USERNAME,PROGRAM,MACHINE,STATUS FROM V$SESSION; 查看DDL锁 SELECT* FROM DBA_DDL_LOCKS WHERE OWNER ='FWYANG'; 检查等待事件 SELECT SID, https://www.360docs.net/doc/4915703051.html,ERNAME, EVENT, WAIT_CLASS, T1.SQL_TEXT FROM V$SESSION A, V$SQLAREA T1 WHERE WAIT_CLASS <>'Idle' AND A.SQL_ID = T1.SQL_ID; 检查数据文件状态 SELECT FILE_NAME,STATUS FROM DBA_DATA_FILES; 检查表空间使用情况 SELECT UPPER(F.TABLESPACE_NAME) "表空间名", D.TOT_GROOTTE_MB "表空间大小(M)", D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)", TO_CHAR(ROUND((D.TOT_GROOTTE_MB -F.TOTAL_BYTES)/D.TOT_GROOTTE_MB *100, 2), '990.99') "使用比", F.TOTAL_BYTES "空闲空间(M)",

数据库日常运维手册

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

Oracle DBA数据库日常维护完全手册

Oracle DBA数据库日常维护 在Oracle数据库运行期间,DBA应该对数据库的运行日志及表空间的使用情况进行监控,及早发现数据库中存在的问题。 一、Oracle警告日志文件监控 Oracle在运行过程中,会在警告日志文件(alert_SID.log)中记录数据库的一些运行情况: ●数据库的启动、关闭,启动时的非缺省参数; ●数据库的重做日志切换情况,记录每次切换的时间,及如果因为检查点(checkpoint)操作没有执行完成造成不能切换,会记录不能切换的原因; ●对数据库进行的某些操作,如创建或删除表空间、增加数据文件; ●数据库发生的错误,如表空间不够、出现坏块、数据库内部错误 (ORA-600) 。 DBA应该定期检查日志文件,根据日志中发现的问题及时进行处理。 问题处理: 启动参数不对检查初始化参数文件; 因为检查点操作或归档操作没有完成造成重做日志不能切换如果经常发生这样的情况,可以考虑增加重做日志文件组;想办法提高检查点或归档操作的效率; 有人未经授权删除了表空间检查数据库的安全问题,是否密码太简单;如有必要,撤消某些用户的系统权限; 出现坏块检查是否是硬件问题(如磁盘本生有坏块),如果不是,检查是那个数据库对象出现了坏块,对这个对象进行重建; 表空间不够增加数据文件到相应的表空间; 出现ORA-600根据日志文件的内容查看相应的TRC文件,如果是Oracle的bug,要及时打上相应的补丁。 二、数据库表空间使用情况监控(字典管理表空间)

数据库运行了一段时间后,由于不断的在表空间上创建和删除对象,会在表空间上产生大量的碎片,DBA应该及时了解表空间的碎片和可用空间情况,以决定是否要对碎片进行整理或为表空间增加数据文件。以下为引用的内容: 其中,CHUNKS列表示表空间中有多少可用的空闲块(每个空闲块是由一些连续的Oracle数据块组成),如果这样的空闲块过多,比如平均到每个数据文件上超过了100个,那么该表空间的碎片状况就比较严重了,可以尝试用以下的SQL 命令进行表空间相邻碎片的接合: 然后再执行查看表空间碎片的SQL语句,看表空间的碎片有没有减少。如果没有效果,并且表空间的碎片已经严重影响到了数据库的运行,则考虑对该表空间进行重建。 MAX_CHUNK列的结果是表空间上最大的可用块大小,如果该表空间上的对象所需分配的空间(NEXT值)大于可用块的大小的话,就会提示ORA-1652、 ORA-1653、ORA-1654的错误信息,DBA应该及时对表空间的空间进行扩充,以避免这些错误发生。 对表空间的扩充对表空间的数据文件大小进行扩展,或向表空间增加数据文件,具体操作见“存储管理”部份。 三、查看数据库的连接情况 DBA要定时对数据库的连接情况进行检查,看与数据库建立的会话数目是不是正常,如果建立了过多的连接,会消耗数据库的资源。同时,对一些“挂死”的连接,可能会需要DBA手工进行清理。 以下的SQL语句列出当前数据库建立的会话情况: 以下为引用的内容:

DBA数据库日常维护

1日常维护 1.1Oracle警告日志文件监控 Oracle在运行过程中,会在警告日志文件(alert_SID.log)中记录数据库的一些运行情况: ●数据库的启动、关闭,启动时的非缺省参数。 ●数据库的重做日志切换情况,记录每次切换的时间,及如果因为检查点 (checkpoint)操作没有执行完成造成不能切换,会记录不能切换的原因。 ●对数据库进行的某些操作,如创建或删除表空间、增加数据文件。 ●数据库发生的错误,如表空间不够、出现坏块、数据库内部错误(ORA-600)。 1.2数据库表空间使用情况监控(字典管理表空间) 数据库运行了一段时间后,由于不断的在表空间上创建和删除对象,会在表空间上产生大量的碎片,DBA应该及时了解表空间的碎片和可用空间情况,以决定是否要对碎片进行整理或为表空间增加数据文件。其中,CHUNKS列表示表空间中有多少可用的空闲块(每个空闲块是由一些连续的Oracle数据块组成),如果这样的空闲块过多,比如平均到每个数据文件上超过了100个,那么该表空间的碎片状况就比较严重了,这时候需要对表空间进行清理。 然后再执行查看表空间碎片的SQL语句,看表空间的碎片有没有减少。如果没有效果,并且表空间的碎片已经严重影响到了数据库的运行,则考虑对该表空间进行重建。 MAX_CHUNK列的结果是表空间上最大的可用块大小,如果该表空间上的对象所需分配的空间(NEXT值)大于可用块的大小的话,就会提示ORA-1652、ORA-1653、ORA-1654的错误信息,DBA应该及时对表空间的空间进行扩充,以避免这些错误发生。 1.3查看数据库的连接情况 DBA要定时对数据库的连接情况进行检查,看与数据库建立的会话数目是不是正常,如果建立了过多的连接,会消耗数据库的资源。同时,对一些“挂死”的连接,可能会需要DBA手工进行清理。 1.4控制文件的备份 在数据库结构发生变化时,如增加了表空间,增加了数据文件或重做日志文

相关文档
最新文档