数据库日常运维手册(7页).doc
-数据库日常运维手册-第 7 页神州数码信息系统有限公司数据库日常运维手册神州数码信息系统有限公司2015/9/5 日常运维操作手册主要针对ORACLE数据库管理员对数据库系统做定期监控:(1). 每天对ORACLE数据库的运行状态、日志文件、备份情况、数据库的空间使用情况、系统资源的使用情况进行检查,发现并解决问题。并要有相关的人员负责每天查看,发现问题及时上报分析。检查每天的数据库备份完成情况。(2). 每周对数据库对象的空间扩展情况、数据的增长情况进行监控、对数据库做健康检查、对数据库对象的状态做检查。(3). 每月对表和索引等进行Analyze、检查表空间碎片、寻找数据库性能调整的机会、进行数据库性能调整、提出下一步空间管理计划。对ORACLE数据库状态进行一次全面检查(4)根据公司数据库的安全策略对ORACLE DB进行加固一 日维护过程1.1、确认所有的INSTANCE状态正常登陆到所有数据库或例程,检测ORACLE后台进程:$ps ef|grep ora1.2、检查文件系统的使用(剩余空间)如果文件系统的剩余空间小于20%,需删除不用的文件以释放空间。#df k1.3、检查日志文件和trace文件记录检查相关的日志文件和trace文件中是否存在错误。A、连接到每个需管理的系统使用telnet命令B、对每个数据库,进入到数据库的bdump目录,unix系统中BDUMP目录通常是$ORACLE_BASE/<SID>/bdump#$ORACLE_BASE/<SID>/bdumpC、使用 Unix tail命令来查看alert_<SID>.log文件#tail $ORACLE_BASE/<SID>/bdump/alert_<SID>.logD、如果发现任何新的ORA- 错误,记录并解决1.4、检查数据库当日备份的有效性。对RMAN备份方式:1.5、检查数据文件的状态检查所有数据文件并记录状态不是“online”的数据文件,并做恢复。Sqlplus> Select file_name from dba_data_files where status=OFFLINE1.6、检查表空间的使用情况SELECT tablespace_name, max_m, count_blocksfree_blk_cnt, sum_free_m,to_char(100*sum_free_m/sum_m, '99.99') | '%' AS pct_free FROM ( 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_name1.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_chunks FROM dba_free_space GROUP BY tablespace_name;1.8、监控数据库性能(重点)运行bstat/estat生成系统报告或者使用statspack收集统计数据1.9、检查数据库系统性能(重点)主要检查并记录数据库系统的cpu使用率、pagespaces、IO、buffer命中率等等,可以使用topas、vmstat、iostat、glance、top等命令1.10、日常出现问题的处理。二每周维护过程 2.1、监控数据库对象的空间扩展情况 根据本周每天的检查情况找到空间扩展很快的数据库对象,并采取相应的措施- 删除历史数据- 扩表空间alter tablespace<name> add datafile <file> size <size>- 调整数据对象的存储参数next extentpct_increase2.2、监控数据量的增长情况根据本周每天的检查情况找到记录数量增长很快的数据库对象,并采取相应的措施- 删除历史数据- 扩表空间altertablespace<name> add datafile <file> size <size>2.3、系统健康检查检查以下内容:init<sid>.oracontrolfileredo log filearchivingsort area sizetablespace(system,temporary,tablespace fragment)datafiles(autoextend,location)object(number of extent,nextextent,index)rollback segmentlogging&tracing(alert.log,max_dump_file_size,sqlnet)2.4、检查无效的数据库对象SELECT owner, object_name, object_type FROM dba_objects WHERE status=INVALID。2.5、检查不起作用的约束SELECT owner, constraint_name, table_name, constraint_type, status FROM dba_constraints WHERE status = 'DISABLED AND constraint_type = 'P'2.6、检查无效的triggerSELECT owner, trigger_name, table_name, status FROM dba_triggers WHERE status = 'DISABLED 三月维护过程3.1、Analyze Tables/Indexes/Cluster analyze table <name> estimate statistics sample 50 percent;3.2、对索引进行维护和管理使用analyze 和DBMS_STATS,DBMS_UTILITY对库进行分析工作。对于频繁更新的表,需进行索引重建 alter index XXXXX rebulid online (建议在非繁忙时刻进行重建工作)。对一些运行非常慢的查寻语句进行分析,根据execution plan确定问题的原因:是否没用到索引,索引需重建,需增加索引等。3.3、检查表空间碎片根据本月每周的检查分析数据库碎片情况,找到相应的解决方法3.4、寻找数据库性能调整的机会(重点)比较每天对数据库性能的监控报告,确定是否有必要对数据库性能进行调整3.5、数据库性能调整(重点)如有必要,进行性能调整3.6、提出下一步空间管理计划根据每周的监控,提出空间管理的改进方法四,oracle数据库加固4.1 建多个用户profile,并设置给相应的用户,例如Create profile user_profilePassword Management = Enabled PASSWORD_LIFE_TIME = 90PASSWORD_GRACE_TIME = 5PASSWORD_REUSE_TIME = UnlimitedPASSWORD_REUSE_MAX = 5FAILED_LOGIN_ATTEMPTS =5PASSWORD_LOCK_TIME = UnlimitedIDLE_TIME = 15SESSIONS_PER_USER = Unlimitedmin length = 8设置用户密码策略4.2 限制资源在INIt<SID>.ora文件中设置RESOURCE_LIMIT=TRUE审计AUDIT_TRAIL=DBAUDIT_SYS_OPERATIONS=TRUE等4.3 改变默认账号的密码,lock 有关用户的登录如demo,outli,scott等4.4 数据文件,日志文件,control file,archive file权限设置等ChownR 600 *.dbf4.5 设置create table,connect,RESOURCE,CREATE ANY VIEW,ALTER的权限Select * from dba_sys_privs where privilege like create table;Select * from dba_sys_privs where privilege like alter%;等4.6 Oracle Listener control帧听控制Example:SAVE_CONFIG_ON_STOP_<listener_name> = ON PASSWORDS_<listener_name> = 2D6C48144CF753AC2D6C48144CF753AC is only an example value.命令:1、检查SQL Server服务启动类型;方法:配置工具SQL Server外围应用配置器:(1)检查SQL Server服务启动类型;(2)检查SQL Server Agent服务启动类型。2、通过“任务管理器”检查系统进程,判断是否有异常进程。如果存在异常进程,则记录并查询;3、检查SQL Server管理端口;方法:SQL Server配置管理器SQL Server协议TCP/IP协议IP地址选显卡注:SQL Server默认端口号为:14334、SQL Server实例连接检查;方法:(1)启动SSMS;(2)依照实际情况,使用“本地”或“SA”方式登录;(3)登录成功后,检查实例运行情况(“启动”或“停止”);(4)通过实例属性检查“身份验证模式”与“服务器身份验证模式”。5、账号安全管理;方法:(1)选择“SQL 安全性”登录名,记录所有用户账户,记录并核对;(2)注意点选用户账户,查看账户内服务器角色,记录并核对。6、SQL Server补丁管理;方法:(1)启动SSMS;(2)鼠标右键点选数据库实例,并选择属性;(3)在“常规”选项卡中查看SQL Server版本,如SP1或SP2。7、资源使用管理;方法:(1)开始程序管理工具性能日志与警报;(2)点选“计数器日志”新建“计数器”;(3)输入“计数器名”,进入“计数器”设置窗口;(4)添加计数器,可添加:1)SQL Server Buffer:常规统计;2)SQL Server:访问方法;3)SQL Server Locks:缓存管理器;4)SQL Server:锁相关的性能监视计数,如添加CPU。注:<1>如果被监视服务器为“多核处理器”,则需要选择“Total”选项,使各CPU单元均处于“使用状态”;<2>数据采样间隔时间为:120秒/次,以便降低系统资源消耗。5)设置日志文件的格式和名称规则:<1>文件类型选择默认的“二进制”格式;<2>文件名规则结尾为:yyyymmdd,即:年月日。6)设置计数器运行时间;<1>手动;<2>自动(计划);注:可设置计划执行“启动”、“停止”的时间。8、数据库空间检查;方法:(1)启动SSMS;(2)对需要检查的数据库点击鼠标右键,选择“属性”;(3)查看数据库大小,并记录。9、数据库作业检查;方法:(1)启动SSMS;(2)选择SQL Server代理作业查看历史记录。10、数据库备份检查;方法:(1)检查数据库备份文件,核对备份情况;(2)定期对已备份文件进行还原测试,并确认还原结果。