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

数据库日常维护手册1.1数据库的安装1.1.1操作系统的准备工作Oracle 数据库的基本软件安装在oradb1和oradb2上。
数据文件,日志文件,控制文件通过手工建库时,指定在共享的阵列上。
Oradb1与Oradb2的安装配置方法相同,以Oradb1为例说明。
1.内核参数的修改编辑修改/etc/system 文件set shmsys:shminfo_shmmax= 0x200000000set shmsys:shminfo_shmmin=1set shmsys:shminfo_shmmni=100set shmsys:shminfo_shmseg=10set semsys:seminfo_semmni=100set semsys:seminfo_semmsl=600set semsys:seminfo_semmns=1200set semsys:seminfo_semopm=100set semsys:seminfo_semvmx=32767扩大共享内存和信号量参数。
2.检查需要的操作系统patch通过 上下载特定版本(Solaris 8)的patch集并安装,可以满足Oracle 的安装需要。
3.操作系统用户/组的添加●groupadd dba●groupadd oinstall●useradd -c "Oracle DBA" -d /home/oracle -g oinstall -G dba●修改/etc/passwd文件,更改用户登陆shell 或其他信息oracle:x:102:101::/export/home/oracle:/bin/ksh4.Oracle用户环境变量的设定在oracle 用户的初始化环境变量文件中(/export/home/oracle/.profile),增加如下内容。
ORACLE_BASE=/opt/app/oracleORACLE_HOME=/opt/app/oracle/product/8.1.7ORACLE_TERM=vt100ORACLE_OWNER=oracleNLS_LANG="SIMPLIFIED CHINESE_china".ZHS16CGB231280ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/dataORACLE_SID=actdbTMP=/tmpPATH=$ORACLE_HOME/bin:/usr/ccs/bin:$PATHLD_LIBRARY_PATH=/opt/oracle/app/oracle/product/8.1.7/lib:/usr/libexport ORACLE_BASE ORACLE_HOME ORACLE_TERM ORACLE_OWNER NLS_LANGORA_NLS33 ORACLE_SID TMP PATH LD_LIBRARY_PATHLANG=zhexport LANGumask 022stty erase ^HEDITOR=viexport EDITOR文件主要设定数据库的基本目录,数据库的SID名称和数据库的中文语言环境。
Oracle数据库维保服务方案

XXXXXX数据库运维服务方案XXXXXXX股份有限公司2020-8-2目录一、前言........................................................................... - 3 -二、数据库服务需求分析.................................................. - 7 -三、数据库服务技术方案.................................................. - 9 -3.1XXXXX Oracle数据库运维服务介绍............................ - 9 -3.2XXXXX Oracle数据库运维基础服务............................ - 9 -3.3Oracle数据库运维基础服务..................................... - 11 -3.4.1 数据库基础运维服务级别分类 ........................................................................ - 11 -3.4.2 数据库基础运维服务详述.................................................................................. - 12 -3.4.2.1热线电话技术支持服务..................................................................................... - 12 -3.4.2.2数据库基础运维远程拨入故障处理服务 .................................................... - 12 -3.4.2.3数据库健康检查 .................................................................................................. - 13 -3.4.2.4数据库故障排查 .................................................................................................. - 14 -3.4.2.5数据库故障信息及时告知................................................................................ - 17 -3.4.2.6辅助故障定位服务.............................................................................................. - 17 -3.4.2.7数据库补丁安装、小版本升级....................................................................... - 18 -3.4.2.8OEM安装配置 ...................................................................................................... - 19 -3.4.2.9重要问题通知....................................................................................................... - 20 -3.4.2.10数据库运维相关技术建议 ............................................................................. - 20 -3.4.2.11知识传递.............................................................................................................. - 21 -3.4Oracle数据库运维高级服务..................................... - 22 -3.4.1 Oracle数据库高级运维服务内容.................................................................... - 22 -3.4.2 数据库性能优化.................................................................................................... - 22 -3.4.3 数据库版本升级运维服务.................................................................................. - 26 -3.4.4 数据库实施项目.................................................................................................... - 27 -- 1 -3.5XXXXXXX数据库高级运维服务成功案例(100万以上).... -34 -3.6XXXXXX数据库专业技术运维人员 ............................. - 35 -四、数据库运维服务流程及标准 ....................................... - 36 -1、处理步骤....................................................................................................................... - 36 -2、紧急故障处理流程..................................................................................................... - 36 -五、数据库运维服务质量控制........................................... - 37 -- 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_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语句,看表空间的碎片有没有减少。
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.数据库安全性检查错误!未定义书签。
ORACLE数据库系统的日常维护规程

ORACLE数据库管理员应按如下方式对ORACLE数据库系统做定期监控:(1). 每天对ORACLE数据库的运行状态,日志文件,备份情况,数据库的空间使用情况,系统资源的使用情况进行检查,发现并解决问题。
(2). 每周对数据库对象的空间扩展情况,数据的增长情况进行监控,对数据库做健康检查,对数据库对象的状态做检查。
(3). 每月对表和索引等进行Analyze,检查表空间碎片,寻找数据库性能调整的机会,进行数据库性能调整,提出下一步空间管理计划。
对ORACLE数据库状态进行一次全面检查。
每天的工作(1).确认所有的INSTANCE状态正常登陆到所有数据库或例程,检测ORACLE后台进程:$ps –ef|grep ora(2). 检查文件系统的使用(剩余空间)。
如果文件系统的剩余空间小于20%,需删除不用的文件以释放空间。
$df –k(3). 检查日志文件和trace文件记录alert和trace文件中的错误。
连接到每个需管理的系统? 使用’telnet’? 对每个数据库,cd 到bdump目录,通常是$ORACLE_BASE/<SID>;/bdump? 使用Unix ‘tail’命令来查看alert_<SID>;.log文件? 如果发现任何新的ORA- 错误,记录并解决(4). 检查数据库当日备份的有效性。
对RMAN备份方式:检查第三方备份工具的备份日志以确定备份是否成功对EXPORT备份方式:检查exp日志文件以确定备份是否成功对其他备份方式:检查相应的日志文件(5). 检查数据文件的状态记录状态不是“online”的数据文件,并做恢复。
Select file_name from dba_data_files where status=’OFFLINE’(6). 检查表空间的使用情况SELECT tablespace_name, max_m, count_blocks free_blk_t, sum_free_m,to_char(100*sum_free_m/sum_m, '99.99') || '%' AS pct_freeFROM ( SELECT tablespace_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_name(7). 检查剩余表空间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_space GROUP BY tablespace_name;(8). 监控数据库性能运行bstat/estat生成系统报告或者使用statspack收集统计数据(9). 检查数据库性能,记录数据库的cpu使用、IO、buffer命中率等等使用vmstat,iostat,glance,top等命令(10). 日常出现问题的处理。
oracle维保方案

Oracle维保方案1. 背景介绍随着信息化建设的不断发展,越来越多的企业开始使用Oracle数据库作为其关键业务系统的数据存储和管理工具。
然而,随着时间的推移,数据库的维护和管理工作变得愈发繁琐和复杂,需要专业的技术人员进行定期的维护和优化。
本文档旨在为企业提供一个全面的Oracle维保方案,以确保数据库的稳定运行和高效性能。
2. 维保目标我们的Oracle维保方案的主要目标是保障数据库的稳定性、可靠性和高效性能,以满足企业的业务需求。
具体来说,维保方案的目标包括:•保证数据库的高可用性和灾难恢复能力,以防止数据丢失和系统中断。
•提供数据库性能调优和优化,以确保系统的响应速度和效率最大化。
•定期进行备份和恢复测试,以保证数据库备份的可靠性和完整性。
•管理和监控数据库的安全性,防止潜在的安全威胁和风险。
•提供专业的技术支持和培训,以帮助企业解决数据库相关的问题和挑战。
3. 维保内容3.1 数据库安全管理•定期检查和更新数据库的安全策略和访问控制措施。
•实施和监控强密码策略,以增加用户密码的安全性。
•配置和管理防火墙和入侵检测系统,以防止未经授权的访问和攻击。
•进行定期的安全审计和漏洞扫描,以发现和修复潜在的安全问题。
3.2 数据库备份和恢复•设计和实施完整的数据库备份和恢复策略,包括全量备份和增量备份。
•定期进行数据库备份,并确保备份数据的完整性和可靠性。
•定期进行备份恢复测试,以验证备份数据的可恢复性。
•监控和调整备份和恢复策略,以满足企业的数据恢复需求。
3.3 数据库性能调优•定期进行数据库性能评估和调优,以发现和解决性能瓶颈。
•监控和分析数据库运行状况,包括CPU利用率、内存利用率、磁盘IO等指标。
•优化数据库的查询计划和索引,以提高查询性能和响应时间。
•建议和实施数据库参数调整,以优化数据库的整体性能。
3.4 问题解决和技术支持•提供24/7的技术支持和故障排除服务,确保及时解决数据库相关的问题。
数据库日常运行维护方案

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数据库⽇常维护中最实⽤的⽅法全部整理成册,⽅便⼤家参考!!2021-07-11查看数据库版本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 TIMESTAMPTO_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, 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 SID, 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)",F.MAX_BYTES "最⼤块(M)" FROM (SELECT TABLESPACE_NAME, ROUND(SUM(BYTES) / (1024*1024), 2) TOTAL_BYTES, ROUND(MAX(BYTES) / (1024*1024), 2) MAX_BYTES FROM SYS.DBA_FREE_SPACE GROUP 收缩表空间ALTER TABLESPCE TS_AJ_DATA COALESCE;增加表空间⼤⼩SELECT T.TABLESPACE_NAME, T.FILE_NAME, T.BYTES /1024/1024/1024FROM DBA_DATA_FILES T WHERE T.TABLESPACE_NAME ='TS_AJ_DATA';ALTER TABLESPACE TS_AJ_DATA ADD DATAFILE '/DATA/TS_AJ_DATA05_10G.DBF' SIZE 10000MAUTOEXTEND OFF;检查不起作⽤的约束SELECT OWNER, CONSTRAINT_NAME, TABLE_NAME, CONSTRAINT_TYPE, STATUS FROM DBA_CONSTRAINTS WHERE STATUS ='DISABLE';检查发⽣坏块的数据库对象SELECT TABLESPACE_NAME, SEGMENT_TYPE, OWNER, SEGMENT_NAMEFROM DBA_EXTENTSWHERE FILE_ID=AND BETWEEN BLOCK_ID AND BLOCK_ID BLOCKS -1;检查⽆效的数据库对象SELECT OWNER,OBJECT_NAME,OBJECT_TYPEFROM DBA_OBJECT/doc/dba9a779825b68483416ac96SWHERE STATUS ='INVALID';查看语句执⾏进度SELECT SE.SID,OPNAME,TRUNC(SOFAR / TOTALWORK *100, 2) ||'%'AS PCT_WORK,ELAPSED_SECONDS ELAPSED,ROUND(ELAPSED_SECONDS * (TOTALWORK - SOFAR) / SOFAR) REMAIN_TIME, SQL_TEXT FROM V$SESSION_LONGOPS SL, V$SQLAREA SA, V$SESSION SEWHERE SL.SQL_HASH_VALUE = SA.HASH_VALUE AND SL.SID = SE.SID AND SOFAR != TOTALWORKORDER BY START_TIME;检查碎⽚程度⾼的表SELECT SEGMENT_NAME TABLE_NAME, COUNT(*) EXTENTSFROM DBA_SEGMENTSWHERE OWNER NOT IN ('SYS', 'SYSTEM')GROUP BY SEGMENT_NAMEHAVING COUNT(*) = (SELECT MAX(COUNT(*)) FROM DBA_SEGMENTS GROUP BY SEGMENT_NAME);检查表空间的 I/O ⽐例SELECT DF.TABLESPACE_NAME NAME, DF.FILE_NAME "FILE", F.PHYRDS PYR,F.PHYBLKRD /doc/dba9a779825b68483416ac96PBR,F.PHYWRTS PYW,F.PHYBLKWRT PBW FROM V$FILESTAT F, DBA_DATA_FILES DFWHERE F.FILE# = DF.FILE_IDORDER BY DF.TABLESPACE_NAME;检查⽂件系统的 I/O ⽐例SELECT SUBSTR(A.FILE#, 1, 2) "#",SUBSTR(, 1, 30) "NAME",A.STATUS,A.BYTES,B.PHYRDS,B.PHYWRTSFROM V$DATAFILE A, V$FILESTAT BWHERE A.FILE# = B.FILE#;检查消耗CPU最⾼的进程SELECT P.PID PID,S.SID SID,P.SPID SPID,ERNAME USERNAME,S.OSUSER OSNAME,P.SERIAL# S_#,P.TERMINAL,P.PROGRAM PR ,P.BACKGROUND,S.STATUS,RTRIM(SUBSTR(A.SQL_TEXT, 1, 80)) SQLFROMFROM V$PROCESS P, V$SESSION S, V$SQLAREA AWHERE P.ADDR = S.PADDRAND S.SQL_ADDRESS = A.ADDRESSAND P.SERIAL#= '1';检查运⾏很久的SQLSELECT USERNAME,SID,OPNAME,ROUND(SOFAR *100/ TOTALWORK, 0) ||'%'AS PROGRESS, TIME_REMAINING, SQL_TEXTFROM V$SESSION_LONGOPS, V$SQLWHERE TIME_REMAINING =0AND SQL_ADDRESS = ADDRESSAND SQL_HASH_VALUE = HASH_VALUE;等待时间最多的5个系统等待事件的获取SELECT*FROM(SELECT*FROM V$SYSTEM_EVENT WHERE EVENT NOT LIKE'SQL%'ORDER BY TOTAL_WAITS DESC)WHERE ROWNUM =1查找前⼗条性能差的SQLSELECT*FROM (SELECT PARSING_USER_ID EXECUTIONS,SORTS,COMMAND_TYPE,DISK_READS,SQL_TEXTFROM V$SQLAREAORDER BY DISK_READS DESC)WHERE ROWNUM =1检查死锁SELECT ername "Blocking User", ername "DB User",ername "Waiting User", bs.SID "SID", ws.SID "WSID",bs.serial# "Serial#", bs.sql_address "address",bs.sql_hash_value "Sql hash", bs.program "Blocking App",ws.program "Waiting App", bs.machine "Blocking Machine",ws.machine "Waiting Machine", bs.osuser "Blocking OS User",ws.osuser "Waiting OS User", bs.serial# "Serial#",ws.serial# "WSerial#", DECODE (wk.TYPE,'MR', 'Media Recovery','RT', 'Redo Thread','UN', 'USER Name','TX', 'Transaction','TM', 'DML','UL', 'PL/SQL USER LOCK','DX', 'Distributed Xaction','CF', 'Control FILE','IS', 'Instance State','FS', 'FILE SET','IR', 'Instance Recovery','ST', 'Disk SPACE Transaction','TS', 'Temp Segment','IV', 'Library Cache Invalidation','LS', 'LOG START OR Switch','RW', 'ROW Wait','SQ', 'Sequence Number','TE', 'Extend TABLE','TT', 'Temp TABLE',wk.TYPE) lock_type,DECODE (hk.lmode,0, 'None',1, 'NULL',2, 'ROW-S (SS)',3, 'ROW-X (SX)',4, 'SHARE',5, 'S/ROW-X (SSX)',6, 'EXCLUSIVE',TO_CHAR (hk.lmode)) mode_held,DECODE (wk.request,0, 'None',1, 'NULL',2, 'ROW-S (SS)',3, 'ROW-X (SX)',4, 'SHARE',5, 'S/ROW-X (SSX)',6, 'EXCLUSIVE',TO_CHAR (wk.request)) mode_requested,TO_CHAR (hk.id1) lock_id1, TO_CHAR (hk.id2) lock_id2, DECODE(hk.BLOCK, 'NOT Blocking', /**//* Not blocking any other processes */1, 'Blocking', /**//* This lock blocks other processes */2, 'Global', /**//* This lock is global, so we can't tell */TO_CHAR (hk.BLOCK)) blocking_othersFROM v$lock hk, v$session bs, v$lock wk, v$session ws WHERE hk.BLOCK =1 AND hk.lmode !=0AND hk.lmode !=1AND wk.request !=0AND wk.TYPE = hk.TYPEAND wk.id1 = hk.id1AND wk.id2 = hk.id2AND hk.SID = bs.SIDAND wk.SID = ws.SIDAND (ername IS NOT NULL)AND (ername ='SYSTEM')AND (ername ='SYS')ORDER BY1;查看正在运⾏的JOBSELECT*FROM DBA_JOBS_RUNNING;检查数据库JOB的完成情况SELECT JOB, LOG_USER, LAST_DATE, NEXT_DATE, WHAT, FAILURES FROM DBA_JOBS;查看正在运⾏的JOB对应的SID、SERIAL#、SPIDSELECT A.JOB, B.SID, B.SERIAL#, C.SPIDFROM DBA_JOBS_RUNNING A, V$SESSION B, V$PROCESS C WHERE A.SID = B.SIDAND B.PADDR = C.ADDRAND JOB ='21';通过SID查询SERIAL#、SPIDSELECT B.SID, B.SERIAL#, C.SPID FROM V$SESSION B, V$PROCESS C WHERE B.SID ='554' AND B.PADDR = C.ADDR;停⽌会话--SID:554 SERIAL#:1134 SPID:23242 ORACLE级别ALTER SYSTEM KILL SESSION '554,1134'; 操作系统级别kill-923242。
ORACLE数据库日常使用中的维护和技巧

E x p是数据库导出命令 E x p o r t 的简写 ;
Fi l e数据 备份文件名 ,恢 复数据用到 此文件 ;
L o g是导 出 日志 的文件名 ,可以通过导 出 日志检 查备 是否 成功 完成 。 然后利用 Wi n d o w 自带的计划任务 工具每天定时
常检查 备 份 文件 的生 成情 况 ,由于 系统 或者 杀 毒软 件的缘 故 ,备份 工作可 能不能正常进行 ,发生异常时
应该 及时处 理 ,确保 备份数 据 的正确 及时 。
1 . 5 . 2 数 据 恢 复
h i r e d a t e ,c o mm,d e p t n o f r o m e mp,响应时 间为
数据库 系统显 得越来越 重要 。S Q L语 句尤其 是复杂 S Q L语 句的性 能优化 对于数据 库的性 能是至 关重要 的。在集中式数据库 中 S QL查询的执行总代价 = I / 0 代价 + CPU 代价 +内存 代价 。调整影 响其执行效率
的 三大 因素 来 减少 系统 总 代价 :一 是 减少 查 询所 产 生的 I / O总次数 ,二是减少 C P U 的计算频 度 ,减少
份 数据 备 份 的数据 和 日志 文件 。 日常工 作 中应该 经
从1 0 2 4行记录 中查询 想要的结果 :
优化前 : S e l e c t * f r o m e mp ,响应时间为 0 . 9 5 3 S 。
优化 后 : S e l e c e mp n o ,e n a me ,j o b ,mg r ,s a l ,
2 O R A C L E数据库 S Q L查询优化
Oracle数据库日常维护与优化建议

Oracle数据库日常维护与优化建议摘要:Oracle数据库的性能优越,具有较强的灵活性与高效性,因此其应用范围逐步扩大,为工作效率的提升奠定了基础。
作为一种关系数据库管理系统,Oracle数据库的环境适应能力较强,而且具有较强的可操作性,在当下大数据环境中也能够满足多种工作需求。
为了发挥Oracle数据库的最大功能与价值,不断提升日常工作效率,必须对其进行维护与优化,提升系统运行的稳定性。
本文将通过分析Oracle数据库存在的安全问题,探索Oracle数据库日常维护与优化策略,为运维人员提供参考。
关键词:Oracle数据库;日常维护;实践研究引言Oracle数据库即OracleDatabase,其体系结构为客户/服务器或者B/S,不仅具有完备的分布式处理功能,而且良好的可移植性也为诸多领域的应用提供了保障。
在Oracle数据库的常年使用中,为了确保系统运行的稳定性,防止对工作开展造成的不利影响,必须加强维护与优化。
以数据库当前运行状态和实际工作需求为依据,提升维护与优化方案的针对性,逐步提升Oracle数据库的适应性,为各项工作开展奠定基础。
其中,数据库的维护工作包括了日常检查和监控、数据库坏块处理、备份和操作系统维护等等。
由于维护工作较为繁杂,因此应该制定符合实际情况的维护计划。
数据库的优化主要是针对硬件、操作系统和数据库系统的优化,其专业性要求较高。
1、Oracle数据库日常维护1.1检查与监控检查数据库文件的状态,是Oracle数据库维护的基础性工作,维护人员负责维持文件正常的运行状态。
当检查过程中发现异常状况时,应该以实际情况为依据,采取针对性控制措施。
比如可以恢复异常文件和重组数据库文件的表空间等等。
其次,应该对数据库的实际工作状况进行检查。
实时检查监控工作的开展,能够帮助数据库管理员及时获取运行状态,并以相关检查数据为依据开展处理工作。
比如在JOB的应用过程中,就应该全方位检查JOB,以提升其工作效率和稳定性。
ORACLE数据库日常维护作业计划

O RACLE A DVANCED P RODUCT S ERVICESOracle数据库日常维护手册1.1.工作内容 31.1.1 每日工作 (3)1.1.2 每周的工作(通过工具自动跑出结果,手工进行问题处理) (5)1.1.3 每月的工作(人工分析处理) (22)1.1.4 每年的工作(结合工具进行全面检查) (25)审阅记录分发记录相关文档1.1. 工作内容1.1.1每日工作1.1.1.1检查数据库状态(目前人工,以后自动,)确认所有的INSTANCE状态以及listener状态正常,登陆到所有数据库或例程,检测ORACLE 后台进程:1.1.1.2检查CPU使用率(自动,无报警即可)例如sar –u显示内容包括:%usr:CPU处在用户模式下的时间百分比。
%sys:CPU处在系统模式下的时间百分比。
%wio:CPU等待输入输出完成时间的百分比。
%idle:CPU空闲时间百分比对于%usr,建议客户定期收集,建立系统性能的基线,以便判断系统CPU使用的趋势。
如果%usr 突然异常增长,建议客户使用topas,glance找到使用CPU最高资源的进程,进行进一步分析。
如果是oracle用户进程,可以使用如下语句获得该进程正在执行的SQL:--通过PID找SQLSELECT /*+ ORDERED */ sql_textFROM v$sqltext aWHERE (a.hash_value, a.address) IN (SELECT DECODE (sql_hash_value, 0, prev_hash_value, sql_hash_value), DECODE (sql_hash_value, 0, prev_sql_addr, sql_address)FROM v$session bWHERE b.paddr = (SELECT addr FROM v$process c WHERE c.spid = '&pid')) ORDER BY piece ASC;而且我们通过v$session的sid,可以进一步从v$session_wait得到该进程的等待事件:--通过PID找该进程的等待事件:SELECT /*+ ORDERED */ event,p1,p2,p3FROM v$session_wait a WHERE a.sid IN (SELECT b.sid FROM v$session b WHERE b.paddr = (SELECT addr FROM v$process c WHERE c.spid = '&pid'));而得到该语句的执行计划,我们可以如下查询:SELECT /*+ ORDERED */OPERATION , OPTIONS, OBJECT_NAME, OPTIMIZER, ID, PARENT_ID, COST,CARDINALITY,BYTESFROM v$sql_plan a where a.hash_value='&hav' and a.address='&address';对于%wio,如果该数值过高,表示硬盘存在I/O等待。
ORACLE数据库日常维护手册教学文案

ORACLE数据库日常维护手册1前言 (3)2ORACLE数据库每天应检查的项目 (3)2.1数据库基本状况检查 (3)2.1.1检查Oracle的进程 (3)2.1.2检查Oracle监听进程 (4)2.1.3检查Oracle实例状态 (4)2.1.4检查归档情况 (5)2.2数据库日志文件检查 (5)2.2.1检查Oracle日志文件 (5)2.2.2检查Oracle核心转储目录 (6)2.3数据库对象状态检查 (6)2.3.1检查Oracle控制文件状态 (6)2.3.2检查Oracle在线日志状态 (6)2.3.3检查Oracle表空间的状态 (6)2.3.4检查Oracle所有数据文件状态 (7)2.3.5检查Oracle所有表、索引、存储过程、触发器、包等对象的状态 (7)2.4数据库资源使用情况检查 (8)2.4.1检查Oracle初始化文件中相关的参数值 (8)2.4.2检查Oracle各个表空间的增长情况 (9)2.4.3检查一些扩展异常的对象 (9)2.4.4检查system表空间内的内容 (9)2.4.5检查对象的下一扩展与表空间的最大扩展值 (10)2.4.6数据库表空间使用情况监控 (10)2.5检查数据库定时作业的完成情况 (11)2.6数据库坏块的处理 (11)2.7数据库备份情况检查 (12)2.7.1检查备份软件的日志 (12)2.7.2检查数据库归档日志 (12)2.7.3控制文件的备份 (12)2.8数据库连接情况检查 (13)2.8.1检查数据库连接 (13)2.8.2检查数据库会话 (13)2.9操作系统相关检查 (14)2.9.1检查空间使用情况 (14)2.9.2检查网络状况 (14)2.9.3检查内存使用情况 (14)2.9.4检查磁盘I/O瓶颈 (14)3ORACLE数据库每周应检查的项目 (14)3.1查看是否有危害到安全策略的问题 (14)3.2查看的网络日志 (15)3.3将所有的警告日志存档 (15)3.4查看ORACLE相关的网站,获取最新信息 (15)4ORACLE数据库每月应检查的项目 (15)4.1查看对数据库会产生危害的增长速度 (15)4.2查看数据库调整产生的影响 (15)4.3查看I/O的屏颈问题 (16)5附: (17)5.1启动数据库 (17)5.2关闭数据库 (17)5.3启动监听 (18)5.4关闭监听 (19)1前言数据库系统往往是企业或组织信息系统中最重要的基础架构,一旦数据库系统不能正常运行,那基于数据库的整个信息架构都会随之瘫痪,因此我们必须保证数据库系统持续的健康的运行。
Oracle数据库日常维护与优化

O r a c l e 数 据库 日常维护 与优化
文/ 陈 飞
对 于我 国 当前 的 经济发 展 来 说 ,0 r a c 1 e数 据 库 的 使 用 具 有 非 常 重要 的 意 义,其 目前 已经扩 展 到 了多个 领 域。在 该数 据 的使 用
3 . 2 操 作 系统 的优 化 处 理 对于 O r a c l e数 据 库 的 操 作 系 统 优 化 , 其
主要针对 数据库的具体操作系统和操作 内容, 像 当前 比较常 用 的 O r a c l e 数 据库 ,其在 运 行 时所借助 的 L i n u x操作系 统,在优化 的过程 中 主要 是对 其共享 内存 以及信号灯等进 行优 化。
过程 中,其 能 够将 自身的 价值 发 挥 到 最 大程度 , 为 了保 证 该数 据 库 的 正常 使 用,加 强对 其 进行 日 常维 护以及 优化 在 当前 的 0 r a c 1 e
数 据 库 使 用 中 显 得 尤 为 重 要 。 在 本 文 中对 O r a c l e数据 库的 日常维 护 与优 化 进 行 了简 单 的 分 析
在 优 化 的 过 程 中 , 需 要 对 系 统 的 内存 进 行 合 理
的分配 ,这 是影 响 Or a c l e数据 库运 行 效率 的 主 要 因 素 之 一 ,一 般 情 况 下 ,对 其 进 行 操 作 系
【 关键 词】O r a c l e维护 对 策
随着我 国经济 的快速 发展,O r a c l e 数据库 的应用也在逐渐普及 ,而其在各种运行过程 中 的 状 态 好 坏 对 其 应 用 效 果 具 有 非 常 大 的影 响 , 为 了保 证 O r a c l e 数 据 库 的正 常运 行, 需要 对 其进行定期 的维护 和优化 ,保证数据库 内容的 不断 更 新,这 样 才能 够 更好 的发 挥 O r a c l e数 据库的作用 。
Oracle数据库规划设计和运行维护方案

O r a c l e数据库规划设计和运行维护方案(V1.0)目录1.前言1.1.编写目的..........................................................1.2.方案说明..........................................................1.3.预期读者..........................................................2.数据库部署模式2.1.单机模式..........................................................2.2.双机热备模式(HA模式)...........................................2.3.集群模式(RAC)...................................................2.4.主从模式(DataGuard).............................................2.5.混合模式(DataGrard+RAC).........................................2.6.数据库运行模式选择................................................3.系统特点和数据库类型3.1.业务系统的特点....................................................OLTP特点.................................................OLAP特点.................................................3.2.数据库的规模......................................................3.3.数据库版本建议....................................................4.数据库运行环境规划4.1.主机规划..........................................................4.2.网络规划..........................................................4.3.存储规划..........................................................5.数据库安装部署规划5.1.软件安装路径......................................................5.2.表空间设计........................................................业务数据量估算............................................表空间使用规则............................................表空间的概念和分配原则....................................表空间的参数配置..........................................Undo/temp表空间的估算....................................表的参数设置..............................................索引的使用原则............................................5.3.文件设计..........................................................RAC配置文件..............................................参数文件..................................................控制文件..................................................重做日志文件..............................................6.数据库应用规划6.1.数据库用户设计....................................................用户权限规划..............................................用户安全实现..............................................用户类型及角色命名规范....................................6.2.数据库分区........................................................数据库分区介绍............................................逻辑分割..................................................物理分割..................................................数据分区的优点............................................数据分区的不足............................................Oracle分区技术...........................................分区使用建议..............................................分区索引..................................................6.3.数据库实例配置....................................................6.4.数据库参数设置....................................................必须修改的初始化参数......................................建议修改的初始化参数......................................不可修改的初始化参数......................................建议不可修改的初始化参数..................................与并行有关的参数..........................................6.5.数据库连接服务....................................................专用服务器连接............................................共享服务器连接............................................连接服务建议..............................................6.6.数据库安全建议....................................................6.7.数据库备份和恢复..................................................RMAN备份.................................................EXP/IMP备份..............................................存储级备份................................................数据库恢复................................................6.8.数据库网络配置....................................................监听器的使用配置原则......................................TNSNAMES的使用配置原则...................................RAC环境下TNSNAMES的配置.................................7.业务系统开发建议7.1.数据库模型设计规范................................................命名规则..................................................数据库对象................................................7.2.PLSQL开发规则....................................................总体开发原则..............................................7.3.SQL语句编写规则..................................................查询语句的使用原则........................................DML语句的调整原则........................................8.数据库体系结构8.1.整体结构..........................................................8.2.内存结构..........................................................系统全局区(SGA).........................................程序全局区(PGA).........................................后台进程..................................................8.3.存储结构..........................................................物理结构..................................................逻辑结构..................................................9.数据库基本管理9.1.参数文件管理......................................................9.2.表空间管理........................................................用户表空间管理............................................临时表空间管理............................................回滚段表空间管理..........................................9.3.重做日志文件管理..................................................增加重做日志文件组........................................添加重做日志文件组成员....................................改变重做日志文件组成员....................................删除重做日志文件组成员....................................删除重做日志文件组........................................重做日志切换..............................................重做日志清理..............................................重做日志切换次数查询......................................9.4.归档模式设置......................................................单实例数据库设置归档模式..................................RAC数据库设置归档模式....................................归档路径设置..............................................9.5.控制文件重建......................................................9.6.内存参数管理......................................................Oracle内存管理发展阶段...................................自动内存管理AMM..........................................自动共享内存管理ASMM.....................................自动PGA管理..............................................9.7.其它管理内容......................................................查看数据库版本............................................数据库字符集..............................................创建密码文件..............................................关闭数据库审计功能........................................账号管理..................................................10.数据库集群(RAC)管理10.1.RAC状态检查......................................................检查守护进程..............................................检查资源状态..............................................10.2.RAC启动与关闭....................................................10.3.管理OCR..........................................................OCR盘状态查看............................................OCR备份与恢复............................................查看OCR内容..............................................指定OCR盘................................................增加OCR盘................................................删除OCR盘................................................10.4.管理VOTING DISK..................................................检查Voting Disl盘........................................VOTING DISK备份与恢复....................................添加VOTING DISK盘........................................删除VOTING DISK盘........................................10.5.CSS管理..........................................................10.6.SRVCTL管理工具...................................................管理实例..................................................管理监听程序..............................................管理ASM..................................................管理service..............................................10.7.修改RAC的IP及VIP...............................................修改外网IP和心跳IP......................................修改VIP..................................................查看与删除IP.............................................10.8.管理ASM..........................................................管理DiskGroup............................................ASM兼容性管理............................................ASM中添加disk的方法.....................................ASMCMD管理命令介绍.......................................ASM常用视图..............................................11.数据库备份11.1.备份概念说明......................................................脱机备份..................................................联机备份..................................................RMAN备份.................................................11.2.备份策略规划......................................................11.3.RMAN备份和恢复案例...............................................归档模式下的完全恢复......................................归档模式下的不完全恢复....................................12.数据库运维管理12.1.运维职责..........................................................12.2.运维要求..........................................................12.3.技能要求..........................................................12.4.运维内容..........................................................检查数据库运行情况........................................检查操作系统和数据库日志文件..............................检查Oracle对象状态.......................................检查数据库相关资源的使用..................................检查数据库备份............................................检查数据库的性能..........................................数据库安全性检查.......................................... 前言编写目的随着以使用Oracle数据库的应用系统不断增加,为了加强应用系统在规划、开发、实施、维护等环节工作的规范化,特编写本文档,力求对实际的设计、实施工作起到规范和指导作用。
oracle数据库规划设计和运行维护方案

O r a c l e数据库规划设计和运行维护方案(V1.0)目录1.前言1.1.编写目的..........................................................1.2.方案说明..........................................................1.3.预期读者..........................................................2.数据库部署模式2.1.单机模式..........................................................2.2.双机热备模式(HA模式)...........................................2.3.集群模式(RAC)...................................................2.4.主从模式(DataGuard).............................................2.5.混合模式(DataGrard+RAC).........................................2.6.数据库运行模式选择................................................3.系统特点和数据库类型3.1.业务系统的特点....................................................OLTP特点.................................................OLAP特点.................................................3.2.数据库的规模......................................................3.3.数据库版本建议....................................................4.数据库运行环境规划4.1.主机规划..........................................................4.2.网络规划..........................................................4.3.存储规划..........................................................5.数据库安装部署规划5.1.软件安装路径......................................................5.2.表空间设计........................................................业务数据量估算............................................表空间使用规则............................................表空间的概念和分配原则....................................表空间的参数配置..........................................Undo/temp表空间的估算....................................表的参数设置..............................................索引的使用原则............................................5.3.文件设计..........................................................RAC配置文件..............................................参数文件..................................................控制文件..................................................重做日志文件..............................................6.数据库应用规划6.1.数据库用户设计....................................................用户权限规划..............................................用户安全实现..............................................用户类型及角色命名规范....................................6.2.数据库分区........................................................数据库分区介绍............................................逻辑分割..................................................物理分割..................................................数据分区的优点............................................数据分区的不足............................................Oracle分区技术...........................................分区使用建议..............................................分区索引..................................................6.3.数据库实例配置....................................................6.4.数据库参数设置....................................................必须修改的初始化参数......................................建议修改的初始化参数......................................不可修改的初始化参数......................................建议不可修改的初始化参数..................................与并行有关的参数..........................................6.5.数据库连接服务....................................................专用服务器连接............................................共享服务器连接............................................连接服务建议..............................................6.6.数据库安全建议....................................................6.7.数据库备份和恢复..................................................RMAN备份.................................................EXP/IMP备份..............................................存储级备份................................................数据库恢复................................................6.8.数据库网络配置....................................................监听器的使用配置原则......................................TNSNAMES的使用配置原则...................................RAC环境下TNSNAMES的配置.................................7.业务系统开发建议7.1.数据库模型设计规范................................................命名规则..................................................数据库对象................................................7.2.PLSQL开发规则....................................................总体开发原则..............................................7.3.SQL语句编写规则..................................................查询语句的使用原则........................................DML语句的调整原则........................................8.数据库体系结构8.1.整体结构..........................................................8.2.内存结构..........................................................系统全局区(SGA).........................................程序全局区(PGA).........................................后台进程..................................................8.3.存储结构..........................................................物理结构..................................................逻辑结构..................................................9.数据库基本管理9.1.参数文件管理......................................................9.2.表空间管理........................................................用户表空间管理............................................临时表空间管理............................................回滚段表空间管理..........................................9.3.重做日志文件管理..................................................增加重做日志文件组........................................添加重做日志文件组成员....................................改变重做日志文件组成员....................................删除重做日志文件组成员....................................删除重做日志文件组........................................重做日志切换..............................................重做日志清理..............................................重做日志切换次数查询......................................9.4.归档模式设置......................................................单实例数据库设置归档模式..................................RAC数据库设置归档模式....................................归档路径设置..............................................9.5.控制文件重建......................................................9.6.内存参数管理......................................................Oracle内存管理发展阶段...................................自动内存管理AMM..........................................自动共享内存管理ASMM.....................................自动PGA管理..............................................9.7.其它管理内容......................................................查看数据库版本............................................数据库字符集..............................................创建密码文件..............................................关闭数据库审计功能........................................账号管理..................................................10.数据库集群(RAC)管理10.1.RAC状态检查......................................................检查守护进程..............................................检查资源状态..............................................10.2.RAC启动与关闭....................................................10.3.管理OCR..........................................................OCR盘状态查看............................................OCR备份与恢复............................................查看OCR内容..............................................指定OCR盘................................................增加OCR盘................................................删除OCR盘................................................10.4.管理VOTING DISK..................................................检查Voting Disl盘........................................VOTING DISK备份与恢复....................................添加VOTING DISK盘........................................删除VOTING DISK盘........................................10.5.CSS管理..........................................................10.6.SRVCTL管理工具...................................................管理实例..................................................管理监听程序..............................................管理ASM..................................................管理service..............................................10.7.修改RAC的IP及VIP...............................................修改外网IP和心跳IP......................................修改VIP..................................................查看与删除IP.............................................10.8.管理ASM..........................................................管理DiskGroup............................................ASM兼容性管理............................................ASM中添加disk的方法.....................................ASMCMD管理命令介绍.......................................ASM常用视图..............................................11.数据库备份11.1.备份概念说明......................................................脱机备份..................................................联机备份..................................................RMAN备份.................................................11.2.备份策略规划......................................................11.3.RMAN备份和恢复案例...............................................归档模式下的完全恢复......................................归档模式下的不完全恢复....................................12.数据库运维管理12.1.运维职责..........................................................12.2.运维要求..........................................................12.3.技能要求..........................................................12.4.运维内容..........................................................检查数据库运行情况........................................检查操作系统和数据库日志文件..............................检查Oracle对象状态.......................................检查数据库相关资源的使用..................................检查数据库备份............................................检查数据库的性能..........................................数据库安全性检查.......................................... 前言编写目的随着以使用Oracle数据库的应用系统不断增加,为了加强应用系统在规划、开发、实施、维护等环节工作的规范化,特编写本文档,力求对实际的设计、实施工作起到规范和指导作用。
Oracle数据库规划设计和运行维护方案(最新整理)

Oracle数据库规划设计和运行维护方案(V1.0)目录1.前言 (7)1.1.编写目的 (7)1.2.方案说明 (7)1.3.预期读者 (8)2.数据库部署模式 (8)2.1.单机模式 (8)2.2.双机热备模式(HA模式) (8)2.3.集群模式(RAC) (9)2.4.主从模式(DataGuard) (10)2.5.混合模式(DataGrard+RAC) (11)2.6.数据库运行模式选择 (11)3.系统特点和数据库类型 (12)3.1.业务系统的特点 (12)3.1.1.OLTP特点 (12)3.1.2.OLAP特点 (13)3.2.数据库的规模 (13)3.3.数据库版本建议 (14)4.数据库运行环境规划 (14)4.1.主机规划 (14)4.2.网络规划 (15)4.3.存储规划 (17)5.数据库安装部署规划 (18)5.1.软件安装路径 (18)5.2.表空间设计 (19)5.2.1.业务数据量估算 (19)5.2.2.表空间使用规则 (20)5.2.3.表空间的概念和分配原则 (24)5.2.4.表空间的参数配置 (25)5.2.5.Undo/temp表空间的估算 (29)5.2.6.表的参数设置 (29)5.2.7.索引的使用原则 (30)5.3.文件设计 (31)5.3.1.RAC配置文件 (31)5.3.2.参数文件 (31)5.3.3.控制文件 (33)5.3.4.重做日志文件 (34)6.数据库应用规划 (35)6.1.数据库用户设计 (35)6.1.1.用户权限规划 (35)6.1.2.用户安全实现 (37)6.1.3.用户类型及角色命名规范 (39)6.2.数据库分区 (41)6.2.1.数据库分区介绍 (41)6.2.2.逻辑分割 (42)6.2.3.物理分割 (42)6.2.4.数据分区的优点 (42)6.2.5.数据分区的不足 (43)6.2.6.Oracle分区技术 (43)6.2.7.分区使用建议 (44)6.2.8.分区索引 (44)6.3.数据库实例配置 (45)6.4.数据库参数设置 (46)6.4.1.必须修改的初始化参数 (46)6.4.2.建议修改的初始化参数 (51)6.4.3.不可修改的初始化参数 (53)6.4.4.建议不可修改的初始化参数 (54)6.4.5.与并行有关的参数 (57)6.5.数据库连接服务 (58)6.5.1.专用服务器连接 (58)6.5.2.共享服务器连接 (59)6.5.3.连接服务建议 (59)6.6.数据库安全建议 (59)6.7.数据库备份和恢复 (60)6.7.1.RMAN备份 (60)6.7.2.EXP/IMP备份 (61)6.7.3.存储级备份 (61)6.7.4.数据库恢复 (62)6.8.数据库网络配置 (63)6.8.1.监听器的使用配置原则 (63)6.8.2.TNSNAMES的使用配置原则 (63)6.8.3.RAC环境下TNSNAMES的配置 (63)7.业务系统开发建议 (65)7.1.数据库模型设计规范 (65)7.1.1.命名规则 (65)7.1.2.数据库对象 (66)7.2.PLSQL开发规则 (69)7.2.1.总体开发原则 (69)7.2.2.程序编写规范 (70)7.3.SQL语句编写规则 (97)7.3.1.查询语句的使用原则 (97)7.3.2.DML语句的调整原则 (108)8.数据库体系结构 (112)8.1.整体结构 (112)8.2.内存结构 (112)8.2.1.系统全局区(SGA) (113)8.2.2.程序全局区(PGA) (116)8.2.3.后台进程 (116)8.3.存储结构 (119)8.3.1.物理结构 (119)8.3.2.逻辑结构 (121)9.数据库基本管理 (123)9.1.参数文件管理 (123)9.2.表空间管理 (124)9.2.1.用户表空间管理 (124)9.2.2.临时表空间管理 (127)9.2.3.回滚段表空间管理 (131)9.3.重做日志文件管理 (133)9.3.1.增加重做日志文件组 (133)9.3.2.添加重做日志文件组成员 (133)9.3.3.改变重做日志文件组成员 (134)9.3.4.删除重做日志文件组成员 (134)9.3.5.删除重做日志文件组 (134)9.3.6.重做日志切换 (135)9.3.7.重做日志清理 (135)9.3.8.重做日志切换次数查询 (135)9.4.归档模式设置 (137)9.4.1.单实例数据库设置归档模式 (137)9.4.2.RAC数据库设置归档模式 (137)9.4.3.归档路径设置 (138)9.5.控制文件重建 (139)9.6.内存参数管理 (141)9.6.1.Oracle内存管理发展阶段 (141)9.6.2.自动内存管理AMM (141)9.6.3.自动共享内存管理ASMM (141)9.6.4.自动PGA管理 (142)9.7.其它管理内容 (142)9.7.1.查看数据库版本 (142)9.7.2.数据库字符集 (143)9.7.3.创建密码文件 (143)9.7.4.关闭数据库审计功能 (143)9.7.5.账号管理 (144)9.7.6.Profile管理 (144)10.数据库集群(RAC)管理 (144)10.1.RAC状态检查 (144)10.1.1.检查守护进程 (144)10.1.2.检查资源状态 (145)10.2.RAC启动与关闭 (145)10.3.管理OCR (146)10.3.1.OCR盘状态查看 (146)10.3.2.OCR备份与恢复 (146)10.3.3.查看OCR内容 (147)10.3.4.指定OCR盘 (147)10.3.5.增加OCR盘 (147)10.3.6.删除OCR盘 (148)10.4.管理VOTING DISK (148)10.4.1.检查Voting Disl盘 (148)10.4.2.VOTING DISK备份与恢复 (148)10.4.3.添加VOTING DISK盘 (149)10.4.4.删除VOTING DISK盘 (149)10.5.CSS管理 (149)10.6.SRVCTL管理工具 (149)10.6.1.管理实例 (150)10.6.2.管理监听程序 (150)10.6.3.管理ASM (151)10.6.4.管理service (151)10.7.修改RAC的IP及VIP (152)10.7.1.修改外网IP和心跳IP (152)10.7.2.修改VIP (152)10.7.3.查看与删除IP (153)10.8.管理ASM (154)10.8.1.管理DiskGroup (154)10.8.2.ASM兼容性管理 (156)10.8.3.ASM中添加disk的方法 (158)10.8.4.ASMCMD管理命令介绍 (159)10.8.5.ASM常用视图 (162)11.数据库备份 (164)11.1.备份概念说明 (164)11.1.1.脱机备份 (164)11.1.2.联机备份 (165)11.1.3.RMAN备份 (166)11.2.备份策略规划 (166)11.3.RMAN备份和恢复案例 (167)11.3.1.归档模式下的完全恢复 (167)11.3.2.归档模式下的不完全恢复 (170)12.数据库运维管理 (172)12.1.运维职责 (172)12.2.运维要求 (172)12.3.技能要求 (172)12.4.运维内容 (173)12.4.1.检查数据库运行情况 (173)12.4.2.检查操作系统和数据库日志文件 (175)12.4.3.检查Oracle对象状态 (176)12.4.4.检查数据库相关资源的使用 (179)12.4.5.检查数据库备份 (183)12.4.6.检查数据库的性能 (183)12.4.7.数据库安全性检查 (189)1.前言1.1.编写目的随着以使用Oracle数据库的应用系统不断增加,为了加强应用系统在规划、开发、实施、维护等环节工作的规范化,特编写本文档,力求对实际的设计、实施工作起到规范和指导作用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle数据库日常维护方案书————————————————————————————————作者:————————————————————————————————日期:2ORACLE数据库日常运行维护年度服务项目方案书目录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.13.1.2.23.1.2.33.1.2.43.1.2.5寻找问题根源 (16)System_Event 事件 (16)Session_Event 事件 (16)Session_Wait (17)应用优化 (17)3.1.2.5.13.1.2.5.23.1.2.5.33.1.2.5.4例程调优 (17)I-O 优化 (19)竞争优化 (19)O-S 监控 (20)3.2数据库备份恢复 (21)3.2.1检查Oracle数据库备份结果 (21)3.2.1.13.2.1.23.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)1项目背景及目标1.1项目背景xxx信息化建设经过多年的发展和完善,已经建立成熟的网络环境及生产经营管理的各类应用系统,目前全厂在线运行的PC近600台,近年来建设的企业资产管理、基建MIS 管理系统、全面预算管理系统、生产综合管理系统技术监督管理系统等若干应用信息系统多数是基于Oracle 数据库系统的应用。
这些Oracle 数据库产品的标准服务都已经过了服务期。
而各系统随着数据量的逐年增加,陆续出现了性能问题,有必要进行数据库系统的升级及性能优化,以确保应用系统的正常运行,为全厂员工提供更好的信息服务。
1.2项目目标⏹⏹ ⏹⏹ 尽早发现性能瓶颈,及时调整,保障数据库稳定高效工作;对各个系统数据库进行补丁升级服务,安装补丁前需要对补丁的可行性及风险即你想那个分析,并制定升级计划和应急回退计划。
同时要做好系统备份准备及详细的测试工作,确保系统的稳定性、安全性,保障系统业务数据的安全;数据库架构的合理化;提升应用系统性能,完成各系统数据库的性能调优工作,包括:外部资源调优、行的重新安排调优、SQL 性能调优、表格和索引存储参数设置调优等。
各业务持续性得到有效的保证。
2需求分析通过对xxx技术要求进行详实的分析以及xxx科技对xxx信息系统建设的了解,xxxOracle产品日常运行维护项目主要从如下几个方面进行:1、由于xxx有些系统软件建设的较早,目前存在不同版本的数据库共存的现象,包括:Oralce8、Oracle9I以及Oracle10g等。
而Oracle9I版本之前的数据库SQL编程语句还不是业界通用的标准化的语句,它与后面版本的SQL编程语句有很大的差别,所以在这方面的性能优化需要做好充分备份的准备。
2、正是由于这些系统建设的较早,基于当时的实际情况,应用系统或数据库都还存在一些不足,针对这些情况软件开发商都开发出相应的补丁提供给用户进行升级以防范风险。
所以在对各个系统数据库进行补丁升级服务之前,需要对补丁的可行性、安全性及风险进行充分的测试和分析。
并制定相关的应急预案及数据库升级计划和应急回退计划,同时还需要做好系统备份准备和详细的测试工作,以确保系统的稳定性、安全性,从而保证系统业务数据的安全;3、如上所说,这些系统建设的较为长久,由于长时间的运行各个系统存在一些冗余,由于冗余的存在使得这些系统数据库需要进行性能的优化,包括外部资源优化、行的重新安排以及SQL性能优化、表格和索引存储参数等需要重新进行设置优化。
4、对于当前的一些应用如:企业资产管理系统(EAM)、基建MIS管理系统、全面预算管理系统、生产综合管理系统、企业门户(EIP/EAI)系统、综合指标统计分析系统、燃料管理信息系统、标准化管理信息系统、档案管理信息系统、安健环管理系统、技术监督管理子系统、IT运维服务系统、SIS系统接口数据库、生产图纸管理系统等等所有这些系统都需要重新进行整理并形成一个完善的文档资料。
5、由于这些数据库系统承载着xxx非常重要的业务系统数据,所以在日常维护中需要非常仔细,每周、每月、每季都需要有相应的巡检记录,需要详细记载以下一些内容:⏹ ⏹ ⏹ 监控数据库对象的空间扩展情况监控数据量的增长情况系统健康检查,检查以下内容:⏹ ⏹ ⏹ ⏹ ⏹ ⏹ ⏹ ⏹ ⏹ ⏹ 数据库对象有效性检查查看是否有危害到安全策略的问题。
查看alert、Sqlnet等日志并归档报错日志分析表和索引查看对数据库会产生危害的增长速度检查表空间碎片数据库性能调整预测数据库将来的性能调整和维护工作后续空间3项目总体方案建立在Oracle数据库上的关键业务系统,是当今企业的核心应用。
如何改善其性能和可用性,是包括系统设计、维护和管理人员的最大挑战。
为了更好地维护系统和数据库,必须随时了解系统和数据库的运行状况。
但由于数据库维护具有一定的复杂性,增加了维护工作的难度。
所以数据库维护需要借助一些相关的工具,优秀的数据库管理工具,可以大大简化生产环境下的应用维护和管理,提高IT人员的工作效率。
数据库管理人员借助相应的工具可以主动、迅速、方便的监控系统的运行。
基于我公司多年在Oracle数据库的使用及研究经验上,对于Oracle数据库的管理,主要包括三方面的内容:⏹ ⏹⏹ 系统诊断:了解当前运行的Oracle的状态,发现数据库性能瓶颈;空间管理:即数据库存储结构的调优,包括定期检查数据库的存储结构,发现Oracle数据库存储中的主要问题(如数据库碎片),进行碎片重组和数据分布以及容量规划等;调优SQL,分析对系统性能影响比较大的SQL语句,调整SQL语句的执行效率。
使SQL存取尽可能少的数据块。
下面我们将从以下这几个方面详细阐述:3.1数据库性能优化Oracle 性能管理既是一种艺术,也是一种科学。
从实用角度讲,它可以分为两种类型,主动式和被动式性能管理。
主动式性能管理涉及到特定系统实施初期的设计和开发,包括硬件选择、性能及容量规划,海量存储系统的选择,I-O 子系统配置及优化,以及如何对不同组件进行定制,以满足Oracle 数据库和应用系统的复杂要求。
被动式性能管理涉及到现有环境中不同组件的性能评估、故障排除和Oracle 环境的优化。
本文旨在探讨如何进行被动式性能调优,以便为Oracle 性能调优提供必要的指导,从而避免仅仅通过反复尝试的方式进行性能调优,提高Oracle 性能管理的效率。