OS 환경 : Oracle Linux 8.4 (64bit)
DB 환경 : Oracle Database 19.27.0.0
에러 : [DBT-05802] Creating password file on diskgroup (DATA) would fail since it requires compatible.asm of version (12.1.0.0.0) or higher.
19c 설치시 디스크그룹을 create 구문으로 수동 생성 후 dbca할때 data영역을 +DATA 디스크그룹으로 설정하려 할때 발생하는 에러
|
1
2
|
[DBT-05802] Creating password file on diskgroup (DATA) would fail since it requires compatible.asm of version (12.1.0.0.0) or higher.
Current compatible.asm version is '11.2.0.2.0'.
|
해결 방법 : 디스크그룹의 compatiblity 변경
현재 디스크그룹의 compatibility 확인
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
SQL>
set lines 200 pages 1000
col name for a10
col compatibility for a20
col database_compatibility for a20
select group_number, name, compatibility, database_compatibility, allocation_unit_size/1024/1024 au_mb, state from v$asm_diskgroup;
GROUP_NUMBER NAME COMPATIBILITY DATABASE_COMPATIBILI AU_MB STATE
------------ ---------- -------------------- -------------------- ---------- -----------
1 OCR 19.0.0.0.0 10.1.0.0.0 4 MOUNTED
2 VOTE 11.2.0.2.0 10.1.0.0.0 1 MOUNTED
3 DATA 11.2.0.2.0 10.1.0.0.0 1 MOUNTED
4 RECO 11.2.0.2.0 10.1.0.0.0 1 MOUNTED
|
OCR은 grid 설치시 gui에서 생성되어 compatibility가 19.0에 AU 크기는 4MB으로 설정되어있지만
나머지 디스크그룹은 현재 11.2.0.2.0으로 되어있고 AU 크기도 1MB임
디스크그룹 호환성만 문제인경우 호환성만 변경
|
1
2
3
4
5
6
|
$ export ORACLE_SID=+ASM1
$ export ORACLE_HOME=$GRID_HOME
$ sqlplus / as sysasm
$ asmcmd setattr -G DATA compatible.asm 19.0.0.0.0
$ asmcmd setattr -G RECO compatible.asm 19.0.0.0.0
$ asmcmd setattr -G VOTE compatible.asm 19.0.0.0.0
|
AU 크기도 변경해야하는경우 디스크그룹을 다른 노드에서 dismount 후 drop 후 다시 create 해주어야함
2번노드의 디스크그룹 dismount
|
1
2
3
|
$ srvctl stop diskgroup -g DATA -n ora19rac2
$ srvctl stop diskgroup -g RECO -n ora19rac2
$ srvctl stop diskgroup -g VOTE -n ora19rac2
|
디스크그룹 삭제
|
1
2
3
4
|
SQL>
drop diskgroup data including contents;
drop diskgroup reco including contents;
drop diskgroup vote including contents;
|
디스크그룹 재생성
|
1
2
3
4
5
6
7
8
|
SQL>
create diskgroup vote normal redundancy disk
'/dev/oracleasm/disks/VOTE1','/dev/oracleasm/disks/VOTE2','/dev/oracleasm/disks/VOTE3'
attribute 'compatible.asm'='19.0.0.0.0', 'compatible.rdbms'='10.1.0.0.0', 'au_size'='4m';
create diskgroup data external redundancy disk '/dev/oracleasm/disks/DATA01'
attribute 'compatible.asm'='19.0.0.0.0', 'compatible.rdbms'='10.1.0.0.0', 'au_size'='4m';
create diskgroup reco external redundancy disk '/dev/oracleasm/disks/RECO01'
attribute 'compatible.asm'='19.0.0.0.0', 'compatible.rdbms'='10.1.0.0.0', 'au_size'='4m';
|
*초기 디스크그룹 생성시 1번노드만 mount됨, 2번노드는 수동으로 마운트 해줘야함
2번노드의 디스크그룹 mount
|
1
2
3
|
$ srvctl start diskgroup -g DATA -n ora19rac2
$ srvctl start diskgroup -g RECO -n ora19rac2
$ srvctl start diskgroup -g VOTE -n ora19rac2
|
현재 디스크그룹의 속성 재확인
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
SQL>
set lines 200 pages 1000
col name for a10
col compatibility for a20
col database_compatibility for a20
select group_number, name, compatibility, database_compatibility, allocation_unit_size/1024/1024 au_mb, state from v$asm_diskgroup;
GROUP_NUMBER NAME COMPATIBILITY DATABASE_COMPATIBILI AU_MB STATE
------------ ---------- -------------------- -------------------- ---------- -----------
1 OCR 19.0.0.0.0 10.1.0.0.0 4 MOUNTED
3 DATA 19.0.0.0.0 10.1.0.0.0 4 MOUNTED
2 VOTE 19.0.0.0.0 10.1.0.0.0 4 MOUNTED
4 RECO 19.0.0.0.0 10.1.0.0.0 4 MOUNTED
|
모두 정상적으로 compatibility와 au 크기가 설정되고 mount됨
이후 dbca에서 next버튼을 누르면 정상적으로 진행될것임
원인 : asm 디스크그룹 추가시 아무 옵션도 없이 디스크만 입력하고 생성해서 발생한 문제
asm 디스크그룹 추가시 아무 옵션도 없이 디스크만 입력하고 생성했기 때문에 compatibility와 au 크기가 기본값으로 설정되었음
|
1
2
3
4
5
6
7
8
|
$ export ORACLE_SID=+ASM1
$ export ORACLE_HOME=$GRID_HOME
$ sqlplus / as sysasm
SQL>
create diskgroup vote normal redundancy disk \
'/dev/oracleasm/disks/VOTE1','/dev/oracleasm/disks/VOTE2','/dev/oracleasm/disks/VOTE3';
create diskgroup data external redundancy disk '/dev/oracleasm/disks/DATA01';
create diskgroup reco external redundancy disk '/dev/oracleasm/disks/RECO01';
|
아래와 같이 사용하려는 compatibility와 au 크기를 명시해줘야함
|
1
2
3
4
5
6
7
8
|
SQL>
create diskgroup vote normal redundancy disk
'/dev/oracleasm/disks/VOTE1','/dev/oracleasm/disks/VOTE2','/dev/oracleasm/disks/VOTE3'
attribute 'compatible.asm'='19.0.0.0.0', 'compatible.rdbms'='10.1.0.0.0', 'au_size'='4m';
create diskgroup data external redundancy disk '/dev/oracleasm/disks/DATA01'
attribute 'compatible.asm'='19.0.0.0.0', 'compatible.rdbms'='10.1.0.0.0', 'au_size'='4m';
create diskgroup reco external redundancy disk '/dev/oracleasm/disks/RECO01'
attribute 'compatible.asm'='19.0.0.0.0', 'compatible.rdbms'='10.1.0.0.0', 'au_size'='4m';
|
또는 asmca를 사용하면 자동으로 이런 값들을 지정해서 넣어줌
참조 :
2676282.1
https://checktech.tistory.com/24