File tree 21 files changed +66
-10
lines changed
OracleDatabase/SingleInstance/dockerfiles
21 files changed +66
-10
lines changed Original file line number Diff line number Diff line change @@ -50,7 +50,8 @@ ENV ORACLE_BASE=/u01/app/oracle \
50
50
CONFIG_RSP="xe.rsp" \
51
51
RUN_FILE="runOracle.sh" \
52
52
PWD_FILE="setPassword.sh" \
53
- CHECK_DB_FILE="checkDBStatus.sh"
53
+ CHECK_DB_FILE="checkDBStatus.sh" \
54
+ DB_STARTED_MARKER_FILE="/dev/shm/.db_started"
54
55
55
56
# Use second ENV so that variable get substituted
56
57
ENV PATH=$ORACLE_HOME/bin:$PATH
Original file line number Diff line number Diff line change 12
12
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
13
13
#
14
14
15
+ if [ " $IGNORE_DB_STARTED_MARKER " != true ] && [ ! -f " $DB_STARTED_MARKER_FILE " ]; then
16
+ echo " Database was not started yet." >&2
17
+ exit 1
18
+ fi
19
+
15
20
POSITIVE_RETURN=" OPEN"
16
21
ORACLE_SID=" ` grep $ORACLE_HOME /etc/oratab | cut -d: -f1` "
17
22
Original file line number Diff line number Diff line change @@ -190,7 +190,7 @@ if [ "$?" == "0" ]; then
190
190
fi ;
191
191
192
192
# Check whether database is up and running
193
- $ORACLE_BASE /$CHECK_DB_FILE
193
+ IGNORE_DB_STARTED_MARKER=true $ORACLE_BASE /$CHECK_DB_FILE
194
194
if [ $? -eq 0 ]; then
195
195
echo " #########################"
196
196
echo " DATABASE IS READY TO USE!"
@@ -199,6 +199,8 @@ if [ $? -eq 0 ]; then
199
199
# Execute custom provided startup scripts
200
200
runUserScripts $ORACLE_BASE /scripts/startup
201
201
202
+ # Create marker file for the health check
203
+ touch " $DB_STARTED_MARKER_FILE "
202
204
else
203
205
echo " #####################################"
204
206
echo " ########### E R R O R ###############"
Original file line number Diff line number Diff line change @@ -52,6 +52,7 @@ ENV ORACLE_BASE=/opt/oracle \
52
52
SETUP_LINUX_FILE="setupLinuxEnv.sh" \
53
53
CHECK_SPACE_FILE="checkSpace.sh" \
54
54
CHECK_DB_FILE="checkDBStatus.sh" \
55
+ DB_STARTED_MARKER_FILE="/dev/shm/.db_started" \
55
56
USER_SCRIPTS_FILE="runUserScripts.sh" \
56
57
INSTALL_DB_BINARIES_FILE="installDBBinaries.sh"
57
58
Original file line number Diff line number Diff line change @@ -52,6 +52,7 @@ ENV ORACLE_BASE=/opt/oracle \
52
52
SETUP_LINUX_FILE="setupLinuxEnv.sh" \
53
53
CHECK_SPACE_FILE="checkSpace.sh" \
54
54
CHECK_DB_FILE="checkDBStatus.sh" \
55
+ DB_STARTED_MARKER_FILE="/dev/shm/.db_started" \
55
56
USER_SCRIPTS_FILE="runUserScripts.sh" \
56
57
INSTALL_DB_BINARIES_FILE="installDBBinaries.sh"
57
58
Original file line number Diff line number Diff line change 12
12
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
13
13
#
14
14
15
+ if [ " $IGNORE_DB_STARTED_MARKER " != true ] && [ ! -f " $DB_STARTED_MARKER_FILE " ]; then
16
+ echo " Database was not started yet." >&2
17
+ exit 1
18
+ fi
19
+
15
20
ORACLE_SID=" ` grep $ORACLE_HOME /etc/oratab | cut -d: -f1` "
16
21
OPEN_MODE=" READ WRITE"
17
22
ORAENV_ASK=NO
Original file line number Diff line number Diff line change 178
178
fi ;
179
179
180
180
# Check whether database is up and running
181
- $ORACLE_BASE /$CHECK_DB_FILE
181
+ IGNORE_DB_STARTED_MARKER=true $ORACLE_BASE /$CHECK_DB_FILE
182
182
if [ $? -eq 0 ]; then
183
183
echo " #########################"
184
184
echo " DATABASE IS READY TO USE!"
@@ -187,6 +187,8 @@ if [ $? -eq 0 ]; then
187
187
# Execute custom provided startup scripts
188
188
$ORACLE_BASE /$USER_SCRIPTS_FILE $ORACLE_BASE /scripts/startup
189
189
190
+ # Create marker file for the health check
191
+ touch " $DB_STARTED_MARKER_FILE "
190
192
else
191
193
echo " #####################################"
192
194
echo " ########### E R R O R ###############"
Original file line number Diff line number Diff line change @@ -46,6 +46,7 @@ ENV ORACLE_BASE=/opt/oracle \
46
46
RUN_FILE="runOracle.sh" \
47
47
START_FILE="startDB.sh" \
48
48
CREATE_DB_FILE="createDB.sh" \
49
+ DB_STARTED_MARKER_FILE="/dev/shm/.db_started" \
49
50
SETUP_LINUX_FILE="setupLinuxEnv.sh" \
50
51
CHECK_SPACE_FILE="checkSpace.sh" \
51
52
CHECK_DB_FILE="checkDBStatus.sh" \
Original file line number Diff line number Diff line change 12
12
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
13
13
#
14
14
15
+ if [ " $IGNORE_DB_STARTED_MARKER " != true ] && [ ! -f " $DB_STARTED_MARKER_FILE " ]; then
16
+ echo " Database was not started yet." >&2
17
+ exit 1
18
+ fi
19
+
15
20
ORACLE_SID=" ` grep $ORACLE_HOME /etc/oratab | cut -d: -f1` "
16
21
OPEN_MODE=" READ WRITE"
17
22
ORAENV_ASK=NO
Original file line number Diff line number Diff line change 178
178
fi ;
179
179
180
180
# Check whether database is up and running
181
- $ORACLE_BASE /$CHECK_DB_FILE
181
+ IGNORE_DB_STARTED_MARKER=true $ORACLE_BASE /$CHECK_DB_FILE
182
182
if [ $? -eq 0 ]; then
183
183
echo " #########################"
184
184
echo " DATABASE IS READY TO USE!"
@@ -187,6 +187,8 @@ if [ $? -eq 0 ]; then
187
187
# Execute custom provided startup scripts
188
188
$ORACLE_BASE /$USER_SCRIPTS_FILE $ORACLE_BASE /scripts/startup
189
189
190
+ # Create marker file for the health check
191
+ touch " $DB_STARTED_MARKER_FILE "
190
192
else
191
193
echo " #####################################"
192
194
echo " ########### E R R O R ###############"
Original file line number Diff line number Diff line change @@ -49,6 +49,7 @@ ENV ORACLE_BASE=/opt/oracle \
49
49
SETUP_LINUX_FILE="setupLinuxEnv.sh" \
50
50
CHECK_SPACE_FILE="checkSpace.sh" \
51
51
CHECK_DB_FILE="checkDBStatus.sh" \
52
+ DB_STARTED_MARKER_FILE="/dev/shm/.db_started" \
52
53
USER_SCRIPTS_FILE="runUserScripts.sh" \
53
54
INSTALL_DB_BINARIES_FILE="installDBBinaries.sh"
54
55
Original file line number Diff line number Diff line change 12
12
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
13
13
#
14
14
15
+ if [ " $IGNORE_DB_STARTED_MARKER " != true ] && [ ! -f " $DB_STARTED_MARKER_FILE " ]; then
16
+ echo " Database was not started yet." >&2
17
+ exit 1
18
+ fi
19
+
15
20
ORACLE_SID=" ` grep $ORACLE_HOME /etc/oratab | cut -d: -f1` "
16
21
OPEN_MODE=" READ WRITE"
17
22
ORAENV_ASK=NO
Original file line number Diff line number Diff line change 178
178
fi ;
179
179
180
180
# Check whether database is up and running
181
- $ORACLE_BASE /$CHECK_DB_FILE
181
+ IGNORE_DB_STARTED_MARKER=true $ORACLE_BASE /$CHECK_DB_FILE
182
182
if [ $? -eq 0 ]; then
183
183
echo " #########################"
184
184
echo " DATABASE IS READY TO USE!"
@@ -187,6 +187,8 @@ if [ $? -eq 0 ]; then
187
187
# Execute custom provided startup scripts
188
188
$ORACLE_BASE /$USER_SCRIPTS_FILE $ORACLE_BASE /scripts/startup
189
189
190
+ # Create marker file for the health check
191
+ touch " $DB_STARTED_MARKER_FILE "
190
192
else
191
193
echo " #####################################"
192
194
echo " ########### E R R O R ###############"
Original file line number Diff line number Diff line change 12
12
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
13
13
#
14
14
15
+ if [ " $IGNORE_DB_STARTED_MARKER " != true ] && [ ! -f " $DB_STARTED_MARKER_FILE " ]; then
16
+ echo " Database was not started yet." >&2
17
+ exit 1
18
+ fi
19
+
15
20
ORACLE_SID=" ` grep $ORACLE_HOME /etc/oratab | cut -d: -f1` "
16
21
OPEN_MODE=" READ WRITE"
17
22
ORAENV_ASK=NO
Original file line number Diff line number Diff line change @@ -201,7 +201,7 @@ if [ "$?" == "0" ]; then
201
201
fi ;
202
202
203
203
# Check whether database is up and running
204
- $ORACLE_BASE /$CHECK_DB_FILE
204
+ IGNORE_DB_STARTED_MARKER=true $ORACLE_BASE /$CHECK_DB_FILE
205
205
if [ $? -eq 0 ]; then
206
206
echo " #########################"
207
207
echo " DATABASE IS READY TO USE!"
@@ -210,6 +210,8 @@ if [ $? -eq 0 ]; then
210
210
# Execute custom provided startup scripts
211
211
runUserScripts $ORACLE_BASE /scripts/startup
212
212
213
+ # Create marker file for the health check
214
+ touch " $DB_STARTED_MARKER_FILE "
213
215
else
214
216
echo " #####################################"
215
217
echo " ########### E R R O R ###############"
Original file line number Diff line number Diff line change @@ -56,6 +56,7 @@ ENV ORACLE_BASE=/opt/oracle \
56
56
SETUP_LINUX_FILE="setupLinuxEnv.sh" \
57
57
CHECK_SPACE_FILE="checkSpace.sh" \
58
58
CHECK_DB_FILE="checkDBStatus.sh" \
59
+ DB_STARTED_MARKER_FILE="/dev/shm/.db_started" \
59
60
USER_SCRIPTS_FILE="runUserScripts.sh" \
60
61
INSTALL_DB_BINARIES_FILE="installDBBinaries.sh" \
61
62
RELINK_BINARY_FILE="relinkOracleBinary.sh" \
Original file line number Diff line number Diff line change 73
73
# ############### MAIN #######################
74
74
# ############################################
75
75
76
+ if [ " $IGNORE_DB_STARTED_MARKER " != true ] && [ ! -f " $DB_STARTED_MARKER_FILE " ]; then
77
+ echo " Database was not started yet." >&2
78
+ exit 1
79
+ fi
80
+
76
81
# Setting up ORACLE_PWD if podman secret is passed on
77
82
if [ -e ' /run/secrets/oracle_pwd' ]; then
78
83
export ORACLE_PWD=" $( cat ' /run/secrets/oracle_pwd' ) "
Original file line number Diff line number Diff line change 272
272
" $ORACLE_BASE " /" $CREATE_DB_FILE " " $ORACLE_SID " " $ORACLE_PDB " " $ORACLE_PWD " || exit 1;
273
273
274
274
# Check whether database is successfully created
275
- if " $ORACLE_BASE " /" $CHECK_DB_FILE " ; then
275
+ if IGNORE_DB_STARTED_MARKER=true " $ORACLE_BASE " /" $CHECK_DB_FILE " ; then
276
276
# Create a checkpoint file if database is successfully created
277
277
# Populate the checkpoint file with the current date to avoid timing issue when using NFS persistence in multi-replica mode
278
278
date -Iseconds > " $ORACLE_BASE " /oradata/." ${ORACLE_SID} " " ${CHECKPOINT_FILE_EXTN} "
295
295
fi ;
296
296
297
297
# Check whether database is up and running
298
- " $ORACLE_BASE " /" $CHECK_DB_FILE "
298
+ IGNORE_DB_STARTED_MARKER=true " $ORACLE_BASE " /" $CHECK_DB_FILE "
299
299
status=$?
300
300
301
301
if [ $status -eq 0 ]; then
@@ -308,6 +308,8 @@ if [ $status -eq 0 ]; then
308
308
# Execute custom provided startup scripts
309
309
" $ORACLE_BASE " /" $USER_SCRIPTS_FILE " " $ORACLE_BASE " /scripts/startup
310
310
311
+ # Create marker file for the health check
312
+ touch " $DB_STARTED_MARKER_FILE "
311
313
else
312
314
echo " #####################################"
313
315
echo " ########### E R R O R ###############"
Original file line number Diff line number Diff line change @@ -46,6 +46,7 @@ ENV ORACLE_BASE=/opt/oracle \
46
46
CONF_FILE="oracle-free-23ai.conf" \
47
47
CHECK_SPACE_FILE="checkSpace.sh" \
48
48
CHECK_DB_FILE="checkDBStatus.sh" \
49
+ DB_STARTED_MARKER_FILE="/dev/shm/.db_started" \
49
50
SETUP_LINUX_FILE="setupLinuxEnv.sh" \
50
51
DECRYPT_PWD_FILE="decryptPassword.sh" \
51
52
CONFIG_TCPS_FILE="configTcps.sh" \
Original file line number Diff line number Diff line change 77
77
# ############### MAIN #######################
78
78
# ############################################
79
79
80
+ if [ " $IGNORE_DB_STARTED_MARKER " != true ] && [ ! -f " $DB_STARTED_MARKER_FILE " ]; then
81
+ echo " Database was not started yet." >&2
82
+ exit 1
83
+ fi
84
+
80
85
ORACLE_PWD=$( $ORACLE_BASE /$DECRYPT_PWD_FILE )
81
86
export ORACLE_PWD
82
87
Original file line number Diff line number Diff line change 273
273
" $ORACLE_BASE " /" $CREATE_DB_FILE " $ORACLE_SID " $ORACLE_PDB " " $ORACLE_PWD " || exit 1;
274
274
275
275
for i in 1 2 4 8; do
276
- " $ORACLE_BASE " /" $CHECK_DB_FILE " ;
276
+ IGNORE_DB_STARTED_MARKER=true " $ORACLE_BASE " /" $CHECK_DB_FILE " ;
277
277
ret=$?
278
278
# Check whether database is successfully created
279
279
if [ $ret -eq 0 ]; then
308
308
309
309
for i in 1 2 4 8; do
310
310
# Check whether database is up and running
311
- " $ORACLE_BASE " /" $CHECK_DB_FILE "
311
+ IGNORE_DB_STARTED_MARKER=true " $ORACLE_BASE " /" $CHECK_DB_FILE "
312
312
status=$?
313
313
if [ $status -eq 5 ]; then
314
314
# PDB is in mounted state
@@ -331,6 +331,8 @@ if [ $status -eq 0 ]; then
331
331
# Execute custom provided startup scripts
332
332
" $ORACLE_BASE " /" $USER_SCRIPTS_FILE " " $ORACLE_BASE " /scripts/startup
333
333
334
+ # Create marker file for the health check
335
+ touch " $DB_STARTED_MARKER_FILE "
334
336
else
335
337
echo " #####################################"
336
338
echo " ########### E R R O R ###############"
You can’t perform that action at this time.
0 commit comments