]> git.pld-linux.org Git - packages/oracle-xe.git/blame - oracle-xe.init
configure sysctl with a file. update min/max from Oracle XE 11.2.0 release
[packages/oracle-xe.git] / oracle-xe.init
CommitLineData
6de570d8 1#!/bin/sh
2#
3# oracle-xe Oracle XE database
4#
5# chkconfig: 345 80 20
6#
7# description: Oracle XE database
8#
9# processname: oracle-xe
10# config: /etc/sysconfig/oracle-xe
11# pidfile: /var/run/pid/oracle-xe
6de570d8 12
13# Source function library
14. /etc/rc.d/init.d/functions
15
16# Get network config
17. /etc/sysconfig/network
18
55510e96 19# Set default options
20ORACLE_OWNER=oracle
21ORACLE_SID=XE
22
6de570d8 23# Get service config - may override defaults
24[ -f /etc/sysconfig/oracle-xe ] && . /etc/sysconfig/oracle-xe
25
55510e96 26export ORACLE_OWNER
27export ORACLE_SID
28export ORACLE_HOME
29
30export LANG=C
31
6de570d8 32# Check that networking is up.
33if is_yes "${NETWORKING}"; then
34 if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
35 msg_network_down oracle-xe
36 exit 1
37 fi
38else
39 exit 0
40fi
41
c0f32689 42confkernel() {
42c69f12
ER
43 local conffile=/etc/sysctl.d/10-oracle-xe.conf
44
45 test -e $conffile || return
f95a5344
ER
46 eval $(awk '
47 function min(a, b) {return ((a < b)?a:b)}
48 function max(a, b) {return ((a > b)?a:b)}
49
50 BEGIN {
51 getline < "/proc/sys/kernel/sem"
52 printf("semmsl=%i\n", max(250, $1));
53 printf("semmns=%i\n", max(32000, $2));
54 printf("semopm=%i\n", max(100, $3));
55 printf("semmni=%i\n", max(128, $4));
56
57 getline < "/proc/sys/kernel/shmmax"
42c69f12 58 printf("shmmax=%i\n", max(4294967295, $1));
f95a5344
ER
59
60 getline < "/proc/sys/kernel/shmmni"
61 printf("shmmni=%i\n", max(4096, $1));
62
63 getline < "/proc/sys/kernel/shmall"
64 printf("shmall=%i\n", max(2097152, $1));
65
66 getline < "/proc/sys/fs/file-max"
42c69f12 67 printf("filemax=%i\n", max(6815744, $1));
f95a5344
ER
68
69 getline < "/proc/sys/net/ipv4/ip_local_port_range"
42c69f12 70 printf("ip_local_port_range_lb=%i\n", max(9000, $1));
f95a5344
ER
71 printf("ip_local_port_range_ub=%i\n", min(65000 $2));
72 }')
73
42c69f12
ER
74 cat <<-EOF >> /etc/sysctl.d/10-oracle-xe.conf
75 kernel.sem = $semmsl $semmns $semopm $semmni
76 kernel.shmmax = $shmmax
77 kernel.shmmni = $shmmni
78 kernel.shmall = $shmall
79 fs.file-max = $filemax
80 net.ipv4.ip_local_port_range = $ip_local_port_range_lb $ip_local_port_range_ub
81 EOF
82
83 apply_sysctl
c0f32689 84}
85
6de570d8 86start() {
87 # Check if the service is already running?
6e88aaa9 88 if [ -f /var/lock/subsys/oracle-xe ]; then
6de570d8 89 msg_already_running oracle-xe
6e88aaa9 90 return
6de570d8 91 fi
6de570d8 92
6e88aaa9
ER
93 confkernel
94 msg_starting 'oracle-xe listener'
95 daemon --user oracle $ORACLE_HOME/bin/lsnrctl start
96 RETVAL=$?
97 [ $RETVAL -eq 0 ] || return 1
98
99 msg_starting 'oracle-xe database'
100 daemon --user oracle $ORACLE_HOME/bin/sqlplus -s /nolog @$ORACLE_HOME/config/scripts/startdb.sql
101 RETVAL=$?
102 if [ $RETVAL -eq 0 ]; then
103 touch /var/lock/subsys/oracle-xe
104 else
6de570d8 105 msg_stopping 'oracle-xe listener'
9d188c2c 106 daemon --user oracle $ORACLE_HOME/bin/lsnrctl stop
6e88aaa9
ER
107 fi
108}
109
110stop() {
111 if [ ! -f /var/lock/subsys/oracle-xe ]; then
6de570d8 112 msg_not_running oracle-xe
6e88aaa9 113 return
6de570d8 114 fi
6e88aaa9
ER
115
116 # Stop daemons.
f95a5344 117 # FIXME: using 'daemon' to 'stop' will break when using start-stop-daemon!
6e88aaa9
ER
118 msg_stopping 'oracle-xe database'
119 daemon --user oracle $ORACLE_HOME/bin/sqlplus -s /nolog @$ORACLE_HOME/config/scripts/stopdb.sql
120 msg_stopping 'oracle-xe listener'
121 daemon --user oracle $ORACLE_HOME/bin/lsnrctl stop
122 rm -f /var/lock/subsys/oracle-xe
6de570d8 123}
124
125condrestart() {
6e88aaa9 126 if [ ! -f /var/lock/subsys/oracle-xe ]; then
6de570d8 127 msg_not_running oracle-xe
128 RETVAL=$1
6e88aaa9 129 return
6de570d8 130 fi
6e88aaa9
ER
131
132 stop
133 start
6de570d8 134}
135
136checkstatus() {
137 if [ -f /var/lock/subsys/oracle-xe ]; then
138 # Stop daemons.
139 show 'Checking if oracle-xe is alive'
9d188c2c 140 daemon --user oracle $ORACLE_HOME/bin/lsnrctl status
6e88aaa9 141 # XXX $1?
6de570d8 142 return $1
143 else
144 msg_not_running oracle-xe
145 return 1
146 fi
147}
148
c0f32689 149initialize() {
f95a5344
ER
150 $(/usr/share/oracle/scripts/sgapga.awk /proc/meminfo)
151 sed -i -e "s/%sga_target%/$sga/g" $ORACLE_HOME/config/scripts/init.ora
152 sed -i -e "s/%pga_aggregate_target%/$pga/g" $ORACLE_HOME/config/scripts/init.ora
153 sed -i -e "s/%sga_target%/$sga/g" $ORACLE_HOME/config/scripts/initXETemp.ora
154 sed -i -e "s/%pga_aggregate_target%/$pga/g" $ORACLE_HOME/config/scripts/initXETemp.ora
c0f32689 155}
156
6de570d8 157RETVAL=0
158# See how we were called.
159case "$1" in
160 start)
f95a5344 161 start
6de570d8 162 ;;
163 stop)
f95a5344 164 stop
6de570d8 165 ;;
166 restart)
167 stop
168 start
169 ;;
170 try-restart)
171 condrestart 0
172 ;;
173 force-reload)
174 condrestart 7
175 ;;
c0f32689 176 init)
f95a5344 177 initialize
c0f32689 178 ;;
6e88aaa9
ER
179 status)
180 checkstatus
181 ;;
6de570d8 182 *)
6e88aaa9 183 msg_usage "$0 {start|stop|restart|try-restart|force-reload|init|status}"
6de570d8 184 exit 3
185esac
186
187exit $RETVAL
This page took 0.510818 seconds and 4 git commands to generate.