Oracle 10g, ASM disk groups need information to an internal inquiry by the view after the Mount, because if the disk group failure can not load properly, then the information will not be available, a lot of inconvenience for the diagnosis of ASM-related failures
Oracle provides AMDU in 11g, it can be used to assist in the diagnosis, before the ASM disk loading, ASM metadata can be extracted from the disk out of the database for diagnosis. This tool can be backward compatible, introduced to 10g.
Instructions:
[Grid @ dbhost01 ~] $ amdu -diskstring '/ dev / asmdisk *'
amdu_2019_08_09_11_04_26 /
[grid@dbhost01 ~]$ cd amdu_2019_08_09_11_04_26/
[Grid @ dbhost01 amdu_2019_08_09_11_04_26] $ ls -l
total 8
-rw-r--r-- 1 grid oinstall 5367 Aug 9 11:04 report.txt
[grid@dbhost01 amdu_2019_08_09_11_04_26]$ more report.txt
- * - amdu - * -
******************************* AMDU Settings ********************************
ORACLE_HOME = /u01/app/11.2.0/grid
System name: Linux
Node name: Dbhost0l
Release: 3.10.0-862.el7.x86_64
Version: #1 SMP Wed Mar 21 18:14:51 EDT 2018
Machine: x86_64
amdu run: 09-AUG-19 11:04:26
Endianess: 1
Extract the entire database file process is as follows:
1. The positioning control ASM file number in the file system in the alarm log
Starting up:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options.
ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1
System name: Linux
Node name: dbhost01
Release: 3.10.0-862.el7.x86_64
Version: #1 SMP Wed Mar 21 18:14:51 EDT 2018
Machine: x86_64
VM name: VMWare Version: 6
Using parameter settings in server-side pfile /u01/app/oracle/product/11.2.0/db_1/dbs/initorcl1.ora
System parameters with non-default values:
processes = 150
spfile = "+DATA/orcl/spfileorcl.ora"
memory_target = 1584M
control_files = " +DATA/orcl/controlfile/current.260.1008261229 "
db_block_size = 8192
compatible = "11.2.0.4.0"
cluster_database = TRUE
db_create_file_dest = "+DATA"
thread = 1
undo_tablespace = "UNDOTBS1"
instance_number = 1
remote_login_passwordfile= "EXCLUSIVE"
db_domain = ""
dispatchers = "(PROTOCOL=TCP) (SERVICE=orclXDB)"
remote_listener = "myrac-cluster-scan:1521"
audit_file_dest = "/u01/app/oracle/admin/orcl/adump"
audit_trail = "DB"
db_name = "orcl"
open_cursors = 300
diagnostic_dest = "/u01/app/oracle"
2. 抽取控制文件
[grid@dbhost01 amdu_2019_08_09_11_04_26]$ amdu -extract +DATA.260
AMDU-00108: file name invalid [+DATA.260]
[grid@dbhost01 amdu_2019_08_09_11_04_26]$ amdu -extract DATA.260
amdu_2019_08_09_14_20_11/
AMDU-00210: No disks found in diskgroup DATA
AMDU-00210: No disks found in diskgroup DATA
[grid@dbhost01 amdu_2019_08_09_11_04_26]$ amdu -diskstring "/dev/asmdisk*" -extract DATA.260
amdu_2019_08_09_14_20_42/
[grid@dbhost01 amdu_2019_08_09_11_04_26]$ ls -l amdu_2019_08_09_14_20_42
total 18072
-rw-r--r-- 1 grid oinstall 18497536 Aug 9 14:20 DATA_260.f
-rw-r--r-- 1 grid oinstall 7306 Aug 9 14:20 report.txt
[grid@dbhost01 amdu_2019_08_09_11_04_26]$
[grid@dbhost01 amdu_2019_08_09_11_04_26]$
[grid@dbhost01 amdu_2019_08_09_11_04_26]$
3. 从控制文件中获取数据文件,日志等信息
[grid@dbhost01 amdu_2019_08_09_14_20_42]$ strings DATA_260.f | grep +DATA > DATAFILE_ORCL.txt
[grid@dbhost01 amdu_2019_08_09_14_20_42]$
[grid@dbhost01 amdu_2019_08_09_14_20_42]$ ls -l
total 18076
-rw-r--r-- 1 grid oinstall 18497536 Aug 9 14:20 DATA_260.f
-rw-r--r-- 1 grid oinstall 987 Aug 9 14:23 DATAFILE_ORCL.txt
-rw-r--r-- 1 grid oinstall 7306 Aug 9 14:20 report.txt
[grid@dbhost01 amdu_2019_08_09_14_20_42]$ more DATAFILE_ORCL.txt
+DATA/orcl/onlinelog/group_2.262.1008261231
+DATA/orcl/onlinelog/group_1.261.1008261231
郑州同济医院:http://jbk.39.net/yiyuanzaixian/zztjyy/
4. 按照第三步的输出,抽取出日志文件,数据文件等等
amdu -diskstring "/dev/asmdisk*" -extract DATA.259
amdu -diskstring "/dev/asmdisk*" -extract DATA.258
amdu -diskstring "/dev/asmdisk*" -extract DATA.257
amdu -diskstring "/dev/asmdisk*" -extract DATA.256
amdu -diskstring "/dev/asmdisk*" -extract DATA.263
amdu -diskstring "/dev/asmdisk*" -extract DATA.264
amdu -diskstring "/dev/asmdisk*" -extract DATA.265
amdu -diskstring "/dev/asmdisk*" -extract DATA.266
amdu -diskstring "/dev/asmdisk*" -extract DATA.267
amdu -diskstring "/dev/asmdisk*" -extract DATA.262
amdu -diskstring "/dev/asmdisk*" -extract DATA.261
5. 新建实例,利用抽取的控制文件,启动至mount
并使用alter database rename file改名等启动数据库