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

神州数码信息系统有限公司数据库日常运维手册神州数码信息系统有限公司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数据库DBA管理手册1

4 第一部分 数据库体系结构
下载
• 序列。 • 过程、函数、软件包和触发器。 • 同义词。 • 权限及角色。 • 数据库链接。 • 段、盘区和块。 • 回滚段。 • 快照与显形图。 下面对上述每一种元素进行详细介绍。
1.4.1 表、列和数据类型
表是数据在一个 Oracle数据库中的存储机制,如图 1-1所示,它包含一组固定的列。表中 的列描述该表所跟踪的实体的属性,每个列都有一个名字及各自的特性。
1.2.2 文件
每个表空间由同一磁盘上的一个或多个文件组成,这些文件叫数据文件 (datafile)。一个数 据文件只能属于一个表空间。在 Oracle 7.2中,数据文件创建后可改变大小。创建新的表空间 需要创建新的数据文件。
数据文件一旦加入到表空间中,就不能从这个表空间中移走,也不能与其他表空间发生 联系。
1.1 数据库概述及实例
要了解 Oracle体系结构,必须先了解两个基本概念:数据库和实例。下面两节将详细描述 这两个基本概念及其在 Oracle中的实现。
1.2 数据库
数据库(database)是一个数据集合。 Oracle能够提供按照一致性方式定义的定义模型 (称作 关系模型 )存储和访问数据的方法,因此 Oracle被认为是一种关系数据库管理系统 (RDBMS)。 对“数据库”一词的大多数引用不仅是指物理的数据,也指本章中描述的物理、内存及进程 对象的组合。
下载
3 第1章 Oracle体系结构
1.3 实例
为了访问数据库中的数据, Oracle使用一组所有用户共享的后台进程。此外,还有一些存 储结构(统称为System Global Area,即SGA)用来存储最近从数据库查询的数据。数据块缓存 区和SQL共享池(Shared SQL Pool)是SGA中的最大部分,一般占分配给 SGA的内存95%以上。 通过减少对数据文件的 I/O次数,这些存储区域可以改善数据库性能。
Oracle运维详细手册簿

Oracle运维手册目录文档修改记录 .................................................................................................. 错误!未定义书签。
1. 前言: (4)2. 简单命令使用 (4)2.1进入SQL*Plus (4)2.2退出SQL*Plus (4)2.3在sqlplus下得到帮助信息 (4)2.4显示表结构命令DESCRIBE (4)2.5SQL*Plus中的编辑命令 (4)2.6调用外部系统编辑器 (5)2.7运行命令文件 (5)2.8关于侦听 (5)3. ORACLE的启动和关闭 (6)3.1在单机环境下 (6)3.2在双机环境下 (7)4. 数据库管理员日常工作 (8)4.1检查alterSID.log (8)4.2环境确认 (8)5. 数据库日常操作SQL (9)5.1查看表空间物理文件的名称及大小 (9)5.2查询表空间使用情况 (9)5.3查询表空间的碎片程度 (10)5.4碎片程度 (10)5.5查看回滚段名称及大小 (11)5.6查看控制文件 (11)5.7查看日志文件 (11)5.8查看表空间的使用情况 (11)5.9查看数据库对象 (12)5.10查看数据库的版本 (12)5.11查看Oracle字符集 (12)5.12在某个用户下找所有的索引 (12)5.13表、索引的存储情况检查 (12)5.14查看数据库的创建日期和归档方式 (13)5.15显示所有数据库对象的类别和大小 (13)5.16设置RAC为归档模式? (13)6. AWR报告 (14)7. Troubleshooting (14)7.1监控事务的等待 (14)7.2查看一些等待信息: (14)7.3查看等待(wait)情况 (15)7.4回滚段查看 (15)7.5回滚段的争用情况 (15)7.6监控表空间的 I/O 比例 (16)7.7监控文件系统的 I/O 比例 (16)7.8监控 SGA 的命中率 (16)7.9监控 SGA 中字典缓冲区的命中率 (16)7.10监控 SGA 中共享缓存区的命中率,应该小于1% (17)7.11临控 SGA 中重做日志缓存区的命中率,应该小于1% (17)7.12监控内存和硬盘的排序比率,最好使它小于 0.10,增加 sort_area_size . 177.13监控当前数据库谁在运行什么SQL语句 (17)7.14监控字典缓冲区 (18)7.15查看Lock (18)7.16捕捉运行很久的SQL (19)7.17查看数据表的参数信息 (20)7.18 查看还没提交的事务 (20)7.19查找object为哪些进程所用 (20)7.20查看catched object (21)7.21查看V$SQLAREA (21)7.22有关connection的相关信息 (22)8. 备份 (23)8.1数据逻辑备份 (23)8.1.1 exp (23)8.1.2 imp (24)8.2控制文件备份 (25)8.3初始参数备份 (25)8.4其它 (26)9. 常见问题解决 (26)9.1安装后常用参数设置 (26)9.2杀死僵死连接 (27)9.3AIX内存溢出 (27)9.4某一功能特别慢 (29)9.5统计信息失效导致执行计划走全表扫瞄 (29)9.6中银............................................................................................... 错误!未定义书签。
数据库维护工作手册

数据库维护处事脚册之阳早格格创做文档编号:文档称呼:编写:审核:批准: 接受日期:目录1概括22数据库监控3数据库监控处事真质3数据库监控处事步调3查看数据库日志3查看是可有做废的数据库对付象5查看数据库结余空间6沉面表查看6查看数据库是可寻常7死锁查看7监控SQL语句的真止7支配系统级查看8其余83数据库维护9数据库维护处事真质9数据库维护处事事项9页里建复9数据库对付象沉建9碎片回支(数据沉组)9简略不必的数据10备份回复10履历数据迁移11定期建改暗号11简略掉不需要的用户11其余124数据库管制时常使用SQL足本125凡是维护战问题管制23脚法23例止处事提议23相关挖表证明241概括数据库的凡是监控是使管制员即时相识系统非常十分的脚法.大部分情况下,系统经常寻常运止的.惟有对付寻常情况的充分相识,才搞通过对付比寻常情况创制非常十分情况.对付于数据库的凡是监控要有记录,笔墨记录大概者电子文档保存.对付于数据库非常十分举止分解,提出办理规划.凡是处事包罗监控战维护二个部分.此文档中关于数据库的运止下令示例主要针对付于ORACLE数据库,但是对付于SYBASE数据库共样有参照价格,只消换用相对付应的语句即可.数据库监控2数据库监控数据库监控处事真质制定战矫正监控规划,编写监控足本.对付于数据库举止凡是监测,提接记录.根据监测截止举止分解、预测,提接相映的系统矫正提议规划.数据库监控处事步调2.1.1查看数据库日志数据库的日志上会有洪量对付于管制员有用的疑息.ORACLE的Alert日志记录了数据库系统所报的系统级过得疑息,以及数据块做废等宽沉过得疑息.过得疑息的爆收,会爆收相映的逃踪文献,通过查看告诫日志战逃踪文献可查找过得本果,对付于创制的问题应即时办理战报告.如:1.表空间是可谦,是可需要举止增加大概者扩展.Alert文献中会隐现有表块无法扩展的提示.2.表的块大概者页里是可益坏.(往往那时alert文献中会隐现ora-600的过得.)3.数据库是可举止了非常十分支配.(如:droptablespace等等).真用下令:·报警日志文献(alert.log大概alrt<SID>.ora)记录数据库开用,关关战一些要害的堕落疑息.数据库管制员该当时常查看那个文献,并对付出现的问题做出纵然的反应.不妨通过以下SQL 找到他的路径select value from v$parameter where upper(name) ='BACKGROUND_DUMP_DEST',大概通过参数文献赢得其路径,大概者show parameter BACKGROUND_DUMP_DEST.·背景逃踪文献路径与报警文献路径普遍,记录了系统背景进程堕落时写进的疑息.·用户逃踪文献记录了用户进程堕落时写进的疑息,普遍不可能读懂,不妨通过ORACLE的TKPROF工具转移为不妨读懂的圆法.用户逃踪文献的路径,您不妨通过以下SQL找到他的路径select value from v$parameter where upper(name) ='USER_DUMP_DEST',大概通过参数文献赢得其路径,大概者show parameter USER_DUMP_DEST.不妨通过树立用户逃踪大概dump下令去爆收用户逃踪文献,普遍正在调试、劣化、系统分解中有很大的效用.可正在参数文献种用SQL_TRACE=TRUE挨开该文献(对付所有用户),也可用alter session set sql_trace=true挨开目前会话,也可用execute dbms_system.set_sql_trace_in_session(sid,serial#,true)挨开指定会话.2.1.2查看是可有做废的数据库对付象主要关注索引,触收器,保存历程,函数等等.如:查找user_objects数据字典,瞅其中是可有状态为invalid的对付象.推断做废本果(如:视图做废的本果有大概是由于创制视图的基表被简略等等),找出本果可举止对付象沉建大概建复.真用下令:Select object_name,object_typeFrom user_objectsWhere object_type=’INV ALID’;2.1.3查看数据库结余空间1.结余空间缺累时要扩展空间,普遍的,当结余空间小于10%时,要举止空间扩展.对付于ORACLE数据库,通过查找TABLESPACES相关的数据字典不妨瞅到有用的疑息.2.查看数据赶快删少的表,通过对付于DBA_SEGMENTS数据字典的监视不妨找到,当过快删万古,协做开垦人员,决定办理规划.2.1.4沉面表查看1.查看系统核心接易表.果为那些表健壮与可与凡是接易的寻常运止稀切相关.沉面查看那些表的索引是可做废,表的统计疑息是可即时革新,如:当那些表举止了大的数据拆载大概者简略支配之后.准则上需要查看所有的表,不过由于上头那些表更关键,提议管制员给以更多的关注.2.沉面查看数据量超出百万止的表,各天的情况大概纷歧样,当数据超出百万止之后,如果索引做废会引导表扫描,占用洪量系统IO,宽沉效用系统本能.2.1.5查看数据库是可寻常包罗数据库真例是可寻常处事、listener是可处事寻常,保证数据库系统环境寻常.数据库对接是可寻常、查看是可有超出寻常火仄的对接数.如:寻常500个,某天下午忽然达到600个.应记录那种非常十分情况.分解爆收那种情况的本果,如:正在矮版本的ORACLE中,很大概是一些其余非常十分的应用堕落后爆收的死对接.2.1.6死锁查看监控数据库运止历程中,出现的阻塞,记录局里,记录爆收阻塞的SQL语句,真止的用户,爆收时间,频次,处理(杀掉、等待自然解锁等).ORACLE版本中的死锁会正在alert文献中爆收记录,oracle会自动解锁(本去是采用一个杀掉).对付于死锁的处理历程要举止记录.不妨使用OEM工具大概者查找相关的V$视图去确认爆收阻塞的语句.2.1.7监控SQL语句的真止查找效用矮下的SQL语句,通联协做开垦人员,举止相关处理.可使用ORACLE提供的AWR举止,也可使用ORACLE提供的OEM工具真止,大概者自止体例的足本等等.2.1.8支配系统级查看运止vmstat,sar,topas(AIX系统),glance(HP系统)等下令查看CPU、内存、假制内存等的使用情况.运止df,du,iostat查看磁盘使用情况运止netstat查看搜集情况运止脚工体例的监控足本查看.针对付于支配系统的分歧,使用的下令也会有分歧,请参照相映的支配系统文档.提议使用man下令瞅察相映的助闲疑息.2.1.9其余每天查看早间定时真止的数据库疑息支集做业战备份做业的日志输出,确认皆已寻常完毕.往往不克不迭寻常完毕是由于如下的本果:请确认足本是可变动(过得的建变革成等等),设备(主机,磁盘阵列,磁戴库,搜集等等)是可寻常,空间是可足够等等.提议每天按接易峰值情况,对付数据库本能数据举止定时支集及分解.3数据库维护数据库维护处事真质包罗维护、障碍诊疗、过得建复、备份回复、履历数据迁移等历程.数据库维护处事事项3.1.1页里建复根据凡是监控的截止,举止页里(大概者数据库坏块)建复,如将表数据导出后沉建表,而后导进数据.提接建复记录.3.1.2数据库对付象沉建根据数据库监控的截止,沉建做废的对付象.如:索引、保存历程、函数、视图、触收器等等.真用下令:Alter index <索引名> rebuild [online];3.1.3碎片回支(数据沉组)当某些数据库运止一段时间后,表会爆收碎片,效用数据库的本能.可根据凡是查看的截止,使用功具大概足本对付于数据库空间举止沉组大概回支.由于ORACLE数据库自己的本果,正在举止了DELETE支配之后也不会使HWM (High Water Mark下火位线)落矮,果此不会释搁所占用的空间,所以提议正在举止了数据迁移之后将齐库举止EXP,而后举止IMP支配,以释搁占用的空间.3.1.4简略不必的数据此项处事要得到开垦圆、安排人员、以及相关人员的确认后,圆可真止.3.1.5备份回复需要定期对付于数据库备份举止灵验性检测,定期举止数据回复的演练支配.以预防万一的数据库事变时准备缺累.数据库需要采与正在线的热备份,不需要关关数据库举止,正在备份的共时不妨举止寻常的数据库的百般支配,谦足了7*24的系统的需要.数据库的备份不克不迭效用用户对付数据库的考察.目标需要正在线热备份多级删量备份并止备份,回复减小所需要备份量备份,回复使用简朴可参照如下的规划:1.每月搞一个数据库的齐备份(包罗只读表空间)2.每星期搞一次整级备份(不包罗只读表空间)3.每个星期三搞一次一级备份4.每天搞一个二级备份5.所有表空间改成只读状态后搞一个该表空间的备份.6.当需要时(如四个小时归档文献系统便要靠近谦了)备份归档文献.3.1.6履历数据迁移定期举止履历数据迁移,缩小死产数据库的压力.3.1.7定期建改暗号包罗SYS,SYSTEM等用户.3.1.8简略掉不需要的用户对付于系统拆置时的演示用户,如:hr,scott等.提议每周定期浑理战备份一周所爆收的Alert日志、逃踪文献战dump文献.分别位于$ORACLE_BASE/admin/$ORACLE_SID/bdump, $ORACLE_BASE/admin/$ORACLE_SID/udump, $ORACLE_BASE/admin/$ORACLE_SID/cdump,等目录下.定期对付表举止统计分解,(如可使用analyze等下令,8i 以上有dbms_stats包去真止,使SQL劣化器经常能找到最佳的查询战术.制定战真止记录包管死产库的仄安:应千万于克制正在死产库上举止开垦、尝试.3.1.9其余针对付分歧的数据库版本的分歧特性举止相映的维护支配.简直情况请拜睹ORACLE文档大概者考察metalink.4数据库管制时常使用SQL足本时常使用的SQL足本,正在真施时可供数据库管制员参照,正在真止时,需要举止相映的建改.1.结余空间查看SELECT tablespace_name, sum ( blocks ) as free_blk , trunc ( sum ( bytes ) /(1024*1024) ) as free_m, max ( bytes ) / (1024) as big_chunk_k, count (*) as num_chunksFROM dba_free_spaceGROUP BY tablespace_name2.表空间数据量情况隐现SELECT tablespace_name, max_blocks, count_blocks, sum_free_blocks, to_char(100*sum_free_blocks/sum_alloc_blocks, '99.99') || '%' AS pct_freeFROM ( SELECT tablespace_name, sum(blocks) AS sum_alloc_blocksFROM dba_data_filesGROUP BY tablespace_name), ( SELECT tablespace_name AS fs_ts_name, max(blocks) AS max_blocks, count(blocks) AS count_blocks, sum(blocks) AS sum_free_blocksFROM dba_free_spaceGROUP BY tablespace_name )WHERE tablespace_name = fs_ts_name3.表战索引分解BEGINdbms_utility.analyze_schema ( '&OWNER', 'ESTIMATE', NULL, 5 ) ;END ;4.查看空间情况FROM all_tables a,( SELECT tablespace_name, max(bytes) as big_chunkFROM dba_free_spaceGROUP BY tablespace_name ) f5.查看已经存留的空间扩展FROM dba_tablespaces dt, dba_extents dxs AND dx.owner = '&OWNER'6.查看不主键的表SELECT table_nameFROM all_tablesWHERE owner = '&OWNER'MINUSSELECT table_nameFROM all_constraintsWHERE owner = '&&OWNER'AND constraint_type = 'P'7.查看做废的主键SELECT owner, constraint_name, table_name, statusFROM all_constraintsWHERE owner = '&OWNER' AND status = 'DISABLED’ AND constraint_type = 'P'8.沉建索引,简直参数请根据本质情况举止建改SELECT 'alter index ' || index_name || ' rebuild ', 'tablespace INDEXES storage ( initial 256 K next 256 K ) ; ' FROM all_indexesWHERE ( tablespace_name != 'INDEXES'OR next_extent != ( 256 * 1024 ))AND owner = '&OWNER'9.对付比二个真例的分歧SELECT object_name, object_typeFROM user_objectsMINUSSELECT object_name, object_typeFROM user_objects@&my_db_link10.查看动向本能视图Select * from V$FIXED_TABLE11.查看拘束select a.constraint_name, a.constraint_type,a.*from user_constraints awhere table_name='table_name';select constraint_name, column_namefrom user_cons_columnswhere table_name='table_name';12.查看索引user_indexes包罗索引的名字,user_ind_columns包罗索引的列.13.查看数据库开用参数:show parameter para,v$parameter提供目前会话疑息,v$system_parameter提供目前系统疑息.其中isses_modifiable,issys_modifiable表示是可允许动向建改.14.查看进程号:select p.spid, ernamefrom v$process p, v$session swhere p.addr=s.paddr;15.查看数据文献:select name, statusfrom v$datafile;select *from dba_data_files;16.查看数据文献状态from v$datafile d, v$datafile_header hwhere d.file#=h.file#;17.查看统制文献select namefrom v$controlfile;select type, record_size, records_total, records_used from v$controlfile_record_sectionwhere type=’DATAFILE’;18.查看是可归档模式:archive log listselect name, log_modefrom v$database;select archiverfrom v$instance;19.查看日志组:select groups, current_group#, sequence#from v$thread;select group#, sequence#, bytes, members, status from v$log;select *from v$logfile;其中status为空表示寻常.20.查看large poolselect *from v$sgastatwhere pool=’large pool’;21.查看归档位子show parameter archiveselect destination, binding, target, status from v$archive_dest;22.查看归档进程select *from v$archive_processes;23.查看正正在备份的数据文献select *from v$backup;24.查看需要回复的文献select *from v$recover_file;25.查看所有归档日志文献select *from v$archived_log;26.查看回复时要用到的日志文献select *from v$recovery_log;27.查看SGA的结构Show sga;select *from v$sgastat;28.提与library cache的掷中率select gethitratiofrom v$librarycachewhere namespace=’…’;29.查看正正在运止的SQL语句select sql_text, users_executing, executions, loadsfrom v$sqlarea;select *from v$sqltextwhere sql_text=’select * from emp%’;30.查看library cache reload情况:select sum(pins) “Executions”, sum(reloads) “cache Misses”, sum(reloads)/sum(pins)from v$librarycache;31.查看大藏名块select sql_text from v$sqlareawhere command_type=47and length(sql_text)>500;32.查看目前会话的UGA区select sum(value)||’bytes’ “Total session memory”from v$mystat, v$statnamewhere name=’session uga memory’and v$mystat.statistic#=v$statname.statistic#;33.查看所有MTS用户的UGA区:select sum(value)||’bytes’ “Total session memory”from v$sesstat, v$statnamewhere name=’session uga memory’and v$sesstat.statistic#=v$statname.statistic#;34.查看所有用户使用的最大的UGA区:select sum(value)||’bytes’ “Total session memory”from v$sesstat, v$statnamewhere name=’session uga memory max’and v$sesstat.statistic#=v$statname.statistic#;35.查看high-water mark以下的块数select table_name, blocksfrom dba_tableswhere table_name=’table_name’;36.查看会话的I/O:from v$sess_io io, v$session swhere s.audsid=USERENV(‘SESSIONID’)and io.sid=s.sid;37.查看Buffer pool的掷中率select name, 1-(physical_reads/(db_block_gets+consistent_gets)) “HIT_RATIO”from sys.v$buffer_pool_statisticswhere db_block_gets+consistent_gets>0;38.查看free list的比赛select class, count, timefrom v$waitstatwhere class=’segment header’;select event, total_waitsfrom v$system_eventwhere event=’buffer busy waits’;buffer busy waits可正在二种情况爆收:1dirty queue已谦,2free list比赛.39.查看free list比赛爆收正在哪个segment上select s.segment_name, s.segment_type, s.freelists, w.wait_time, from dba_segments s, v$session_wait wwhere w.event=’buffer busy waits’and w.p2=s.header_block;40.查看齐表扫描爆收的次数select name, valuefrom v$sysstatwhere name like ‘%table scan%’;41.查看大支配的真止情况select sid, serial#, opname,to_char(start_time, ‘HH24:MI:SS’) as start_t,(sofar/totalwork)*100 as percent_completefrom v$session_longops;42.查看数据文献的I/Ofrom v$datafile d, v$filestat fwhere d.file#=f.file# order by ;43.查看空闲块数少于10%的segment(blocks正在high-watermark以下,empty_blocks其上)select owner, table_name, blocks, empty_blocksfrom dba_tableswhere empty_blocks/(blocks+empty_blocks)<0.1and blocks+empty_blocks!=0;44.查看migration战chaininganalyze table table_name compute statistics;select num_rows, chain_cntfrom dba_tableswhere table_name=’table_name’;45.查看表的统计疑息analyze table table_name compute statistics;select num_rows, blocks, empty_blocks as empty, avg_space, chain_cnt, avg_row_lenfrom dba_tableswhere ow ner=’HR’ andtable_name=’table_name’;46.查看索引的统计疑息analyze index index_name validate structure;select (del_lf_rows_len/lf_rows_len)*100 as index_usagefrom index_stats;5凡是维护战问题管制脚法动做一名数据库管制员,数据库应用的寻常宁静运止是包管咱们应用系统的要害包管,而数据库的凡是监控战维护处事至关要害.搞佳它的查看处事的文档管制也是数据库管制的必不可少的处事之一,那有好处咱们逃踪问题战对付数据库的版本统制非常要害.例止处事提议每天例止处事:1.决定数据库真例处于运奇迹态2.查看ALERT 日志3.决定数据库乐成备份4.决定数据库归档到磁戴5.决定有足够的资材使数据库能运止正在良佳状态6.抽时间阅读DBA管制脚册每周例止处事:1.查看是可有对付象处于非寻常状态2.查看仄安战术3.查看SQL*NET 日志中是可有过得4.归档所有ALERT 日志每月例止处事:1.查看潜正在的妨害2.查看是可需要本能调劣及调劣时机3.查看I/O比赛4.查看数据库碎片5.制定将去的本能计划6.举止数据库调劣战维护相关挖表证明凡是维护查看表:是数据库管制员正在通常的凡是监控维护处事后搞的处事记录.只挖写查看的截止.仔细的问题管制记录妥协决历程便挖写问题管制记录表.如果正在查看历程中寻常正在相映栏目挨√,如果有非常十分情景挨X,共时正在后里写上相对付应的问题管制记录的编号.问题编号的命名圆法是12位,便是当时挖写记录表的日期战时间,比圆数据库管制员正在2010年04月11日14:00正在搞例止查看时创制了问题,那么正在挖写凡是维护查看表时便应正在相对付应的栏目写上问题编号201004111400.问题管制记录表是正在挖写凡是维护查看表的前提上创制了问题再挖写仔细的问题爆收妥协决历程.其中问题编号便是凡是维护查看表中的问题编号.变动记录表是咱们对付数据库搞支配前后的一个记录表.凡是查看维护表问题管制记录变动管制记录变动流火号:1.变动提出变动提出人变动提出日期变动本果简要形貌:2.变动评估变动评估人变动评估日期变动是可真施θ是θ可变动慢迫程度θ慢迫θ普遍θ不慢迫变动真施克日3.变动真施变动真施人变动真施日期。
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-11g日常维护手册

Oracle 11g 日常维护手册目录第1章文档说明 (5)第2章CRS的管理 (5)2.1 RAC状态检查 (5)检查守护进程状态 (5)检查资源状态 (5)2.2 手工启动与关闭RAC (6)2.3 OCR的管理 (6)2.4 VOTING DISK的管理 (8)2.5 CSS管理 (9)2.6 管理工具SRVCTL (9)管理实例 (9)管理监听程序 (9)管理ASM (10)管理service (10)2.7 修改RAC的IP及VIP (11)修改外网IP及心跳IP (11)修改VIP (11)查看与删除IP (12)第3章ASM的管理 (13)3.1 管理DG (13)建立与扩充disk group (13)mount与unmount的吩咐 (14)删除disk group (14)增加DISK的total_mb (14)DG的属性-AU大小 (14)DG的属性-离线删除时间 (15)DG的属性-兼容版本 (15)向ASM中添加disk的完整步骤 (16)3.2 ASMCMD (17)ASMCMD常用吩咐 (17)复制ASM文件 (18)吩咐lsdg (18)元数据备份与复原 (18)3.3 ASM磁盘头信息备份与复原 (19)3.4 ASM常用视图 (20)视图V$ASM_DISKGROUP (20)视图V$ASM_DISK (21)3.5 常用方法 (22)如何确定ASM实例的编号 (22)查询DG-RAW-磁盘的对应关系 (22)第4章数据库管理 (24)4.1 参数文件管理 (24)4.2 表空间管理 (25)表空间自动扩张 (25)表空间更名 (26)表空间的数据文件更名 (26)缺省表空间 (26)表空间删除 (27)UNDO表空间 (27)TEMP表空间 (27)4.3 重做日志文件管理 (27)增加REDO日志组 (27)删除日志组 (28)日志切换 (28)日志清理 (28)重做日志切换次数查询 (28)4.4 归档模式 (29)单实例数据库修改为归档模式的方法 (29)RAC数据库修改为归档模式的方法 (29)归档路径 (30)4.5 重建限制文件 (31)4.6 内存参数管理 (32)Oracle内存管理发展阶段 (32)自动内存管理AMM (32)自动共享内存管理ASMM (33)自动PGA管理 (33)4.7 其他管理内容 (33)数据库版本查看 (33)字符集 (34)创建密码文件 (34)关闭审计功能 (34)帐号管理 (34)profile管理 (35)第1章文档说明本文档描述了Oracle11g中常见的维护和管理方法,包括CRS、ASM、数据库等。
数据库维护工作手册范本

数据库维护工作手册;¥文档编号:文档名称:编写:审核:' 批准:批准日期::目录1概述 (4)2数据库监控 (4)数据库监控工作内容 (4)数据库监控工作步骤 (4)查看数据库日志 (4)·检查是否有失效的数据库对象 (5)查看数据库剩余空间 (5)重点表检查 (5)查看数据库是否正常 (6)死锁检查 (6)监控SQL语句的执行 (6)操作系统级检查 (6)其他 (6)-3数据库维护 (7)数据库维护工作内容 (7)数据库维护工作事项 (7)页面修复 (7)数据库对象重建 (7)碎片回收(数据重组) (7)删除不用的数据 (7)备份恢复 (7)[历史数据迁移 (8)定期修改密码 (8)删除掉不必要的用户 (8)其他 (8)4数据库管理常用SQL脚本 (9)5日常维护和问题管理 (17)目的 (17)例行工作建议 (17)$相关填表说明 (17)1概述数据库的日常监控是使管理员及时了解系统异常的手段。
大部分情况下,系统总是正常运行的。
只有对正常情况的充分了解,才能通过对比正常情况发现异常情况。
对于数据库的日常监控要有记录,文字记录或者电子文档保存。
对于数据库异常进行分析,提出解决方案。
日常工作包括监控和维护两个部分。
此文档中关于数据库的运行命令示例主要针对于ORACLE数据库,但对于SYBASE数据库同样有参考价值,只要换用相对应的语句即可。
数据库监控2数据库监控【数据库监控工作内容制定和改进监控方案,编写监控脚本。
对于数据库进行日常监测,提交记录。
根据监测结果进行分析、预测,提交相应的系统改进建议方案。
数据库监控工作步骤2.1.1查看数据库日志数据库的日志上会有大量对于管理员有用的信息。
ORACLE的Alert日志纪录了数据库系统所报的系统级错误信息,以及数据块失效等严重错误信息。
错误信息的产生,会产生相应的跟踪文件,通过查看警告日志和跟踪文件可查找错误原因,对于发现的问题应及时解决和汇报。
oracle数据库维护手册

目录1. 检查数据库基本状况41.1. 检查ORACLE实例状态41.2. 检查ORACLE服务进程41.3. 检查ORACLE监听状态52. 检查系统和ORACLE日志文件62.1. 检查操作系统日志文件62.2. 检查ORACLE日志文件62.3. 检查ORACLE核心转储目录72.4. 检查ROOT用户和ORACLE用户的EMAIL 73. 检查ORACLE对象状态73.1. 检查ORACLE控制文件状态73.2. 检查ORACLE在线日志状态83.3. 检查ORACLE表空间的状态83.4. 检查ORACLE所有数据文件状态83.5. 检查无效对象93.6. 检查所有回滚段状态104. 检查ORACLE相关资源的使用情况104.1. 检查ORACLE初始化文件中相关参数值10 4.2. 检查数据库连接情况114.3. 检查系统磁盘空间124.4. 检查表空间使用情况124.5. 检查一些扩展异常的对象134.6. 检查SYSTEM表空间内的内容144.7. 检查对象的下一扩展与表空间的最大扩展值145. 检查ORACLE数据库备份结果145.1. 检查数据库备份日志信息155.2. 检查BACKUP卷中文件产生的时间155.3. 检查ORACLE用户的EMAIL 156. 检查ORACLE数据库性能156.1. 检查数据库的等待事件156.2. DISK READ最高的SQL语句的获取156.3. 查找前十条性能差的SQL 166.4. 等待时间最多的5个系统等待事件的获取16 6.5. 检查运行很久的SQL 166.6. 检查消耗CPU最高的进程166.7. 检查碎片程度高的表176.8. 检查表空间的I/O 比例176.9. 检查文件系统的I/O 比例176.10. 检查死锁及处理176.11. 检查数据库CPU、I/O、内存性能186.12. 查看是否有僵死进程196.13. 检查行链接/迁移196.14. 定期做统计分析196.15. 检查缓冲区命中率206.16. 检查共享池命中率206.17. 检查排序区206.18. 检查日志缓冲区217. 检查数据库安全性217.1. 检查系统安全日志信息217.2. 检查用户修改密码218. 其他检查228.1. 检查当前CRONTAB任务是否正常228.2. ORACLE JOB是否有失败228.3. 监控数据量的增长情况228.4. 检查失效的索引238.5. 检查不起作用的约束238.6. 检查无效的TRIGGER 23本文档为本人亲自整理的公司的维护文档,内容很详细,DBA日常任务基本就是文档中写的那些,初学DBA或是有意学习DBA的同学们可取去学习学习,文档有实例讲解,很实用。
Oracle+DBA日常工作手册

第一章.Oracle DBA日常工作手册事前阶段一、日常工作-每天应做工作内容1、工作内容-日常环境监控1.1系统运行环境监控检查文件系统以及oracle数据库数据文件所在卷的使用(剩余空间),如果文件系统的剩余1.2数据库运行状况监控1.2.1 外部确认所有的INSTANCE状态正常(保证实例正常),检查Oracle 实例核心后台进程是否都存在、状态是否正常1.2.2 内部1).检查trace 文件记录alert 和trace文件中的错误。
telnet192.168.150.1 su–oraprod在oraprod用户下$cd 到bdump 目录,通常是$ORACLE_BASE/admin/<SID>/bdump使用Unix的‘tail -f’命令来查看alert_<SID>.log文件如果发现任何新的ORA-错误,记录并解决2).查看DBSNMP的运行情况检查每个被管理机器的‘DBSNMP’进程并将它们记录到日志中。
在UNIX 中,在命令行中,键入ps –ef | grep dbsnmp,将回看到2 个DBSNMP 进程在运行。
如果没有,重启DBSNMP。
(注意:此步骤在oraprod下只有1 个进程,需要研究)3). 检查回滚段回滚段的状态一般是在线的,除了一些为复杂工作准备的专用段一般状态是离线的。
a) 每个数据库都有一个回滚段名字的列表。
b) 你可以用V$ROLLSTAT 来查询在线或是离线的回滚段的现在状态;1.2.3 日常操作1).不要在服务器上直接执行rm操作当有文件需要删除时,把这些文件mv到一个规定的文件夹,然后CD进入此文件夹再进行删除操作。
(注意:在rm日志文件时直接rm即可,若rm文件夹一定要rm–r)2).数据库备份校验命令:rman target/连接到数据库,rman>restore database validate;3).查看数据库连接信息定时对数据库的连接情况进行检查,看与数据库建立的会话数目是不是正常,如果建立了过多的连接,会消耗数据库的资源。
数据库日常运行维护方案

Oracle数据库日常运行维护方案2019年3月1项目背景及目标1.1 项目背景XXX信息化建设经过多年的发展和完善,已经建立成熟的网络环境及业务及管理的各类应用系统,目前在线运行的PC 近XX台,近年来建设的XX业务管理等若干应用信息系统多数是基于Oracle数据库系统的应用。
这些Oracle 数据库产品的标准服务都已经过了服务期。
而各系统随着数据量的逐年增加,陆续出现了性能问题,有必要进行数据库系统的升级及性能优化,以确保应用系统的正常运行,为XXX提供更好的信息服务。
1.2 项目目标➢尽早发现性能瓶颈,及时调整,保障数据库稳定高效工作;对各个系统数据库进行补丁升级服务,安装补丁前需要对补丁的可行性及风险即你想那个分析,并制定升级计划和应急回退计划。
同时要做好系统备份准备及详细的测试工作,确保系统的稳定性、安全性,保障系统业务数据的安全;➢数据库架构的合理化;➢提升应用系统性能,完成各系统数据库的性能调优工作,包括:外部资源调优、行的重新安排调优、SQL 性能调优、表格和索引存储参数设置调优等。
➢各业务持续性得到有效的保证。
2需求分析通过对xxx 技术要求进行详实的分析以及xxx信息系统建设的了解,各应用系统的Oracle产品日常运行维护项目主要从如下几个方面进行:1、由于 xxx 有些系统软件建设的较早,目前存在不同版本的数据库共存的现象,包括:Oralce8、Oracle9I、Oracle10g以及Oracle11g等。
而 Oracle9I 版本之前的数据库 SQL 编程语句还不是业界通用的标准化的语句,它与后面版本的 SQL 编程语句有很大的差别,所以在这方面的性能优化需要做好充分备份的准备。
2、正是由于这些系统建设的较早,基于当时的实际情况,应用系统或数据库都还存在一些不足,针对这些情况软件开发商都开发出相应的补丁提供给用户进行升级以防范风险。
所以在对各个系统数据库进行补丁升级服务之前,需要对补丁的可行性、安全性及风险进行充分的测试和分析。
oracle日常运维总结

oracle日常运维总结Oracle是一种功能强大的关系型数据库管理系统,广泛应用于各种企业级应用程序中。
作为一名Oracle数据库管理员(DBA),日常运维是我们工作的重要组成部分。
在这篇文章中,我将总结一些Oracle日常运维的经验和注意事项,希望对其他DBA或使用Oracle 的人员有所帮助。
一、备份与恢复备份和恢复是数据库管理中至关重要的一环。
我们需要定期进行数据库备份,以防止数据丢失和系统故障。
在备份过程中,我们可以使用Oracle提供的工具和功能,如RMAN(Recovery Manager)和Data Pump。
RMAN提供了完整的备份和恢复解决方案,可以进行全库备份和增量备份,并且支持备份集和归档日志的管理。
Data Pump 可以用于导出和导入数据库对象和数据,可以选择全库导出或指定对象导出。
恢复也是DBA必须掌握的技能之一。
当数据库遇到故障或数据损坏时,我们需要根据备份文件进行恢复。
在恢复过程中,我们需要了解不同的恢复场景和方法,如完全恢复、不完全恢复和点恢复。
同时,我们还要考虑日志文件的应用和恢复集的管理,确保数据的一致性和完整性。
二、性能优化Oracle数据库的性能优化是DBA不可或缺的工作之一。
通过监控和调整数据库的各个方面,我们可以提高数据库的响应速度和吞吐量,提升用户体验。
以下是一些常见的性能优化技巧:1. SQL调优:通过分析和改进SQL语句,优化查询计划和执行效率。
我们可以使用Oracle提供的SQL调优工具,如SQL Tuning Advisor和SQL Access Advisor。
2. 系统监控:通过监控数据库的系统资源利用率和性能指标,及时发现和解决性能瓶颈。
我们可以使用Oracle Enterprise Manager 或自定义脚本进行系统监控。
3. 索引优化:通过创建和维护合适的索引,加快数据检索和查询速度。
我们需要了解不同类型的索引和索引的使用场景,避免创建过多或不必要的索引。
DBA日常维护工作手册参考

Oracle DBA日常维护工作手册参考概述 (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)二、日常工作-每隔一周工作内容 (45)1. 文件整理工作 (45)2. 数据库全量备份 (45)2.1 Oracle 9i RMAN自动化脚本方式全量备份 (45)2.2 Oracle 10g OEM 图形方式创建RMAN全量备份数据库任务 (46)3. 根据一周数据增长率分析预留数据文件下一周所需增长空间 (46)3.1 SQL脚本方式查看 (46)3.2 Oracle 9i OEM 数据文件管理 (47)3.3 Oracle 10g OEM 数据文件管理 (48)4. 索引使用情况及碎片分析 (48)4.1表包含的索引及相关列检查............................................ 错误!未定义书签。
4.2自动化脚本方式对索引进行碎片分析 ............................ 错误!未定义书签。
4.3打开索引自动监控开关.................................................... 错误!未定义书签。
5. 对用户所有表、索引进行统计分析 (49)5.1 查询EAS用户所有表、索引的最新统计分析时间 (49)5.2 自动化脚本方式对所有表、索引统计分析 (49)5.3 Oracle 10g OEM图形化自定义对所有表、索引统计分析的自动化调度任务 (49)6. 导出表、索引最新统计分析数据 (55)7. 性能报告分析 (56)三 、 日常工作-每月应做工作内容 (56)1. 性能全面分析 (56)全面分析一次STATSPACK报告 (56)空间使用增长的全面分析 (56)2. 备份数据转备 (56)四 日常工作-数据库第一次安装部署后需做的工作 (56)1. Statspack-系统快照采集工具初始化 (56)2. 创建统计信息导出表 (57)3. 运行EAS用户下所有表、索引统计分析,导出基准统计信息 (57)4. 创建Oracle10g 逻辑备份dump文件存放目录 (57)第二章 事中阶段 (58)一、Oracle数据库出现问题时需掌握的相关信息 (58)1. 问题症状描述 (58)2. 问题在什么地方出现 (58)3. 问题在什么时间出现 (58)4. 问题在什么条件下出现 (58)5. 问题涉及的范围 (59)6. 问题是否能重现 (59)7. 数据库运行环境软、硬件基本信息 (59)8. Oracle性能相关 (59)二、Oracle数据库问题的解决途径 (60)概述该文档主要目的是降低现场实施人员及用户Oracle数据库的管理难度,提高Oracle数据库技术能力,文档针对Oracle9i、10g两个版本提供了一套完整的Oracle数据库监控、管理的思路、方法步骤,依照该手册进行Oracle数据库的日常工作,能有效的把握Oracle后台数据库的整体运行健康状况,通过收集相关重要信息分析,能很好的防范即将出现的系统风险,系统出现问题后尽快的定位问题,现场解决一部分常规数据库问题。
运维手册_数据库_Oracle11gRAC日常运维手册(352)

Oracle运维手册恒生电子客服总部系统服务部本文所述内容(包括文字和图片),恒生电子股份有限公司(以下简称“恒生”或“恒生公司”)拥有完全独立的唯一版权。
未经恒生公司书面同意或授权,任何单位和个人都不得将其复制、影印或引用。
目录第一章通过SQL*Plus管理Oracle系统 (3)**. 登录oracle系统 (3)**. 退出SQL*Plus (3)**. 在sqlplus下得到帮助信息 (3)第二章Oracle11gR2 RAC日常管理 4**. 监控oracle (4)**. 监控Oracle日志 (4)**. 监控oracle状态 (5)**. 监控表空间使用情况 (6)**. 监控主机 (8)**. 监控CPU (8)**. 使用vmstat 命令监控cpu使用情况 (8)**. 监控主机日志 (9)**. 监控OS文件系统使用情况 (9)**. 启动、关闭数据库 (9)**. 启动数据库 (9)**. 关闭数据库 (11)**. 监听器启动、关闭 (13)**. 表统计信息维护 (14)**. 修改主机系统时间 (15)**. 时间管理原则 (15)**. 时间修改方法 (15)**. 数据库日志收集 (15)**. OS日志 (16)**. DB日志 (16)**. grid日志 (16)**. AWR和ASH报告生成 (16)**. AWR报告生成(同10g) (16)**. ASH报告生成(同10g) (19)**. Recyclebin管理 (23)**. 归档日志的清理 (23)**. 查看回收站中的对象 (23)**. 指定删除某些特定对象 (23)**. 指定删除某表空间的所有回收站对象 (23)**. 清除某用户下的回收站对象 (23)**. 清除所有回收站对象 (23)**. 数据库性能监控 (24)**. 查看系统当前等待事件 (24)**. 通过sid查看sql语句24第一章通过SQL*Plus管理Oracle 系统登录oracle系统以oracle用户登录主机1)以sys用户登录oracle系统[oracle@rac1 ~]$ sqlplus / as sysdba2)其他用户登录oracle系统[oracle@rac1 ~]$ sqlplus hs_user/handsome@jsswdb1退出SQL*PlusSQL>exit在sqlplus下得到帮助信息列出全部SQL命令和SQL*Plus命令SQL> help index列出某个特定的命令的信息SQL>help 命令名或者SQL>? 命令名第二章Oracle11gR2 RAC日常管理监控oracle2.1.1.监控Oracle日志2.1.1.1. DB日志以oracle用户登录该日志文件在每个节点主机的$ORACLE_BASE/diag/rdbms/<dbname>/<sid>/trace目录下,文件名为:alert_XXXX.log (节点1)例如:/u01/app/oracle/diag/rdbms/hsdb/hsdb1/trace/alert_hsdb1.log在出现oracle故障前或故障时,数据库会将一些警告、错误信息写入该文件,交易时应随时监控该文件,及时发现警告、错误信息。
Oracle 数据库管理、配置和维护

以上目录下的文件夹需要手动创建
主要参数说明
db_name指定数据库名称为OracleDB。 instance_name指定数据库实例名称为OracleDB。 memory_target指定Oracle总共使用的共享内存的大 小,这个参数是动态的,但不能超过 MEMORY_MAX_TARGET参数设置的大小。 processes指定整个系统可以启动多少个进程,包括系 统自己的后台进程。 db_block_size指定Oracle数据库数据块的大小。 db_recovery_file_dest指定备份数据库文件的路径。 undo_tablespace指定默认还原表空间。 control_files指定数据库控制文件。 dispatchers指定监听器使用的网络协议和服务。 compatible指定数据库兼容的版本。
命令中使用的参数说明
-silent指定以静默方式执行dbca命令。 -createDatabase指定使用dbca命令创建数据库。 -templateName指定用来创建数据库的模板名称,这里指定为 General_Purpose.dbc,即一般用途的数据库模板。使用此参数相当于在 图形界面中选择创建一般用途数据库。 -gdbname指定创建的全局数据库名称,这里指定名称为ora11g。 -sid指定数据库系统标识符,这里指定为ora11g,与数据库同名。 -responseFile指定安装响应文件,NO_VALUE表示没有指定响应文件。 响应文件包含了在交互方式安装过程中对由用户提供的对安装问题的回答。 在响应文件中为每个问题都保存为一个变量。例如,在响应文件中设置 Oracle根目录和安装类型等参数的值。Oracle提供的响应文件保存在安装 目录的response目录下,如图4.23所示。 -characterSet指定数据库使用的字符集,这里指定为AL32UTF8。 -memoryPercentage指定用于Oracle的物理内存的百分比,这里指定为 30%。 -emConfiguration指定Enterprise Management的管理选项。LOCAL表 示数据库由Enterprise Manager本地管理;CENTRAL表示数据库由 Enterprise Manager集中管理;NOBACKUP表示不启用数据库的每天自动 备份功能;NOEMAIL表示不启用邮件通知功能;NONE表示不使用 Enterprise Manager管理数据库。
ORACLE数据库日常运维操作手册(带有具体代码2017)

数据库日常运维操作手册目录1.日维护过程1.1 确认所有的INSTANCE状态正常1.2 检查文件系统的使用(剩余空间)1.3 检查日志文件和trace文件记录1.4 检查数据库当日备份的有效性。
1.5 检查数据文件的状态1.6 检查表空间的使用情况1.7 检查剩余表空间1.8 监控数据库性能1.9 检查数据库系统性能1.10 日常出现问题的处理。
2.每周维护过程2.1 监控数据库对象的空间扩展情况2.2 监控数据量的增长情况2.3 系统健康检查2.4 检查无效的数据库对象2.5 检查不起作用的约束2.6 检查无效的trigger3.月维护过程3.1 Analyze Tables/Indexes/Cluster3.2 检查表空间碎片3.3 寻找数据库性能调整的机会3.4 数据库性能调整3.5 提出下一步空间管理计划数据库日常运维操作手册主要针对ORACLE数据库管理员对数据库系统做定期监控:(1). 每天对ORACLE数据库的运行状态日志文件、备份情况、数据库的空间使用情况、系统资源的使用情况进行检查,发现并解决问题。
(2). 每周对数据库对象的空间扩展情况、数据的增长情况进行监控、对数据库做健康检查、对数据库对象的状态做检查。
(3). 每月对表和索引等进行Analyze、检查表空间碎片、寻找数据库性能调整的机会、进行数据库性能调整、提出下一步空间管理计划。
对ORACLE数据库状态进行一次全面检查1.日维护过程1.1 确认所有的INSTANCE状态正常登陆到所有数据库或例程,检测ORACLE后台进程:$ps –ef|grep ora1.2 检查文件系统的使用(剩余空间)如果文件系统的剩余空间小于20%,需删除不用的文件以释放空间。
#df –k1.3 检查日志文件和trace文件记录检查相关的日志文件和trace文件中是否存在错误。
A 连接到每个需管理的系统使用secureCRT远程登陆工具B 对每个数据库,进入到数据库的bdump目录,unix系统中BDUMP目录通常是$ORACLE_BASE/<SID>/bdump#$ORACLE_BASE/<SID>/bdumpC 使用Unix 和linux ‘tail’命令来查看alert_<SID>.log文件#tail $ORACLE_BASE/<SID>/bdump/alert_<SID>.logD 如果发现任何新的ORA-错误,记录并解决1.4 检查数据库当日备份的有效性。
ORACLE数据库DBA日常工作每日每周每月按天按周按月

ORACLE数据库DBA日常工作一、每天的工作(1).确认所有的INSTANCE状态正常登陆到所有数据库或例程,或者在服务器上检测ORACLE 进程:$ps –ef|grep ora_Sqlplus system/password@DBname(2). 检查文件系统的使用情况。
如果文件系统的剩余空间小于20%,需删除不用的文件以释放空间。
清理空间时请务必小心!$df –k重点关注根、Oracle数据库文件、Oracle软件、归档日志、备份文件所用文件系统的空间!如果使用了ASM,还应对ASM磁盘组的使用情况进行监控!(3). 检查日志文件和trace文件记录alert和trace 文件中的错误。
连接到每个需管理的系统对每个数据库,cd 到bdump目录,通常是ORACLE_BASE/<SID>/bdump使用 Unix tail 命令来查看alert_<SID>.log文件如果发现任何新的ORA- 错误,记录并解决(4). 检查表空间的使用情况SELECT tablespace_name, max_m, count_blocksfree_blk_cnt,sum_free_m,to_char(100*sum_free_m/sum_m, '99.99') || '%' AS pct_freeFROM ( SELECTtablespace_name,sum(bytes)/1024/1024 AS sum_m FROM dba_data_files GROUP BY tablespace_name),( SELECT tablespace_name AS fs_ts_name,max(bytes)/1024/1024 AS max_m, count(blocks) AS count_blocks, sum(bytes/1024/1024) AS sum_free_m FROM dba_free_space GROUP BY tablespace_name )WHERE tablespace_name = fs_ts_nameorder by pct_freeTABLESPACE_NAME MAX_M FREE_BLK_CNTSUM_FREE_M PCT_FRE------------ ----- ---------------- -----SYSTEM 54.5 5567.078125 22.36%TEMP 856.117188 162866.179688 84.59%RBS 557.992188 33683.992188 85.50%PERFSTAT 98.859375 198.859375 98.86%USERS 341.375 136482.242188 99.69%DRSYS 82.3046875 283.8046875 99.77%INDX 113.5 247434.242188 99.83%TOOLS 7.9921875 17.9921875 99.90%COMMUNITY 499.75 1 499.75 99.95%(5). 检查数据库当日备份的有效性。
Oracle数据库日常维护方案书

Oracle数据库日常维护方案书ORACLE数据库日常运行维护年度服务项目方案书目录12 3项目背景及目标 (5)1.1项目背景 (5)1.2项目目标 (5)需求分析 (5)项目总体方案 (7)3.1数据库性能优化 (8)3.1.1检查Oracle数据库性能 (8)3.1.1.13.1.1.23.1.1.33.1.1.43.1.1.53.1.1.63.1.1.73.1.1.83.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.1Oracle数据库日常维护方案书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)3.4数据库运维 (23)3.4.1检查数据库基本状况 (23)3.4.1.1 3.4.1.2 3.4.1.3 检查Oracle实例状态 (23)检查Oracle服务进程 (24)检查Oracle监听状态 (24)3.4.2检查系统和oracle日志文件 (25)3.4.2.1 3.4.2.2 3.4.2.3 3.4.2.4 检查操作系统日志文件 (25)检查oracle日志文件 (26)检查Oracle核心转储目录 (26)检查Root用户和Oracle用户的email (27)3.4.3检查Oracle对象状态 (27)3.4.3.1 3.4.3.2 3.4.3.3 3.4.3.4 3.4.3.5 3.4.3.6 检查Oracle控制文件状态 (27)检查Oracle在线日志状态 (27)检查Oracle表空间的状态 (28)检查Oracle所有数据文件状态 (28)检查无效对象 (29)检查所有回滚段状态 (29)3.4.4检查Oracle相关资源的使用情况 (30)3.4.4.1 3.4.4.2 3.4.4.3 3.4.4.4 3.4.4.5 3.4.4.6 3.4.4.7 检查Oracle初始化文件中相关参数值 (30)检查数据库连接情况 (31)检查系统磁盘空间 (32)检查表空间使用情况 (32)检查一些扩展异常的对象 (33)检查system表空间内的内容 (33)检查对象的下一扩展与表空间的最大扩展值 (34)3.4.5检查数据库安全性 (34)3.4.5.1 3.4.5.2 检查系统安全日志信息 (35)检查用户修改密码 (35)3.4.6其他检查 (36)3.4.6.1 3.4.6.2 3.4.6.3 3.4.6.4 3.4.6.5 Oracle Job是否有失败 (36)监控数据量的增长情况 (36)检查失效的索引 (37)检查不起作用的约束 (37)检查无效的trigger (37)4 项目实施及管理 (38)4.1项目实施方案 (38)4.1.1项目实施策略 (38)4.1.2项目实施计划 (38)4.1.3项目交付文档 (39)4.1.3.1 4.1.3.2 交付要求 (39)提交文件资料 (39)5 支持服务体系 (40)5.1.1售后服务 (40)5.1.2电话支持 (40)5.1.3现场服务 (40)5.1.4电子邮件支持 (41)5.1.5紧急故障处理 (41)5.1.6 ORACLE定期巡检服务(24次/年) (41)6 培训方案 (41)6.1.1培训方式 (42)6.1.2教师、教材使用及授课语言 (42)6.1.3培训计划 (44)6.1.4培训分工 (44)Oracle数据库日常维护方案书1项目背景及目标1.1项目背景xxx信息化建设经过多年的发展和完善,已经建立成熟的网络环境及生产经营管理的各类应用系统,目前全厂在线运行的PC近600台,近年来建设的企业资产管理、基建 MIS 管理系统、全面预算管理系统、生产综合管理系统技术监督管理系统等若干应用信息系统多数是基于 Oracle 数据库系统的应用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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语句列出当前数据库建立的会话情况: 以下为引用的内容:
注释:
SID 会话(session)的ID号;
SERIAL# 会话的序列号,和SID一起用来唯一标识一个会话;
USERNAME 建立该会话的用户名;
PROGRAM 这个会话是用什么工具连接到数据库的;
STATUS 当前这个会话的状态,ACTIVE表示会话正在执行某些任务,INACTIVE表示当前会话没有执行任何操作。
如果DBA要手工断开某个会话,则执行:
注意,上例中SID为1到7(USERNAME列为空)的会话,是Oracle的后台进程,不要对这些会话进行任何操作。
四、控制文件的备份
在数据库结构发生变化时,如增加了表空间,增加了数据文件或重做日志文件这些操作,都会造成Oracle数据库控制文件的变化,DBA应及进行控制文件的备份,备份方法是:
执行SQL语句: 以下为引用的内容:
这样,会在USER_DUMP_DEST(初始化参数文件中指定)目录下生成创建控制文件的SQL命令。
五、检查数据库文件的状态
DBA要及时查看数据库中数据文件的状态(如被误删除),根据实际情况决定如何进行处理,检查数据文件的状态的SQL如下: 以下为引用的内容:
如果数据文件的STATUS列不是AVAILABLE,那么就要采取相应的措施,如对该数据文件进行恢复操作,或重建该数据文件所在的表空间。
六、检查数据库定时作业的完成情况
如果数据库使用了Oracle的JOB来完成一些定时作业,要对这些JOB的运行情况进行检查:
以下为引用的内容:
如果FAILURES列是一个大于0的数的话,说明JOB运行失败,要进一步的检查。
七、数据库坏块的处理
当Oracle数据库出现坏块时,Oracle会在警告日志文件(alert_SID.log)中记录坏块的信息:
其中,代表坏块所在数据文件的绝对文件号,代表坏块是数据文件上的第几个数据块出现这种情况时,应该首先检查是否是硬件及操作系统上的故障导致Oracle数据库出现坏块。
在排除了数据库以外的原因后,再对发生坏块的数据库对象进行处理。
1.确定发生坏块的数据库对象以下为引用的内容:
2.决定修复方法:
如果发生坏块的对象是一个索引,那么可以直接把索引DROP掉后,再根据表里的记录进行重建;
如果发生坏块的表的记录可以根据其它表的记录生成的话,那么可以直接把这个表DROP掉后重建;
如果有数据库的备份,则恢复数据库的方法来进行修复;
如果表里的记录没有其它办法恢复,那么坏块上的记录就丢失了,只能把表中其它数据块上的记录取出来,然后对这个表进行重建。
3.用Oracle提供的DBMS_REPAIR包标记出坏块:
4.使用Create table as select命令将表中其它块上的记录保存到另一张表上以下为引用的内容:
5.用DROP TABLE命令删除有坏块的表以下为引用的内容:
6.用alter table rename命令恢复原来的表以下为引用的内容:
7.如果表上存在索引,则要重建表上的索引。
八、操作系统相关维护
DBA要注意对操作系统的监控:
●文件系统的空间使用情况(df -k),必要时对Oracle的警告日志及TRC 文件进行清理
●如果Oracle提供网络服务,检查网络连接是否正常
●检查操作系统的资源使用情况是否正常
●检查数据库服务器有没有硬件故障,如磁盘、内存报错。