- 浏览: 4407195 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (634)
- Oracle日常管理 (142)
- Oracle体系架构 (45)
- Oracle Tuning (52)
- Oracle故障诊断 (35)
- RAC/DG/OGG (64)
- Oracle11g New Features (48)
- DataWarehouse (15)
- SQL, PL/SQL (14)
- DB2日常管理 (9)
- Weblogic (11)
- Shell (19)
- AIX (12)
- Linux/Unix高可用性 (11)
- Linux/Unix日常管理 (66)
- Linux桌面应用 (37)
- Windows (2)
- 生活和工作 (13)
- 私人记事 (0)
- Python (9)
- CBO (15)
- Cognos (2)
- ORACLE 12c New Feature (2)
- PL/SQL (2)
- SQL (1)
- C++ (2)
- Hadoop大数据 (5)
- 机器学习 (3)
- 非技术 (1)
最新评论
-
di1984HIT:
xuexilee!!!
Oracle 11g R2 RAC高可用连接特性 – SCAN详解 -
aneyes123:
谢谢非常有用那
PL/SQL的存储过程和函数(原创) -
jcjcjc:
写的很详细
Oracle中Hint深入理解(原创) -
di1984HIT:
学习了,学习了
Linux NTP配置详解 (Network Time Protocol) -
avalonzst:
大写的赞..
AIX内存概述(原创)
ORA-15063: ASM discovered an insufficient number of disks for diskgroup "DATA"
ORA-15063这个报错的原因层出不穷,搜了好一阵各种试过各种方法后最终判定为bug,有点郁闷,这里对网上和metalink的方法进行各总结,以便日后查看。具体原因和解决方法如下
操作系统无法识别ASM磁盘或权限设置不当
在故障主机上执行
#oracleasm scandisks
#oracleasm scandisks
确保ls -lASM磁盘的输出如下
#ls -l /dev/oracleasm/disks/
total 0
brw-rw---- 1 oracle dba 8, 33 Nov 25 14:35 VOL1
如果依然无法解决,且是11.1或者之后的版本,可以采用如下语句,然后再重新创建磁盘组
drop diskgroup <diskgroup_name> including contents force;
INCLUDING CONTENTS:删除掉磁盘组中的所有文件。
FORCE:清除磁盘头的相关信息。
在集群环境下如果操作的磁盘组正在使用或者在其他节点上挂载,则该语句将失败。
asm_diskgroups和asm_diskstring没有正确配置
ASM_DISKGROUPS指定了ASM实例启动或者ALTER DISKGROUP ALL MOUNT命令时自动挂载的磁盘组。当磁盘组创建、挂载或者被删除时,ASM实例都会自动更新该参数
ASM_DISKSTRING指定了ASM实例发现磁盘的路径,也就是说ASM实例只会在该参数指定的路径下发现ASM磁盘。该参数支持通配符。
ASM_DISKSTRING默认值为null,表示ASM实例查找所有与操作系统向连的可读写磁盘以确认哪些是真正的ASM磁盘。虽然官方文档上说该参
数支持通配符,但有时候只有明确指定后才会成功修复ORA-15063,估计又是个bug。
解决步骤如下
1、先讲所有已经挂载的磁盘dismout
SQL>alter diskgroup all dismount
2、重新指定asm_diskstring:
SQL> alter system set asm_diskstring='/dev/mapper/datap1','/dev/mapper/frap1';
SQL> alter system set asm_diskgroups='/dev/oracleasm/disks/ASMGROUP3','/dev/oracleasm/disks/ASMGROUP4';
3、dbca 继续挂载,当然也可以手工的创建磁盘组。
如果依然不行可以执行如下操作
/etc/init.d/init.cssd stop
/etc/init.d/init.cssd start
sleep 90
restart ASM instance and shutdown immediate
again restart ASM instance
存储复制技术导致报错
可以查看官方文档
ORA-15063 When Mounting a Diskgroup After Storage Cloning ( BCV / Split Mirror / SRDF / HDS / Flash Copy ) [ID 784776.1]
Cause
Storage cloning doesn't create a consistent image during split copy.
There is a problem in other disk metadata structures (PST block, listheader f1b1locn, disk directory, etc.)
Header status is MEMBER but diskgroup can't be mounted.
$ kfed read WRADK003.dmp ausz=4194304 aunum=1 blknum=0
kfbh.endian: 0 ; 0x000: 0x00
kfbh.hard: 130 ; 0x001: 0x82
kfbh.type: 17 ; 0x002: KFBTYP_PST_META
kfbh.datfmt: 2 ; 0x003: 0x02
kfbh.block.blk: 262144 ; 0x004: T=0 NUMB=0x40000
kfbh.block.obj: 16777344 ; 0x008: TYPE=0x0 NUMB=0x80
kfbh.check: 1240136211 ; 0x00c: 0x49eafa13
kfbh.fcn.base: 0 ; 0x010: 0x00000000
kfbh.fcn.wrap: 0 ; 0x014: 0x00000000
kfbh.spare1: 0 ; 0x018: 0x00000000
kfbh.spare2: 0 ; 0x01c: 0x00000000
-- Disk content on target (backup) storage
$ kfed read WRADK003.dmp ausz=4194304 aunum=1 blknum=0
kfbh.endian: 0 ; 0x000: 0x00
kfbh.hard: 0 ; 0x001: 0x00
kfbh.type: 0 ; 0x002: KFBTYP_INVALID
kfbh.datfmt: 0 ; 0x003: 0x00
kfbh.block.blk: 0 ; 0x004: T=0 NUMB=0x0
kfbh.block.obj: 0 ; 0x008: TYPE=0x0 NUMB=0x0
...
Disk WRADK003.dmp contains Partner Status Table in the source
storage. However, its content is all zero in the backup storage after
the split copy. Storage cloning doesn't create a consistent image of ASM
LUNs.
Allocation unit containing PST block is apperantly not copied from production to backup disks.
In this particular case, we see the PST is corrupted. But basically the issue here is that the clone was not consistent, and the invalid ASM Metadata could be on anywhere on the disk(s), and could prohibit mount of the diskgroup.
Solution
The problem could be with the incorrect initial configuration of the clones on the storage array. The first time copy must be the full sync. After only having a full first copy, it is possible to do incremental clone.
There is various storage cloning methods and technologies used by different storage vendors. As long as the cloning techology creates consistent snapshots of all the disks in an ASM disk group then the diskgroup based on the copied LUNs can be mounted at an alternate site.
- EMC CLARiiON SnapView and MirrorView (also known as BCV copy)
- Hitachi Data Systems (HDS): Universal Storage Platform Replication Software
- IBM FlashCopy
Most common disk cloning technologies is mentioned in the following
link. The documents specific for each vendor also explains the best
practices when creating the disk copies.
虽然文档上没有对虚拟机的克隆技术进行描述,不过根据笔者过在虚拟机上搭建HA环境的经验,使用 虚拟机的克隆技术往往会带来莫名其妙的错误,笔者在利用VMWARE的克隆技术搭建RAC时就报了ORA-15063。奉劝大家一句,如果要搭建HA环 境,最好不要利用克隆技术,建个系统废不了多少工夫,不然到头来无穷无尽的bug会折磨得你想死 ,呵呵。
ASM磁盘头部信息被标记为“PROVISIONED”
查看v$asm_disk视图
SQL>
select group_number gn,disk_number dn, mount_status,
header_status,mode_status,state, total_mb, free_mb, label, path from
v$asm_disk order by group_number, disk_number;
GN DN MOUNT_STATUS HEADER_STATU MODE_STATUS STATE
TOTAL_MB FREE_MB LABEL
PATH
---- ----
----------------------------------------------------------------------------------------------------------------------------------------
0 0 CLOSED PROVISIONED ONLINE
NORMAL 0 0 CRS
ORCL:CRS
0 1 CLOSED PROVISIONED ONLINE
NORMAL 0 0 DATA
ORCL:DATA
使用kfed查看发现kfdhdb.acdb.ub2spare的值为0xaa55( 2 bytes at 510th location ).
$ kfed read /dev/oracleasm/disks/DATA
kfbh.endian: 1 ; 0x000: 0x01
kfbh.hard: 130 ; 0x001: 0x82
..
kfdhdb.acdb.ents: 0 ; 0x1dc: 0x0000
kfdhdb.acdb.ub2spare: 43605 ; 0x1de: 0xaa55
0xaa55 on little-endian server like Linux or 0x55aa on big-endain server like Sun Sparc indicates boot sinature ( or magic number ) on MBR (Master Boot Record ) Partition.
原因
系统或者人工从外部对ASM磁盘写入分区信息
解决方案
1、关闭ASM实例
2、备份ASM磁盘的头部信息
3. 对所有受影响磁盘执行下列操作
检查AU ( Allocation Unit )
kfdhdb.ausize: 1048576 ; 0x0bc: 0x00100000
$ kfed repair /dev/oracleasm/disks/DATA aus=1048576
如果ASM的版本低于11.1.0.7
$ kfed read /dev/oracleasm/disks/DATA text=./DATA.kfed
$ kfed write /dev/oracleasm/disks/DATA CHKSUM=YES aus=1048576 text=./DATA.kfed
4、启动ASM实例,挂载受影响磁盘
5、该方法仅对磁盘头显示0xaa55时有效,如果显示其他信息或者依然没有解决ORA-15063请联系ORACLE。
ASM磁盘头部信息被标记为“UNKNOWN”
这种情况下系统层面上查看ASM磁盘是是正常的
$ /etc/init.d/oracleasm listdisks
DISCO01BKP
DISCO02BKP
DISCO03BKP
DISCO04BKP
DISCO05BKP
$ ls -l /dev/oracleasm/disks
brw-rw---- 1 oracle oinstall 8, 1 Dec 8 10:31 DISCO01BKP
brw-rw---- 1 oracle oinstall 8, 17 Dec 8 10:31 DISCO02BKP
brw-rw---- 1 oracle oinstall 8, 33 Dec 8 10:31 DISCO03BKP
brw-rw---- 1 oracle oinstall 8, 49 Dec 8 10:31 DISCO04BKP
brw-rw---- 1 oracle oinstall 8, 65 Dec 8 10:31 DISCO05BKP
查看/proc/partitions显示ASM磁盘连接着'sd'设备而不是''multipath (dm)'设备。
cat /proc/partitions
major minor #blocks name
8 1 209712478 sda1
8 17 209712478 sdb1
8 33 209712478 sdc1
8 49 209712478 sdd1
8 65 209712478 sde1
...
253 0 209715200 dm-0
253 1 209715200 dm-1
253 2 209715200 dm-2
253 3 209715200 dm-3
253 4 209715200 dm-4
解决方案
修改/etc/sysconfig/oracleasm配置是asm设备映射到多路径设备(multipath devices)
ORACLEASM_SCANORDER="mpath dm"
ORACLEASM_SCANEXCLUDE="sd"
ASM元数据损坏
解决方案
1、确认之前的备份是否可用
2、备份控制文件和归档日志文件
RMAN> backup device type disk format '/u03/backup/%U' database plus archivelog;
RMAN> backup device type disk format '/u03/backup/ctrlf_%U' current controlfile;
3、手工备份参数文件
CREATE PFILE='/u03/app/oracle/product/10.1.0/dbs/init<sid>.ora'
FROM SPFILE='/+DATA/V10FJ/spfile.ora';
2、一致性关闭ASM实例和数据库实例
3、重建ASM磁盘组
setenv ORACLE_SID +ASM
sqlplus '/ as sysdba'
SQL> startup nomount
SQL> create diskgroup data disk '/dev/rdsk/c1t4d0s4' force;
SQL> shutdown immediate
SQL> startup mount
4、还原数据库
setenv ORACLE_SID DBSCOTT
sqlplus '/ as sysdba'
SQL> startup nomount pfile=init<sid>.ora
rman target /
RMAN> restore controlfile from '/u03/backup/ctrlf_<string>'; --
where <string> is the unique string generated by %U.
RMAN> alter database mount;
RMAN> restore database;
RMAN> recover database;
RMAN> alter database open resetlogs;
5、连接到ASM实例查看控制文件路径
setenv ORACLE_SID +ASM
sqlplus '/ as sysdba'
SQL> select name, alias_directory from v$asm_alias;
6、编辑init<sid>.ora将control_files参数执行v$asm_alias查看到的值
7、重新创建spfile并重新启动数据库。注意由于ASM实例和数据库实例是一对多的关系,需要对所有受影响的数据库都进行相同操作。
参考至:http://blog.csdn.net/linwaterbin/article/details/8151309
http://www.boobooke.com/bbs/viewthread.php?tid=101936
http://blog.csdn.net/tianlesoftware/article/details/6274852
ASM Diskgroup Failed to Mount On Second Node ORA-15063 [ID 731075.1]
ORA-15063 When Mounting a Diskgroup After Storage Cloning ( BCV / Split Mirror / SRDF / HDS / Flash Copy ) [ID 784776.1]
Mounting Diskgroup Fails With ORA-15063 and V$ASM_DISK Shows PROVISIONED [ID 1487443.1]
Mount ASM Disk Group Fails : ORA-15186, ORA-15025, ORA-15063 [ID 1384504.1]
Receiving ORA-15032 ORA-15063 When Mounting Diskgroup in 11.1.0/7 [ID 1437578.1]
本文原创,转载请注明出处、作者
如有错误,欢迎指正
邮箱:czmcj@163.com
发表评论
-
AIX平台下磁盘的PVID对ASM磁盘的破坏
2014-03-19 20:53 2735这篇文章将通过两篇MOS文章来讨论AIX平台下为磁盘分配 ... -
Bug 9020054,ORA-8103 BEING HIT DURING GATHERING OF STATISTICS ON TABLE PARTITION
2013-12-01 09:22 1877Bug 9020054 : ORA-8103 ... -
oracle数据库hanganalyze(原创)
2013-06-23 14:11 8324为什么要使用hanganalyzeOracle 数据库“真 ... -
Oracle:并行操作为什么无法执行(老白)
2013-06-23 10:30 5725在一次系统割接的时候,我们碰到一个十分奇怪的现象。由于进行 ... -
补写的2小节DBA日记
2013-06-05 21:52 13866月8日 ITL等待引发的RAC性能问题 从这几天的情况 ... -
ORA-27054故障排除
2013-03-08 17:57 12946在数据备份过程中,由于目标是使用NFS文件系统,因此在导入 ... -
长时间latch free等待——记一次系统异常的诊断过程
2013-01-09 19:17 3717今天发现一个报表数据库中SQL运行异常,简单记录一下问题的诊断 ... -
libpthread.so.0: cannot open shared object file解决方法(原创)
2012-11-24 17:33 17743在linux 5上装10G RAC时,常常会碰到“libpth ... -
ora-02020故障诊断详解(原创)
2012-07-16 12:54 3199ORA-2020错发生在一个分布式事务使用的dblink数超过 ... -
Oracle数据库CPU 100%故障诊断实例(原创)
2012-07-05 13:55 16908前言 这两天一只对外提供查询的数据库CPU使用率 ... -
DBA手记:System State转储分析之问题定位
2012-04-19 22:20 2108在 Oracle 数据库的运行过程中,可能会因为一些异常遇 ... -
ORA-02050故障诊断一例
2012-04-05 17:20 8568昨天客户反映说在下午某时间段有几个事务失败了,让我查下当时数据 ... -
ORA-00308: cannot open archived log(原创)
2012-03-23 09:36 16248笔者在为客户配置DG时发现主备库日志无法正常传输,经仔细检查后 ... -
ORA-00600: internal error code, arguments: [kcblasm_1], [103]原创
2012-03-23 09:36 3102故障报错 Mon Mar 19 11:30:03 GMT ... -
ORA-00600: internal error code, arguments: [kglhdda-bad-free](原创)
2012-03-22 09:16 2961故障报错如下 Thu Mar 15 09:51:29 G ... -
ORA-27300,ORA-27301,ORA-27302: failure occurred at: skgpalive1(原创)
2012-03-22 08:58 3339故障报错如下 Wed Mar 07 16:4 ... -
ora-07445错误相关内容
2012-03-01 17:14 1806本文档主要介绍ora-07445 错误相关内容,并给出了对这 ... -
记一次Oracle 生产库还原归档日志经历(原创)
2012-02-17 10:12 4377中午刚去吃饭,就接到同事电话说急着要恢复生产库上的归档日志。系 ... -
SMON: Parallel transaction recovery tried 引发的问题
2012-01-04 11:26 2396SMON: Parallel transaction rec ... -
ORA-00444,ORA-07446故障排查
2011-12-14 16:58 4643phenomenon startup ORA-00 ...
相关推荐
### ora-01033: Oracle Initialization or Shutdown in Progress 解决方法 #### 一、问题背景及原因 **标题**: “ora-01033: Oracle initialization or shutdown in progress 解决方法” **描述**: “ora-01033: ...
### 如何处理错误ORA-29275:部分多字节字符 #### 问题背景与描述 在Oracle数据库操作过程中,用户可能会遇到一个特定的错误提示——ORA-29275:部分多字节字符。这一错误通常出现在执行查询`SELECT * FROM V$...
ORA-32001:write to spfile requested but no spfile is in use请求写入spfile,但没有使用spfile的解决方法 在输入以下语句中报了这样的错误: SQL>alter system set control_files=’/u01/app/oracle/oradata/prod/...
ORA-00604: 递归SQL层1出现错误 ORA-03106: 致命的双工通信协议错误 ORA-02063: 紧接着line(源于dblink) 以及 ORA-04052: 在查找远程对象时出错 ORA-00604: 递归SQL层1出现错误 ORA-03120: 双工转换例行程序:整数...
ORA-12154: TNS: 无法解析指定的连接标识符的解决方法
在Oracle数据库管理中,"ORA-00990: 权限缺失或无效"是一个常见的错误代码,它表示用户尝试执行的操作没有足够的权限。这个错误通常发生在试图访问、修改或者管理数据库对象(如表、视图、索引等)时。在本篇文章中...
#### ORA-00097: Use of Non-Standard SQL Features 使用了非标准SQL特性。这可能是由于使用了不符合SQL92标准的功能或语法。 #### ORA-00099: Error During I/O Operation 在执行I/O操作时出现错误。这可能是由于...
在Oracle数据库系统中,"ORA-01036:非法的变量名/编号"是一个常见的错误,通常出现在PL/SQL代码或者SQL查询语句中,当你尝试使用一个不正确或者未定义的变量时,Oracle数据库会抛出这个错误。这个错误可能是由于...
在Oracle数据库中,"ORA-00904"是一个常见的错误代码,它表示尝试引用一个不存在或无效的标识符。在这个场景下,错误信息提到的是"WM_CONCAT"函数,这表明在Oracle 19c数据库环境中,用户尝试使用WM_CONCAT函数,但...
oracle12c程序连接时异常: ORA-01017: 用户名/口令无效; 登录被拒绝 的解决方案。
在Oracle数据库系统中,"ORA-00060: 等待资源时检测到死锁" 是一个常见的错误提示,它表明两个或多个事务在执行过程中陷入了无法继续进行的状态,因为彼此都在等待对方释放资源。这种情况通常发生在并发操作中,比如...
然而,当你尝试向CLOB字段插入数据时,如果超过了Oracle规定的最大限制,就会遇到“ORA-01704: 文字字符串过长”的错误。这个错误通常意味着你试图插入的字符串超过了Oracle数据库允许的最大长度,对于VARCHAR2类型...
ORA-00001: 违反唯一约束条件 (.) ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最大会话许可数 ORA-00020: 超出最大进程数 () ORA-00021: 会话附属于其它某些进程;无法转换...
-- 解决ORA-00904: "WMSYS"."WM_CONCAT": 标识符无效 的文件包....... -- 解决ORA-00904: "WMSYS"."WM_CONCAT": 标识符无效 的文件包....... -- 解决ORA-00904: "WMSYS"."WM_CONCAT": 标识符无效 的文件包....... ...
在处理Oracle数据库时,我们经常遇到错误代码ORA-00031,它表明指定的会话已经被标记为终止。这个错误通常与数据库锁定和会话管理有关。本文将详细解析这一问题的解决方案,并提供一系列SQL语句和命令来处理和解决...
### Oracle回收站功能详解与彻底删除表方法 #### 一、Oracle回收站功能概述 Oracle数据库自10g版本开始引入了回收站功能...同时,需要注意避免因SQL语句编写不当而导致的ORA-00933错误,以确保操作的顺利进行。
ORA-12518 TNS:监听程序无法分发客户机连接,在您安装好数据库后配置连接数据库的过程中遇到这类问题应该很头疼吧,不过,当您还是四处查资料来解决您遇到的另你头疼的问题时,如果不经意间看到了这则贴子,那请您升...
oracle报错ora-12541:TNS无监听程序
解决ORACLE TNS: 无法解析指定的连接标识符; 里面有步骤