文档-oracle11g-物理DG日常巡检手册
Oracle11gRAC数据库巡检手册
张浩
数据库检测
硬件机型
HP DL580 G7
是否集群
是
系统实际用户数
10
数据库进程
进入操作系统,登陆Oracle用户,命令:su - oracle
Process
进程情况
进入操作系统,登陆Oracle用户
命令:ps -ef|grep ora_
说明
Oracle 10g 后台进程
SMON(System Monitor)用于执行历程恢复、合并空间碎片并释放临时段。
查看日志
命令:
More/u01/app/oracle/product/11.2.0/db_1/network/log/sqlnet.log
有错误才有日志
Tnsname
配置情况
标准配置
位置:/u01/app/oracle/product/11.2.0/db_1/network/admin
运行情况
正常
查看状态
from
dba_free_space
group by
tablespace_name
) fs
where df.tablespace_name=fs.tablespace_name
order by "Pct Free"
/
运行情况
正常
Sessions
并发数
select count(*) from v$session where status='ACTIVE';
锁表有时候是瞬间的,长时间锁定的表才可能是死锁。
select l.*, s.OSUSER, s.ACTION, o.OBJECT_NAME
from gv$locked_object l, gv_$session s, all_objects o
Oracle巡检手册
如果有记录返回,则说明存在无效对象。若这些对象与应用相关,那么需要重新编译生成这个对象。
3.6检查回滚段情况
3.6.1检查回滚段状态
输出结果中所有回滚段的“STATUS”该为“ONLINE”。
3.6.2检查是否有回滚段争用
发生回滚段争用时,需要审视争用情况,即哪些用户正在使用回滚段资源
检查监听进程是否存在:
二、检查系统和Oracle日志文件
检查相关的日志文件,包含:检查操作系统的日志文件,检查Oracle日志文件,检查Oracle核心转储目录,检查root用户和oracle用户的email,检查数据库的字符集,总共五个部分。
2.1检查操作系统日志文件
查看是否有与Oracle用户相关的出错信息。
3.3检查Oracle表空间情况
输出结果中STATUS应该都为ONLINE。
3.4检查Oracle所有数据文件情况
输出结果中“STATUS”应该都为“ONLINE”。
或者:
输出结果中“STATUS”应该都为“AVAILABLE”。
3.5检查对象情况
3.5.1检查对象类别和大小
合理分配资源,将冗余以及临时表定期进行清理,释放资源空间。
表空间不够
增加数据文件到相应的表空间
出现ORA-600
根据日志文件的内容查看相应的TRC文件,如果是Oracle的bug,要及时打上相应的补丁
Listener日志:$ORACLE_HOME/network/log/sqlnet.log
2.3检查Oracle核心转储目录
如果上面命令的结果每天都在增长,则说明Oracle进程经常发生核心转储。这说明某些用户进程或者数据库后台进程由于无法处理的原因而异常退出。频繁的核心转储特别是数据库后台进程的核心转储会导致数据库异常终止。
Oracle-11g日常维护手册
Oracle 11g 日常维护手册目录第1章文档说明 (4)第2章 CRS的管理 (4)2.1 RAC状态检查 (4)2.1.1 检查守护进程状态 (4)2.1.2 检查资源状态 (4)2.2 手工启动与关闭RAC (5)2.3 OCR的管理 (5)2.4 VOTING DISK的管理 (7)2.5 CSS管理 (8)2.6 管理工具SRVCTL (8)2.6.1 管理实例 (8)2.6.2 管理监听程序 (9)2.6.3 管理ASM (9)2.6.4 管理service (10)2.7 修改RAC的IP及VIP (10)2.7.1 修改外网IP及心跳IP (10)2.7.2 修改VIP (11)2.7.3 查看与删除IP (11)第3章 ASM的管理 (12)3.1 管理DG (12)3.1.1 建立与扩充disk group (12)3.1.2 mount与unmount的命令 (13)3.1.3 删除disk group (13)3.1.4 增加DISK的total_mb (13)3.1.5 DG的属性-AU大小 (13)3.1.6 DG的属性-离线删除时间 (14)3.1.7 DG的属性-兼容版本 (14)3.1.8 向ASM中添加disk的完整步骤 (15)3.2 ASMCMD (16)3.2.1 ASMCMD常用命令 (16)3.2.2 复制ASM文件 (17)3.2.3 命令lsdg (17)3.2.4 元数据备份与恢复 (18)3.3 ASM磁盘头信息备份与恢复 (18)3.4 ASM常用视图 (19)3.4.1 视图V$ASM_DISKGROUP (19)3.4.2 视图V$ASM_DISK (20)3.5 常用方法 (21)3.5.1 如何确定ASM实例的编号 (21)3.5.2 查询DG-RAW-磁盘的对应关系 (21)第4章数据库管理 (23)4.1 参数文件管理 (23)4.2 表空间管理 (24)4.2.1 表空间自动扩张 (25)4.2.2 表空间更名 (25)4.2.3 表空间的数据文件更名 (25)4.2.4 缺省表空间 (25)4.2.5 表空间删除 (26)4.2.6 UNDO表空间 (26)4.2.7 TEMP表空间 (26)4.3 重做日志文件管理 (27)4.3.1 增加REDO日志组 (27)4.3.2 删除日志组 (27)4.3.3 日志切换 (27)4.3.4 日志清理 (27)4.3.5 重做日志切换次数查询 (28)4.4 归档模式 (28)4.4.1 单实例数据库修改为归档模式的方法 (28)4.4.2 RAC数据库修改为归档模式的方法 (29)4.4.3 归档路径 (29)4.5 重建控制文件 (30)4.6 内存参数管理 (31)4.6.1 Oracle内存管理发展阶段 (31)4.6.2 自动内存管理AMM (32)4.6.3 自动共享内存管理ASMM (32)4.6.4 自动PGA管理 (32)4.7 其他管理内容 (33)4.7.1 数据库版本查看 (33)4.7.2 字符集 (33)4.7.3 创建密码文件 (33)4.7.4 关闭审计功能 (34)4.7.5 帐号管理 (34)4.7.6 profile管理 (34)第1章文档说明本文档描述了Oracle11g中常见的维护和管理方法,包括CRS、ASM、数据库等。
oracle健康检查(巡检)手册
性能检查
数据库性能
检查数据库的整体性能,包括响应时间、吞吐量 和资源利用率等。
查询性能
检查特定查询的性能,包括执行计划、索引和查 询优化等方面。
锁和争用
检查数据库中的锁和争用情况,以发现潜在的性 能瓶颈和问题。
03 Oracle数据库巡检方法
手动巡检方法
数据库日志检查
检查Oracle数据库的日志文件,包括警告日志、跟踪文件等,以发现 潜在的问题和错误。
远程巡检方法
远程监控
01
通过远程监控工具,实时监控Oracle数据库的运行状态和性能
指标。
远程诊断
02
通过远程诊断工具,远程连接到数据库服务器,对数据库进行
故障排除和诊断。
远程备份与恢复
03
通过远程备份与恢复工具,远程备份和恢复Oracle数据库的数
据和日志文件。
04 Oracle数据库巡检结果分 析
Oracle Enterprise Manager (OEM): OEM是一个集成的平台,用于自动监控、 诊断和优化Oracle数据库的性能。
Automatic Database Diagnostic Monitor (ADDM):ADDM是一个 自动化的性能诊断工具,可以自动 发现和解决性能问题。
在此添加您的文本16字
内存优化
在此添加您的文本16字
调整内存参数:根据数据库的实际需求,合理配置内存参 数,如SGA和PGA的大小。
在此添加您的文本16字
内存泄漏检测:定期检查内存使用情况,发现内存泄漏并 及时处理。
软件优化建议
调整初始化参数
根据数据库的性能需求,调整初始化参数,如打开表的数量、共 享池的大小等。
巡检结果数据收集
Oracle11gRAC巡检手册
fs.freespace "FreeMB",
df.totalspace "Total MB",
round(100 * (fs.freespace / df.totalspace)) "Pct Free"
from
(select
tablespace_name,
round(sum(bytes)/1048576) TotalSpace
from
dba_data_files
group by
tablespace_name
) df,
(select
tablespace_name,
round(sum(bytes)/1048576) FreeSpace
Tnsping tnsname(数据库实例名)
Alert
配置情况
标准配置
/u01/app/oracle/diag/rdbms/<SID>/<INSTANCE>/trace/alert_sid.log
运行情况
正常
More alert_sid.log
CRS
服务运行情况
crsctl check crs
检查crs的健康情况
select ername||' '||t2.sid||' '||t2.serial#||' '||t2.logon_time||' '||t3.sql_text
from v$locked_object t1,v$session t2,v$sqltext t3
Oracle数据库日常巡检及常见故障解决-20180620
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'07',1,0)) H07
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'08',1,0)) H08
志切换,将该日志文件组的状态改动为inactive
1.1、检查数据库基本状况
检查监听状态:lsnrctl status(start/stop)
1.1、检查数据库基本状况
检查无效对象
select owner,object_name,object_type from dba_objects where status!='VALID' and owner!='SYS' and owner!='SYSTEM';
第三步:调用dbms_job的broken函数将要停止的job干掉 SQL> EXEC DBMS_JOB.BROKEN(18,TRUE); PL/SQL procedure successfully completed SQL>commit; 此时这个job还是运行的,可以通过dba_jobs_running查看
1.1、检查数据库基本状况
在线日志切换频率过高处理办法: 1、创建新的日志组 alter database add logfile group 4 ('目录/redo04.log') size
500M; 2、切换日志到新建的日志组 alter system switch logfile; 3、删除旧日志组 alter database drop logfile group 3; 注意:删除的日志文件组不能处于current状态,须要运行一次手动日
Oracle数据库日常巡检指令
Oracle 数据库日常巡检指令Oracle数据库的日常巡检内容包括:Oracle数据库基本状况检查;Oracle相关资源的使用情况检查;Oracle数据库性能检查;数据库服务器cpu、mem和I/O 性能检查;数据库服务器安全性及其他事项检查等五大检查项目。
1、数据库基本状况检查(1)、数据库实例状况检查说明:其中“STATUS”表示Oracle当前的实例状态,必须为“OPEN”;“DATABASE_STATUS”表示Oracle当前数据库的状态,必须为“ACTIVE”。
(2)、数据库表空间状态检查说明:输出结果中STATUS应该都为“ONLINE”。
(3)、数据库数据文件检查1 select tablespace_name,status from dba_tablespaces;说明:输出结果中“STATUS”应该都为“AVAILABLE”。
(4)、数据库在线日志检查1 select group#,status,type,member from v$logfile;说明:输出结果应该有3条或3条以上记录,“STATUS”应该为非“INVALID”,非“DELETED”。
“STATUS”的值为空表示正常。
(5)、数据库回滚段检查1 select segment_name,status from dba_rollback_segs;说明:输出结果中所有回滚段的“STATUS”应该为“ONLINE”。
2、数据库相关资源使用情况检查(1)、检查Oracle初始化文件中相关参数值1 select resource_name,max_utilization,initial_allocation, limit_value from v$resource_limit;说明:若字段值【LIMIT_VALU】-【MAX_UTILIZATION】<=5,则表明与RESOURCE_NAME相关的Oracle初始化参数需要调整。
Oracle11G日常维护手册
日常维护手册目录1.登陆到数据库1.1.服务器端配置=( =( =( = ( = )( 1))( = ( = )( = 192.168.137.10)( = 1521)) ))= 01(((1)(1)(0111.2.01)(20)((()(2)(1)))))1名称,在客户端一定配置和他相同1实例名称,这个要和相同可以不等于客户端根据中的和地址( = ( = )( 1)( = 1521)),到这个地址去访问监听器。
然后监听器根据文件文件中的来判断是否有一个 和 相等。
如果相等,则建立客户端到标识的服务端实例的连接,在客户端上我们可以使用 命令来测试1.2. 客户端1 =( =说明( =( = ( = )( = 192.168.137.10)( = 1521)))( =( 1)()))这里的 1 就是在服务器端的1[1 ~]$ 1: 11.2.0.1.0 - 212015 14:51:49(c) 1997, 2009, . .03502: . : <> [<>][1 ~]$ 1: 11.2.0.1.0 - 212015 14:51:55(c) 1997, 2009, . .:( = ( = ( = ( = )( = 1)( = 1521))) ( = (= 1)()))(0 )1.3. 检查说明1.4.登陆数据库的方式修改登陆 认证模式默认情况下我们 安装好后是使用操作系统用户的验证,所以这里如果我们使用用户不用密码就可以登录,如果我们想使用 密码文件验证的话我们就要进入下列文件夹0111.2.01修改增加下列命令=配置了登录数据库方式[1 ~]$ 1111111使用登陆到指定数据库11111111 ;察看登陆到了哪个数据库实例v$使用用户登陆说明说明用登陆使用用户登录;/ 连接数据库111111 使用进行连接1.5.数据库的启动数据库启动方式启动实例、装载数据库、打开数据库1启动数据库实例, 该步骤只是启动了一个数据库实例. 在此状态下我们可以访问下列结构文件* v$;* v$;* v$;利用以前读取的参数文件查找控制文件,这些控制文件包含数据文件名和重做日志名,然后将数据库装载.一旦这一步完成我们就可以看到下列状态* v$;* v$;* v$;实例验证数据文件及日志文件并启动数据库;打开数据库启动过程中限制访问数据库上述命令是只有用户拥有权限才可以连接启动数据库后起的进程, v$ <>'00';1.6.关闭数据库等待用户完成工作然后关闭等待用户完成工作但是强制关闭连接立即关闭 ,当前所有做工作回滚到一致状态,断开其连接强制关闭,非干净关闭,下次重起后要回滚日志2.用户管理2.1.检察用户2.2.查看用户参数3.检查数据库基本状况3.1.检查数据库创建日期3.2.检查数据库版本信息3.3.检查实例状态其中“”表示当前的实例状态,必须为“”;“”表示当前数据库的状态,必须为“”。
!!!Oracle11g日常操作与维护手册
Oracle 11g日常操作与维护手册拟制:数据库TMG日期:2009-2-14审核:日期:批准:日期:华为技术有限公司目录第1章文档说明........................................ 错误!未定义书签。
第2章 CRS的管理....................................... 错误!未定义书签。
RAC状态检查....................................... 错误!未定义书签。
检查守护进程状态............................... 错误!未定义书签。
检查资源状态................................... 错误!未定义书签。
手工启动与关闭RAC ................................. 错误!未定义书签。
OCR的管理......................................... 错误!未定义书签。
VOTING DISK的管理................................. 错误!未定义书签。
CSS管理........................................... 错误!未定义书签。
管理工具SRVCTL .................................... 错误!未定义书签。
管理实例....................................... 错误!未定义书签。
管理监听程序................................... 错误!未定义书签。
管理ASM ........................................ 错误!未定义书签。
管理service .................................... 错误!未定义书签。
(完整word版)Oracle巡检模板
数据库系统数据库配置及性能检查报告(oracledb)1. 文档控制修改记录分发者审阅记录相关文档Oracle安装手册及其它METALINK文档目录1.文档控制 (II)修改记录....................................................................................................................... i i分发者 ........................................................................................................................... i i审阅记录....................................................................................................................... i i相关文档....................................................................................................................... i i2.检查总结 (5)概要 (5)建议 (6)3.介绍 (7)目标 (7)检查方法 (7)检查范围 (7)4.系统配置信息 (8)5.操作系统性能 (10)结论/建议 (10)6.数据库配置 (10)文件系统 (11)数据库版本 (11)数据库初始化参数 (11)运行日志错误检查 (12)控制文件 (12)联机日志(Online Redo Log) (13)数据文件管理(包括临时文件) (13)表空间管理 (14)回滚段 (16)数据库对象管理 (16)安全性管理 (17)7.O RACLE N ET (19)概况 (19)LISTENER设置 (19)SQL*Net设置 (19)TNSNAMES设置 (19)8.备份与恢复 (20)备份 (20)恢复 (20)9.数据库性能 (21)系统负载情况 (21)比较消耗资源的SQL语句 (22)10.附录(S TATSPACK REPORTS) (24)2. 检查总结概要此次数据库检查包括以下内容:如果工程师在检查中发现ORACLE配置或性能方面的问题,我们将对检查范围内的情况进行记录,并提出建议。
Oracle数据库巡检命令手册
Oracle数据库巡检命令手册点击上方卡片关注前言如果给你一个全新的O ra c le单机数据库环境,作为D B A,您需要关注哪些点?本文仅讨论L inux主机~注意:首先申明本文所述并非标准答案,只是个人的一些见解,欢迎 大家补充完善~一、⭐ 主机层面⭐1、 主机版本和O racle版本「主机版本:」c a t /e tc/s y s te m-re le a s e c a t /e tc/red ha t-re le a s e「O ra c le版本和补丁版本:」s q lp lus-v e rs io no p a tc h ls p a tc he s2、 主机硬件资源包括C P U负载,物理内存和磁盘使用。
「C P U负载和内存:」to p f re e-m⚠ 需要注意主机的C P U负载和物理内存使用是否异常,S w a p是否被过多使用。
「磁盘使用情况:」ls b lkf d is k -ld f-T h⚠ 显而易见,需要关注磁盘使用情况,是否存在使用率过高。
3、 计划任务 cron t ab一般计划任务会布置一些备份策略或者归档删除的策略,我们可以通过c ro nta b来查看:c ro nta b-l4、 检查H ost s 文件和网络配置c a t /e tc/ho s ts ip ad d rnmc li c o nne c tio n s ho w5、 检查系统参数文件c a t /e tc/s y s c tl.c o nf⚠ 需注意是否有设置非常规参数。
6、 检查 rc.local 文件rc.lo c a l文件用于配置开机自启动脚本,一般会设置关闭透明大页或者O ra c le数据库开机自启。
c a t /e tc/rc.lo c a l7、 环境变量配置查看环境变量配置,进一步熟悉环境。
c a t ~/.b a s h_p ro f ile c a t /ho me/o ra c le/.b a s h_p ro f ile8、 检查系统服务s y s te mc tl s ta tus f ire w a lld.s e rv ic e g e te nf o rc e c a t /p ro c/c md line c a t /e tc/s y s c o nfig/ne tw o rk二、 数据库层面1、 查看数据库实例和监听p s-e f|g re p s mo ns u -o ra c le ls nrc tl s ta tus2、 数据库表空间使用s q lp lus/ a s s y s d b a c o l TA B L E S P A C E_N A M E f o r a20s e le c t tb s_us e d_inf o.ta ble s p a c e_na me,tb s_us e d_inf o.a llo c_mb,tb s_us e d_inf e d_mb,tb s_us e d_inf o.ma x_mb,tb s_us e d_inf o.f re e_o f_ma x_mb,tb s_us e d_inf e d_o f_ma x|| '%'us e d_o f_ma x_p c t f ro m (s e le c t a.ta b le s p a c e_na me,ro und(a.b y te s_a llo c/ 1024/ 1024) a llo c_mb,ro und((a.b y te s_a llo c-nv l(b.b y te s_f re e,0)) / 1024/ 1024) us e d_mb,ro und((a.b y te s_a llo c-nv l(b.b y te s_f re e,0)) *100/ a.ma x b y te s) us e d_o f_ma x,ro und((a.ma x b y te s-a.b y te s_a llo c+nv l(b.b y te s_f re e,0)) / 1048576) f re e_o f_ma x_mb,ro und(a.ma x b y te s/ 1048576) ma x_mb f ro m (s e le c t f.ta b le s p a c e_na me,s um(f.b y te s) b y te s_a llo c,s um(d e c o d e(f.a uto e x te ns ib le,'Y E S',f.ma x b y te s,'N O', f.b y te s)) ma x b y te sf ro m d b a_d a ta_f ile s fg ro up b y ta b le s p a c e_na me) a,(s e le c t f.ta b le s p a c e_na me,s um(f.b y te s) b y te s_f re e f ro m d b a_f re e_s p a c efg ro up b y ta b le s p a c e_na me) b w he re a.ta b le s p a c e_na me=b.ta b le s p a c e_na me(+)) tb s_us e d_inf o o rd e r b y tb s_us e d_inf e d_o f_ma x de s c;3、 检查RMA N备份情况rma n ta rg e t /lis t b a c kup;s q lp lus/ a s s y s d b a c o l s ta tus f o r a10c o l inp ut_ty p e f o r a20c o l I N P U T_B Y T E S_D I S P L AY f o r a10c o l O U T P U T_B Y T E S_D I S P L AYf o r a10c o l T I M E_TA K E N_D I S P L AY f o r a10s e le c t inp ut_ty p e,s ta tus,to_c ha r(s ta rt_time,'y y y y-mm-d d hh24:mi:s s'),to_c ha r(e nd_time,'y y y y-mm-d d hh24:mi:s s'),inp ut_b y te s_d is p la y,o utp ut_b y te s_d is p la y,time_ta ke n_d is p la y,C O M P R E S S I O N_R AT I Of ro m v$rma n_b a c kup_jo b_d e ta ils w he re s ta rt_time>d a te'2021-07-01'o rd e r b y3d e s c;4、 检查控制文件冗余查看控制文件数量和位置,是否处于多份冗余状态。
oracle日常维护巡检工作汇总(word文档良心出品)
oracle日常维护工作内容(1) ・毎夭对ORACLE数据库的运行状态川志文件,备份惜况,数据库的空间使用情况,系统资源的使用洁况进疔检査,发现并解决问懸。
(2) .毎周对数拯带对象的空间扩展请况,数抓的堀长惜况进行监控,对数据阵做健康检査,对数据膵对象的状态做检査.每天工作1. (1)•确认所有的INSTANCE状态正常•登陆到所有数据库或例程,检测ORACLE后台进程:$ps —ef|grep ora(2) .检査文件系统的使用(剩余空间)。
如果文件系统的剩余空间小T 20%,需删除不用的文件以释放空间. 对干业务交易生产系统和数据库日志归档目录,当空间不足,请急时淸理.$df-h(3) .检查口志文件和trace文件记录alert和trace文件中的错误.连接到数据库服务器cd 到bdump 目录,通常^$ORACLE_BASE/admin/<SID>/bdump'tail'命令来査看alert_vSID>」og文件如果发现任何新的ORA-错误,记录并解决(4) .检査数抓文件的状态记录状态不^online"的数据文件,并做恢复。
Select file_name from dba_data」iles where status="OFFLINE"(5) .检査表空间的使用惜况SELECT SUM(bytes) / (1024 * 1024) AS free_space f tablespace_nameFROM dba_free_spaceGROUP BY tablespace_name;SELECT a.tablespace_name#a. bytes total,b. bytes used,c. bytes free,(b.bytes * 100) / a.bytes ”% USED H z(c.bytes * 100)/ a.bytes ”% FREE MFROM sys.sm$ts_avail a, sys.sm$ts_used b, sys.sm$ts_free cWHERE = b.tablespace_nameAND a.tablespace_name = c.tablespace_name;(6) .检査剩余表空间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 name;(7) .检查数据库性能,记录数据库的cpu使用、10、buffer■命中率等等使用vmstat,iostat,glance,top 等命令毎周工作(1).监控数据库对象的空间扩展惜况根据本周毎天的检査情况找到空何扩展很快的数据库对象,并采収相应的措施alter tablespace 衣空间名add datafile 7ul/oradata/userdata_002.ora' size *m;(2) .检査无效的数拯阵对象SELECT owner; , object_typeFROM dba_objectsWHERE status = 'invalid1;(3) .检査不起作用的约束SELECT owner; , table_name, constraint_type r statusFROM dba_constraintsWHERE status = 'DISABLED" AND constraint_type = P ;(4) .检査无效的triggerSELECT owner; , , statusFROM dba_triggersWHERE status = 'DISABLED:每月的工作(1) .检査表空间碎片根据本月毎周的检査分析数据库砰片情况,找到相应的解决方法(2) .寻找数据库性能调整的机会比较毎天对数拯库性能的监控报告,确定足否冇必耍对数据库性能进行调整(3) .数据库性能调盤如有必要,进行性能调整(4) .提出下一步空间管理计划根据毎周的监控,提出空间竹理的改进方法★★★Oracle DBA 口常管理★★★ ||目的:这篇文档自很详细的资料记录着对一个禎至更多的ORACLE数据库毎夭的.毎月的,毎年的运行的状态的结果及检査的结果.在文档的附录中你将会看到所有检査•修改的SQL和PL/SQL代码。
ORACLE11g质量检查标准
Oracle11g 通用巡检项SSIA27A 检查数据库版本以oracle用户分别登录主备节点。
执行如下命令:sqlplus / as sysdbaSQL> select * from v$version;Oracle11G的版本为及以上。
显示类似如下信息:BANNER--------------------------------------------------------------------------------Oracle Database 11g EnterpriseEdition Release .1.0 - 64bitProductionPL/SQL Release .1.0 -ProductionCORE .1.0 ProductionTNS for HPUX: Version .1.0 -ProductionNLSRTL Version .1.0 -Production如果与指定规划版本不符合则联系外购商升级到指定规划版本。
SSIA28A 检查安装路径以oracle用户分别登录到两个节点上。
执行如下命令:% echo $ORACLE_BASE% echo $ORACLE_HOME 对于ATAE路径为:ORACLE_BASE为/opt/app/oracleORACLE_HOME为/opt/app/oracle/product/如果安装路径与不一致,则向安装人员确认。
SSIA32A 检查l(非RAC)以oracle用户分别登录到两个节点上。
执行如下命令:显示类似如下信息:如果不一致,请根据实际情况修改。
SSIA34A (非RAC)以oracle用户分别登录到两个节点上。
执行如下命令:% cat $ORACLE_HOME HOST的取值为浮动IP地址或浮动IP地址对应的逻辑主机名;显示类似如下信息:如果不一致,请根据实际情况修改SSIA35A 检查数据库监以oracle用户分别登录到两个节显示的信息如果包含:The。
Oracle数据库巡检方案
Oracle数据库巡检维护方案
一、巡检维护的目的
为了保障数据库正常运行,保证数据的安全性、完整性和可用性,需进行数据库巡检维护。
二、巡检维护的分类
数据库巡检维护包含的内容很多,如果每天都将这些项目进行一遍,在时间上是不允许的,可能还会影响到数据库使用效率,因此,通常会将这些巡检维护内容分门别类地按不同的时间频率进行。
数据库巡检维护按时间频率可分为日巡检、周巡检、月巡检、半年度巡检四类。
日巡检维护指每日按计划进行的巡检维护活动,以检查数据库运行状态、数据库备份状态和告警错误为主要内容,同时还必须检查使用数据库的应用软件是否因数据库运行原因产生使用错误或不畅。
周巡检维护指按一周为周期,在每周指定日按计划进行的巡检维护活动,它的工作内容是在日巡检维护工作内容的基础上添加数据库对象检查、安全性检查等内容组成。
月巡检维护指按一月为周期,在每月指定日按计划进行的巡检维护活动,它的工作内容是在周巡检维护工作内容的基础上添加系统参数配置检查、硬件与系统平台运行状态检查等内容组成。
半年度巡检维护指按半年为周期,在指定日按计划进行的巡检维护活动,它的工作内容是在月巡检维护工作内容的基础上添加数据库性能诊断检查组成。
如果能够提供模拟环境或生产环境在特定条件下允许停机,还应该进行备份有效性测试。
由于巡检维护工作任务的涵盖性,进行半年度巡检维护日可不执行所在月的月巡检维护、所在周的周巡检维护和日巡检维护,以此类推。
三、巡检维护工作内容和周期。
Oracle 11G RAC巡检脚本说明
Oracle 10G RAC巡检脚本===========================SRVCTL============================1.列出配置的所有数据库srvctl config database2.显示指定集群数据库的所有服务srvctl config service -d GDTV3.查看所有实例和服务的状态srvctl status database -d GDTV4.查看单个实例的状态srvctl status service -d GDTV -s <service_name>5.特定节点上节点应用程序的状态srvctl status nodeapps -n DBSERVER1srvctl status nodeapps -n DBSERVER26.列出RAC数据库的配置srvctl config database -d GDTV7.显示节点应用程序的配置—(VIP、GSD、ONS、监听器)srvctl config nodeapps -n DBSERVER1 -a -g -s -lsrvctl config nodeapps -n DBSERVER2 -a -g -s -l=========================================进程检查================== 8. Oracle进程检查Ps –ef |grep ora_9. CRS进程检查ps -ef | grep oracm$ps –df |grep d.bin应有:crsd.bin ocssd.bin evmd.bincrsctl check crscrs_stat –tcrs_stat –ls=================alert.log====================================8.查看各个instance的alert.log=====================instance配置参数======================== 9.查看spfile.ora查看profile====================参看监听状态============================== 10.$hostname$export ORACLE_SID=GDTV1$lsnrctl status$hostname$export ORACLE_SID=GDTV2$lsnrctl statuslistener日志检查/u01/app/oracle/product/9.2.0/network/log/listener.log/u01/app/oracle/product/9.2.0/network/log/listener.log================oracm状态检查===================================11.1c rs日志检查ocssd.log</u01/product/Oracle/oracm/log>$tail -20 cm.log======================SQL下检查============================== $hostname$export ORACLE_SID=GDTV1sqlplus "/as sysdba"or sqlplus "/as sysdba"@GDTV1--run on db server as sysdba!!!--collect by lyf 200609set pagesize 1000set linesize 120set echo onCOLUMN name_col_plus_show_param FORMAT a36 HEADING NAMECOLUMN value_col_plus_show_param FORMAT a30 HEADING VALUEcol tablespace_name format a15host hostname1.集群中所有正在运行的实例SELECTinst_id, instance_number inst_no, instance_name inst_name, parallel, status, database_status db_status, active_state state, host_name hostFROM gv$instanceORDER BY inst_id;INST_ID INST_NO INST_NAME PAR STATUS DB_STATUS STATE HOST-------- -------- ---------- --- ------- ------------ --------- -------1 1 orcl1 YES OPEN ACTIVE NORMAL rac12 2 orcl2 YES OPEN ACTIVE NORMAL rac2SELECT inst_id, instance_name, host_name, VERSION, TO_CHAR (startup_time, 'yyyy-mm-dd hh24:mi:ss') startup_time, status, archiver, database_status FROM gv$instance;2.检查参数show paramter3.检查SGA和PGAshow sgaselect name ,value/1024/1024/1024 from gv$sysstat where name like '%pga%';select name ,value/1024/1024/1024 from v$sysstat where name like '%pga%';4.检查查询服务器的运行模式和数据库安装选项set linesize 200select * from v$option;5.用户检查col temporary_tablespace for a21select username,account_status,default_tablespace,temporary_tablespace,created from dba_users;select ername , a.temporary_tablespace "Temporary Tablespace" , b.contentsfrom dba_users a , dba_tablespaces bwhere a.temporary_tablespace=b.tablespace_nameand b.contents <> 'TEMPORARY';6、控制文件检查col name for a60select * from v$controlfile;7、无效对象检查col OBJECT_NAME for a24SELECT owner , object_name, object_type,status ,LAST_DDL_TIME FROM dba_objects WHERE status like 'INVALID';8、表空间和数据文件检查1)数据文件col file_name for a56set linesize 300select file_id,file_name,tablespace_name,autoextensible from dba_data_files;select count(*) from v$datafile;show parameter db_filesselect name from v$datafileunionselect member from v$logfileunionselect name from v$controlfileunionselect name from v$tempfile;SELECT file#, ts#, NAME, status, BYTES / 1024 / 1024 size_mb FROM v$datafile UNION ALL SELECT file#, ts#, NAME, status, BYTES / 1024 / 1024 size_mb FROM v$tempfile;2)表空间set linesize 300col tablespace_name for a16SELECT upper(f.tablespace_name) "tablespace_name",d.Tot_grootte_Mb"tablespace(M)",d.Tot_grootte_Mb-f.total_bytes"used(M)",round((d.Tot_grootte_Mb - f.total_bytes) / d.Tot_grootte_Mb * 100,2) "use%",f.total_bytes"free_space(M)",round(f.total_bytes/d.Tot_grootte_Mb*100,2)"free%",f.max_bytes"max_block(M)"FROM(SELECT tablespace_name,round(SUM(bytes)/(1024*1024),2)t otal_bytes,round(MAX(bytes)/(1024*1024),2)m ax_bytesFROM s ys.dba_free_spaceGROUP B Y t ablespace_name)f,(SELECT dd.tablespace_name, round(SUM(dd.bytes)/(1024*1024),2) Tot_grootte_MbFROM sys.dba_data_files d dGROUP BY dd.tablespace_name) dWHERE d.tablespace_name = f.tablespace_nameORDER BY 4 DESC;表空间的空间使用情况SELECT df.tablespace_name, COUNT (*) datafile_count,ROUND (SUM (df.BYTES) / 1048576) size_mb,ROUND (SUM (free.BYTES) / 1048576, 2) free_mb,ROUND (SUM (df.BYTES) / 1048576 - SUM (free.BYTES) / 1048576, 2 ) used_mb,ROUND (MAX (free.maxbytes) / 1048576, 2) maxfree,100 - ROUND (100.0 * SUM (free.BYTES) / SUM (df.BYTES), 2) pct_used,ROUND (100.0 * SUM (free.BYTES) / SUM (df.BYTES), 2) pct_freeFROM dba_data_files df,(SELECT tablespace_name, file_id, SUM (BYTES) BYTES, MAX (BYTES) maxbytes FROM dba_free_space GROUP BY tablespace_name, file_id) freeWHERE df.tablespace_name = free.tablespace_name(+) AND df.file_id = free.file_id(+) GROUP BY df.tablespace_name ORDER BY;表空间可用性检查select tablespace_name,status from dba_tablespaces;临时表空间使用情况和性能检查SELECT tablespace_name, extent_management, block_size, initial_extent, next_extent, min_extents, max_extents, pct_increase FROM dba_tablespaces WHERE CONTENTS = 'TEMPORARY';SELECT username, default_tablespace, temporary_tablespace FROM dba_users;selecttablespace_name,initial_extent,next_extent,max_extents,pct_increase,extent_management,stat us from dba_tablespaces order by extent_management;select tablespace_name,EXTENT_MANAGEMENT,SEGMENT_SPACE_MANAGEMENT from dba_tablespaces;表:1、监控表的增长select segment_name,segment_type,bytes/1024/1024 from dba_segments where owner='FOUNDER' ORDER BY bytes/1024/1024 desc;2、表和索引分析信息SELECT'table', COUNT (*) FROM dba_tables WHERE last_analyzed IS NOT NULL GROUP BY 'table'UNION ALLSELECT 'index', COUNT (*) FROM dba_indexes WHERE last_analyzed IS NOT NULL GROUP BY 'index';3.未建索引的表SELECT/*+r ule*/owner,s egment_name,s egment_type,t ablespace_name,TRUNC(BYTES/1024/1024,1)s ize_mbFROM d ba_segments tWHERE N OT E XISTS(SELECT'x'FROM d ba_indexes iWHERE t.owner=i.table_ownerAND t.segment_name=i.table_name)AND t.segment_type I N('TABLE','TABLE P ARTITION')AND t.owner N OT I N('SYS','SYSTEM')ORDER B Y5D ESC;升序用ASC9.sort_segment检查select tablespace_name,extent_size db_blocks_per_extent,total_extents,used_extents,free_extents from v$sort_segment;10.数据库总大小select round(sum(space)) all_space_M from(select sum(bytes)/1024/1024 space from dba_data_filesunion allselect nvl(sum(bytes)/1024/1024,0) space from dba_temp_filesunion allselect sum(bytes)/1024/1024 space from v$log);11.检测连接数情况(1)select SW.Sid,ername,SW.Event,SW.Wait_Time,SW.State,SW.Seconds_In_Wait SEC_IN_WAIT from v$session S,v$session_wait SW where ername is not null and SW.Sid=S.Sidand SW.event not like '%SQL*Net%' order by SW.Wait_Time Desc;(2)select count(*) from v$session;(3)select sid,serial#,username,program,machine,status from v$session;11.回滚段信息1)信息1col segment_name format a20col tablespace_name format a20select segment_name,owner,tablespace_name,dba_rollback_segs.statusfrom dba_rollback_segs,v$Datafile where file_id=file#;2)信息2select segment_name,initial_extent,next_extent,min_extents, owner,dba_rollback_segs.status status,optsizefrom dba_rollback_segs,v$rollstatwhere dba_rollback_segs.segment_id=v$n;3)信息3col Rollback_Name for a16select substr(V$,1,20) "Rollback_Name",substr(V$rollstat.EXTENTS,1,6)"EXTENT",v$rollstat.RSSIZE, v$rollstat.WRITES,substr(v$rollstat.XACTS,1,6)"XACTS",v$rollstat.GETS,substr(v$rollstat.WAITS,1,6)"WAITS",v$rollstat.HWMSIZE, v$rollstat.SHRINKS,substr(v$rollstat.WRAPS,1,6)"WRAPS",substr(v$rollstat.EXTENDS,1,6)"EXTEND",v$rollstat.AVESHRINK,v$rollstat.AVEACTIVEfrom v$rollname, v$rollstatwhere v$N = v$Norder by v$N;4)信息4select Rollback_Name,p.pid O racle_PID,p.spid O S_PID,nvl(ername,'NO T RANSACTION')T ransaction,p.terminal T erminalfrom v$lock l, v$process p, v$rollname rwhere l.addr = p.addr(+)and t runc(l.id1(+)/65536)=nand l.type(+)='TX'and l.lmode(+)=6order by ;5)回滚段的争用情况select name ,waits ,gets ,waits/gets "Ratio" from v$rollstat a ,v$rollname b where n=n; 6)rollback信息select substr(sys.dba_rollback_segs.SEGMENT_ID,1,5) "ID#",substr(sys.dba_segments.OWNER,1,8)"Owner",substr(sys.dba_segments.TABLESPACE_NAME,1,17)"Tablespace N ame",substr(sys.dba_segments.SEGMENT_NAME,1,12)"Rollback N ame",substr(sys.dba_rollback_segs.INITIAL_EXTENT,1,10) "INI_Extent",substr(sys.dba_rollback_segs.NEXT_EXTENT,1,10) "Next Exts",substr(sys.dba_segments.MIN_EXTENTS,1,5)"MinEx",substr(sys.dba_segments.MAX_EXTENTS,1,5)"MaxEx",substr(sys.dba_segments.PCT_INCREASE,1,5)"%Incr",substr(sys.dba_segments.BYTES,1,15) "Size (Bytes)",substr(sys.dba_segments.EXTENTS,1,6)"Extent#",substr(sys.dba_rollback_segs.STATUS,1,10) "Status"from sys.dba_segments, sys.dba_rollback_segswhere sys.dba_segments.segment_name = sys.dba_rollback_segs.segment_name and sys.dba_segments.segment_type = 'ROLLBACK'order by sys.dba_rollback_segs.segment_id;12.Redo log信息检查1)Redo Log文件状态col member for a56select f.member "member",f.group#"group",l.bytes/1024/1024 "size",l.statusfrom v$logfile f, v$log lwhere f.group#=l.group#order by f.group#,f.member;2)LogGroup信息SELECT group#, sequence#, bytes, members, status from v$log;3)关于log_bufferselect name,value from v$sysstat where name in('redo entries','redo buffer allocation retries');4)查询LOG大小及频率set linesize 300set pages 100column d1 form a20 heading "Date"column sw_cnt form 99999 heading 'Number|of|Switches'column Mb form 999,999 heading "Redo Size"column redoMbytes form 999,999,9999 heading "Redo Log File Size (Mb)" break on reportcompute sum of sw_cnt on reportcompute sum of Mb on reportvar redoMbytes number;beginselect max(bytes)/1024/1024 into :redoMbytes from v$log;end;/print redoMbytesselect trunc(first_time) d1,c ount(*)s w_cnt,c ount(*)*:redoMbytes M bfrom v$log_historygroup by trunc(first_time)/13.IO情况检查col file_name for a46select file_name,fs.phyrds reads,fs.phywrts writes,(fs.readtim/decode(fs.phyrds,0,-1,fs.phyrds)) readtime,(fs.writetim/decode(fs.phywrts,0,-1,fs.phywrts)) writetimefromv$datafile df,v$filestat fswhere df.file#=fs.file#order by ;select count(*) from v$session;14.命中率相关检查1)Shared Pool Size命中率select round((sum(gets)-sum(reloads))/sum(gets)*100,1) "libiary cache hit ratio %"from v$librarycache where namespacein ('SQL AREA','TABLE/PROCEDURE','BODY','TRIGGER');2)数据字典命中率select round((1-sum(getmisses)/sum(gets))*100,1) "data dictionary hit ratio %"from v$rowcache;3)锁竞争select substr(,1,25) Name,l.gets,l.misses,100*(l.misses/l.gets)"%R atio(STAY U NDER1%)"from v$latch l, v$latchname lnwhere in ('cache buffers lru chain')and tch# = tch#;4)排序命中率select a.value "Sort(Disk)", b.value "Sort(Memory)",round(100*(a.value/decode((a.value+b.value), 0,1,(a.value+b.value))),2) "% Ratio (STAY UNDER 5%)"from v$sysstat a, v$sysstat bwhere = 'sorts (disk)'and = 'sorts (memory)';5)数据缓冲区命中率select round((1-(phy.value/(cur.value+con.value)))*100,1)||'%' ratiofrom v$sysstat phy,v$sysstat cur,v$sysstat conwhere ='physical reads' and ='db block gets' and ='consistent gets'; 6)Miss LRU Hit命中率column "Miss LRU Hit%" format 99.9999999;col name format a40select name, (sleeps/gets) "Miss LRU Hit%"from v$latch where name ='cache buffers lru chain';7)检查内存排序性能select , to_char(value)from v$statname a, v$sysstatwhere a.statistic# = v$sysstat.statistic#and in ('sorts (disk)', 'sorts (memory)', 'sorts (rows)');8)redo log buffer retry ratioselect to_char(r.value/e.value) "redo log buffer retry ratio"from v$sysstat r,v$sysstat ewhere ='redo buffer allocation retries'and ='redo entries';9)wait等待检查select count(*) total_in_wait from v$session_waitwhere event='log buffer space';select event,total_waits,time_waited,average_waitfrom v$system_eventwhere event like '%undo%';select sid,seq#,event,WAIT_TIME,SECONDS_IN_WAIT from v$session_wait where event not like 'SQL%'and event not like 'rdbms%';15、查询lock锁SELECT lpad(' ',DECODE(request,0,0,1))||sid sess, id1, id2, lmode, request, typeFROM V$LOCKWHERE id1 IN (SELECT id1 FROM V$LOCK WHERE lmode = 0)ORDER BY id1, request;linux。
Oracle数据库日常检查文档
Oracle数据库日常检查文档数据库日常检查文档1.检查表空间使用情况:1.1检查是否开启自扩展功能:select tablespace_name,,round((increment_by*8191)/(1024*1024),2)||'M' as 自扩展大小Mfrom dba_data_files;目的:检查表空间是否开启自扩展功能。
若检查自扩展特别小,请用下面的方法把自扩展根据数据量增长情况调大。
alter database datafile '新增加数据文件路径' autoextendon next *M maxsize unlimited;--把*替换为你需要的自扩展大小1.2检查表空间的使用情况:select a.tablespace_name,a.totals 总大小M,b.frees 空闲大小M, round((a.totals-b.frees)/a.totals,4)*100||'%' 使用率from (select sum(bytes)/(1024*1024) as totals,tablespace_namefrom dba_data_filesgroup by tablespace_name) a,(select sum(bytes)/(1024*1024) as frees,tablespace_namefrom dba_free_spacegroup by tablespace_name) bwhere a.tablespace_name=b.tablespace_name ;目的:当表空间没有开启自扩展功能时,表空间的使用率大于等于85%时,需要向表空间增加数据文件。
开启自扩展功能的表空间,检查常用的表空间自扩展的大小不小于100M。
注:检查ulog用户对应的表空间:select default_tablespacefrom dba_userswhere username='ULOG';Ulog用户下的tlog表主要是记录日志的,因为大部分的报表涉及记录日志。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
文件编号:
ORACLE11g Dataguard物理Standby
日常巡检操作手册
编写:_____________
校对:_____________
日期:_____________
目录
1、DG环境的日常巡检 (4)
1.1、主库环境检查 (4)
1.1.1、主库实例启动状态检查 (4)
1.1.2、主库启动模式检查 (4)
1.1.3、主库DG环境的保护模式检查 (4)
1.1.4、主库用于控制日志同步的参数检查 (4)
1.1.5、主库查看是否开启强制日志功能 (5)
1.1.6、主库上查看设置的归档日志路径是否可用 (5)
1.1.7、主库上查询归档日志的应用情况 (6)
1.1.8、主库上查看DG环境进程的状态 (6)
1.1.9、主库上查看DG的状态信息 (7)
1.1.10、主库SWITCH OVER角色和状态的检查 (7)
1.2、备库环境检查 (7)
1.2.1、备库实例的启动状态检查 (7)
1.2.2、备库启动模式检查 (7)
1.2.3、备库DG环境的保护模式检查 (8)
1.2.4、备库用于控制日志同步的参数检查 (8)
1.2.5、备库上查看同步过来的归档日志的应用情况 (8)
1.2.6、备库上查看归档日志有没有裂缝(同操作2.5部分类似) (9)
1.2.7、备库上查看DG环境特有进程的状态 (9)
1.2.8、备库上查看DG环境的状态信息 (10)
1.2.9、备库SWITCH OVER角色和状态的检查 (10)
2、DG环境的启动与关闭 (11)
2.1、DG环境的关闭 (11)
2.1.1、检查DG环境主备库的日志使用情况 (11)
2.1.2、停主库的监听程序 (11)
2.1.3、停备库的监听程序 (11)
2.1.4、关闭主数据库 (11)
2.1.5、查看备库的开启模式 (11)
2.1.6、关闭备数据库的归档应用程序 (12)
2.1.7、关闭备数据库 (12)
2.2、DG环境的启动 (12)
2.2.1、启动DG环境的主库 (12)
2.2.2、启动主库的监听程序 (12)
2.2.3、启动DG环境的备库到mount或open状态 (12)
2.2.4、启动备库的监听程序 (13)
2.2.5、主库切换归档日志 (13)
2.2.6、查看备库是否有新应用过来的日志 (13)
2.2.7、备库上开启归档日志应用进程 (13)
2.2.8、主库与备库验证当前redo log (13)
3、DG环境的主备切换-SWITCHOVER (14)
3.1、SWITCHOVER切换的特点 (14)
3.2、SWITCHOVER切换的注意事项 (14)
3.3、SWITCHOVER的切换操作流程 (14)
3.3.1、主库与备库运行状态确认 (14)
3.3.2、查看switchover之前主库的角色和状态 (14)
3.3.3、查看switchover之前备库的角色和状态 (15)
3.3.4、将主库切换成备库 (15)
3.3.5、将备库启动到mount状态 (15)
3.3.6、主库启动到mount状态 (16)
3.3.7、备库切换成主库 (16)
3.3.8、检查切换后主库与备库的日志编号 (17)
1、DG环境的日常巡检1.1、主库环境检查
1.1.1、主库实例启动状态检查
操作位置:主库
操作命令:
查询结果并没有看到lgwr/arch、sync/async、affirm/noaffirm的参数设置,说明当前主库没有对这三个参数进行设置,当前使用的是默认设置,即:arch、async、noaffirm的设置。
1.1.5、主库查看是否开启强制日志功能
1.1.9、主库上查看DG的状态信息
1.2、备库环境检查
1.2.1、备库实例的启动状态检查
也可以将其启动到OPEN状态,执行命令:alter database open;
1.2.2、备库启动模式检查
操作命令:
1.2.6、备库上查看归档日志有没有裂缝(同操作2.5部分类似)
操作说明:
FRS进程:用于备库接收从主库LNS进程或ARCH进程投递过来的归档日志。
ARCH:用于复制从主库上同步过来的归档日志。
MRP0:用于应用归档日志。
2、DG环境的启动与关闭
2.1、DG环境的关闭
2.1.1、检查DG环境主备库的日志使用情况
操作位置:主库&备库
主库与备库当前使用的日志编号相同
2.1.2、停主库的监听程序
2.1.3、停备库的监听程序
2.1.4、关闭主数据库
2.1.5、查看备库的开启模式
only模式则直接关闭数据库即可。
正常情况下备库应该时刻处于应用归档日志的模式。
2.1.6、关闭备数据库的归档应用程序
2.1.7、关闭备数据库
这样,整个Data Guard环境就算是完整的关闭掉了...
2.2、DG环境的启动
2.2.4、启动备库的监听程序
2.2.6、查看备库是否有新应用过来的日志
2.2.7、备库上开启归档日志应用进程
2.2.8、主库与备库验证当前redo log
操作位置:主库&备库
这样,这个Data Guard环境就算是去正常的启动了...
3、DG环境的主备切换-SWITCHOVER
3.1、SWITCHOVER切换的特点
一般SWITCHOVER切换都是计划中的切换,特点是在切换后,不会丢失任何的数据,而且这个过程是可逆的,整个DATA GUARD环境不会被破坏,原来DATA GUARD环境中的所有物理和逻辑STANDBY都可以继续工作。
3.2、SWITCHOVER切换的注意事项
1)确认主库和从库间网络连接通畅;
2)确认没有活动的会话连接在数据库中;
3)PRIMARY数据库处于打开的状态,STANDBY数据库处于MOUNT状态;
4)确保STANDBY数据库处于ARCHIVELOG模式;
5)如果设置了REDO应用的延迟,那么将这个设置去掉;
6)确保配置了主库和从库的初始化参数,使得切换完成后,DATA GUARD机制可以顺利的运行。
3.3、SWITCHOVER的切换操作流程
3.3.1、主库与备库运行状态确认
在执行主备SWITCH OVER之前,需要首先确认主库与备库的实例以及数据库的启动状态,确保主库与备库满足下面的要求:
态。
表示当前主库还有活动的会话连接,属于正常的主库准备切换之前的状态。
2)如果之前已经做过主备的SWITCH OVER操作,那么主库的SWITCHOVER_STATUS状态会是TO_STANDBY状态,表明当前主库已经准备好随时切换成备库了。
3.3.3、查看switchover之前备库的角色和状态
表明备库已经随时可以切换成主库了。
2)如果之前已经做过主备的SWITCH OVER操作,在主库没有发出要做主备切换的操作之前(即:执行主库切成备库的那条命令),备库的SWITCHOVER_STATUS状态会是NOT ALLOWED,属于正常状态。
3.3.4、将主库切换成备库
3.3.5、将备库启动到mount状态
作的信息已经发送到了备库上,所以备库此时的切换状态会变成TO PRIMARY。
3.3.6、主库启动到mount状态
操作位置:主库&备库
进一步的验证。
至此,我们的主备SWITCH OVER操作就算是顺利的完成了...。