收藏 分销(赏)

OraclegR数据库系统日常维护操作基础手册.doc

上传人:二*** 文档编号:4513164 上传时间:2024-09-26 格式:DOC 页数:18 大小:102.54KB 下载积分:5 金币
下载 相关 举报
OraclegR数据库系统日常维护操作基础手册.doc_第1页
第1页 / 共18页
本文档共18页,全文阅读请下载到手机保存,查看更方便
资源描述
Oracle 11gR2数据库系统日常维护操作手册 修订纪录: 版 本 号 日 期 作 者 修 订 纪 录 V1.0 -03-07 肖贤光 初稿 目录 一、 介绍 3 二、 维护 4 2.1 ASM管理和监控 4 2.1.1 磁盘创建(Linux) 4 2.1.2 查看磁盘(Linux) 4 2.1.3 删除磁盘 (linux) 5 2.1.4 创建磁盘组 5 2.1.5 磁盘组新增磁盘 5 2.1.6 磁盘组删除磁盘 5 2.1.7 磁盘组删除 5 2.1.8 磁盘组维护 5 2.1.9 磁盘组监控 6 2.2 OHAS服务管理和监控 6 2.2.1 启/禁用服务资源 6 2.2.2 开启/停止资源服务 8 2.2.3 监控/删除资源服务 9 2.3 表空间管理和监控 10 2.3.1 表空间管理 10 2.3.2 表空间监控 11 2.4 重做日志管理 12 2.5 日志维护 13 2.5.1定制GRID模块日志保留策略 13 2.5.2定制RDBMS模块日志保留策略 14 2.5.3 查看异常日志 14 2.5.4 手工清理日志 15 一、 介绍 Oracle 11g引进了些新特征,在日常维护方面也带来些改变和改善。日常维护工作中,大致上保持和延续了以前版本优良友好操作接口,只部分新特征下,增加或改善了操作交互方法。 二、 维护 日常维护工作中,关键有表空间、重做日志、归档、用户帐户、表、索引、簇表等管理维护;在Oracle 11gR2数据库,我们系统开始采取OracleASM组件来管理数据库存放,所以ASM管理存放也成了一项日常维护工作;另外,还采取了Oracle Restart功效来管理ASM、数据库、监听等数据库资源服务,故OHAS服务状态管理也是需要加以关注。 表空间、重做日志、归档通常管理和以前版本管理没有太多差异;只是包含新增和调整时,包含文件存放方面,因使用ASM部件,而需要做些操作命令语法上调整; 用户账户、表、索引、簇表等内部逻辑结构维护管理没有太多改变。 2.1 ASM管理和监控 ASM管理包含存放管理,关键有磁盘、磁盘组创建、新增、更新、删除等管理维护方面。 2.1.1 磁盘创建(Linux) ASM磁盘创建,关键是使用ASMLib来管理磁盘配置,Oracle引进ASMLib在内核等级进行磁盘管理,便于ASM实例识别到磁盘,方面ASM创建、更新、删除磁盘组或组磁盘组员。 ASMLib管理磁盘,经过在系统等级识别到磁盘路径后,创建一部分名,来配置磁盘。 Redhat linux下经过多路径软件识别磁盘路径后,对磁盘进行分区后,就能够使用ASMLib来创建一个磁盘别名。 示例:Redhat ES 5下,采取DM管理磁盘 经过多路径软件识别并配置了一个磁盘路径,将在/dev/mapper目录生成一个设备文件,默认是:/dev/mapper/mpath[0~N]命名,但这个识别设备对应真实设备可能会随机器开启而发生改变;故能够经过wwwid号在/etc/multipath.conf文件配置别名,来固化设备和设备文件名对应;如配置一个设备别名为:asm_dsk_01,则在/dev/mapper目录生成一个文件名:/dev/mapper/asm_dsk_01,这么就能够使用fdisk或kpartx来划分分区,然后使用ASMLib来自动管理设备和生成另一部分名,便于Oracle ASMLib 来管理设备权限,而不随系统开启发生权限信息丢失问题。 创建语句:划分DM设备文件分区为:/dev/mapper/asm_dsk_01p1 /usr/sbin/oracleasm createdisk DISK01 /dev/mapper/asm_dsk_01p1 ASMLib创建磁盘别名后,会在/dev/oracleasm/disks目录生成一个给予ASM实例属主权限磁盘设备别名文件,如示例则生成一个设备文件: /dev/oracleasm/disks/DISK01,属主将是初始化ASMLib时配置属主: grid:asmadmin,ASMLib初始化配置,也能够经过配置文件进行调整:/etc/sysconfig/oracleasm 2.1.2 查看磁盘(Linux) 磁盘查看,经过oracleasm脚本,查看系统现在已经被ASMLib管理磁盘。 #查看创建ASMLib磁盘别名 /usr/sbin/oracleasm listdisks #查看DM设备对应ASMLib磁盘 /usr/sbin/oracleasm querydisk /dev/mapper/asm_dsk_01p1 2.1.3 删除磁盘 (linux) ASMLib删除磁盘,需要先从ASM磁盘组里把磁盘卸载后,再从ASMLib配置里把磁盘别名删除。 /usr/sbin/oracleasm deletedisk DISK01 2.1.4 创建磁盘组 ASM创建磁盘组,是在ASM实例里操作,以统计磁盘组使用磁盘和容量等元数据信息。能够经过SQLPLUS或ASMCMD,和ASMCA工具配置。 su - grid sqlplus "/ as sysasm" create diskgroup DATA01 external redundancy disk 'ORCL:DISK01', 'ORCL:DISK02'; 2.1.5 磁盘组新增磁盘 alter diskgroup DATA01 add disk 'ORCL:DISK03', 'ORCL:DISK04'; 2.1.6 磁盘组删除磁盘 先查询出磁盘组里磁盘名 set linesize set pagesize col g_name for a30 col d_path for a60 col d_name for a30 select g.name grp_name,d.path d_path,d.name dsk_name from v$asm_disk d,v$asm_diskgroup g where d.group_number=g.group_number; 删除磁盘 alter diskgroup DATA01 drop disk 'DISK01', 'DISK02'; 2.1.7 磁盘组删除 drop diskgroup DATA01 including contents; 2.1.8 磁盘组维护 磁盘组维护,关键包含加载、检验修复磁盘。 #加载磁盘组 alter diskgroup DATA01 mount; #卸载磁盘组 alter diskgroup DATA01 dismount; #检验修复磁盘 alter diskgroup DATA01 check all repair/norepair; alter diskgroup DATA01 check disk 'DISK01' repair/norepair; 2.1.9 磁盘组监控 磁盘组监控,关键有:容量,磁盘加载状态,能够经过sqlplus登陆ASM实例查询视图,或在ASMCMD工具里查看。 查看磁盘组分配和使用情况:(若磁盘空闲空间不足,需要立即申请分配存放到主机) select name,total_mb,free_mb,hot_used_mb,cold_used_mb from v$asm_diskgroup; 查看磁盘组加载情况: select name,state from v$asm_diskgroup; 经过ASMCMD工具查看 #查看磁盘组信息 su - grid amscmd lsdg #查看连接用户端信息 amscmd lsct 2.2 OHAS服务管理和监控 Oracle OHAS是Oracle 11g开始推出集成高可用处理方案一款管理工具,关键用来管理CRS,RAC,Oracle Restart,RAC On One Node,ASM,Listener等数据库资源服务守护进程管理工具。她能够经过crsctl工具作为管理接口,也能够经过srvctl进行接口管理服务资源。 包含日常管理工作部分有:启/禁用OHAS Deamon、ASM、磁盘组、监听、ONS、数据库、SERVICES;开启/停止OHAS Deamon、ASM、磁盘组、监听、ONS、数据库、SERVICES;监控/删除OHAS Deamon、ASM、磁盘组、监听、ONS、数据库、SERVICES. 2.2.1 启/禁用服务资源 启/禁用OHAS Deamon、ASM、磁盘组、监听、ONS服务需要在grid属主用户下实施;启/禁用数据库、SERVICES资源服务,既能够在grid属主用户,也能够在RDBMS用户下实施。 #启用 crs deamon服务 crsctl enable crs #禁用 crs deamon服务 crsctl disable crs #启用 has deamon服务 crsctl enable has #禁用 has deamon服务 crsctl disable has #启用ASM服务 srvctl enable asm #禁用ASM服务 srvctl disable asm #启用磁盘组资源 srvctl enable diskgroup -g <dg_name> #禁用磁盘组资源 srvctl disable diskgroup -g <dg_name> #启用监听资源 srvctl enable listener [-l <lsnr_name>] #禁用监听资源 srvctl disable listener [-l <lsnr_name>] #启用ons资源 srvctl enable ons [-v] #禁用ons资源 srvctl disable ons [-v] #启用数据库资源 srvctl enable database -d <db_unique_name> #禁用数据库资源 srvctl disable database -d <db_unique_name> #启用数据库服务 srvctl enable service -d <db_unique_name> -s "<service_name_list>" #禁用数据库服务 srvctl disable service -d <db_unique_name> -s "<service_name_list>" 2.2.2 开启/停止资源服务 开启/停止OHAS Deamon、ASM、磁盘组、监听、ONS服务需要在grid属主用户下实施;开启/停止数据库、SERVICES资源服务,既能够在grid属主用户,也能够在RDBMS用户下实施。 #开启 crs deamon服务 crsctl start crs #停止 crs deamon服务 crsctl stop crs #开启 has deamon服务 crsctl start has #停止 has deamon服务 crsctl stop has #开启ASM服务 srvctl start asm [-o <start_options>] #停止ASM服务 srvctl stop asm [-f] #开启磁盘组资源 srvctl start diskgroup -g <dg_name> #停止磁盘组资源 srvctl stop diskgroup -g <dg_name> [-f] #开启监听资源 srvctl start listener [-l <lsnr_name>] #停止监听资源 srvctl stop listener [-l <lsnr_name>] [-f] #开启ons资源 srvctl start ons [-v] #停止ons资源 srvctl stop ons [-v] #开启数据库资源 srvctl start database -d <db_unique_name> [-o <start_options>] #停止数据库资源 srvctl stop database -d <db_unique_name> [-f] #开启数据库服务 srvctl start service -d <db_unique_name> -s "<service_name_list>" [-o <start_options>] #停止数据库服务 srvctl stop service -d <db_unique_name> -s "<service_name_list>" [-f] 2.2.3 监控/删除资源服务 监控/删除OHAS Deamon、ASM、磁盘组、监听、ONS服务需要在grid属主用户下实施;监控/删除数据库、SERVICES资源服务,既能够在grid属主用户,也能够在RDBMS用户下实施。 #监控 crs deamon服务 crsctl check crs crs_stat -t #删除 crs deamon服务 $ORACLE_HOME/crs/install/rootcrs.pl -deconfig -force -verbose #监控 has deamon服务 crsctl check has crs_stat -t #删除 has deamon服务 $ORACLE_HOME/crs/install/roothas.pl -deconfig -force -verbose #监控ASM服务 srvctl status asm [-a] [-v] #删除ASM服务 srvctl remove asm [-f] #监控磁盘组资源 srvctl status diskgroup -g <dg_name> [-a] [-v] #删除磁盘组资源 srvctl remove diskgroup -g <dg_name> [-f] #监控监听资源 srvctl status listener [-l <lsnr_name>] [-v] #删除监听资源 srvctl remove listener [-l <lsnr_name> | -a] [-f] #监控ons资源 srvctl status ons [-v] #删除ons资源 srvctl remove ons [-f] [-v] #监控数据库资源 srvctl status database -d <db_unique_name> [-f] [-v] #删除数据库资源 srvctl remove database -d <db_unique_name> [-f] [-y] [-v] #监控数据库服务 srvctl status service -d <db_unique_name> -s "<service_name_list>" [-f] [-v] #删除数据库服务 srvctl remove service -d <db_unique_name> -s "<service_name_list>" [-f] 2.3 表空间管理和监控 2.3.1 表空间管理 表空间管理中创建、添加、删除操作和9i没有太大改变,改变就是在创建、添加指定数据文件名时,无须麻烦自己指定一个文件名或裸设备名,只需要明示datafile项,和大小和是否自动扩展即可;或有新磁盘组加入到ASM实例,并分配给这个数据库使用时,参数:db_create_file_dest 设置默认磁盘组非新加磁盘组名参数值时,需要在 datafile 后面带上新磁盘组名,如: datafile '+DATA02'即可。 创建表空间,假定数据库参数db_create_file_dest,设定了一个磁盘组: +DATA01,则: #一般创建 crate tablespace ts_misc20 datafile size 1024m autoextend off extent management local segment space management auto; #若创建到新加一个非参数db_create_file_dest指定磁盘组,如:DATA02,则 create tablespace ts_misc20_new datafile '+DATA02' size 1024m autoextend off extent management local segment space management auto; #一般添加数据文件 alter tablespace ts_misc20 add datafile size 1024m autoextend off, size 2048m autoextend off, size 4096m autoextend off; #若添加到新加一个非参数db_create_file_dest指定磁盘组,如:DATA02,则 alter tablespace ts_misc20_new add datafile '+DATA02' size 1024m autoextend off, '+DATA02' size 2048m autoextend off, '+DATA02' size 4096m autoextend off; 2.3.2 表空间监控 表空间监控在数据库里监控和9i一样,经过查询视图来获取使用和空闲情况;另外因现在数据库存放经过ASM来管理,一样为了确保系统能正常运行,也需要监控ASM管理磁盘组磁盘空间使用情况,避免磁盘组空间耗尽,造成系统宕机;监控ASM磁盘组方法,可按条目:2.1.9 磁盘组监控, 来获取信息。 数据库查询视图监控表空间SQL语句: set linesize set pagesize select t.tablespace_name TableSpace_Name, ROUND(t.Total_MB,2) Total_MB, ROUND(t.Total_MB-NVL(f.Free_MB,0),2) Used_MB, ROUND(NVL(f.Free_MB,0),2) Free_MB, ROUND((t.Total_MB-NVL(f.Free_MB,0))*100/t.Total_MB,2) Used_Rate, ROUND(NVL(f.Free_MB,0)*100/t.Total_MB,2) Free_Rate from (select tablespace_name,sum(bytes)/1024/1024 Total_MB from dba_data_files group by tablespace_name ) t, (select tablespace_name,sum(bytes)/1024/1024 Free_MB from dba_free_space group by tablespace_name ) f where t.tablespace_name = f.tablespace_name(+) union all select dt.tablespace_name Tablespace_Name, ROUND(dt.Total_Mb,2) Total_Mb, ROUND(tp.Used_Mb,2) Used_Mb, ROUND((dt.Total_Mb - NVL(tp.Used_Mb,0)),2) Free_Mb, ROUND(NVL(tp.Used_Mb,0)/dt.Total_Mb,2)*100 Used_Rate, ROUND((dt.Total_Mb - NVL(tp.Used_Mb,0))/dt.Total_Mb,2)*100 Free_Rate from (select tablespace_name,sum(bytes)/1024/1024 Total_Mb from dba_temp_files group by tablespace_name ) dt, (select tablespace_name,sum(bytes_used)/1024/1024 Used_Mb from v$temp_extent_pool group by tablespace_name ) tp where tp.tablespace_name (+) = dt.tablespace_name order by TableSpace_Name; 2.4 重做日志管理 重做日志组管理,其它方面也是和9i操作无异,关键也是指定日志组员时,需要考虑使用ASM特征,默认路径是由参数:db_create_online_log_dest_n指定。 #一般创建 alter database add logfile group 4 size 256m; #若创建到新加一个非参数db_create_online_log_dest_n指定磁盘组,如:DATA02,则: alter database add logfile group 4 ('+DATA02','+DATA02','+DATA02') size 256m; #一般添加 alter database add logfile member to group 4; #若添加到新加一个非参数db_create_online_log_dest_n指定磁盘组,如:DATA02,则: alter database add logfile member '+DATA02' to group 4; 2.5 日志维护 Oracle数据库在运行时,会生成部分日志、告警、监听、Coredump等日志信息文件,日常维护中需要对这些文件进行管理维护,避免文件大量耗用系统空间;11g以前,多数经过手工清理方法,进行日志文件删除清理,从11g开始,系统引进了ADR功效组件(Automatic Diagnostic Repository),能够定制化管理这些日志文件,包含保留策略,清理等功效,并能够搜集打包这些文件;访问调用这个功效,能够经过EM Grid Control或ADRCI命令行工具接口来配置管理。 为了充足发挥ADR自动管理功效,节省日常维护管理工作量,能够经过观察日志生成量和保留策略评定,来设置日志保留策略,方便ADR自动定时进行日志清理,避免耗用并撑爆空间,而影响系统正常运行。 Oracle 11g,我们系统布署单机和主机双机架构全部采取Oracle Restart+ASM体系,而且系统布署GRID和RDBMS时,是需要分开布署,所以有对不一样组件Home下日志信息,进行不一样策略定制。 2.5.1定制GRID模块日志保留策略 定制GRID模块日志保留策略,需要登陆到GRID模块软件属主用户下,调用adrci工具接口,进行配置。 #调用ADRCI工具 su - grid adrci # 在工具接口命令行,查看目前需要管理日志Home目录 adrci>show homes #设置目前工作Home目录,Grid模块下,通常管理了ASM和监听器两个组件,故#有两个Home目录,所以需要分开设置,如这里先设置ASMHome目录 adrci> set home diag/asm/+asm/+ASM #查看这个Home目录下目前保留策略设置 adrci> show control #设置保留策略,策略设置值单位是:小时,可依据实际情况而定 adrci> set control (SHORTP_POLICY = 480) adrci> set control (LONGP_POLICY = 720) #设置后,再检测一遍 adrci> show control #再设置监听目录 adrci> set home diag/tnslsnr/<hostname>/listener adrci> show control #设置策略,策略设置值单位是:小时,可依据实际情况而定 adrci> set control (SHORTP_POLICY = 240) adrci> set control (LONGP_POLICY = 480) #设置后,再检测一遍 adrci> show control 2.5.2定制RDBMS模块日志保留策略 定制RDBMS模块日志保留策略,需要登陆RDBMS模块属主用户下,调用adrci接口工具,进行定制化配置。 #调用ADRCI工具 su – oracle adrci #在工具接口命令行,查看目前需要管理日志Home目录 adrci>show homes #设置目前工作Home目录,RDBMS模块下通常只有一个Home目录,所以也能够#不设置 adrci>set home diag/rdbms/<$ORACLE_SID>/<$ORACLE_SID> #查看这个Home目录下目前保留策略设置 adrci> show control #设置RDBMS目录策略, 策略设置值单位是:小时,可依据实际情况而定 adrci> set control (SHORTP_POLICY = 480) adrci> set control (LONGP_POLICY = 720) #设置后,再检测一遍 adrci> show control 2.5.3 查看异常日志 日常管理中,能够登录ADRCI工具,查看是否存在异常日志。 查看RDBMS日志信息示例: su – oracle adrci adrci>show homes adrci>set home diag/rdbms/<ORACLE_SID>/<ORACLE_SID> # 查看异常问题号 adrci> show problem #或则只查询某类错误号信息 adrci> show problem -p "problem_key='ORA 4031'" #再查看这些异常摘要信息 adrci> show incident #指定异常错误号 adrci> show incident -p "problem_key='ORA 4031'" #指定时间范围 adrci> show incident -p "create_time > '-02-28 16:20:45'" #再查看这些异常具体摘要信息 adrci> show incident -mode detail adrci> show incident -mode detail -p "create_time > '-03-13 16:00:00'" #再获取这些异常对应trace文件信息,方便去查看异常具体信息 #列出全部异常问题trace文件信息 adrci>show incdir #列出指定事件trace文件信息,这里事件号,是前面摘要信息看到incdent_id号 adrci>show incdir 34177 #列出一个范围事件号trace信息,事件号也是前面摘要信息看到incdent_id号 adrci>show incdir 34000 35000 #查看告警日志 #查看整个告警日志文件内容,默认是打开文件后,是调用VI工具来操作文件,能够#使用VI命令查看alert信息 adrci>show alert #指定只看最终300行 adrci>show alert -tail 300 [注]:一样,查看GRID模块下异常信息,也参考上面方法进行。 2.5.4 手工清理日志 手工清理日志,也能够在ADRCI工具里进行手工清理日志文件或统计。 #经过摘要事件号,进行清理 adrci>purge -i 0 1000 #经过日志老化,按时间来清理;这里age项指定时间单位是:分钟,即多少分钟之前;#type项指定是什么类型日志,类型:[ALERT|INCIDENT|TRACE|CDUMP|HM|UTSCDMP] adrci>purge -age 60 -type ALERT
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 数据库/数据算法

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服