fix correct group oinstall to oracle directories
[oracle_puppet.git] / modules / oracle / manifests / database_server.pp
blob4c0f0db0eb272a7ecd1c421d4bc46f5603af4e83
1 # database_server.pp - oracle database server software 9i/10g
3 # Copyright (C) 2009 Jeremy Baumont
5 # This program is free software: you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation, either version 3 of the License, or
8 # (at your option) any later version.
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU General Public License for more details.
15 # You should have received a copy of the GNU General Public License
16 # along with this program. If not, see <http://www.gnu.org/licenses/>.
18 class oracle::database_server {
20 # required user and groups
21 include oracle::administrators
23 # required packages
24 include oracle::database_server::system_packages
26 # required directories
27 include oracle::database_server::directories
29 # required system profile
30 include oracle::database_server::system_profile
32 } # end of class oracle::database_server
35 class oracle::database_server::system_profile {
38 define oracle_system_profile ($oracle_base_path, $oracle_version,
39 $oracle_home_path, $oracle_sid,
40 $oracle_dumps, $oracle_oralogs) {
41 file {
42 $name:
43 content => template("oracle/bash_profile.oracle-template.erb"),
44 mode => 0644, owner => oracle, group => dba
48 oracle_system_profile {
49 "/users/oracle/.bash_profile.oracle":
50 oracle_base_path =>
51 $oracle::database_server::directories::oracle_base_path,
52 oracle_version =>
53 $oracle::database_server::directories::oracle_version, oracle_home_path =>
54 $oracle::database_server::directories::oracle_home_path,
55 oracle_sid =>
56 $oracle::database_server::directories::oracle_sid, oracle_dumps =>
57 $oracle::database_server::directories::oracle_dumps,
58 oracle_oralogs =>
59 $oracle::database_server::directories::oracle_oralogs
61 } # end of class oracle::database_server::system_profile
64 class oracle::database_server::directories {
67 define oracle_dir ( $path, $ensure, $owner, $group, $mode ) {
68 file {
69 $name:
70 path => $path,
71 ensure => $ensure,
72 force => true,
73 owner => $owner,
74 group => $group,
75 recurse => 5,
76 mode => $mode
81 # required directories
82 # oracle_dir {
83 # "var_opt":
84 # path => "/var/opt",
85 # ensure => directory,
86 # owner => "root",
87 # group => "root",
88 # before => File["var_opt_oracle"],
89 # mode => 755
90 # }
92 # oracle_dir {
93 # "var_opt_oracle":
94 # path => "/var/opt/oracle",
95 # ensure => directory,
96 # owner => "oracle",
97 # group => "oinstall",
98 # require => File["var_opt"],
99 # mode => 755
102 # file {
103 # "/var/opt/oracle/oraInst.loc":
104 # ensure => present,
105 # force => true,
106 # owner => "oracle",
107 # group => "oinstall",
108 # mode => 644
111 $oracle_base_path = "/opt/applications/oracle"
112 oracle_dir {
113 "oracle_base":
114 path => $oracle_base_path,
115 ensure => directory,
116 owner => "oracle",
117 group => "oinstall",
118 before => [
119 File["oracle_home"],
120 File["oracle_major_version"],
121 File["oracle_version"]
123 require => File["/opt/applications"],
124 mode => 755
127 # $oracle_inventory_path = "${oracle_base_path}/oraInventory"
128 # oracle_dir {
129 # "oracle_inventory":
130 # path => $oracle_inventory_path,
131 # ensure => directory,
132 # owner => "oracle",
133 # group => "oinstall",
134 # mode => 775
137 oracle_dir {
138 "oracle_major_version":
139 path => "${oracle_base_path}/${oracle_major_version}",
140 ensure => directory,
141 owner => "oracle",
142 group => "oinstall",
143 require => File["oracle_base"],
144 before => [
145 File["oracle_home"],
146 File["oracle_version"]
148 mode => 755
151 oracle_dir {
152 "oracle_version":
153 path => "${oracle_base_path}/${oracle_major_version}/${oracle_version}",
154 ensure => directory,
155 owner => "oracle",
156 group => "oinstall",
157 require => [
158 File["oracle_base"],
159 File["oracle_major_version"]
161 before => File["oracle_home"] ,
162 mode => 755
165 $oracle_home_path = "${oracle_base_path}/${oracle_major_version}/${oracle_version}/${oracle_patch_version}"
166 oracle_dir {
167 "oracle_home":
168 path => "${oracle_home_path}",
169 ensure => directory,
170 owner => "oracle",
171 group => "oinstall",
172 require => [
173 File["oracle_base"],
174 File["oracle_major_version"],
175 File["oracle_version"]
177 mode => 755
180 oracle_dir {
181 "oracle_data":
182 path => "/data/oracle",
183 ensure => directory,
184 owner => "oracle",
185 group => "dba",
186 require => File["/data"],
187 mode => 755
190 $oracle_oralogs = "/data/oracle/oralogs"
191 oracle_dir {
192 "oracle_oralogs":
193 path => "${oracle_oralogs}",
194 ensure => directory,
195 owner => "oracle",
196 group => "dba",
197 require => File["oracle_data"],
198 mode => 755
201 oracle_dir {
202 "oracle_oralogs_${oracle_sid}":
203 path => "${oracle_oralogs}/${oracle_sid}",
204 ensure => directory,
205 owner => "oracle",
206 group => "dba",
207 require => File["oracle_oralogs"],
208 before => [
209 File["oracle_oralogs_redo"],
210 File["oracle_oralogs_ctl"],
211 File["oracle_oralogs_arch"]
213 mode => 755
216 oracle_dir{
217 "oracle_oralogs_redo":
218 path => "${oracle_oralogs}/${oracle_sid}/redo",
219 ensure => directory,
220 owner => "oracle",
221 group => "dba",
222 require => File["oracle_oralogs_${oracle_sid}"],
223 mode => 755
226 oracle_dir{
227 "oracle_oralogs_ctl":
228 path => "${oracle_oralogs}/${oracle_sid}/ctl",
229 ensure => directory,
230 owner => "oracle",
231 group => "dba",
232 require => File["oracle_oralogs_${oracle_sid}"],
233 mode => 755
236 oracle_dir{
237 "oracle_oralogs_arch":
238 path => "${oracle_oralogs}/${oracle_sid}/arch",
239 ensure => directory,
240 owner => "oracle",
241 group => "dba",
242 require => File["oracle_oralogs_${oracle_sid}"],
243 mode => 755
246 oracle_dir {
247 "oracle_oradata":
248 path => "/data/oracle/oradata",
249 ensure => directory,
250 owner => "oracle",
251 group => "dba",
252 require => File["oracle_data"],
253 before => File["oracle_oradata_${oracle_sid}"],
254 mode => 755
257 oracle_dir {
258 "oracle_oradata_${oracle_sid}":
259 path => "/data/oracle/oradata/${oracle_sid}",
260 ensure => directory,
261 owner => "oracle",
262 group => "dba",
263 require => File["oracle_oradata"],
264 mode => 755
268 $oracle_logs = "/logs/oracle"
269 oracle_dir {
270 "oracle_logs":
271 path => "${oracle_logs}",
272 ensure => directory,
273 owner => "oracle",
274 group => "dba",
275 require => File["/logs"],
276 mode => 755,
277 before => [
278 File["oracle_dumps"],
279 File["oracle_user_dumps"],
280 File["oracle_background_dumps"],
281 File["oracle_audit_dumps"],
282 File["oracle_core_dumps"]
286 $oracle_dumps = "${oracle_logs}/oradumps"
287 oracle_dir {
288 "oracle_dumps":
289 path => "${oracle_dumps}",
290 ensure => directory,
291 owner => "oracle",
292 group => "dba",
293 require => File["oracle_logs"],
294 before => [
295 File["oracle_user_dumps"],
296 File["oracle_background_dumps"],
297 File["oracle_audit_dumps"],
298 File["oracle_core_dumps"],
299 File["oracle_pfile_dir"],
300 File["oracle_dumps_${oracle_sid}"]
301 ] ,
302 mode => 755
305 oracle_dir {
306 "oracle_dumps_${oracle_sid}":
307 path => "/logs/oracle/oradumps/${oracle_sid}",
308 ensure => directory,
309 owner => "oracle",
310 group => "dba",
311 require => File["oracle_dumps"],
312 before => [
313 File["oracle_user_dumps"],
314 File["oracle_background_dumps"],
315 File["oracle_audit_dumps"],
316 File["oracle_core_dumps"],
317 File["oracle_pfile_dir"]
319 mode => 755
322 oracle_dir {
323 "oracle_user_dumps":
324 path => "/logs/oracle/oradumps/${oracle_sid}/udump",
325 ensure => directory,
326 owner => "oracle",
327 group => "dba",
328 require => File["oracle_dumps_${oracle_sid}"],
329 mode => 755
332 oracle_dir {
333 "oracle_background_dumps":
334 path => "/logs/oracle/oradumps/${oracle_sid}/bdump",
335 ensure => directory,
336 owner => "oracle",
337 group => "dba",
338 require => File["oracle_dumps_${oracle_sid}"],
339 mode => 755
342 oracle_dir {
343 "oracle_audit_dumps":
344 path => "/logs/oracle/oradumps/${oracle_sid}/adump",
345 ensure => directory,
346 owner => "oracle",
347 group => "dba",
348 require => File["oracle_dumps_${oracle_sid}"],
349 mode => 755
352 oracle_dir {
353 "oracle_core_dumps":
354 path => "/logs/oracle/oradumps/${oracle_sid}/cdump",
355 ensure => directory,
356 owner => "oracle",
357 group => "dba",
358 require => File["oracle_dumps_${oracle_sid}"],
359 mode => 755
362 oracle_dir {
363 "oracle_pfile_dir":
364 path => "/logs/oracle/oradumps/${oracle_sid}/pfile",
365 ensure => directory,
366 owner => "oracle",
367 group => "dba",
368 require => File["oracle_dumps_${oracle_sid}"],
369 mode => 755
373 } # end of class oracle::database_server::directories
376 class oracle::database_server::system_packages {
378 case $operatingsystem {
379 "solaris": {
380 $sun_provider = "sun"
381 case $oracle_major_version {
382 "10g": {
383 case $architecture {
384 "sparc64": {
385 $system_packages = ["SUNWarc", "SUNWbtool", "SUNWhea", "SUNWlibm", "SUNWlibms", "SUNWsprot", "SUNWtoo", "SUNWi1of", "SUNWi1cs", "SUNWi15cs", "SUNWxwfnt", "SUNWsprox"]
387 "sparc32": {
388 $system_packages = ["SUNWarc", "SUNWbtool", "SUNWhea", "SUNWlibm", "SUNWlibms", "SUNWsprot", "SUNWtoo", "SUNWi1of", "SUNWi1cs", "SUNWi15cs", "SUNWxwfnt"]
390 default: {
391 fail("oracle::database_server - the architecture $architecture is not
392 yet supported by class system_packages.")
396 "9i": {
397 case $architecture {
398 "sparc64": {
399 $system_packages = ["SUNWarc", "SUNWbtool", "SUNWhea", "SUNWlibm", "SUNWlibms", "SUNWsprot", "SUNWtoo", "SUNWi1of", "SUNWxwfnt"]
401 "sparc32": {
402 $system_packages = ["SUNWarc", "SUNWbtool", "SUNWhea", "SUNWlibm", "SUNWlibms", "SUNWsprot", "SUNWtoo", "SUNWi1of", "SUNWxwfnt"]
405 default: {
406 fail("oracle::database_server - the architecture $architecture is not
407 yet supported by class system_packages.")
412 default: {
413 fail("oracle::database_server - the oracle version $oracle_major_version is not
414 yet support by class system_packages.")
418 default: {
419 fail("oracle::database_server - the operating system $operatingsystem is not
420 yet supported by class system_packages.")
425 notify {"oracle::database_server - the operating system is ${operatingsystem}": }
426 notify {"oracle::database_server - the architecture is ${architecture}": }
427 notify {"oracle::database_server - the architecture is ${oracle_major_version}": }
428 notify {"oracle::database_server - the list of packages required is ${system_packages}": }
430 package { $ystem_packages: ensure => installed, provider => $sun_provider }
432 } # end of class oracle::database_server::system_packages