Oracle10g RAC ASM 环境日常管理技巧
ASM常用管理

NAME TYPE
------------------------------ ------
DATA EXTERN
FRA NORMAL
SQL> select name,state from v$asm_diskgroup;
NAME STATE
------------------------------ -----------
DATA MOUNTED
FRA 10.1.0.0.0 10.1.0.0.0 N
NAME NAME
------------------------------ ------------------------------
FRA FRA1
FRA FRA2
verbose=true
修改磁盘组属性:
ALTER DISKGROUP FRA SET ATTRIBUTE 'compatible.asm' = '11.2';
PROT-30: The Oracle Cluster Registry location to be added is not accessible
解决方法:
SQL> alter diskgroup FRA set ATTRIBUTE 'compatible.asm'='11.2';
------------------------------ ------------------------------
FRA FRA1
FRA FRA2
FRA FRA3
SQL> select name,COMPATIBILITY,DATABASE_COMPATIBILITY,VOTING_FILES from v$asm_diskgroup;
oracle日常运维操作总结

oracle日常运维操作总结一、硬件维护1.确保服务器硬件运行正常,定期检查硬件设备,如服务器、存储设备、网络设备等。
2.根据需要及时更新硬件设备,包括升级内存、硬盘等。
3.确保服务器周边设备运行正常,如UPS电源、空调等。
二、软件维护1.确保Oracle数据库软件运行正常,定期检查软件版本、补丁等。
2.更新Oracle数据库软件,包括升级Oracle版本、打补丁等。
3.定期清理无用文件,包括日志文件、临时文件等。
4.定期备份数据库,确保数据安全。
三、性能优化1.定期检查数据库性能,包括CPU使用率、内存使用率等。
2.根据性能检查结果,进行性能优化,如调整数据库参数、优化SQL语句等。
3.定期对数据库进行优化,包括重建索引、优化表空间等。
四、安全加固1.配置Oracle数据库的安全设置,如用户密码、权限管理等。
2.确保数据库账户的安全性,如定期修改密码、禁用无效账户等。
3.防止SQL注入等攻击行为,如使用参数化查询、限制用户输入等。
4.定期检查数据库的安全日志,包括登录日志、操作日志等。
五、数据备份1.制定数据备份计划,并按照计划执行备份操作。
2.采用多种备份方式,如全备份、增量备份等。
3.确保备份数据的可用性和完整性,如定期测试备份数据的恢复能力。
4.对备份数据进行存储和管理,确保数据安全。
六、故障处理1.建立故障处理流程,明确故障处理责任人和流程步骤。
2.对发生的故障进行及时处理,如系统崩溃、网络故障等。
3.对故障进行分类和总结,建立故障处理知识库。
4.定期对系统进行健康检查和性能测试,预防故障发生。
七、监控管理1.建立监控管理体系,包括监控指标、监控周期等。
2.使用监控工具,如OracleEnterpriseManager、Nagios等,对系统进行实时监控。
3.对监控数据进行分析和处理,及时发现和处理潜在问题。
4.定期对监控数据进行存储和管理,方便后续查询和分析。
八、应急预案1.制定应急预案,明确应急响应流程和责任人。
ASM问题点

ASM 的问题点1.产品新,bug多,全国移动核心系统无任何案例,oracle官方都不推荐ASM的产品诞生时间短,bug非常多。
10g才开始,所以核心系统没有用户使用ASM的。
(浙江移动用户王晓征认为根本不考虑ASM。
)2.从阵列,到主机,到数据库的所有工作只能由DBA负责ASM的管理机制是由所有的工作都由DBA来负责。
也就是说,以后移动的BOSS 系统加盘,删盘,空间调整等事情,系统和主机管理员都无法做,只能由DBA全部负责。
因为盘阵已经作为一个黑匣子完全有ORACLE来接管,从操作系统层面根本无法管理这些盘了。
3.不支持多通道:ASM没有多通道功能,所以根本无法实现阵列的异构连接。
4.ASM必须有个单独的instance作为盘阵的管理:ASM有个单独的instance来管理所有的盘阵的信息,这个数据库是单点故障,如果这个数据库down了话,那么所有的盘阵都无法认识造成应用down机。
5.ASM的心跳问题ASM的cash fusion作为oracle RAC的心跳管理。
但是本身oracle的心跳绑定网卡的话,不支持心跳的fail-over的功能。
也就说一个网口down了,rac认为一节点故障了。
如果oracle使用网口的底层硬件绑定的方式解决了心跳故障failover 的问题,但是确无法实现心跳的load balance的问题。
从而对oracle RAC节点数据传输造成极大的性能问题。
6.盘阵号变化问题:如果一旦SAN重启,可能会造成阵列盘号变化了,那么ASM无法自动辨识,就会认为盘阵故障导致应用停止7.磁盘条带分配ASM只有最低级的strip all 和mirror all的功能。
也就说假设你有100个磁盘,用户直接将这100个盘全部条带和镜像。
根本没有选择。
但是实际情况下,磁盘的条带格式和方式对oracle的性能都不一样。
所以正确的方式应该是根据移动的应用进行测试调整。
8.使用ASM的最终格局:当用户将系统使用了ASM后,就变成所有的运维工作都由DBA来实现,但是DBA往往对底层的阵列,交换机并不了解。
Oracle 11g RAC维护参考

Oracle 11g RAC维护参考RAC集群,全称Real Application Clusters,译为“实时应用集群”,是Oracle提供的一种高可用、并行集群系统,RAC除了具有高可用能力还有负载均衡能力,整个RAC集群系统由Oracle Clusterware (集群软件)和Real Application Clusters(RAC)两大部分组成。
1硬件环境RAC集群的硬件环境包括主机、共享存储、网络设备。
1.1主机(节点)RAC集群环境中至少有两台主机,也就是两个节点,每个节点配置一样的硬件,至少配置两块物理网卡。
1.2网络设备网卡,每个RAC集群节点上至少配置两块物理网卡。
一块网卡用于集群内部的私有通信,集群节点间数据块的传输都是通过这块网卡,我们称之为私有网卡,IP别名Private IP;另一块网卡用于对外服务,比如数据库的查询等,我们称之为公有网卡,IP别名Public IP。
除此之外,每个节点还有第三个VIP(Virtual IP)的IP。
RAC集群正常运行时,每个节点的VIP会被分配到公有网卡上,当某个节点出现故障宕机时,这个节点的VIP会被移到其它正常运行节点的公有网卡上。
网络交换机,首先,用于连接所有节点的公有网卡以提供对外的数据库服务,其次,用于连接各个节点之间的私有网卡以传递集群节点之间的心跳数据和数据库数据块(Cache Fusion)。
1.3共享存储在RAC集群中,最重要的是共享存储,RAC是一个“多实例、单一数据库”的架构,所有的节点共享一个数据库。
数据文件、联机日志、参数文件、控制文件存放在共享存储上以保证每个节点的实例都能访问。
每个节点安装HBA卡,然后通过光纤线和存储设备连接。
2软件环境RAC集群的软件组成包含:操作系统、集群软件、数据库软件。
2.1操作系统每个节点上所安装的操作系统必须是相同版本的。
2.2集群软件Oracle Clusterware(统称为CRS/Cluster Ready Service)集群软件,负责管理整个集群环境中的硬件资源,并为上层的RAC集群提供基础服务。
最详细的oracle rac日常基本维护命令

最详细的oracle rac日常基本维护命令以下是一些使用Oracle RAC进行日常基本维护的常用命令:1. CRSCTL命令:- crsctl check crs:检查集群资源状态。
- crsctl start crs:启动整个集群资源服务。
- crsctl stop crs:停止整个集群资源服务。
- crsctl disable crs:禁用整个集群资源服务。
- crsctl enable crs:启用整个集群资源服务。
2. SRVCTL命令:- srvctl start instance -db <database_name> -instance<instance_name>:启动指定的实例。
- srvctl stop instance -db <database_name> -instance<instance_name>:停止指定的实例。
- srvctl status instance -db <database_name> -instance<instance_name>:检查指定实例的状态。
- srvctl start service -db <database_name> -service <service_name>:启动指定的服务。
- srvctl stop service -db <database_name> -service <service_name>:停止指定的服务。
- srvctl status service -db <database_name> -service<service_name>:检查指定服务的状态。
3. SQL*Plus命令:- sqlplus / as sysdba:以SYS用户身份登录数据库。
- startup:启动数据库实例。
使用Oracle企业管理器10g 管理Oracle应用服务器 Oracle 白皮书

使用Oracle企业管理器10g管理Oracle应用服务器Oracle 白皮书2004 年 7 月使用Oracle企业管理器10g管理Oracle应用服务器引言 (4)管理拓扑结构 (4)随取随用管理 (5)集中和综合的管理 (5)使用应用服务器控制进行管理 (6)单点管理 (6)应用服务器环境的拓扑结构 (7)部署 J2EE 应用程序 (8)统一的管理操作 (9)集中的端口管理 (9)诊断日志查看器 (10)更改基础架构服务 (11)身份管理 (12)元数据信息库 (12)场信息库管理 (12)自动的服务保障 (13)使用网格控制管理 (13)随取随用的监视 (13)历史记录收集和分析 (14)J2EE 应用程序诊断 (15)应用程序服务级别管理 (15)应用程序可用性 (16)预先监视商务事务处理 (17)了解最终用户体验 (18)交互跟踪商务事务处理 (19)分析中间层页面的性能 (19)使应用程序性能相互关联 (20)管理应用服务器网格 (21)企业配置管理 (22)系统数据的自动收集 (22)报告收集的数据 (22)收集数据的查询和分析 (23)补丁 (24)克隆 Oracle 主目录 (25)结论 (26)使用Oracle企业管理器10g管理Oracle应用服务器引言Internet 为企业提供了快速发展更多客户的机会,同时降低了业务流程和信息系统的复杂性。
利用应用服务器(如 Oracle 应用服务器 10g)可以实现第二个好处,这些服务器允许用户集成完全不同的业务系统,并简化基于Web 的应用程序的开发和部署。
管理这样的动态应用服务器环境具有一定的挑战性。
Oracle 应用服务器提供了各种各样的功能,并在平台内集成了若干组件。
此外,应用服务器并不能独立存在,还需要其他服务和组件(例如,主机、数据库、负载平衡器等)作为应用服务器的宿主。
这样分散的环境自然很复杂,一直以来都需要经过培训的和专门的人员对其进行管理。
RAC 安装和配置及ASM最佳实践

8
在Linux上安装Oracle10g RAC
在安装的各个阶段运行 CVU (Cluster Verification Utility) 使用最新的被支持的操作系统版本并且正确设置核心参数 参考OTN上被验证了的多种配置 (只对Linux) - 包含了10g RAC在Linux上的很多配置情况 (包括不 同的Linux版本、不同的硬件配置、不同的存储方式等) - 详细列出了主机型号、CPU类型、内存大小、存储设备 的类型和容量、磁盘阵列(RAID)、网络设备、操作系统 及kernel的版本、oracle软件版本和补丁情况、安装的操 作系统package和oracle package、操作系统参数配置 、测试过的存储方式(如ASM或RAW DEVICE等)、驱动 器模块及配置情况的反馈等 - 详细情况请参考以下网址:
CRS Home (如果已安装CRS软件)
– –
<crs_home>/bin/cluvfy <crs_home>/cv/rpm/cvuqdisk-1.0.1-1.rpm (linux only)
Oracle Home (如果已安装RAC数据库软件)
–
$ORACLE_HOME/bin/cluvfy
© 2005-2006 Oracle Corporation All rights reserved.
在linux上安装oracle10grac在安装的各个阶段运行cvuclusterverificationutility包含了10grac在linux上的很多配置情况包括不同的linux版本不同的硬件配置不同的存储方式等详细列出了主机型号cpu类型内存大小存储设备的类型和容量磁盘阵列raid网络设备操作系统及kernel的版本oracle软件版本和补丁情况安装的操作系统package和oraclepackage操作系统参数配置测试过的存储方式如asm或rawdevice等驱动器模块及配置情况的反馈等详细情况请参考以下网址
云和恩墨大讲堂- ASM详解

ASM自动存储管理技术经历多个年头,目前已经广泛使用于各个领域的数据库存储解决方案。
谈到ASM相信大家可能会参杂着熟悉而陌生的感觉,熟悉在于目前大家使用的11g rac中基本都是使用ASM,陌生在于大家平时可能只是基本的使用,对asm了解并不全面,例如:数据库实例是怎么和asm交互和分工的、ASM存在哪些特性、数据库各种文件是怎样放于asm存储中、它的元数据怎么存放等等。
开始接下来我带大家重新全面认识ASM:Oracle10g之前,存储设备的使用情况(在UNIX或者LINUX环境中)如下:●操作系统上安装逻辑卷管理器(LVM);●通过LVM将多个磁盘做成卷组;●在卷组上划分逻辑卷(logical volume);●在逻辑卷上创建文件系统;●Rac环境下需要第三方共享集群软件。
1、Oracle10g之后引入的专用文件系统ASM,为数据库文件的管理提供了很好的支持;2、DBA 能够完全在Oracle 框架内执行许多任务。
利用ASM来将一组磁盘转换成一个高可伸缩的和高性能的文件系统/卷管理器;3、磁盘组提供了直接作为原始设备来访问这个空间,并仍提供文件系统的便利性和灵活性的好处。
RAC环境下的asm结构:ASM的出现是为RDBMS管理文件存储1、ASM中的适合存放文件类型包括:数据文件datafile、控制文件controlfile、重做日志redolog、归档日志archivelog、闪回日志flashback log、spfile、RMAN备份以及block tracking file、datapump文件2、注意ASM不会替代RDBMS去实施IO读写,很多对这一点存在误解,认为RDBMS发送IO request给ASM,ASM去做真正的IO操作,这是错误的。
3、ASM只负责将存储空间地址返回给RDBMS,真正的IO还是由RDBMS进程去完成,和不用ASM的裸设备一样4、因此ASM不是IO的中间层,也就不存在因为ASM而出现所谓的IO瓶颈ASM实例ASM instance的主要任务之一就是管理ASM metadata元数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
机器名hosta;hostb
SID cole1;cole2
服务名cole
hosta$srvctl status instance -d cole -i cole1
实例cole1 正在节点hosta 上运行
hosta$srvctl status instance -d cole -i cole2
实例cole2 正在节点hostb 上运行
hosta$
hosta$srvctl status database -d cole
实例cole1 正在节点hosta 上运行
实例cole2 正在节点hostb 上运行
hosta$
停止Oracle RAC 10g 环境
第一步是停止Oracle 实例。
当此实例(和相关服务)关闭后,关闭ASM实例。
最后,关闭节点应用程序(虚拟IP、GSD、TNS 监听器和ONS)。
$ export ORACLE_SID=cole1
$ em ctl stop dbconsole (停dbconsole)
$ srvctl stop instance -d cole -i cole1 (停实例)
$ srvctl stop asm -n hosta (停ASM)
$ srvctl stop nodeapps -n hosta (停节点服务)
#/etc/init.d/init.crs stop (停cluster软件root)
启动Oracle RAC 10g 环境
第一步是启动节点应用程序(虚拟IP、GSD、TNS 监听器和ONS)。
当成功启动节点应用程序后,启动ASM实例。
最后,启动Oracle 实例(和相关服务)以及企业管理器数据库控制台。
$ export ORACLE_SID=cole1
$ srvctl start nodeapps -n hosta //启动一些服务
$ srvctl start asm -n hosta
$ srvctl start instance -d cole -i cole1
$ em ctl start dbconsole
使用SRVCTL 启动/停止所有实例
启动/停止所有实例及其启用的服务。
我只是觉得有意思就把此步骤作为关闭所有实例的一种方法加进来了!
$ srvctl start database -d cole
$ srvctl stop database -d cole
启停止监听
hostb$lsnrctl start listener_hostb
hostb$lsnrctl stop listener_hostb
备份votning disk
dd if=voting_disk_name of=backup_file_name
dd if=/dev/rdsk/c4t600C0FF000000000098ADE240330A000d0s4
of=votingdisk.bak
# dd if=/dev/zero of=/dev/rdsk/c4t600C0FF000000000098ADE240330A000d0s4 bs=512 count=261120
测试
# dd if=/dev/rdsk/c4t600C0FF000000000098ADE240330A000d0s4
of=/data/backup/rac/vd_backup0420.bak
261120+0 记录进入
261120+0 记录调出
# cd /data/backup/rac
# ls
ocr0420.bak ocrdisk vd_backup0420.bak votingdisk.bak votingdisk0420.bak
# dd if=/data/backup/rac/vd_backup0420.bak
of=/dev/rdsk/c4t600C0FF000000000098ADE240330A000d0s4
261120+0 记录进入
261120+0 记录调出
备份OCR磁盘
技术社区
查看备份
$ocrconfig -showbackup
备份
/data/oracle/crs/bin/ocrc onfig -export /data/backup/rac/ocrdisk.bak
还原需要停掉所有的节点,Stop the Oracle Clusterware software on all of the nodes /data/oracle/crs/bin/ocrconfig -import file_name
自动备份的还原
# /data/oracle/crs/bin/ocrconfig -showbackup
# /data/oracle/crs/bin/ocrconfig -restore
/data/oracle/crs/cdata/db168crs/backup00.ocr
hosta$cluvfy comp ocr -n all //检验
ocr 检查
#ocrcheck
配置路径在
/var/opt/oracle/ocrconfig_loc文件里面如果需要更改OCR磁盘的路径配置。
OCR磁盘空间检查
# /data/oracle/crs/bin/ocrcheck
Status of Oracle Cluster Registry is as follows :
Version : 2
Total space (kbytes) : 399752
Used space (kbytes) : 3784
Available space (kbytes) : 395968
ID : 148562961
Device/File Name : /dev/rdsk/c4t600C0FF000000000098ADE240330A000d0s5 Device/File integrity check succeeded
Device/File not configured
Cluster registry integrity check succeeded
#
ASM实例的状态
hosta$srvctl status asm -n hosta
ASM实例+ASM1 正在节点hosta 上运行。
hosta$
特定节点上节点应用程序的状态
hosta$srvctl status nodeapps -n hosta
VIP 正在运行的节点: hosta
GSD 正在运行的节点: hosta
监听程序未在节点上运行: hosta
ONS 守护程序正在节点上运行:hosta
hosta$
所有实例和服务的状态
hosta$srvctl status database -d cole
实例cole1 正在节点hosta 上运行
实例cole2 正在节点hostb 上运行
hosta$
列出配置的所有数据库
hosta$srvctl config database
cole
hosta$
显示RAC数据库的配置
hosta$srvctl config database -d cole
hosta cole1 /data/oracle/OracleHome
hostb cole2 /data/oracle/OracleHom e
hosta$
显示ASM实例的配置
hosta$srvctl config asm -n hosta
+ASM1 /data/oracle/OracleHom e
显示节点应用程序的配置-(VIP、GSD、ONS、监听器)
hosta$srvctl config nodeapps -n hosta -a -g -s -l
VIP 已存在。
: /a1-vip/10.1.1.9/255.255.0.0/ce0
GSD 已存在。
ONS 守护程序已存在。
监听程序已存在。
hosta$
集群中所有正在运行的实例
SELECT
inst_id
, instance_number inst_no
, instance_nam e inst_name
, parallel
, status
, database_status db_status
, active_state state
, host_nam e host
FROM gv$instance
ORDER BY inst_id;
INST_ID INST_NO INST_NAME PAR STATUS DB_STATUS STATE HOST
---------- ---------- ---------------- --- ------------ -------------------------- -
1 1 cole1 YES OPEN ACTIVE NORMAL hosta
2 2 cole2 YES OPEN ACTIVE NORMAL hostb
SQL>
位于磁盘组中的所有数据文件
select nam e from v$datafile
union
select m ember from v$logfile
union
select nam e from v$controlfile
union
select nam e from v$tem pfile;
待续!。