We are trying to create a DB on a new RAC enviroment in silent mode like:
[oracle@testserver1 bin]$ ./dbca \
-ignorePreReqs \
-ignorePrereqFailure \
-silent \
-createDatabase \
-templateName General_Purpose.dbc \
-sid TESTDB \
-gdbName TESTDB \
-SysPassword xxxxxxxx \
-SystemPassword xxxxxxxx \
-emConfiguration NONE \
-storageType ASM \
-asmSysPassword xxxxxxxx \
-diskGroupName DATA \
-recoveryGroupName FBRA \
-initParams db_unique_name=TESTDB \
-databaseConfigType RAC \
-characterSet AL32UTF8 \
-nodelist testserver1,testserver2
But DBCA was failing with:
Prepare for db operation
4% complete
Creating and starting Oracle instance
5% complete
[FATAL] ORA-01501: CREATE DATABASE failed
ORA-00200: control file could not be created
ORA-00202: control file: '+DATA'
ORA-17502: ksfdcre:4 Failed to create file +DATA
ORA-15001: diskgroup "DATA" does not exist or is not mounted
ORA-01017: invalid username/password; logon denied
8% complete
100% complete
[FATAL] ORA-01501: CREATE DATABASE failed
ORA-00200: control file could not be created
ORA-00202: control file: '+DATA'
ORA-17502: ksfdcre:4 Failed to create file +DATA
ORA-15001: diskgroup "DATA" does not exist or is not mounted
ORA-01017: invalid username/password; logon denied
4% complete
0% complete
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/TESTDB/TESTDB4.log" for further details.
[oracle@testserver1 bin]$
In this case, we have a separate role for GRID (as oragrid user) and RDBMS (as oracle user), so we checked:
1:- ASM disks are under the right group name (asmadmin this case):
[root@testserver1 ~]# oracleasm configure
ORACLEASM_ENABLED=true
ORACLEASM_UID=oragrid
ORACLEASM_GID=asmadmin
ORACLEASM_SCANBOOT=true
ORACLEASM_SCANORDER=""
ORACLEASM_SCANEXCLUDE=""
ORACLEASM_SCAN_DIRECTORIES=""
ORACLEASM_USE_LOGICAL_BLOCK_SIZE="false"
[root@testserver1 ~]#
[root@testserver1 ~]# ll /dev/oracleasm/disks/
total 0
brw-rw----. 1 oragrid asmadmin 202, 113 Oct 6 2022 DATA1
brw-rw----. 1 oragrid asmadmin 202, 129 Oct 6 2022 DATA2
brw-rw----. 1 oragrid asmadmin 202, 145 Oct 6 2022 DATA3
brw-rw----. 1 oragrid asmadmin 202, 161 Oct 6 2022 DATA4
brw-rw----. 1 oragrid asmadmin 202, 241 Oct 6 2022 DATA5
brw-rw----. 1 oragrid asmadmin 202, 4097 Oct 6 2022 DATA6
brw-rw----. 1 oragrid asmadmin 202, 4353 Oct 6 2022 DATA7
brw-rw----. 1 oragrid asmadmin 202, 4609 Oct 6 2022 DATA8
brw-rw----. 1 oragrid asmadmin 202, 177 Oct 6 2022 FBRA1
brw-rw----. 1 oragrid asmadmin 202, 193 Oct 6 2022 FBRA2
brw-rw----. 1 oragrid asmadmin 202, 209 Oct 6 2022 FBRA3
brw-rw----. 1 oragrid asmadmin 202, 225 Oct 6 2022 FBRA4
brw-rw----. 1 oragrid asmadmin 202, 4865 Oct 6 2022 FBRA5
brw-rw----. 1 oragrid asmadmin 202, 5121 Oct 6 2022 FBRA6
brw-rw----. 1 oragrid asmadmin 202, 5377 Oct 6 2022 FBRA7
brw-rw----. 1 oragrid asmadmin 202, 5633 Oct 6 2022 FBRA8
brw-rw----. 1 oragrid asmadmin 202, 97 Oct 6 2022 MGMT1
brw-rw----. 1 oragrid asmadmin 202, 81 Oct 6 2022 OCRVOTE1
[root@testserver1 ~]#
2:- RDBMS oracle binary matches asmadmin group:
[root@testserver1 ~]# ls -tlr /u01/app/oracle/product/19.0.0/dbhome_1/bin/oracle
-rwsr-s--x. 1 oracle asmadmin 447373320 Sep 24 2021 /u01/app/oracle/product/19.0.0/dbhome_1/bin/oracle
[root@testserver1 ~]#
3:- Oracle account had the right groups assigned:
[oracle@testserver1 ~]$ groups
oinstall dba oper backupdba dgdba kmdba racdba asmdba asmadmin
[oracle@testserver1 ~]$
It turns out, even though groups are correctly reported on “groups” output, oinstall was not on /etc/group as assigned to oracle:
[oracle@testserver1 ~]$ grep oracle /etc/group
wheel:x:10:unixadmin,oracle,oragrid
asmdba:x:1003:oracle,oragrid
asmadmin:x:1004:oracle,oragrid
dba:x:1005:oracle,oragrid
oper:x:1006:oracle
backupdba:x:1007:oracle
dgdba:x:1008:oracle
kmdba:x:1009:oracle
racdba:x:1010:oracle
[oracle@testserver1 ~]$
So we added like:
[root@testserver1 ~]# grep -i oracle /etc/group
wheel:x:10:unixadmin,oracle,oragrid
oinstall:x:1001:oracle,oragrid <<----
asmdba:x:1003:oracle,oragrid
asmadmin:x:1004:oracle,oragrid
dba:x:1005:oracle,oragrid
oper:x:1006:oracle
backupdba:x:1007:oracle
dgdba:x:1008:oracle
kmdba:x:1009:oracle
racdba:x:1010:oracle
[root@testserver1 ~]#
After this change, DBCA can create DB with no issues:
[oracle@testserver1 bin]$ ./dbca \
-ignorePreReqs \
-ignorePrereqFailure \
-silent \
-createDatabase \
-templateName General_Purpose.dbc \
-sid TESTDB \
-gdbName TESTDB \
-SysPassword xxxxxxxx \
-SystemPassword xxxxxxxx \
-emConfiguration NONE \
-storageType ASM \
-asmSysPassword xxxxxxxx \
-diskGroupName DATA \
-recoveryGroupName FBRA \
-initParams db_unique_name=TESTDB \
-databaseConfigType RAC \
-characterSet AL32UTF8 \
-nodelist testserver1,testserver2
Prepare for db operation
....
....
89% complete
Executing Post Configuration Actions
100% complete
Database creation complete. For details check the logfiles at:
/u01/app/oracle/cfgtoollogs/dbca/TESTDB.
Database Information:
Global Database Name:TESTDB
System Identifier(SID) Prefix:TESTDB
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/TESTDB/TESTDB6.log" for further details.
[oracle@testserver11 bin]$
Comments